CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::ShaderCompiler::Reflection Namespace Reference

Shader code reflection namespace. More...

Classes

struct  Attribute
 Input/output attribute and uniform reflection structure. More...
 
struct  ConstantBuffer
 Constant buffer reflection structure. More...
 
struct  Field
 A field denotes a data member of a record or constant buffer. More...
 
struct  NumThreads
 Number of threads within each work group of a compute shader. More...
 
struct  Record
 A record denotes a data structure declared in a shader. More...
 
struct  ReflectionData
 Structure for shader output statistics (e.g. texture/buffer binding points). More...
 
struct  Resource
 Resource reflection structure for textures, combined texture samplers, and buffers. More...
 
struct  SamplerState
 Sampler state reflection structure. More...
 
struct  SamplerStateDesc
 Static sampler state descriptor structure (D3D11_SAMPLER_DESC). More...
 
struct  StaticSamplerState
 Static sampler state reflection structure. More...
 

Enumerations

enum class  Filter {
  MinMagMipPoint = 0 , MinMagPointMipLinear = 0x1 , MinPointMagLinearMipPoint = 0x4 , MinPointMagMipLinear = 0x5 ,
  MinLinearMagMipPoint = 0x10 , MinLinearMagPointMipLinear = 0x11 , MinMagLinearMipPoint = 0x14 , MinMagMipLinear = 0x15 ,
  Anisotropic = 0x55 , ComparisonMinMagMipPoint = 0x80 , ComparisonMinMagPointMipLinear = 0x81 , ComparisonMinPointMagLinearMipPoint = 0x84 ,
  ComparisonMinPointMagMipLinear = 0x85 , ComparisonMinLinearMagMipPoint = 0x90 , ComparisonMinLinearMagPointMipLinear = 0x91 , ComparisonMinMagLinearMipPoint = 0x94 ,
  ComparisonMinMagMipLinear = 0x95 , ComparisonAnisotropic = 0xd5 , MinimumMinMagMipPoint = 0x100 , MinimumMinMagPointMipLinear = 0x101 ,
  MinimumMinPointMagLinearMipPoint = 0x104 , MinimumMinPointMagMipLinear = 0x105 , MinimumMinLinearMagMipPoint = 0x110 , MinimumMinLinearMagPointMipLinear = 0x111 ,
  MinimumMinMagLinearMipPoint = 0x114 , MinimumMinMagMipLinear = 0x115 , MinimumAnisotropic = 0x155 , MaximumMinMagMipPoint = 0x180 ,
  MaximumMinMagPointMipLinear = 0x181 , MaximumMinPointMagLinearMipPoint = 0x184 , MaximumMinPointMagMipLinear = 0x185 , MaximumMinLinearMagMipPoint = 0x190 ,
  MaximumMinLinearMagPointMipLinear = 0x191 , MaximumMinMagLinearMipPoint = 0x194 , MaximumMinMagMipLinear = 0x195 , MaximumAnisotropic = 0x1d5
}
 Sampler filter enumeration (compatible to D3D11_FILTER). More...
 
enum class  TextureAddressMode {
  Wrap = 1 , Mirror = 2 , Clamp = 3 , Border = 4 ,
  MirrorOnce = 5
}
 Texture address mode enumeration (compatible to D3D11_TEXTURE_ADDRESS_MODE). More...
 
enum class  ComparisonFunc {
  Never = 1 , Less = 2 , Equal = 3 , LessEqual = 4 ,
  Greater = 5 , NotEqual = 6 , GreaterEqual = 7 , Always = 8
}
 Sample comparison function enumeration (compatible to D3D11_COMPARISON_FUNC). More...
 
enum class  FieldType {
  Undefined , Bool , Int , UInt ,
  Half , Float , Double , Record
}
 Data field type enumeration. More...
 
