Home -> RendererInterface
Description
The RendererInterface.pkg header is the platform-neutral entry point for the Cobalt Renderer graphics API. It includes the renderer, graphics device, render tree, resource, shader program, helper, token, vector, matrix, and shader source information types used to build rendering work.
This package deliberately avoids native window system and dynamic library loading bindings. Include PlatformBindings.pkg as well when an application needs SDK helpers for renderer plugin discovery, module lifetime management, SDL3 integration, or native window binding structures.
Important
Applications that use the C++ SDK normally include this package instead of including individual renderer interface headers directly.
Usage
#include <Cobalt/RendererInterface/RendererInterface.pkg>Types
Renderer Types
| Name | Description | |
|---|---|---|
| IGraphicsDeviceEnumerator |
Allows compatible graphics devices to be discovered and retrieved as IGraphicsDevice objects
|
|
| IGraphicsDevice |
Returns specific information on a single graphics device, and allows IRenderer instances to be created.
|
|
| IRenderer |
Manages the rendering process, holds the scene tree, and creates all render tree and resource types for the application.
|
Render Tree Types
| Name | Description | |
|---|---|---|
| IRenderPassNode |
Top level node in the scene tree, binding a frame buffer to the scene.
|
|
| IProgramNode |
Second level node in the scene tree, binding a shader program to the scene.
|
|
| IStateGroupNode |
Third level node in the scene tree, binding various state values and resources, and optionally performing compute tasks.
|
|
| IRenderableNode |
Fourth level node in the scene tree, defining an object to draw.
|
|
| IStateContainer |
Base interface for all tree elements that allow bindings and state changes to be applied.
|
|
| IDefaultState |
Defines a set of attached bindings and state changes, to allow tree node elements to be reused.
|
Resource Types
Geometry Types
| Name | Description | |
|---|---|---|
| IIndexBuffer |
Holds index attribute data for renderable objects
|
|
| IVertexBuffer |
Holds vertex attribute data for renderable objects
|
|
| IndexAttribute |
A single index attribute
|
|
| RawIndexAttribute |
An untyped raw index attribute
|
|
| ReadOnlyIndexAttribute |
A read-only view of an index attribute
|
|
| VertexAttribute |
A single vertex attribute
|
|
| RawVertexAttribute |
An untyped raw vertex attribute
|
|
| ReadOnlyVertexAttribute |
A read-only view of a vertex attribute
|
Image Types
| Name | Description | |
|---|---|---|
| ITextureBuffer |
Base interface for all textures
|
|
| ITextureBuffer1D |
A one dimensional texture resource
|
|
| ITextureBuffer2D |
A two dimensional texture resource
|
|
| ITextureBuffer3D |
A three dimensional texture resource
|
|
| ITextureBufferCube |
A cubemap texture resource
|
|
| ITextureBuffer1DArray |
An array of one dimensional texture resources
|
|
| ITextureBuffer2DArray |
An array of two dimensional texture resources
|
|
| ITextureBufferCubeArray |
An array of cubemap texture resources
|
Sampler Types
| Name | Description | |
|---|---|---|
| ITextureSampler |
Base interface for all texture samplers
|
|
| ITextureSampler1D |
A one dimensional texture sampler
|
|
| ITextureSampler2D |
A two dimensional texture sampler
|
|
| ITextureSampler3D |
A three dimensional texture sampler
|
|
| ITextureSamplerCube |
A cubemap texture sampler
|
|
| ITextureSampler1DArray |
A sampler for an array of one dimensional texture resources
|
|
| ITextureSampler2DArray |
A sampler for an array of two dimensional texture resources
|
|
| ITextureSamplerCubeArray |
A sampler for an array of cubemap texture resources
|
Data Types
| Name | Description | |
|---|---|---|
| IResourceArray |
Base interface for IDataArray and ITexelArray types
|
|
| IDataArray |
Allows arrays of complex data structures to be read and written from shaders
|
|
| IDataArrayOutput |
Enables applications to capture the final state of an IDataArray and return it to system memory
|
|
| ITexelArray |
Allows arrays of simple vector types to be read and written from shaders
|
|
| ITexelArrayOutput |
Enables applications to capture the final state of an ITexelArray and return it to system memory
|
|
| IStateBuffer |
Holds a set of state values in a shared buffer, which can be shared across multiple shader programs.
|
|
| IStateBufferLayout |
Defines the physical layout in memory of an IStateBuffer
|
Batch Types
| Name | Description | |
|---|---|---|
| ITransferBatch |
Manages advanced batching and scheduling of writes to buffers
|
FrameBuffer Types
| Name | Description | |
|---|---|---|
| IFrameBuffer |
Defines a framebuffer for output from render operations
|
|
| IFrameBufferOutput |
Enables applications to capture content written to an IFrameBuffer during rendering and return it to system memory
|
Program Types
| Name | Description | |
|---|---|---|
| IShaderProgram |
Defines a complete shader program to control tasks on the render pipeline
|
Helper Types
| Name | Description | |
|---|---|---|
| SuccessToken |
A helper type to assist applications in implementing comprehensive error handling
|
|
| ReadWriteMutex |
A helper type to assist applications in following threading requirements
|
Token Types
| Name | Description | |
|---|---|---|
| VertexAttributeId |
Identifies a shader vertex attribute binding.
|
|
| TextureId |
Identifies a shader texture binding.
|
|
| SamplerId |
Identifies a shader sampler binding.
|
|
| StateValueId |
Identifies a shader state value binding.
|
|
| StateBufferId |
Identifies a shader state buffer binding.
|
|
| ResourceArrayId |
Identifies a shader resource array binding.
|