|
enum class | RHIType : uint8 { OpenGL
, Vulkan
, Unknown
} |
|
enum class | RHIBufferUsage : uint8 { Static
, Dynamic
} |
|
enum class | RHIIndexType : uint8 { Uint32
, Uint16
, Unknown
} |
|
enum class | RHIVertexFrequency : uint8 { PerVertex = 0
, PerInstance
} |
|
enum class | RHIVertexElementType : uint8 {
Float1 = 0
, Float2
, Float3
, Float4
,
Int1
, Int2
, Int3
, Int4
,
Unknown
} |
|
enum class | RHIShaderDataType : uint8 {
Float1
, Float2
, Float3
, Float4
,
Int1
, Int2
, Int3
, Int4
,
Uint1
, Uint2
, Uint3
, Uint4
,
Bool1
, Bool2
, Bool3
, Bool4
,
Mat2
, Mat3
, Mat4
, Unknown
} |
|
enum class | RHIShaderParamType : uint8 {
Sampler2d
, Sampler2dArray
, Sampler3d
, SamplerCube
,
Unknown
} |
|
enum class | RHITextureType : uint8 {
Texture2d
, Texture2dArray
, Texture3d
, TextureCube
,
Unknown
} |
|
enum class | RHIShaderType : uint8 { Vertex = 0
, Fragment = 1
} |
|
enum class | RHIShaderLanguage : uint8 { GLSL410GL = 1
, GLSL450GL = 2
, GLSL450VK = 3
, Unknown
} |
|
enum class | RHITextureFormat : uint8 {
R8
, R8_SNORM
, R16
, R16_SNORM
,
RG8
, RG8_SNORM
, RG16
, RG16_SNORM
,
RGB8
, RGB8_SNORM
, RGB16_SNORM
, RGBA8
,
RGBA8_SNORM
, RGBA16
, SRGB8
, SRGB8_ALPHA8
,
R16F
, RG16F
, RGB16F
, RGBA16F
,
R32F
, RG32F
, RGB32F
, RGBA32F
,
DEPTH32F
, DEPTH32F_STENCIL8
, DEPTH24_STENCIL8
, Unknown
} |
|
enum class | RHITextureUsage : uint8 { Sampling = 1
, ColorAttachment = 2
, DepthAttachment = 3
, DepthStencilAttachment = 4
} |
|
enum class | RHITextureCubemapFace : uint8 {
PositiveX = 0
, NegativeX = 1
, PositiveY = 2
, NegativeY = 3
,
PositiveZ = 4
, NegativeZ = 5
} |
|
enum class | RHISamplerMagFilter : uint8 { Nearest
, Linear
} |
|
enum class | RHISamplerMinFilter : uint8 {
Nearest
, Linear
, NearestMipmapNearest
, LinearMipmapNearest
,
NearestMipmapLinear
, LinearMipmapLinear
} |
|
enum class | RHISamplerRepeatMode : uint8 {
Repeat
, MirroredRepeat
, ClampToEdge
, ClampToBorder
,
MirrorClamToEdge
} |
|
enum class | RHISamplerBorderColor : uint8 { Black
, White
} |
|
enum class | RHIPrimitivesType : uint8 { Triangles
, Lines
, Points
} |
|
enum class | RHIPolygonMode : uint8 { Fill
, Line
, Point
} |
|
enum class | RHIPolygonCullMode : uint8 { Disabled
, Front
, Back
, FrontAndBack
} |
|
enum class | RHIPolygonFrontFace : uint8 { Clockwise
, CounterClockwise
} |
|
enum class | RHICompareFunction : uint8 {
Never
, Less
, Equal
, LessEqual
,
Greater
, GreaterEqual
, NotEqual
, Always
} |
|
enum class | RHIOperation : uint8 {
Keep
, Zero
, Replace
, Increment
,
Decrement
, Invert
} |
|
enum class | RHIBlendFactor : uint8 {
Zero
, One
, SrcColor
, OneMinusSrcColor
,
DstColor
, OneMinusDstColor
, SrcAlpha
, OneMinusSrcAlpha
,
DstAlpha
, OneMinusDstAlpha
} |
|
enum class | RHIBlendOperation : uint8 {
Add
, Subtract
, ReverseSubtract
, Min
,
Max
} |
|
enum class | RHIRenderTargetOption : uint8 {
ClearStore
, ClearDiscard
, LoadStore
, LoadDiscard
,
DiscardStore
, DiscardDiscard
} |
|
Rendering hardware interface.
Provides unified interface for the rendering hardware, required for lower level rendering. Abstracts such primitives, as texture, sample, shader, framebuffer, render pass, pipeline etc.
Interface is designed as verbose API with minimum number of global state variables, requires explicit pre-creation of rendering objects.
Intended for implementation by OpenGL and Vulkan APIs.