Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
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 DeleteFramebuffer (Grindstone::GraphicsAPI::Framebuffer *ptr) override
virtual void DeleteBuffer (Grindstone::GraphicsAPI::Buffer *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 DeleteSampler (Grindstone::GraphicsAPI::Sampler *ptr) override
virtual void DeleteImage (Grindstone::GraphicsAPI::Image *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::BufferCreateBuffer (const Buffer::CreateInfo &ci) override
virtual Grindstone::GraphicsAPI::SamplerCreateSampler (const Sampler::CreateInfo &createInfo) override
virtual Grindstone::GraphicsAPI::ImageCreateImage (const Image::CreateInfo &createInfo) override
virtual Grindstone::GraphicsAPI::DescriptorSetCreateDescriptorSet (const DescriptorSet::CreateInfo &createInfo) override
virtual Grindstone::GraphicsAPI::DescriptorSetLayoutCreateDescriptorSetLayout (const DescriptorSetLayout::CreateInfo &createInfo) override
virtual Grindstone::GraphicsAPI::GraphicsPipelineGetOrCreateGraphicsPipelineFromCache (const GraphicsPipeline::PipelineData &pipelineData, const VertexInputLayout *vertexInputLayout) 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
virtual void DeletePipelineLayout (PipelineLayout *ptr)=0
virtual GraphicsAPI::PipelineLayoutCreatePipelineLayout (const PipelineLayout::CreateInfo &ci)=0
virtual GraphicsAPI::DescriptorSetLayoutGetOrCreateDescriptorSetLayoutFromCache (const Grindstone::GraphicsAPI::DescriptorSetLayout::CreateInfo &createInfo)=0
virtual GraphicsAPI::GraphicsPipelineGetOrCreateGraphicsPipelineFromCache (GraphicsAPI::PipelineLayout *pipelineLayout, const GraphicsAPI::GraphicsPipeline::PipelineData &pipelineData, const GraphicsAPI::VertexInputLayout *vertexInputLayout)=0
virtual Grindstone::GraphicsAPI::PipelineLayoutGetOrCreatePipelineLayoutFromCache (const Grindstone::GraphicsAPI::PipelineLayout::CreateInfo &createInfo)=0
virtual GraphicsAPI::SamplerGetOrCreateSampler (const Grindstone::GraphicsAPI::Sampler::CreateInfo &createInfo)=0

Additional Inherited Members

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

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

◆ CreateBuffer()

Base::Buffer * Grindstone::GraphicsAPI::OpenGL::Core::CreateBuffer ( const Buffer::CreateInfo & ci)
overridevirtual

◆ CreateCommandBuffer()

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

◆ CreateComputePipeline()

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

◆ CreateDescriptorSet()

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

◆ CreateDescriptorSetLayout()

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

◆ CreateFramebuffer()

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

◆ CreateGraphicsPipeline()

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

◆ CreateImage()

Base::Image * Grindstone::GraphicsAPI::OpenGL::Core::CreateImage ( const Image::CreateInfo & createInfo)
overridevirtual

◆ CreateRenderPass()

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

◆ CreateSampler()

Base::Sampler * Grindstone::GraphicsAPI::OpenGL::Core::CreateSampler ( const Sampler::CreateInfo & createInfo)
overridevirtual

◆ CreateVertexArrayObject()

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

◆ DeleteBuffer()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteBuffer ( Grindstone::GraphicsAPI::Buffer * ptr)
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

◆ 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

◆ DeleteImage()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteImage ( Grindstone::GraphicsAPI::Image * ptr)
overridevirtual

◆ DeleteRenderPass()

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

◆ DeleteSampler()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteSampler ( Grindstone::GraphicsAPI::Sampler * ptr)
overridevirtual

◆ DeleteVertexArrayObject()

void Grindstone::GraphicsAPI::OpenGL::Core::DeleteVertexArrayObject ( Grindstone::GraphicsAPI::VertexArrayObject * 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:
  • /github/workspace/plugins/Grindstone.RHI.OpenGL/include/GLCore.hpp
  • /github/workspace/plugins/Grindstone.RHI.OpenGL/source/GLCore.cpp