enum class  ResourceType {
  Undefined , Texture1D , Texture2D , Texture3D ,
  TextureCube , Texture1DArray , Texture2DArray , TextureCubeArray ,
  Texture2DMS , Texture2DMSArray , RWTexture1D , RWTexture2D ,
  RWTexture3D , RWTextureCube , RWTexture1DArray , RWTexture2DArray ,
  RWTextureCubeArray , RWTexture2DMS , RWTexture2DMSArray , Sampler1D ,
  Sampler2D , Sampler3D , SamplerCube , Sampler1DArray ,
  Sampler2DArray , SamplerCubeArray , Sampler2DMS , Sampler2DMSArray ,
  Sampler2DRect , Buffer , ByteAddressBuffer , StructuredBuffer ,
  AppendStructuredBuffer , ConsumeStructuredBuffer , RWBuffer , RWByteAddressBuffer ,
  RWStructuredBuffer , ConstantBuffer , TextureBuffer , SamplerState ,
  SamplerComparisonState
}
 Resource type enumeration. More...
 

Detailed Description

Shader code reflection namespace.

Enumeration Type Documentation

◆ ComparisonFunc

Sample comparison function enumeration (compatible to D3D11_COMPARISON_FUNC).

See also
https://docs.microsoft.com/en-us/windows/desktop/api/d3d11/ne-d3d11-d3d11_comparison_func
Enumerator
Never 
Less 
Equal 
LessEqual 
Greater 
NotEqual 
GreaterEqual 
Always 

◆ FieldType

Data field type enumeration.

See also
Field::type
Enumerator
Undefined 

Undefined field type.

Bool 

Boolean type.

Int 

Signed integer type.

UInt 

UInt32eger type.

Half 

Half-precision floating-point type.

Float 

Single-precision floating-point type.

Double 

Double-precision floating-point type.

Record 

Record (also called structure, struct, or compound data) type.

◆ Filter

Sampler filter enumeration (compatible to D3D11_FILTER).

See also
https://docs.microsoft.com/en-us/windows/desktop/api/d3d11/ne-d3d11-d3d11_filter
Enumerator
MinMagMipPoint 
MinMagPointMipLinear 
MinPointMagLinearMipPoint 
MinPointMagMipLinear 
MinLinearMagMipPoint 
MinLinearMagPointMipLinear 
MinMagLinearMipPoint 
MinMagMipLinear 
Anisotropic 
ComparisonMinMagMipPoint 
ComparisonMinMagPointMipLinear 
ComparisonMinPointMagLinearMipPoint 
ComparisonMinPointMagMipLinear 
ComparisonMinLinearMagMipPoint 
ComparisonMinLinearMagPointMipLinear 
ComparisonMinMagLinearMipPoint 
ComparisonMinMagMipLinear 
ComparisonAnisotropic 
MinimumMinMagMipPoint 
MinimumMinMagPointMipLinear 
MinimumMinPointMagLinearMipPoint 
MinimumMinPointMagMipLinear 
MinimumMinLinearMagMipPoint 
MinimumMinLinearMagPointMipLinear 
MinimumMinMagLinearMipPoint 
MinimumMinMagMipLinear 
MinimumAnisotropic 
MaximumMinMagMipPoint 
MaximumMinMagPointMipLinear 
MaximumMinPointMagLinearMipPoint 
MaximumMinPointMagMipLinear 
MaximumMinLinearMagMipPoint 
MaximumMinLinearMagPointMipLinear 
MaximumMinMagLinearMipPoint 
MaximumMinMagMipLinear 
MaximumAnisotropic 

◆ ResourceType

Resource type enumeration.

See also
Resource::type
Enumerator
Undefined 

Undfined resource type.

Texture1D 

1D texture: Texture1D in HLSL, texture1D in GLSL (Vulkan only).

Texture2D 

2D texture: Texture2D in HLSL, texture2D in GLSL (Vulkan only).

Texture3D 

3D texture: Texture3D in HLSL, texture3D in GLSL (Vulkan only).

TextureCube 

Cube texture: TextureCube in HLSL, textureCube in GLSL (Vulkan only).

Texture1DArray 

1D array texture: Texture1DArray in HLSL, texture1DArray in GLSL (Vulkan only).

Texture2DArray 

2D array texture: Texture2DArray in HLSL, texture2DArray in GLSL (Vulkan only).

TextureCubeArray 

Cube array texture: TextureCubeArray in HLSL, textureCubeArray in GLSL (Vulkan only).

Texture2DMS 

2D multi-sampled texture: Texture2DMS in HLSL, texture2DMS in GLSL (Vulkan only).

Texture2DMSArray 

2D multi-sampled array texture: Texture2DMSArray in HLSL, texture2DMSArray in GLSL (Vulkan only).

RWTexture1D 

1D read-write texture: RWTexture1D in HLSL, image1D in GLSL.

RWTexture2D 

2D read-write texture: RWTexture2D in HLSL, image2D in GLSL.

RWTexture3D 

3D read-write texture: RWTexture3D in HLSL, image3D in GLSL.

RWTextureCube 

Cube read-write texture: RWTextureCube in HLSL, imageCube in GLSL.

RWTexture1DArray 

1D array read-write texture: RWTexture1DArray in HLSL, image1DArray in GLSL.

RWTexture2DArray 

2D array read-write texture: RWTexture2DArray in HLSL, image2DArray in GLSL.

RWTextureCubeArray 

Cube array read-write texture: RWTextureCubeArray in HLSL, imageCubeArray in GLSL.

RWTexture2DMS 

2D multi-sampled read-write texture: RWTexture2DMS in HLSL, image2DMS in GLSL.

RWTexture2DMSArray 

2D multi-sampled array read-write texture: RWTexture2DMSArray in HLSL, image2DMSArray in GLSL.

Sampler1D 

Combined 1D texture-sampler: sampler1D in GLSL.

Sampler2D 

Combined 2D texture-sampler: sampler2D in GLSL.

Sampler3D 

Combined 3D texture-sampler: sampler3D in GLSL.

SamplerCube 

Combined Cube texture-sampler: samplerCube in GLSL.

Sampler1DArray 

Combined 1D array texture-sampler: sampler1DArray in GLSL.

Sampler2DArray 

Combined 2D array texture-sampler: sampler2DArray in GLSL.

SamplerCubeArray 

Combined Cube array texture-sampler: samplerCubeArray in GLSL.

Sampler2DMS 

Combined 2D multi-sampled texture-sampler: sampler2DMS in GLSL.

Sampler2DMSArray 

Combined 2D multi-sampled array texture-sampler: sampler2DMSArray in GLSL.

Sampler2DRect 

Combined 2D texture-sampler with unnormalized texture coordinates: sampler2DRect in GLSL.

Buffer 

Vector buffer: Buffer in HLSL, samplerBuffer in GLSL.

ByteAddressBuffer 

Byte addressable buffer: ByteAddressBuffer in HLSL, samplerBuffer in GLSL.

StructuredBuffer 

Structured buffer: StructuredBuffer in HLSL, buffer in GLSL and VKSL.

AppendStructuredBuffer 

Append structured buffer: AppendStructuredBuffer in HLSL, buffer in GLSL.

ConsumeStructuredBuffer 

Consume structured buffer: ConsumeStructuredBuffer in HLSL, buffer in GLSL.

RWBuffer 

Vector read-write buffer: RWBuffer in HLSL, imageBuffer in GLSL.

RWByteAddressBuffer 

Byte addressable read-write buffer: RWByteAddressBuffer in HLSL, imageBuffer in GLSL.

RWStructuredBuffer 

Structured read-write buffer: RWStructuredBuffer in HLSL, buffer in GLSL and VKSL.

ConstantBuffer 

Constant buffer: cbuffer in HLSL, uniform in GLSL.

TextureBuffer 

Texture buffer: tbuffer in HLSL, samplerBuffer in GLSL.

SamplerState 

Sampler state: SamplerState in HLSL, sampler in GLSL (Vulkan only).

SamplerComparisonState 

Sampler comparison state: SamplerComparisonState in HLSL, sampler in GLSL (Vulkan only).

◆ TextureAddressMode

Texture address mode enumeration (compatible to D3D11_TEXTURE_ADDRESS_MODE).

See also
https://docs.microsoft.com/en-us/windows/desktop/api/d3d11/ne-d3d11-d3d11_texture_address_mode
Enumerator
Wrap 
Mirror 
Clamp 
Border 
MirrorOnce