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
 
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

◆ 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

◆ GetOrCreateGraphicsPipelineFromCache()

Base::GraphicsPipeline * Grindstone::GraphicsAPI::OpenGL::Core::GetOrCreateGraphicsPipelineFromCache ( const GraphicsPipeline::PipelineData & pipelineData,
const VertexInputLayout * vertexInputLayout )
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: