nCine::RHI namespace

Render Hardware Interface — compile-time-selectable graphics backend abstraction.

Exactly one backend is compiled into a binary, selected by a WITH_RHI_* macro (the OpenGL family is the default). The render pipeline refers only to the backend-neutral aliases declared here (e.g. nCine::RHI::Device, nCine::RHI::Texture), so each backend only has to provide the same set of names with the same surface.

Namespaces

namespace GL
OpenGL 3.3 core, OpenGL|ES 3.0/2.0 and WebGL 2.0 backend, selected by WITH_RHI_GL.
namespace Software
CPU software rasterizer backend, selected by WITH_RHI_SOFTWARE.
namespace D3D11
Direct3D 11 backend, selected by WITH_RHI_D3D11.
namespace Vulkan
Vulkan backend, selected by WITH_RHI_VULKAN.

Classes

struct BufferRange
Locates a sub-range within a buffer object, together with its mapped memory.

Typedefs

using Device = RHI::GL::GLDevice
using Texture = RHI::GL::GLTexture
using Buffer = RHI::GL::GLBufferObject
using Shader = RHI::GL::GLShader
using ShaderProgram = RHI::GL::GLShaderProgram
using ShaderUniforms = RHI::GL::GLShaderUniforms
using ShaderUniformBlocks = RHI::GL::GLShaderUniformBlocks
using Uniform = RHI::GL::GLUniform
using UniformBlock = RHI::GL::GLUniformBlock
using UniformCache = RHI::GL::GLUniformCache
using UniformBlockCache = RHI::GL::GLUniformBlockCache
using Attribute = RHI::GL::GLAttribute
using Framebuffer = RHI::GL::GLFramebuffer
using Renderbuffer = RHI::GL::GLRenderbuffer
using RenderTarget = RHI::GL::GLRenderTarget
using VertexArray = RHI::GL::GLVertexArrayObject
using VertexFormat = RHI::GL::GLVertexFormat
using Debug = RHI::GL::GLDebug

Typedef documentation