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 VfxVariableDescription class from KVObject data.
public VfxVariableDescription(KVObject data, int index)Parameters
data KVObject
The KVObject containing variable data.
index int
The index in the owning array.
VfxVariableDescription(BinaryReader, int, int)
Initializes a new instance of the VfxVariableDescription 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
float
IntInf
Integer infinity value used for min/max ranges.
public static readonly int IntInfField Value
int
Properties
AllowLayerOverride
Gets whether layer override is allowed.
public bool AllowLayerOverride { get; }Property Value
bool
ChannelCount
Gets the number of valid entries in VfxVariableDescription.ChannelInfoIndices.
public int ChannelCount { get; }Property Value
int
ChannelInfoIndices
Gets the indices into VfxProgramData.TextureChannelProcessors 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, older files have -1.
public int ContextStateAffectedByVariable { get; }Property Value
int
DefaultInputTexture
Gets the default input texture name.
public string DefaultInputTexture { get; }Property Value
string
DescriptorSet
Gets the descriptor set index. Only stored in KV3 resources; 0 for binary vcs files.
public uint DescriptorSet { get; }Property Value
uint
Flags
Gets the variable flags, stored in bits 8-15 of VfxVariableDescription.ContextStateAffectedByVariable.
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
bool
Index
Gets the block index of this variable.
public int Index { get; }Property Value
int
InputColorSpace
Gets the input color space for texture variables.
public int InputColorSpace { get; }Property Value
int
InputProcessingCommand
Gets the input processing command for texture variables.
public string InputProcessingCommand { get; }Property Value
string
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
bool
LayerId
Gets the layer ID for this variable.
public byte LayerId { get; }Property Value
byte
MaxRes
Gets the maximum resolution for texture variables.
public int MaxRes { get; }Property Value
int
MinPrecisionBits
Gets the minimum precision bits required for this variable.
public int MinPrecisionBits { get; }Property Value
int
Name
Gets the variable name.
public string Name { get; }Property Value
string
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
int
RegisterOffset
Gets the register offset. Only stored in KV3 resources; 0 for binary vcs files.
public uint RegisterOffset { get; }Property Value
uint
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
int
SourceString
Gets the source string for this variable.
public string SourceString { get; }Property Value
string
SrgbRead
Gets a value indicating whether hardware sRGB reads are enabled for this variable.
public bool SrgbRead { get; }Property Value
bool
TextureFileEnding
Gets the texture file name suffix for texture variables.
public string TextureFileEnding { get; }Property Value
string
TypePrefixes
Type prefixes used in shader variable names, longest first.
public static IReadOnlyList<string> TypePrefixes { get; }Property Value
IReadOnlyList<string>
TypeSpecificBits
Gets type-specific bits, such as the external constant buffer ID or specialization constant ID. -1 when there is none.
public int TypeSpecificBits { get; }Property Value
int
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
float
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; }
