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 VertexBuffer * createVertexBuffer (VertexBufferCreateInfo ci) override
virtual IndexBuffer * createIndexBuffer (IndexBufferCreateInfo ci) override
virtual UniformBuffer * createUniformBuffer (UniformBufferCreateInfo ci) override
virtual UniformBufferBinding * createUniformBufferBinding (UniformBufferBindingCreateInfo ci) override
virtual Texture * createCubemap (CubemapCreateInfo createInfo) override
virtual Texture * createTexture (TextureCreateInfo createInfo) override
virtual TextureBinding * createTextureBinding (TextureBindingCreateInfo ci) override
virtual TextureBindingLayout * createTextureBindingLayout (TextureBindingLayoutCreateInfo createInfo) override
virtual RenderTarget * createRenderTarget (RenderTargetCreateInfo *rt, uint32_t rc, bool cube=false) override
virtual DepthStencilTarget * createDepthStencilTarget (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:
  • /github/workspace/plugins/Grindstone.RHI.DirectX12/include/DirectX12GraphicsWrapper.hpp
  • /github/workspace/plugins/Grindstone.RHI.DirectX12/source/DirectX12GraphicsWrapper.cpp