nCine/Graphics/RHI/RhiTypes.h file

Namespaces

namespace nCine
Root namespace of nCine game engine.

Enums

enum class PrimitiveType : std::uint32_t { Points = 0x0000, Lines = 0x0001, LineLoop = 0x0002, LineStrip = 0x0003, Triangles = 0x0004, TriangleStrip = 0x0005, TriangleFan = 0x0006 }
Primitive topology of a draw call.
enum class BlendingFactor : std::uint32_t { Zero = 0x0000, One = 0x0001, SrcColor = 0x0300, OneMinusSrcColor = 0x0301, SrcAlpha = 0x0302, OneMinusSrcAlpha = 0x0303, DstAlpha = 0x0304, OneMinusDstAlpha = 0x0305, DstColor = 0x0306, OneMinusDstColor = 0x0307, SrcAlphaSaturate = 0x0308, ConstantColor = 0x8001, OneMinusConstantColor = 0x8002, ConstantAlpha = 0x8003, OneMinusConstantAlpha = 0x8004 }
Source or destination factor of the blending equation.
enum class BufferUsage : std::uint32_t { StreamDraw = 0x88E0, StaticDraw = 0x88E4, DynamicDraw = 0x88E8 }
Expected update pattern of a vertex or index buffer.
enum class BufferTarget : std::uint32_t { Vertex = 0x8892, Index = 0x8893, Uniform = 0x8A11 }
Binding target of a buffer object.
enum class MapFlags : std::uint32_t { None = 0, Write = 0x0002, InvalidateRange = 0x0004, InvalidateBuffer = 0x0008, FlushExplicit = 0x0010, Unsynchronized = 0x0020, Persistent = 0x0040, Coherent = 0x0080 }
Buffer mapping and immutable storage flags.
enum class IndexFormat : std::uint32_t { UInt16 = 0x1403, UInt32 = 0x1405 }
Data format of the indices in an index buffer.
enum class CullFaceMode : std::uint32_t { Front = 0x0404, Back = 0x0405, FrontAndBack = 0x0408 }
Face culling mode.
enum class VertexAttribType : std::uint32_t { UnsignedByte = 0x1401, Float = 0x1406 }
Component data type of a vertex attribute.
enum class ShaderStage { Vertex, Fragment }
Programmable pipeline stage a shader source is attached to.
enum class DepthStencilFormat { None, Depth16, Depth24, Depth24_Stencil8 }
Depth and stencil format of a render target.
enum class ClearFlags : std::uint32_t { None = 0, Color = 0x01, Depth = 0x02, Stencil = 0x04 }
Buffers of a render target that can be cleared.
enum class PixelFormat { Unknown, R8, RG8, RGB8, RGBA8, RGB565, RGB5A1, RGBA4, RGB16F, RGBA16F, RGB32F, RGBA32F, Depth16, Depth24, Depth32F, DXT1RGB, DXT1RGBA, DXT3, DXT5, ETC1, ETC2RGB8, ETC2RGB8A1, ETC2RGBA8, EAC_R11, EAC_RG11, ATC_RGB, ATC_RGBA_Explicit, ATC_RGBA_Interpolated, PVRTC_2BPP_RGB, PVRTC_2BPP_RGBA, PVRTC_4BPP_RGB, PVRTC_4BPP_RGBA, ASTC_4x4, ASTC_5x4, ASTC_5x5, ASTC_6x5, ASTC_6x6, ASTC_8x5, ASTC_8x6, ASTC_8x8, ASTC_10x5, ASTC_10x6, ASTC_10x8, ASTC_10x10, ASTC_12x10, ASTC_12x12 }
Pixel format of texture data.
enum class TextureTarget { Texture2D }
Type of texture the backend allocates and binds.
enum class SamplerFilter { Unknown, Nearest, Linear, NearestMipmapNearest, LinearMipmapNearest, NearestMipmapLinear, LinearMipmapLinear }
Texture minification and magnification filtering modes.
enum class SamplerWrapping { Unknown, ClampToEdge, MirroredRepeat, Repeat }
Texture coordinate wrapping modes.
enum class SwizzleChannel { Red, Green, Blue, Alpha, Zero, One }
Source for a sampled texture channel (see Texture::SetSwizzle()).

Typedefs

using FenceHandle = void*
Opaque handle to a GPU fence created by the device.

Functions

auto operator|(MapFlags a, MapFlags b) -> MapFlags constexpr
auto operator&(MapFlags a, MapFlags b) -> MapFlags constexpr
auto operator|(ClearFlags a, ClearFlags b) -> ClearFlags constexpr
auto operator&(ClearFlags a, ClearFlags b) -> ClearFlags constexpr