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 DeleteRenderTarget (RenderTarget *ptr)=0
 
virtual void DeleteDepthStencilTarget (DepthStencilTarget *ptr)=0
 
virtual void DeleteFramebuffer (Framebuffer *ptr)=0
 
virtual void DeleteVertexBuffer (VertexBuffer *ptr)=0
 
virtual void DeleteIndexBuffer (IndexBuffer *ptr)=0
 
virtual void DeleteUniformBuffer (UniformBuffer *ptr)=0
 
virtual void DeleteGraphicsPipeline (GraphicsPipeline *ptr)=0
 
virtual void DeleteComputePipeline (ComputePipeline *ptr)=0
 
virtual void DeleteRenderPass (RenderPass *ptr)=0
 
virtual void DeleteTexture (Texture *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 VertexBufferCreateVertexBuffer (const VertexBuffer::CreateInfo &ci)=0
 
virtual IndexBufferCreateIndexBuffer (const IndexBuffer::CreateInfo &ci)=0
 
virtual UniformBufferCreateUniformBuffer (const UniformBuffer::CreateInfo &ci)=0
 
virtual TextureCreateCubemap (const Texture::CubemapCreateInfo &createInfo)=0
 
virtual TextureCreateTexture (const Texture::CreateInfo &createInfo)=0
 
virtual DescriptorSetCreateDescriptorSet (const DescriptorSet::CreateInfo &ci)=0
 
virtual DescriptorSetLayoutCreateDescriptorSetLayout (const DescriptorSetLayout::CreateInfo &ci)=0
 
virtual RenderTargetCreateRenderTarget (const RenderTarget::CreateInfo &rt)=0
 
virtual RenderTargetCreateRenderTarget (const RenderTarget::CreateInfo *rt, uint32_t rc, bool cube=false)=0
 
virtual DepthStencilTargetCreateDepthStencilTarget (const DepthStencilTarget::CreateInfo &rt)=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: