Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
All Classes Pages
Grindstone::GraphicsAPI::OpenGL::Core Class Reference
Inheritance diagram for Grindstone::GraphicsAPI::OpenGL::Core:
Grindstone::GraphicsAPI::Core

Public Member Functions

virtual bool Initialize (const CreateInfo &createInfo) override
 
virtual void Clear (ClearMode mask, float clear_color[4], float clear_depth, uint32_t clear_stencil) override
 
virtual void AdjustPerspective (float *perspective) override
 
virtual void RegisterWindow (Window *window) override
 
virtual const char * GetVendorName () const override
 
virtual const char * GetAdapterName () const override
 
virtual const char * GetAPIName () const override
 
virtual const char * GetAPIVersion () const override
 
virtual const char * GetDefaultShaderExtension () const override
 
virtual void DeleteRenderTarget (Grindstone::GraphicsAPI::RenderTarget *ptr) override
 
virtual void DeleteDepthStencilTarget (Grindstone::GraphicsAPI::DepthStencilTarget *ptr) override
 
virtual void DeleteFramebuffer (Grindstone::GraphicsAPI::Framebuffer *ptr) override
 
virtual void DeleteVertexBuffer (Grindstone::GraphicsAPI::VertexBuffer *ptr) override
 
virtual void DeleteIndexBuffer (Grindstone::GraphicsAPI::IndexBuffer *ptr) override
 
virtual void DeleteUniformBuffer (Grindstone::GraphicsAPI::UniformBuffer *ptr) override
 
virtual void DeleteGraphicsPipeline (Grindstone::GraphicsAPI::GraphicsPipeline *ptr) override
 
virtual void DeleteComputePipeline (Grindstone::GraphicsAPI::ComputePipeline *ptr) override
 
virtual void DeleteRenderPass (Grindstone::GraphicsAPI::RenderPass *ptr) override
 
virtual void DeleteTexture (Grindstone::GraphicsAPI::Texture *ptr) override
 
virtual void DeleteDescriptorSet (Grindstone::GraphicsAPI::DescriptorSet *ptr) override
 
virtual void DeleteDescriptorSetLayout (Grindstone::GraphicsAPI::DescriptorSetLayout *ptr) override
 
virtual void DeleteCommandBuffer (Grindstone::GraphicsAPI::CommandBuffer *ptr) override
 
virtual void DeleteVertexArrayObject (Grindstone::GraphicsAPI::VertexArrayObject *ptr) override
 
virtual Grindstone::GraphicsAPI::FramebufferCreateFramebuffer (const Framebuffer::CreateInfo &ci) override
 
virtual Grindstone::GraphicsAPI::RenderPassCreateRenderPass (const RenderPass::CreateInfo &ci) override
 
virtual Grindstone::GraphicsAPI::GraphicsPipelineCreateGraphicsPipeline (const GraphicsPipeline::CreateInfo &ci) override
 
virtual Grindstone::GraphicsAPI::ComputePipelineCreateComputePipeline (const ComputePipeline::CreateInfo &ci) override
 
virtual Grindstone::GraphicsAPI::CommandBufferCreateCommandBuffer (const CommandBuffer::CreateInfo &ci) override
 
virtual Grindstone::GraphicsAPI::VertexArrayObjectCreateVertexArrayObject (const VertexArrayObject::CreateInfo &gp) override
 
virtual Grindstone::GraphicsAPI::VertexBufferCreateVertexBuffer (const VertexBuffer::CreateInfo &ci) override
 
virtual Grindstone::GraphicsAPI::IndexBufferCreateIndexBuffer (const IndexBuffer::CreateInfo &ci) override
 
virtual Grindstone::GraphicsAPI::UniformBufferCreateUniformBuffer (const UniformBuffer::CreateInfo &ci) override
 
virtual Grindstone::GraphicsAPI::TextureCreateCubemap (const Texture::CubemapCreateInfo &createInfo) override
 
virtual Grindstone::GraphicsAPI::TextureCreateTexture (const Texture::CreateInfo &createInfo) override
 
virtual Grindstone::GraphicsAPI::DescriptorSetCreateDescriptorSet (const DescriptorSet::CreateInfo &createInfo) override
 
virtual Grindstone::GraphicsAPI::DescriptorSetLayoutCreateDescriptorSetLayout (const DescriptorSetLayout::CreateInfo &createInfo) override
 
virtual Grindstone::GraphicsAPI::RenderTargetCreateRenderTarget (const RenderTarget::CreateInfo *rt, uint32_t rc, bool cube=false) override
 
virtual Grindstone::GraphicsAPI::RenderTargetCreateRenderTarget (const RenderTarget::CreateInfo &rt) override
 
virtual Grindstone::GraphicsAPI::DepthStencilTargetCreateDepthStencilTarget (const DepthStencilTarget::CreateInfo &rt) override
 
virtual void CopyDepthBufferFromReadToWrite (uint32_t srcWidth, uint32_t srcHeight, uint32_t dstWidth, uint32_t dstHeight) override
 
virtual bool ShouldUseImmediateMode () const override
 
virtual bool SupportsCommandBuffers () const override
 
virtual bool SupportsTesselation () const override
 
virtual bool SupportsGeometryShader () const override
 
virtual bool SupportsComputeShader () const override
 
virtual bool SupportsMultiDrawIndirect () const override
 
virtual void WaitUntilIdle () override
 
virtual void BindGraphicsPipeline (Grindstone::GraphicsAPI::GraphicsPipeline *pipeline) override
 
virtual void BindVertexArrayObject (Grindstone::GraphicsAPI::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 (BlendOperation colorOp, BlendFactor colorSrc, BlendFactor colorDst, BlendOperation alphaOp, BlendFactor alphaSrc, BlendFactor alphaDst) override
 
virtual void EnableDepthWrite (bool state) override
 
virtual void BindDefaultFramebuffer () override
 
virtual void BindDefaultFramebufferWrite () override
 
virtual void BindDefaultFramebufferRead () override
 
virtual void SetColorMask (ColorMask mask) override
 
virtual void ResizeViewport (uint32_t w, uint32_t h) override
 
- Public Member Functions inherited from Grindstone::GraphicsAPI::Core
API GetAPI () const
 
const char * GetVendorNameFromID (uint32_t vendorID)
 

Additional Inherited Members

- Protected Attributes inherited from Grindstone::GraphicsAPI::Core
bool debug
 
API apiType
 

Member Function Documentation

◆ AdjustPerspective()

void Grindstone::GraphicsAPI::OpenGL::Core::AdjustPerspective ( float * perspective)
overridevirtual

◆ BindDefaultFramebuffer()

void Grindstone::GraphicsAPI::OpenGL::Core::BindDefaultFramebuffer ( )
overridevirtual

◆ BindDefaultFramebufferRead()

void Grindstone::GraphicsAPI::OpenGL::Core::BindDefaultFramebufferRead ( )
overridevirtual

◆ BindDefaultFramebufferWrite()

void Grindstone::GraphicsAPI::OpenGL::Core::BindDefaultFramebufferWrite ( )
overridevirtual

◆ BindGraphicsPipeline()

void Grindstone::GraphicsAPI::OpenGL::Core::BindGraphicsPipeline ( Grindstone::GraphicsAPI::GraphicsPipeline * pipeline)
overridevirtual

◆ BindVertexArrayObject()

void Grindstone::GraphicsAPI::OpenGL::Core::BindVertexArrayObject ( Grindstone::GraphicsAPI::VertexArrayObject * vao)
overridevirtual

◆ Clear()

void Grindstone::GraphicsAPI::OpenGL::Core::Clear ( ClearMode mask,
float clear_color[4],
float clear_depth,
uint32_t clear_stencil )
overridevirtual

◆ CopyDepthBufferFromReadToWrite()

void Grindstone::GraphicsAPI::OpenGL::Core::CopyDepthBufferFromReadToWrite ( uint32_t srcWidth,
uint32_t srcHeight,
uint32_t dstWidth,
uint32_t dstHeight )
overridevirtual

◆ CreateCommandBuffer()

virtual Grindstone::GraphicsAPI::CommandBuffer * Grindstone::GraphicsAPI::OpenGL::Core::CreateCommandBuffer ( const CommandBuffer::CreateInfo & ci)
overridevirtual

◆ CreateComputePipeline()

virtual Grindstone::GraphicsAPI::ComputePipeline * Grindstone::GraphicsAPI::OpenGL::Core::CreateComputePipeline ( const ComputePipeline::CreateInfo & ci)
overridevirtual

◆ CreateCubemap()

virtual Grindstone::GraphicsAPI::Texture * Grindstone::GraphicsAPI::OpenGL::Core::CreateCubemap ( const Texture::CubemapCreateInfo & createInfo)
overridevirtual

◆ CreateDepthStencilTarget()

virtual Grindstone::GraphicsAPI::DepthStencilTarget * Grindstone::GraphicsAPI::OpenGL::Core::CreateDepthStencilTarget ( const DepthStencilTarget::CreateInfo & rt)
overridevirtual

◆ CreateDescriptorSet()

virtual Grindstone::GraphicsAPI::DescriptorSet * Grindstone::GraphicsAPI::OpenGL::Core::CreateDescriptorSet ( const DescriptorSet::CreateInfo & createInfo)
overridevirtual

◆ CreateDescriptorSetLayout()

virtual Grindstone::GraphicsAPI::DescriptorSetLayout * Grindstone::GraphicsAPI::OpenGL::Core::CreateDescriptorSetLayout ( const DescriptorSetLayout::CreateInfo & createInfo)
overridevirtual

◆ CreateFramebuffer()

virtual Grindstone::GraphicsAPI::Framebuffer * Grindstone::GraphicsAPI::OpenGL::Core::CreateFramebuffer ( const Framebuffer::CreateInfo & ci)
overridevirtual

◆ CreateGraphicsPipeline()

virtual Grindstone::GraphicsAPI::GraphicsPipeline * Grindstone::GraphicsAPI::OpenGL::Core::CreateGraphicsPipeline ( const GraphicsPipeline::CreateInfo & ci)
overridevirtual

◆ CreateIndexBuffer()

virtual Grindstone::GraphicsAPI::IndexBuffer * Grindstone::GraphicsAPI::OpenGL::Core::CreateIndexBuffer ( const IndexBuffer::CreateInfo & ci)
overridevirtual

◆ CreateRenderPass()

virtual Grindstone::GraphicsAPI::RenderPass * Grindstone::GraphicsAPI::OpenGL::Core::CreateRenderPass ( const RenderPass::CreateInfo & ci)
overridevirtual

◆ CreateRenderTarget() [1/2]

virtual Grindstone::GraphicsAPI::RenderTarget * Grindstone::GraphicsAPI::OpenGL::Core::CreateRenderTarget ( const RenderTarget::CreateInfo & rt)
overridevirtual

◆ CreateRenderTarget() [2/2]

virtual Grindstone::GraphicsAPI::RenderTarget * Grindstone::GraphicsAPI::OpenGL::Core::CreateRenderTarget ( const RenderTarget::CreateInfo * rt,
uint32_t rc,
bool cube = false )
overridevirtual

◆ CreateTexture()

virtual Grindstone::GraphicsAPI::Texture * Grindstone::GraphicsAPI::OpenGL::Core::CreateTexture ( const Texture::CreateInfo & createInfo)
overridevirtual

◆ CreateUniformBuffer()

virtual Grindstone::GraphicsAPI::UniformBuffer * Grindstone::GraphicsAPI::OpenGL::Core::CreateUniformBuffer ( const UniformBuffer::CreateInfo & ci)
overridevirtual

◆ CreateVertexArrayObject()

virtual Grindstone::GraphicsAPI::VertexArrayObject * Grindstone::GraphicsAPI::OpenGL::Core::CreateVertexArrayObject ( const VertexArrayObject::CreateInfo & gp)
overridevirtual

◆ CreateVertexBuffer()

virtual Grindstone::GraphicsAPI::VertexBuffer * Grindstone::GraphicsAPI::OpenGL::Core::CreateVertexBuffer ( const VertexBuffer::CreateInfo & ci)
overridevirtual

◆ DeleteCommandBuffer()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteCommandBuffer ( Grindstone::GraphicsAPI::CommandBuffer * ptr)
overridevirtual

◆ DeleteComputePipeline()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteComputePipeline ( Grindstone::GraphicsAPI::ComputePipeline * ptr)
overridevirtual

◆ DeleteDepthStencilTarget()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteDepthStencilTarget ( Grindstone::GraphicsAPI::DepthStencilTarget * ptr)
overridevirtual

◆ DeleteDescriptorSet()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteDescriptorSet ( Grindstone::GraphicsAPI::DescriptorSet * ptr)
overridevirtual

◆ DeleteDescriptorSetLayout()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteDescriptorSetLayout ( Grindstone::GraphicsAPI::DescriptorSetLayout * ptr)
overridevirtual

◆ DeleteFramebuffer()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteFramebuffer ( Grindstone::GraphicsAPI::Framebuffer * ptr)
overridevirtual

◆ DeleteGraphicsPipeline()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteGraphicsPipeline ( Grindstone::GraphicsAPI::GraphicsPipeline * ptr)
overridevirtual

◆ DeleteIndexBuffer()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteIndexBuffer ( Grindstone::GraphicsAPI::IndexBuffer * ptr)
overridevirtual

◆ DeleteRenderPass()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteRenderPass ( Grindstone::GraphicsAPI::RenderPass * ptr)
overridevirtual

◆ DeleteRenderTarget()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteRenderTarget ( Grindstone::GraphicsAPI::RenderTarget * ptr)
overridevirtual

◆ DeleteTexture()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteTexture ( Grindstone::GraphicsAPI::Texture * ptr)
overridevirtual

◆ DeleteUniformBuffer()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteUniformBuffer ( Grindstone::GraphicsAPI::UniformBuffer * ptr)
overridevirtual

◆ DeleteVertexArrayObject()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteVertexArrayObject ( Grindstone::GraphicsAPI::VertexArrayObject * ptr)
overridevirtual

◆ DeleteVertexBuffer()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteVertexBuffer ( Grindstone::GraphicsAPI::VertexBuffer * ptr)
overridevirtual

◆ DrawImmediateIndexed()

void Grindstone::GraphicsAPI::OpenGL::Core::DrawImmediateIndexed ( GeometryType geom_type,
bool largeBuffer,
int32_t baseVertex,
uint32_t indexOffsetPtr,
uint32_t indexCount )
overridevirtual

◆ DrawImmediateVertices()

void Grindstone::GraphicsAPI::OpenGL::Core::DrawImmediateVertices ( GeometryType geom_type,
uint32_t base,
uint32_t count )
overridevirtual

◆ EnableDepthWrite()

void Grindstone::GraphicsAPI::OpenGL::Core::EnableDepthWrite ( bool state)
overridevirtual

◆ GetAdapterName()

const char * Grindstone::GraphicsAPI::OpenGL::Core::GetAdapterName ( ) const
overridevirtual

◆ GetAPIName()

const char * Grindstone::GraphicsAPI::OpenGL::Core::GetAPIName ( ) const
overridevirtual

◆ GetAPIVersion()

const char * Grindstone::GraphicsAPI::OpenGL::Core::GetAPIVersion ( ) const
overridevirtual

◆ GetDefaultShaderExtension()

const char * Grindstone::GraphicsAPI::OpenGL::Core::GetDefaultShaderExtension ( ) const
overridevirtual

◆ GetVendorName()

const char * Grindstone::GraphicsAPI::OpenGL::Core::GetVendorName ( ) const
overridevirtual

◆ Initialize()

bool Grindstone::GraphicsAPI::OpenGL::Core::Initialize ( const CreateInfo & createInfo)
overridevirtual

◆ RegisterWindow()

void Grindstone::GraphicsAPI::OpenGL::Core::RegisterWindow ( Window * window)
overridevirtual

◆ ResizeViewport()

void Grindstone::GraphicsAPI::OpenGL::Core::ResizeViewport ( uint32_t w,
uint32_t h )
overridevirtual

◆ SetColorMask()

void Grindstone::GraphicsAPI::OpenGL::Core::SetColorMask ( ColorMask mask)
overridevirtual

◆ SetImmediateBlending()

void Grindstone::GraphicsAPI::OpenGL::Core::SetImmediateBlending ( BlendOperation colorOp,
BlendFactor colorSrc,
BlendFactor colorDst,
BlendOperation alphaOp,
BlendFactor alphaSrc,
BlendFactor alphaDst )
overridevirtual

◆ ShouldUseImmediateMode()

bool Grindstone::GraphicsAPI::OpenGL::Core::ShouldUseImmediateMode ( ) const
overridevirtual

◆ SupportsCommandBuffers()

bool Grindstone::GraphicsAPI::OpenGL::Core::SupportsCommandBuffers ( ) const
overridevirtual

◆ SupportsComputeShader()

bool Grindstone::GraphicsAPI::OpenGL::Core::SupportsComputeShader ( ) const
overridevirtual

◆ SupportsGeometryShader()

bool Grindstone::GraphicsAPI::OpenGL::Core::SupportsGeometryShader ( ) const
overridevirtual

◆ SupportsMultiDrawIndirect()

bool Grindstone::GraphicsAPI::OpenGL::Core::SupportsMultiDrawIndirect ( ) const
overridevirtual

◆ SupportsTesselation()

bool Grindstone::GraphicsAPI::OpenGL::Core::SupportsTesselation ( ) const
overridevirtual

◆ WaitUntilIdle()

void Grindstone::GraphicsAPI::OpenGL::Core::WaitUntilIdle ( )
overridevirtual

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