Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::HLSL2GLSLConverterImpl::ConversionAttribs Struct Reference

Conversion attributes. More...

#include <HLSL2GLSLConverterImpl.hpp>

Public Attributes

IShaderSourceInputStreamFactorypSourceStreamFactory = nullptr
 
IHLSL2GLSLConversionStream ** ppConversionStream = nullptr
 Optional pointer to a conversion stream.
 
const Char * HLSLSource = nullptr
 
size_t NumSymbols = 0
 Number of symbols in HLSLSource string. Ignored if HLSLSource is null.
 
const Char * EntryPoint = nullptr
 Shader entry point.
 
SHADER_TYPE ShaderType = SHADER_TYPE_UNKNOWN
 Shader type. See Diligent::SHADER_TYPE.
 
bool IncludeDefinitions = false
 Whether to include GLSL definitions supporting HLSL->GLSL conversion.
 
const Char * InputFileName = nullptr
 
const Char * SamplerSuffix = "_sampler"
 Combined texture sampler suffix.
 
bool UseInOutLocationQualifiers = true
 
bool UseRowMajorMatrices = false
 Whether to add layot(row_major) qualifier to uniform blocks.
 

Detailed Description

Conversion attributes.

Member Data Documentation

◆ HLSLSource

const Char* Diligent::HLSL2GLSLConverterImpl::ConversionAttribs::HLSLSource = nullptr

HLSL source code. Can be null, in which case the source code will be loaded from the input stream factory (that must not be null in this case) using InputFileName.

◆ InputFileName

const Char* Diligent::HLSL2GLSLConverterImpl::ConversionAttribs::InputFileName = nullptr

Input file name. If HLSLSource is not null, this name will only be used for information purposes. If HLSLSource is null, the name will be used to load shader source from the input stream factory.

◆ pSourceStreamFactory

IShaderSourceInputStreamFactory* Diligent::HLSL2GLSLConverterImpl::ConversionAttribs::pSourceStreamFactory = nullptr

Shader source input stream factory. Used to load shader source when HLSLSource is null as well as to load shader includes.

◆ UseInOutLocationQualifiers

bool Diligent::HLSL2GLSLConverterImpl::ConversionAttribs::UseInOutLocationQualifiers = true

Whether to use in-out location qualifiers. This requires separate shader objects extension: https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_separate_shader_objects.txt