render_device.hpp file
Class 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::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::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::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::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::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, RG8SNorm, RGBA8SNorm, 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 }
 - 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 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 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 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.