Renderer create info. More...
#include <PBR_Renderer.hpp>
Public Types | |
| enum | TEX_COLOR_CONVERSION_MODE { TEX_COLOR_CONVERSION_MODE_NONE = 0 , TEX_COLOR_CONVERSION_MODE_SRGB_TO_LINEAR } |
Public Attributes | |
| bool | EnableIBL = true |
| bool | EnableAO = true |
| bool | EnableEmissive = true |
| bool | EnableClearCoat = false |
| bool | EnableSheen = false |
| bool | EnableAnisotropy = false |
| bool | EnableIridescence = false |
| bool | EnableTransmission = false |
| bool | EnableVolume = false |
| bool | UseSeparateMetallicRoughnessTextures = false |
| bool | CreateDefaultTextures = true |
| bool | EnableShadows = false |
| bool | AllowHotShaderReload = false |
| bool | PackMatrixRowMajor = false |
| bool | UseSkinPreTransform = false |
| Whether to use skin pre-transform before applying joint transformations. | |
| bool | PackVertexNormals = false |
| Whether vertex normals are packed into a single 32-bit uint, see PackVertexNormal(). | |
| bool | PackVertexColors = false |
| Whether vertex colors are packed into a single 32-bit uint. | |
| VERTEX_POS_PACK_MODE | VertexPosPackMode = VERTEX_POS_PACK_MODE_NONE |
| Vertex position packing mode, see VERTEX_POS_PACK_MODE. | |
| Uint32 | PCFKernelSize = 3 |
| SHADER_TEXTURE_ARRAY_MODE | ShaderTexturesArrayMode = SHADER_TEXTURE_ARRAY_MODE_NONE |
| Shader textures array access mode, see SHADER_TEXTURE_ARRAY_MODE. | |
| Uint32 | MaterialTexturesArraySize = 0 |
| Uint32 | PrimitiveArraySize = 0 |
| Uint32 | MaxLightCount = 16 |
| The maximum number of lights. | |
| Uint32 | MaxShadowCastingLightCount = 8 |
| The maximum number of shadow-casting lights. | |
| Uint32 | OITLayerCount = 0 |
| SamplerDesc | ColorMapImmutableSampler = DefaultSampler |
| Immutable sampler for color map texture. | |
| SamplerDesc | PhysDescMapImmutableSampler = DefaultSampler |
| Immutable sampler for physical description map texture. | |
| SamplerDesc | NormalMapImmutableSampler = DefaultSampler |
| Immutable sampler for normal map texture. | |
| SamplerDesc | AOMapImmutableSampler = DefaultSampler |
| Immutable sampler for AO texture. | |
| SamplerDesc | EmissiveMapImmutableSampler = DefaultSampler |
| Immutable sampler for emissive map texture. | |
| SamplerDesc | ClearCoatMapImmutableSampler = DefaultSampler |
| Immutable sampler for clear coat map texture. | |
| SamplerDesc | SheenMapImmutableSampler = DefaultSampler |
| Immutable sampler for sheen texture. | |
| SamplerDesc | AnisotropyMapImmutableSampler = DefaultSampler |
| Immutable sampler for anisotropy texture. | |
| SamplerDesc | IridescenceMapImmutableSampler = DefaultSampler |
| Immutable sampler for iridescence texture. | |
| SamplerDesc | TransmissionMapImmutableSampler = DefaultSampler |
| Immutable sampler for transmission texture. | |
| SamplerDesc | ThicknessMapImmutableSampler = DefaultSampler |
| Immutable sampler for thickness texture. | |
| Uint32 | MaxJointCount = 64 |
| JOINTS_BUFFER_MODE | JointsBufferMode = JOINTS_BUFFER_MODE_UNIFORM |
| Joints buffer mode. | |
| Uint32 | NumBRDFSamples = 512 |
| The number of samples for BRDF LUT creation. | |
| InputLayoutDesc | InputLayout |
| std::function< PSMainSourceInfo(PSO_FLAGS PsoFlags)> | GetPSMainSource = nullptr |
| IBuffer * | pPrimitiveAttribsCB = nullptr |
| IBuffer * | pMaterialAttribsCB = nullptr |
| IBuffer * | pJointsBuffer = nullptr |
| std::array< int, TEXTURE_ATTRIB_ID_COUNT > | TextureAttribIndices {} |
| Texture attribute index info. | |
Renderer create info.
Conversion mode applied to diffuse, specular and emissive textures.
| bool Diligent::PBR_Renderer::CreateInfo::AllowHotShaderReload = false |
Whether to allow hot shader reload.
| bool Diligent::PBR_Renderer::CreateInfo::CreateDefaultTextures = true |
Whether to create default textures.
| bool Diligent::PBR_Renderer::CreateInfo::EnableAnisotropy = false |
Whether to enable anisotropy. A pipeline state can use anisotropy only if this flag is set to true.
| bool Diligent::PBR_Renderer::CreateInfo::EnableAO = true |
Whether to use enable ambient occlusion. A pipeline state can use AO only if this flag is set to true.
| bool Diligent::PBR_Renderer::CreateInfo::EnableClearCoat = false |
Whether to enable clear coat. A pipeline state can use clear coat only if this flag is set to true.
| bool Diligent::PBR_Renderer::CreateInfo::EnableEmissive = true |
Whether to enable emissive texture. A pipeline state can use emissive texture only if this flag is set to true.
| bool Diligent::PBR_Renderer::CreateInfo::EnableIBL = true |
Indicates whether to enable IBL. A pipeline state can use IBL only if this flag is set to true.
| bool Diligent::PBR_Renderer::CreateInfo::EnableIridescence = false |
Whether to enable iridescence. A pipeline state can use iridescence only if this flag is set to true.
| bool Diligent::PBR_Renderer::CreateInfo::EnableShadows = false |
Whether to enable shadows. A pipeline state can use shadows only if this flag is set to true.
| bool Diligent::PBR_Renderer::CreateInfo::EnableSheen = false |
Whether to enable sheen. A pipeline state can use sheen only if this flag is set to true.
| bool Diligent::PBR_Renderer::CreateInfo::EnableTransmission = false |
Whether to enable transmission. A pipeline state can use transmission only if this flag is set to true.
| bool Diligent::PBR_Renderer::CreateInfo::EnableVolume = false |
Whether to enable volume. A pipeline state can use volume only if this flag is set to true.
| std::function<PSMainSourceInfo(PSO_FLAGS PsoFlags)> Diligent::PBR_Renderer::CreateInfo::GetPSMainSource = nullptr |
An optional user-provided callback function that is used to generate the pixel shader's main function source code for the specified PSO flags. If null, the renderer will use the default implementation.
| InputLayoutDesc Diligent::PBR_Renderer::CreateInfo::InputLayout |
Input layout description.
struct VSInput
{
float3 Pos : ATTRIB0;
float3 Normal : ATTRIB1; // If PSO_FLAG_USE_VERTEX_NORMALS is set
float2 UV0 : ATTRIB2; // If PSO_FLAG_USE_TEXCOORD0 is set
float2 UV1 : ATTRIB3; // If PSO_FLAG_USE_TEXCOORD1 is set
float4 Joint0 : ATTRIB4; // If PSO_FLAG_USE_JOINTS is set
float4 Weight0 : ATTRIB5; // If PSO_FLAG_USE_JOINTS is set
float4 Color : ATTRIB6; // If PSO_FLAG_USE_VERTEX_COLORS is set
float3 Tangent : ATTRIB7; // If PSO_FLAG_USE_VERTEX_TANGENTS is set
};
| Uint32 Diligent::PBR_Renderer::CreateInfo::MaterialTexturesArraySize = 0 |
User-provided material textures array size.
| Uint32 Diligent::PBR_Renderer::CreateInfo::MaxJointCount = 64 |
The maximum number of joints.
If set to 0, the animation will be disabled.
| Uint32 Diligent::PBR_Renderer::CreateInfo::OITLayerCount = 0 |
The number of OIT layers. If set to 0, OIT will be disabled.
| bool Diligent::PBR_Renderer::CreateInfo::PackMatrixRowMajor = false |
Whether shader matrices are laid out in row-major order in GPU memory.
| Uint32 Diligent::PBR_Renderer::CreateInfo::PCFKernelSize = 3 |
PCF shadow kernel size. Allowed values are 2, 3, 5, 7.
| IBuffer* Diligent::PBR_Renderer::CreateInfo::pJointsBuffer = nullptr |
A pointer to the user-provided joints buffer. If null, the renderer will allocate the buffer.
| IBuffer* Diligent::PBR_Renderer::CreateInfo::pMaterialAttribsCB = nullptr |
A pointer to the user-provided material attribs buffer. If null, the renderer will allocate the buffer.
| IBuffer* Diligent::PBR_Renderer::CreateInfo::pPrimitiveAttribsCB = nullptr |
A pointer to the user-provided primitive attribs buffer. If null, the renderer will allocate the buffer.
| Uint32 Diligent::PBR_Renderer::CreateInfo::PrimitiveArraySize = 0 |
The size of the shader primitive array. When 0, single primitive will be used.
| bool Diligent::PBR_Renderer::CreateInfo::UseSeparateMetallicRoughnessTextures = false |
Whether to use separate textures for metallic and roughness instead of a combined physical description texture.