file
render_device.hppClass cubos::
Namespaces
- namespace cubos
- Cubos libraries namespace.
- namespace cubos::core
- Core namespace.
- namespace cubos::core::gl
- Graphics module.
- namespace cubos::core::gl::impl
- Namespace to store the abstract types implemented by the render device implementations.
Classes
- struct cubos::core::gl::FramebufferDesc
- Describes a framebuffer.
- struct cubos::core::gl::FramebufferDesc::CubeMapTarget
- Describes a cube map target.
- struct cubos::core::gl::FramebufferDesc::Texture2DTarget
- Describes a 2D texture target.
- struct cubos::core::gl::FramebufferDesc::CubeMapArrayTarget
- Describes a cube map array target.
- struct cubos::core::gl::FramebufferDesc::Texture2DArrayTarget
- Describes a 2D texture array target.
- struct cubos::core::gl::FramebufferDesc::FramebufferTarget
- Describes a framebuffer target.
- struct cubos::core::gl::RasterStateDesc
- Decribes a rasterizer state.
- struct cubos::core::gl::DepthStencilStateDesc
- Describes a depth stencil state.
- struct cubos::core::gl::DepthStencilStateDesc::Depth
- Decribes a depth state.
- struct cubos::core::gl::DepthStencilStateDesc::Stencil
- Describes a stencil state.
- struct cubos::core::gl::DepthStencilStateDesc::Stencil::Face
- Decribes a stencil face.
- struct cubos::core::gl::BlendStateDesc
- Describes a blend state.
- struct cubos::core::gl::SamplerDesc
- Describes a sampler.
- struct cubos::core::gl::Texture1DDesc
- Describes a 1D texture.
- struct cubos::core::gl::Texture2DDesc
- Describes a 2D texture.
- struct cubos::core::gl::Texture2DArrayDesc
- Describes a 2D texture array.
- struct cubos::core::gl::Texture3DDesc
- Describes a 3D texture.
- struct cubos::core::gl::CubeMapDesc
- Describes a cube map.
- struct cubos::core::gl::CubeMapArrayDesc
- Describes a cube map array.
- struct cubos::core::gl::ConstantBufferElement
- Describes an element in a constant buffer.
- struct cubos::core::gl::ConstantBufferStructure
- Describes the structure of a constant buffer.
- struct cubos::core::gl::VertexElement
- Describes a vertex element.
- struct cubos::core::gl::VertexArrayDesc
- Describes a vertex array.
- class cubos::core::gl::RenderDevice
- Interface used to wrap low-level rendering APIs such as OpenGL.
- class cubos::core::gl::impl::Framebuffer
- Abstract framebuffer.
- class cubos::core::gl::impl::RasterState
- Abstract rasterizer state.
- class cubos::core::gl::impl::DepthStencilState
- Abstract depth stencil state.
- class cubos::core::gl::impl::BlendState
- Abstract blend state.
- class cubos::core::gl::impl::PixelPackBuffer
- Abstract pixel pack buffer.
- class cubos::core::gl::impl::Sampler
- Abstract sampler.
- class cubos::core::gl::impl::Texture1D
- Abstract 1D texture.
- class cubos::core::gl::impl::Texture2D
- Abstract 2D texture.
- class cubos::core::gl::impl::Texture2DArray
- Abstract 2D texture array.
- class cubos::core::gl::impl::Texture3D
- Abstract 3D texture.
- class cubos::core::gl::impl::CubeMap
- Abstract cube map.
- class cubos::core::gl::impl::CubeMapArray
- Abstract cube map.
- class cubos::core::gl::impl::ConstantBuffer
- Abstract constant buffer.
- class cubos::core::gl::impl::IndexBuffer
- Abstract index buffer.
- class cubos::core::gl::impl::VertexBuffer
- Abstract vertex buffer.
- class cubos::core::gl::impl::VertexArray
- Abstract vertex array.
- class cubos::core::gl::impl::ShaderStage
- Abstract shader stage.
- class cubos::core::gl::impl::ShaderPipeline
- Abstract shader pipeline.
- class cubos::core::gl::impl::ShaderBindingPoint
- Abstract shader binding point.
- class cubos::core::gl::impl::Timer
- Abstract timer.
- class cubos::core::gl::impl::PipelinedTimer
- Pipelined timer.
Enums
- enum class Property { MaxAnisotropy, ComputeSupported }
- Render device properties that can be queried at runtime.
- enum class Usage { Default, Dynamic, Static }
- Usage mode for buffers and textures.
- enum class Type { Byte, Short, Int, UByte, UShort, UInt, NByte, NShort, NUByte, NUShort, Float }
- Data type.
- enum class IndexFormat { UShort, UInt }
- Index format.
- enum class TextureFormat { R8SNorm, R16SNorm, RG8SNorm, RG16SNorm, RGBA8SNorm, RGBA16SNorm, R8UNorm, R16UNorm, RG8UNorm, RG16UNorm, RGBA8UNorm, RGBA16UNorm, R8SInt, R16SInt, RG8SInt, RG16SInt, RGBA8SInt, RGBA16SInt, R8UInt, R16UInt, RG8UInt, RG16UInt, RGBA8UInt, RGBA16UInt, R16Float, R32Float, RG16Float, RG32Float, RGB16Float, RGB32Float, RGBA16Float, RGBA32Float, Depth16, Depth32, Depth24Stencil8, Depth32Stencil8 }
- Texture format.
- enum class AddressMode { Repeat, Mirror, Clamp, Border }
- Texture address mode.
- enum class TextureFilter { None, Nearest, Linear }
- Texture filter type.
- enum class Winding { CW, CCW }
- Triangle winding mode.
- enum class Face { Front, Back, FrontAndBack }
- Specifies a face.
- enum class RasterMode { Wireframe, Fill }
- Rasterizer mode.
- enum class Compare { Never, Less, LEqual, Greater, GEqual, Equal, NEqual, Always }
- Comparison function.
- enum class StencilAction { Zero, Keep, Replace, Increment, IncrementWrap, Decrement, DecrementWrap, Invert }
- Stencil action.
- enum class BlendFactor { Zero, One, SrcColor, InvSrcColor, DstColor, InvDstColor, SrcAlpha, InvSrcAlpha, DstAlpha, InvDstAlpha }
- Blend factor.
- enum class BlendOp { Add, Substract, RevSubstract, Min, Max }
- Blend operation.
- enum class Stage { Vertex, Geometry, Pixel, Compute }
- Shader stage type.
- enum class CubeFace { PositiveX = 0, NegativeX = 1, PositiveY = 2, NegativeY = 3, PositiveZ = 4, NegativeZ = 5 }
- Cube map face.
- enum class MemoryBarriers { None = 0, VertexBuffer = 1, IndexBuffer = 2, ConstantBuffer = 4, ImageAccess = 8, TextureAccess = 16, Framebuffer = 32, All = VertexBuffer | IndexBuffer | ConstantBuffer | ImageAccess | TextureAccess | Framebuffer }
- Memory barrier flags for synchronization.
- enum class Access { Read, Write, ReadWrite }
- Access mode for a resource.
Typedefs
- using Framebuffer = std::shared_ptr<impl::Framebuffer>
- Handle to a framebuffer.
- using RasterState = std::shared_ptr<impl::RasterState>
- Handle to a rasterizer state.
- using DepthStencilState = std::shared_ptr<impl::DepthStencilState>
- Handle to a depth stencil state.
- using BlendState = std::shared_ptr<impl::BlendState>
- Handle to a blend state.
- using PixelPackBuffer = std::shared_ptr<impl::PixelPackBuffer>
- Handle to a pixel pack buffer.
- using Sampler = std::shared_ptr<impl::Sampler>
- Handle to a sampler.
- using Texture1D = std::shared_ptr<impl::Texture1D>
- Handle to a 1D texture.
- using Texture2D = std::shared_ptr<impl::Texture2D>
- Handle to a 2D texture.
- using Texture2DArray = std::shared_ptr<impl::Texture2DArray>
- Handle to a 2D texture array.
- using Texture3D = std::shared_ptr<impl::Texture3D>
- Handle to a 3D texture.
- using CubeMap = std::shared_ptr<impl::CubeMap>
- Handle to a cube map.
- using CubeMapArray = std::shared_ptr<impl::CubeMapArray>
- Handle to a cube map array.
- using ConstantBuffer = std::shared_ptr<impl::ConstantBuffer>
- Handle to a constant buffer.
- using IndexBuffer = std::shared_ptr<impl::IndexBuffer>
- Handle to an index buffer.
- using VertexBuffer = std::shared_ptr<impl::VertexBuffer>
- Handle to a vertex buffer.
- using VertexArray = std::shared_ptr<impl::VertexArray>
- Handle to a vertex array.
- using ShaderStage = std::shared_ptr<impl::ShaderStage>
- Handle to a shader stage.
- using ShaderPipeline = std::shared_ptr<impl::ShaderPipeline>
- Handle to a shader pipeline.
- using ShaderBindingPoint = impl::ShaderBindingPoint*
- Handle to a shader binding point.
- using Timer = std::shared_ptr<impl::Timer>
- Handle to a timer.
- using PipelinedTimer = std::shared_ptr<impl::PipelinedTimer>
- Handle to a pipelined timer.
Defines
- #define CUBOS_CORE_GL_MAX_FRAMEBUFFER_RENDER_TARGET_COUNT
- Maximum number of render targets that can be set on a framebuffer.
- #define CUBOS_CORE_GL_MAX_TEXTURE_2D_ARRAY_SIZE
- Maximum number of textures on a 2D texture array.
- #define CUBOS_CORE_GL_MAX_CUBEMAP_ARRAY_SIZE
- Maximum number of cube maps on a cubemap array.
- #define CUBOS_CORE_GL_MAX_MIP_LEVEL_COUNT
- Maximum mip level count.
- #define CUBOS_CORE_GL_MAX_CONSTANT_BUFFER_ELEMENT_NAME_SIZE
- Maximum constant buffer element name size.
- #define CUBOS_CORE_GL_MAX_CONSTANT_BUFFER_ELEMENT_COUNT
- Maximum constant buffer element count.
- #define CUBOS_CORE_GL_MAX_VERTEX_ARRAY_ELEMENT_COUNT
- Maximum number of vertex array elements.
- #define CUBOS_CORE_GL_MAX_VERTEX_ARRAY_BUFFER_COUNT
- Maximum number of buffers on a vertex array.