Diligent Engine
 
Loading...
Searching...
No Matches
Shader.h File Reference
#include "../../../Primitives/interface/FileStream.h"
#include "../../../Primitives/interface/FlagEnum.h"
#include "DeviceObject.h"
#include "../../../Primitives/interface/DefineInterfaceHelperMacros.h"
#include "../../../Primitives/interface/UndefInterfaceHelperMacros.h"

Classes

struct  Diligent::ShaderDesc
 Shader description. More...
 
struct  Diligent::IShaderSourceInputStreamFactory
 Shader source stream factory interface. More...
 
struct  Diligent.ShaderMacro
 Shader Macro. More...
 
struct  Diligent::ShaderMacroArray
 Shader macro array. More...
 
struct  Diligent::ShaderCreateInfo
 Shader creation attributes. More...
 
struct  Diligent::ShaderResourceDesc
 Shader resource description. More...
 
struct  Diligent::ShaderCodeVariableDesc
 Describes the shader code variable. More...
 
struct  Diligent::ShaderCodeBufferDesc
 Describes a shader constant buffer. More...
 
struct  Diligent.IShader
 Shader interface. More...
 

Namespaces

namespace  Diligent
 Graphics engine namespace.
 

Typedefs

typedef struct Diligent::ShaderCodeVariableDesc Diligent::ShaderCodeVariableDesc
 Describes the shader code variable.
 
typedef struct Diligent::ShaderCodeBufferDesc Diligent::ShaderCodeBufferDesc
 Describes a shader constant buffer.
 

Enumerations

enum  Diligent::SHADER_SOURCE_LANGUAGE : Uint32 {
  Diligent::SHADER_SOURCE_LANGUAGE_DEFAULT = 0 , Diligent::SHADER_SOURCE_LANGUAGE_HLSL , Diligent::SHADER_SOURCE_LANGUAGE_GLSL , Diligent::SHADER_SOURCE_LANGUAGE_GLSL_VERBATIM ,
  Diligent::SHADER_SOURCE_LANGUAGE_MSL , Diligent::SHADER_SOURCE_LANGUAGE_MSL_VERBATIM , Diligent::SHADER_SOURCE_LANGUAGE_MTLB , Diligent::SHADER_SOURCE_LANGUAGE_WGSL ,
  SHADER_SOURCE_LANGUAGE_COUNT
}
 Describes the shader source code language. More...
 
enum  Diligent::SHADER_COMPILER : Uint32 { Diligent::SHADER_COMPILER_DEFAULT = 0 , Diligent::SHADER_COMPILER_GLSLANG , Diligent::SHADER_COMPILER_DXC , Diligent::SHADER_COMPILER_FXC , SHADER_COMPILER_LAST = SHADER_COMPILER_FXC , SHADER_COMPILER_COUNT }
 Describes the shader compiler that will be used to compile the shader source code. More...
 
enum  Diligent::CREATE_SHADER_SOURCE_INPUT_STREAM_FLAGS : Uint32 { Diligent::CREATE_SHADER_SOURCE_INPUT_STREAM_FLAG_NONE = 0x00 , Diligent::CREATE_SHADER_SOURCE_INPUT_STREAM_FLAG_SILENT = 0x01 }
 Describes the flags that can be passed over to IShaderSourceInputStreamFactory::CreateInputStream2() function. More...
 
enum  Diligent::SHADER_STATUS : Uint32 { Diligent::SHADER_STATUS_UNINITIALIZED = 0 , Diligent::SHADER_STATUS_COMPILING , Diligent::SHADER_STATUS_READY , Diligent::SHADER_STATUS_FAILED }
 Shader status. More...
 
enum  Diligent::SHADER_COMPILE_FLAGS : Uint32 {
  Diligent::SHADER_COMPILE_FLAG_NONE = 0 , Diligent::SHADER_COMPILE_FLAG_ENABLE_UNBOUNDED_ARRAYS = 1u << 0u , Diligent::SHADER_COMPILE_FLAG_SKIP_REFLECTION = 1u << 1u , Diligent::SHADER_COMPILE_FLAG_ASYNCHRONOUS = 1u << 2u ,
  Diligent::SHADER_COMPILE_FLAG_PACK_MATRIX_ROW_MAJOR = 1u << 3u , Diligent::SHADER_COMPILE_FLAG_HLSL_TO_SPIRV_VIA_GLSL = 1u << 4u , SHADER_COMPILE_FLAG_LAST = SHADER_COMPILE_FLAG_HLSL_TO_SPIRV_VIA_GLSL
}
 Shader compilation flags. More...
 
