Classes

Assets/Shaders

Brief descriptions

Structures

nau::assets::ShaderAssetTag

nau::SignatureParameterDescription

Describes a parameter within a shader input layout.

nau::ShaderVariableTypeDescription

Describes a user-defined shader variable type.

nau::ShaderVariableDescription

Describes a shader variable.

nau::ShaderBufferDescription

Describes a shader constant-buffer.

nau::ShaderInputBindDescription

Describes how a shader resource is bound to a shader input.

nau::ShaderReflection

nau::VertexShaderDeclarationRegister

Describes a register within a vertex shader declaration.

nau::VertexShaderDeclaration

Describes a vertex shader declaration.

nau::Shader

Encapsulates information about a shader.

nau::IShaderAssetAccessor

Detailed information

assets::ShaderAssetTag

engine/core/modules/assets/include/nau/assets/asset_ref.h

struct ShaderAssetTag

Temporary material asset tags.


SignatureParameterDescription

engine/core/modules/assets/include/nau/assets/shader.h

struct SignatureParameterDescription

Describes a parameter within a shader input layout.

See D3D11_SIGNATURE_PARAMETER_DESC<>.

Public Members

eastl::string semanticName
uint32_t semanticIndex
uint32_t registerIndex
RegisterComponentType componentType
uint8_t mask
uint8_t readWriteMask
uint32_t stream
semanticName
semanticIndex
registerIndex
componentType
mask
readWriteMask

ShaderVariableTypeDescription

engine/core/modules/assets/include/nau/assets/shader.h

struct ShaderVariableTypeDescription

Describes a user-defined shader variable type.

See D3D11_SHADER_TYPE_DESC<>.

Public Members

ShaderVariableClass svc
ShaderVariableType svt
uint32_t rows
uint32_t columns
uint32_t elements
eastl::string name
eastl::map<eastl::string, ShaderVariableTypeDescription> members

A collection of members if the type is a structure (const-buffer), otherwise an empty collection.

svc
svt
rows
columns
elements
name

ShaderVariableDescription

engine/core/modules/assets/include/nau/assets/shader.h

struct ShaderVariableDescription

Describes a shader variable.

See D3D11_SHADER_VARIABLE_DESC<>

Public Members

eastl::string name
ShaderVariableTypeDescription type
uint32_t startOffset
uint32_t size
uint32_t flags
uint32_t startTexture
uint32_t textureSize
uint32_t startSampler
uint32_t samplerSize
name
type
startOffset
size
flags
startTexture
textureSize
startSampler

ShaderBufferDescription

engine/core/modules/assets/include/nau/assets/shader.h

struct ShaderBufferDescription

Describes a shader constant-buffer.

See D3D11_SHADER_BUFFER_DESC<>.

Public Members

eastl::string name
CBufferType type
eastl::vector<ShaderVariableDescription> variables
uint32_t size
uint32_t flags
name
type
variables
size

ShaderInputBindDescription

engine/core/modules/assets/include/nau/assets/shader.h

struct ShaderInputBindDescription

Describes how a shader resource is bound to a shader input.

See D3D11_SHADER_INPUT_BIND_DESC<>.

Public Members

eastl::string name
ShaderInputType type
uint32_t bindPoint
uint32_t bindCount
uint32_t flags
ResourceReturnType returnType
SrvDimension dimension
uint32_t numSamples
uint32_t space
ShaderBufferDescription bufferDesc
name
type
bindPoint
bindCount
flags
returnType
dimension
numSamples
space

ShaderReflection

engine/core/modules/assets/include/nau/assets/shader.h

struct ShaderReflection

Encapsulates shader reflection information including its input signature parameters and resource bindings.

Public Members

eastl::vector<SignatureParameterDescription> signatureParams

A collection of shader input signature parameter descriptions.

eastl::vector<ShaderInputBindDescription> inputBinds

A collection of shader resource binding descriptions.

signatureParams

VertexShaderDeclarationRegister

engine/core/modules/assets/include/nau/assets/shader.h

struct VertexShaderDeclarationRegister

Describes a register within a vertex shader declaration.

Public Members

eastl::string semanticName
eastl::string type
semanticName

VertexShaderDeclaration

engine/core/modules/assets/include/nau/assets/shader.h

struct VertexShaderDeclaration

Describes a vertex shader declaration.

Public Members

eastl::string stream
int32_t number
eastl::vector<VertexShaderDeclarationRegister> vsdReg
stream
number

Shader

engine/core/modules/assets/include/nau/assets/shader.h

struct Shader

Encapsulates information about a shader.

Public Members

eastl::string name
eastl::string srcName
ShaderTarget target
eastl::string entryPoint
eastl::vector<VertexShaderDeclaration> vsd
ShaderReflection reflection
ReadOnlyBuffer bytecode
name
srcName
target
entryPoint
vsd

IShaderAssetAccessor

engine/core/modules/assets/include/nau/assets/shader_asset_accessor.h

struct IShaderAssetAccessor : public nau::IAssetAccessor

Public Functions

virtual IAssetAccessor Result fillShader (Shader &shader) const =0