Vixen
02b45cc4
csharp
public enum ShaderValueKind

The CLR type one shader value is written as.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Stored rather than derived, because the thing that reads an EffectData has no shader source and no compiler — it has bytes and a name, and it still has to intern a ParameterKey`1 of the right type. A key is interned by name and carries a ValueType, and the same name interned twice with two types throws; so this has to agree, exactly, with what Vixen.Shaders.Generators emits for the same parameter.

That agreement is load-bearing and it is also self-enforcing: the generated …Keys.Exposure and the key this creates for "Tonemap.exposure" are the same object or the interning table throws naming both. There is no third outcome where a value quietly goes to the wrong offset.

Fields and properties (14)

  • Unknown

    A type the engine has no C# equivalent for — a struct, or an odd matrix shape.

  • Bool

    bool.

  • Int

    int.

  • Int2

    int2.

  • Int3

    int3.

  • Int4

    int4.

  • UInt

    uint.

  • Float

    float.

  • Float2

    float2.

  • Float3

    float3.

  • Float4

    float4.

  • Matrix3x3

    float3x3.

  • Matrix4x4

    float4x4.

  • Double

    double.

Used by (14)

  • ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
  • EffectCacheTestsVixen.Shaders.Tests
  • EffectLoaderVixen.Shaders
  • EffectParameterDataVixen.Shaders
  • EffectPermutationValueVixen.Shaders
  • EffectVertexInputVixen.Shaders
  • EffectVertexInputDataVixen.Shaders
  • ForwardFrameTestsVixen.Rendering.Tests
  • TypeRegistrationVixen.Shaders
  • Vixen_Shaders_EffectParameterDataSerializerVixen.Shaders
  • Vixen_Shaders_EffectPermutationValueSerializerVixen.Shaders
  • Vixen_Shaders_EffectVertexInputDataSerializerVixen.Shaders
  • EffectCompilerTestsVixen.ShaderCompiler.Tests
  • EffectTranslatorVixen.ShaderCompiler