Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::GraphicsAPI::Core Class Referenceabstract
Inheritance diagram for Grindstone::GraphicsAPI::Core:
Grindstone::GraphicsAPI::OpenGL::Core Grindstone::GraphicsAPI::Vulkan::Core

Classes

struct  CreateInfo
 

Public Member Functions

virtual bool Initialize (const CreateInfo &createInfo)=0
 
virtual void RegisterWindow (Window *window)=0
 
API GetAPI () const
 
virtual const char * GetVendorName () const =0
 
virtual const char * GetAdapterName () const =0
 
virtual const char * GetAPIName () const =0
 
virtual const char * GetAPIVersion () const =0
 
virtual const char * GetDefaultShaderExtension () const =0
 
virtual void Clear (ClearMode mask, float clearColor[4]=nullptr, float clearDepth=0, uint32_t clearStencil=0)=0
 
virtual void AdjustPerspective (float *perspective)=0
 
virtual void DeleteImage (Image *ptr)=0
 
virtual void DeleteSampler (Sampler *ptr)=0
 
virtual void DeleteFramebuffer (Framebuffer *ptr)=0
 
virtual void DeleteBuffer (Buffer *ptr)=0
 
virtual void DeleteGraphicsPipeline (GraphicsPipeline *ptr)=0
 
virtual void DeleteComputePipeline (ComputePipeline *ptr)=0
 
virtual void DeleteRenderPass (RenderPass *ptr)=0
 
virtual void DeleteDescriptorSet (DescriptorSet *ptr)=0
 
virtual void DeleteDescriptorSetLayout (DescriptorSetLayout *ptr)=0
 
virtual void DeleteCommandBuffer (CommandBuffer *ptr)=0
 
virtual void DeleteVertexArrayObject (VertexArrayObject *ptr)=0
 
virtual FramebufferCreateFramebuffer (const Framebuffer::CreateInfo &ci)=0
 
virtual RenderPassCreateRenderPass (const RenderPass::CreateInfo &ci)=0
 
virtual GraphicsPipelineCreateGraphicsPipeline (const GraphicsPipeline::CreateInfo &ci)=0
 
virtual ComputePipelineCreateComputePipeline (const ComputePipeline::CreateInfo &ci)=0
 
virtual CommandBufferCreateCommandBuffer (const CommandBuffer::CreateInfo &ci)=0
 
virtual VertexArrayObjectCreateVertexArrayObject (const VertexArrayObject::CreateInfo &ci)=0
 
virtual BufferCreateBuffer (const Buffer::CreateInfo &ci)=0
 
virtual SamplerCreateSampler (const Sampler::CreateInfo &createInfo)=0
 
virtual ImageCreateImage (const Image::CreateInfo &createInfo)=0
 
virtual DescriptorSetCreateDescriptorSet (const DescriptorSet::CreateInfo &ci)=0
 
virtual DescriptorSetLayoutCreateDescriptorSetLayout (const DescriptorSetLayout::CreateInfo &ci)=0
 
virtual GraphicsPipelineGetOrCreateGraphicsPipelineFromCache (const GraphicsPipeline::PipelineData &pipelineData, const VertexInputLayout *vertexInputLayout)=0
 
virtual void CopyDepthBufferFromReadToWrite (uint32_t srcWidth, uint32_t srcHeight, uint32_t dstWidth, uint32_t dstHeight)=0
 
virtual bool ShouldUseImmediateMode () const =0
 
virtual bool SupportsCommandBuffers () const =0
 
virtual bool SupportsTesselation () const =0
 
virtual bool SupportsGeometryShader () const =0
 
virtual bool SupportsComputeShader () const =0
 
virtual bool SupportsMultiDrawIndirect () const =0
 
virtual void BindDefaultFramebuffer ()=0
 
virtual void BindDefaultFramebufferWrite ()=0
 
virtual void BindDefaultFramebufferRead ()=0
 
virtual void WaitUntilIdle ()=0
 
virtual void BindGraphicsPipeline (GraphicsPipeline *pipeline)=0
 
virtual void BindVertexArrayObject (VertexArrayObject *)=0
 
virtual void DrawImmediateIndexed (GeometryType geom_type, bool largeBuffer, int32_t baseVertex, uint32_t indexOffsetPtr, uint32_t indexCount)=0
 
virtual void DrawImmediateVertices (GeometryType geom_type, uint32_t base, uint32_t count)=0
 
virtual void SetImmediateBlending (BlendOperation colorOp, BlendFactor colorSrc, BlendFactor colorDst, BlendOperation alphaOp, BlendFactor alphaSrc, BlendFactor alphaDst)=0
 
virtual void EnableDepthWrite (bool isDepthEnabled)=0
 
virtual void SetColorMask (ColorMask mask)=0
 
virtual void ResizeViewport (uint32_t w, uint32_t h)=0
 
const char * GetVendorNameFromID (uint32_t vendorID)
 

Protected Attributes

bool debug
 
API apiType
 

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