Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::GraphicsAPI::DirectX12GraphicsWrapper Class Reference
Inheritance diagram for Grindstone::GraphicsAPI::DirectX12GraphicsWrapper:

Public Member Functions

bool initialize (GraphicsWrapperCreateInfo ci)
 
virtual const char * getVendorName () override
 
virtual const char * getAdapterName () override
 
virtual const char * getAPIName () override
 
virtual const char * getAPIVersion () override
 
virtual void adjustPerspective (float *perspective) override
 
void registerWindow (Window *window)
 
virtual void deleteRenderTarget (RenderTarget *ptr) override
 
virtual void deleteDepthStencilTarget (DepthStencilTarget *ptr) override
 
virtual void deleteFramebuffer (Framebuffer *ptr) override
 
virtual void deleteVertexBuffer (VertexBuffer *ptr) override
 
virtual void deleteIndexBuffer (IndexBuffer *ptr) override
 
virtual void deleteUniformBuffer (UniformBuffer *ptr) override
 
virtual void deleteUniformBufferBinding (UniformBufferBinding *ptr) override
 
virtual void deleteGraphicsPipeline (GraphicsPipeline *ptr) override
 
virtual void deleteRenderPass (RenderPass *ptr) override
 
virtual void deleteTexture (Texture *ptr) override
 
virtual void deleteTextureBinding (TextureBinding *ptr) override
 
virtual void deleteTextureBindingLayout (TextureBindingLayout *ptr) override
 
virtual void deleteCommandBuffer (CommandBuffer *ptr) override
 
virtual void deleteVertexArrayObject (VertexArrayObject *ptr) override
 
virtual FramebuffercreateFramebuffer (FramebufferCreateInfo ci) override
 
virtual RenderPasscreateRenderPass (RenderPassCreateInfo ci) override
 
virtual GraphicsPipelinecreateGraphicsPipeline (GraphicsPipelineCreateInfo ci) override
 
virtual CommandBuffercreateCommandBuffer (CommandBufferCreateInfo ci) override
 
virtual VertexArrayObjectcreateVertexArrayObject (VertexArrayObjectCreateInfo ci) override
 
virtual VertexBuffercreateVertexBuffer (VertexBufferCreateInfo ci) override
 
virtual IndexBuffercreateIndexBuffer (IndexBufferCreateInfo ci) override
 
virtual UniformBuffercreateUniformBuffer (UniformBufferCreateInfo ci) override
 
virtual UniformBufferBinding * createUniformBufferBinding (UniformBufferBindingCreateInfo ci) override
 
virtual TexturecreateCubemap (CubemapCreateInfo createInfo) override
 
virtual TexturecreateTexture (TextureCreateInfo createInfo) override
 
virtual TextureBinding * createTextureBinding (TextureBindingCreateInfo ci) override
 
virtual TextureBindingLayout * createTextureBindingLayout (TextureBindingLayoutCreateInfo createInfo) override
 
virtual RenderTargetcreateRenderTarget (RenderTargetCreateInfo *rt, uint32_t rc, bool cube=false) override
 
virtual DepthStencilTargetcreateDepthStencilTarget (DepthStencilTargetCreateInfo rt) override
 
virtual const bool shouldUseImmediateMode () override
 
virtual const bool supportsCommandBuffers () override
 
virtual const bool supportsTesselation () override
 
virtual const bool supportsGeometryShader () override
 
virtual const bool supportsComputeShader () override
 
virtual const bool supportsMultiDrawIndirect () override
 
virtual void waitUntilIdle () override
 
virtual void clear (ClearMode mask, float clear_color[4], float clear_depth, uint32_t clear_stencil) override
 
virtual void bindTextureBinding (TextureBinding *) override
 
virtual void bindVertexArrayObject (VertexArrayObject *) override
 
virtual void drawImmediateIndexed (GeometryType geom_type, bool largeBuffer, int32_t baseVertex, uint32_t indexOffsetPtr, uint32_t indexCount) override
 
virtual void drawImmediateVertices (GeometryType geom_type, uint32_t base, uint32_t count) override
 
virtual void setImmediateBlending (BlendMode) override
 
virtual void enableDepth (bool state) override
 
virtual void setColorMask (ColorMask mask) override
 
virtual void copyToDepthBuffer (DepthStencilTarget *p) override
 
virtual void bindDefaultFramebuffer (bool depth) override
 

Static Public Member Functions

static DirectX12GraphicsWrapperget ()
 

Public Attributes

ID3D12Fence * fence_ [num_buffers]
 
HANDLE fence_event_
 
UINT64 fence_value_ [num_buffers]
 
int frame_index_
 
ID3D12CommandQueue * direct_command_queue_
 
ID3D12CommandQueue * compute_command_queue_
 
ID3D12CommandQueue * copy_command_queue_
 
ComPtr< IDXGIAdapter4 > dxgi_adapter_
 
ComPtr< ID3D12Device2 > device_
 
ComPtr< IDXGISwapChain4 > swap_chain_
 
ComPtr< ID3D12CommandQueue > command_queue_
 
ID3D12CommandAllocator * graphics_command_allocator_
 
uint32_t current_backbuffer_index_
 
std::vector< RenderTarget * > swap_chain_targets_
 
ComPtr< ID3D12DescriptorHeap > rt_descriptor_heap_
 

Static Public Attributes

static DirectX12GraphicsWrappergraphics_wrapper_ = nullptr
 

The documentation for this class was generated from the following files: