Class VfxVariableDescription
Namespace: ValveResourceFormat.CompiledShader
Assembly: ValveResourceFormat.dll
Represents a variable description in a VFX shader program.
public class VfxVariableDescription : ShaderDataBlockInheritance
object ← ShaderDataBlock ← VfxVariableDescription
Inherited Members
ShaderDataBlock.Start, ShaderDataBlock.ReadStringWithMaxLength(BinaryReader, int)
Constructors
VfxVariableDescription(KVObject, int)
Initializes a new instance of the class from data.
public VfxVariableDescription(KVObject data, int index)Parameters
data KVObject
The containing variable data.
index int
The index in the owning array.
VfxVariableDescription(BinaryReader, int, int)
Initializes a new instance of the class from a binary stream.
public VfxVariableDescription(BinaryReader datareader, int index, int vcsVersion)Parameters
datareader BinaryReader
The binary reader to read from.
index int
The index in the owning array.
vcsVersion int
The VCS file version.
Fields
FloatInf
Float infinity value used for min/max ranges.
public static readonly float FloatInfField Value
IntInf
Integer infinity value used for min/max ranges.
public static readonly int IntInfField Value
Properties
AllowLayerOverride
Gets whether layer override is allowed.
public bool AllowLayerOverride { get; }Property Value
ChannelCount
Gets the number of valid entries in .
public int ChannelCount { get; }Property Value
ChannelInfoIndices
Gets the indices into for texture variables.
public int[] ChannelInfoIndices { get; }Property Value
int[]
CompiledExpression
Gets the compiled dynamic expression bytecode.
public byte[] CompiledExpression { get; }Property Value
byte[]
ContextStateAffectedByVariable
Gets the context state affected by this variable. Only stored since version 64, so a zero value on older files means unknown rather than no affected state.
public int ContextStateAffectedByVariable { get; }Property Value
DefaultInputTexture
Gets the default input texture name.
public string DefaultInputTexture { get; }Property Value
DescriptorSet
Gets the descriptor set index. Only stored in KV3 resources; 0 for binary vcs files.
public uint DescriptorSet { get; }Property Value
Flags
Gets the variable flags, stored in bits 8-15 of .
public VariableFlags Flags { get; }Property Value
FloatDefs
Gets the float default values (up to 4 components).
public float[] FloatDefs { get; }Property Value
float[]
FloatMaxs
Gets the float maximum values (up to 4 components).
public float[] FloatMaxs { get; }Property Value
float[]
FloatMins
Gets the float minimum values (up to 4 components).
public float[] FloatMins { get; }Property Value
float[]
HasDynamicExpression
Gets whether this variable has a dynamic expression.
public bool HasDynamicExpression { get; }Property Value
Index
Gets the block index of this variable.
public int Index { get; }Property Value
InputColorSpace
Gets the input color space for texture variables.
public int InputColorSpace { get; }Property Value
InputProcessingCommand
Gets the input processing command for texture variables.
public string InputProcessingCommand { get; }Property Value
IntDefs
Gets the integer default values (up to 4 components).
public int[] IntDefs { get; }Property Value
int[]
IntMaxs
Gets the integer maximum values (up to 4 components).
public int[] IntMaxs { get; }Property Value
int[]
IntMins
Gets the integer minimum values (up to 4 components).
public int[] IntMins { get; }Property Value
int[]
IsLayerConstant
Gets whether this is a layer constant.
public bool IsLayerConstant { get; }Property Value
LayerId
Gets the layer ID for this variable.
public byte LayerId { get; }Property Value
MaxRes
Gets the maximum resolution for texture variables.
public int MaxRes { get; }Property Value
MinPrecisionBits
Gets the minimum precision bits required for this variable.
public int MinPrecisionBits { get; }Property Value
Name
Gets the variable name.
public string Name { get; }Property Value
OutputTextureFormat
Gets the output texture format for texture variables.
public ImageFormat OutputTextureFormat { get; }Property Value
RegisterElements
Gets the number of register elements.
public int RegisterElements { get; }Property Value
RegisterOffset
Gets the register offset. Only stored in KV3 resources; 0 for binary vcs files.
public uint RegisterOffset { get; }Property Value
RegisterType
Gets the register type for this variable.
public VfxRegisterType RegisterType { get; }Property Value
SourceIndex
Gets the source index for this variable.
public int SourceIndex { get; }Property Value
SourceString
Gets the source string for this variable.
public string SourceString { get; }Property Value
SrgbRead
Gets a value indicating whether hardware sRGB reads are enabled for this variable.
public bool SrgbRead { get; }Property Value
TextureFileEnding
Gets the texture file name suffix for texture variables.
public string TextureFileEnding { get; }Property Value
TypePrefixes
Type prefixes used in shader variable names, longest first.
public static IReadOnlyList<string> TypePrefixes { get; }Property Value
TypeSpecificBits
Gets bits whose meaning depends on the variable type, such as the external constant buffer ID. It is -1 for variables that carry no type specific data.
public int TypeSpecificBits { get; }Property Value
UiGroup
Gets the UI group for this variable.
public UiGroup UiGroup { get; }Property Value
UiStep
Gets the UI step value for this variable.
public float UiStep { get; }Property Value
UiType
Gets the UI type for this variable.
public UiType UiType { get; }Property Value
UiVisibilityExpression
Gets the compiled UI visibility expression bytecode.
public byte[] UiVisibilityExpression { get; }Property Value
byte[]
VariableSource
Gets the variable source type.
public VfxVariableSourceType VariableSource { get; }Property Value
VfxType
Gets the VFX variable type.
public VfxVariableType VfxType { get; }