enum  Diligent::SHADER_RESOURCE_TYPE : Uint8 {
  Diligent::SHADER_RESOURCE_TYPE_UNKNOWN = 0 , Diligent::SHADER_RESOURCE_TYPE_CONSTANT_BUFFER , Diligent::SHADER_RESOURCE_TYPE_TEXTURE_SRV , Diligent::SHADER_RESOURCE_TYPE_BUFFER_SRV ,
  Diligent::SHADER_RESOURCE_TYPE_TEXTURE_UAV , Diligent::SHADER_RESOURCE_TYPE_BUFFER_UAV , Diligent::SHADER_RESOURCE_TYPE_SAMPLER , Diligent::SHADER_RESOURCE_TYPE_INPUT_ATTACHMENT ,
  Diligent::SHADER_RESOURCE_TYPE_ACCEL_STRUCT , SHADER_RESOURCE_TYPE_LAST = SHADER_RESOURCE_TYPE_ACCEL_STRUCT
}
 Describes shader resource type. More...
 
enum  Diligent::SHADER_CODE_BASIC_TYPE : Uint8 {
  Diligent::SHADER_CODE_BASIC_TYPE_UNKNOWN , Diligent::SHADER_CODE_BASIC_TYPE_VOID , Diligent::SHADER_CODE_BASIC_TYPE_BOOL , Diligent::SHADER_CODE_BASIC_TYPE_INT ,
  Diligent::SHADER_CODE_BASIC_TYPE_INT8 , Diligent::SHADER_CODE_BASIC_TYPE_INT16 , Diligent::SHADER_CODE_BASIC_TYPE_INT64 , Diligent::SHADER_CODE_BASIC_TYPE_UINT ,
  Diligent::SHADER_CODE_BASIC_TYPE_UINT8 , Diligent::SHADER_CODE_BASIC_TYPE_UINT16 , Diligent::SHADER_CODE_BASIC_TYPE_UINT64 , Diligent::SHADER_CODE_BASIC_TYPE_FLOAT ,
  Diligent::SHADER_CODE_BASIC_TYPE_FLOAT16 , Diligent::SHADER_CODE_BASIC_TYPE_DOUBLE , Diligent::SHADER_CODE_BASIC_TYPE_MIN8FLOAT , Diligent::SHADER_CODE_BASIC_TYPE_MIN10FLOAT ,
  Diligent::SHADER_CODE_BASIC_TYPE_MIN16FLOAT , Diligent::SHADER_CODE_BASIC_TYPE_MIN12INT , Diligent::SHADER_CODE_BASIC_TYPE_MIN16INT , Diligent::SHADER_CODE_BASIC_TYPE_MIN16UINT ,
  Diligent::SHADER_CODE_BASIC_TYPE_STRING , SHADER_CODE_BASIC_TYPE_COUNT
}
 Describes the basic type of a shader code variable. More...
 
enum  Diligent::SHADER_CODE_VARIABLE_CLASS : Uint8 {
  Diligent::SHADER_CODE_VARIABLE_CLASS_UNKNOWN , Diligent::SHADER_CODE_VARIABLE_CLASS_SCALAR , Diligent::SHADER_CODE_VARIABLE_CLASS_VECTOR , Diligent::SHADER_CODE_VARIABLE_CLASS_MATRIX_ROWS ,
  Diligent::SHADER_CODE_VARIABLE_CLASS_MATRIX_COLUMNS , Diligent::SHADER_CODE_VARIABLE_CLASS_STRUCT , SHADER_CODE_VARIABLE_CLASS_COUNT
}
 Describes the class of a shader code variable. More...
 

Detailed Description

Definition of the Diligent::IShader interface and related data structures