Table of Contents

Class Shader

Namespace
ValveResourceFormat.Renderer
Assembly
Renderer.dll

OpenGL shader program with uniform management and material defaults.

public class Shader

Inheritance

Inherited Members

Constructors

Shader(string, RendererContext)

public Shader(string name, RendererContext rendererContext)

Parameters

name string
rendererContext RendererContext

Properties

Attributes

public Dictionary<string, int> Attributes { get; }

Property Value

Dictionary<string, int>

Default

public RenderMaterial Default { get; init; }

Property Value

RenderMaterial

IgnoreMaterialData

public bool IgnoreMaterialData { get; }

Property Value

bool

IsLoaded

public bool IsLoaded { get; }

Property Value

bool

IsValid

public bool IsValid { get; }

Property Value

bool

MaterialLoader

protected MaterialLoader MaterialLoader { get; init; }

Property Value

MaterialLoader

Name

public string Name { get; }

Property Value

string

NameHash

public uint NameHash { get; }

Property Value

uint

Parameters

public required IReadOnlyDictionary<string, byte> Parameters { get; init; }

Property Value

IReadOnlyDictionary<string, byte>

Program

public int Program { get; set; }

Property Value

int

RenderModes

public required HashSet<string> RenderModes { get; init; }

Property Value

HashSet<string>

ReservedTexuresUsed

public HashSet<string> ReservedTexuresUsed { get; }

Property Value

HashSet<string>

ShaderObjects

public required int[] ShaderObjects { get; init; }

Property Value

int[]

SrgbUniforms

public required HashSet<string> SrgbUniforms { get; init; }

Property Value

HashSet<string>

UniformNames

public required HashSet<string> UniformNames { get; init; }

Property Value

HashSet<string>

Methods

EnsureLoaded()

public bool EnsureLoaded()

Returns

bool

GetAllUniformNames()

public IEnumerable<(string Name, int Index, ActiveUniformType Type, int Size)> GetAllUniformNames()

Returns

IEnumerable<(string Name, int Index, ActiveUniformType Type, int Size)>

GetRegisterSize(string)

public int GetRegisterSize(string name)

Parameters

name string

Returns

int

GetUniformBlockIndex(string)

public int GetUniformBlockIndex(string name)

Parameters

name string

Returns

int

GetUniformLocation(string)

public int GetUniformLocation(string name)

Parameters

name string

Returns

int

IsBooleanParameter(string)

public bool IsBooleanParameter(string paramName)

Parameters

paramName string

Returns

bool

SetBoneAnimationData(bool, int, int, int)

public void SetBoneAnimationData(bool animated, int boneOffset = 0, int boneCount = 0, int weightCount = 0)

Parameters

animated bool
boneOffset int
boneCount int
weightCount int

SetMaterialVector4Uniform(string, Vector4)

public void SetMaterialVector4Uniform(string name, Vector4 value)

Parameters

name string
value Vector4

SetTexture(int, string, RenderTexture?)

public bool SetTexture(int slot, string name, RenderTexture? texture)

Parameters

slot int
name string
texture RenderTexture?

Returns

bool

SetTexture(int, int, RenderTexture?)

public void SetTexture(int slot, int uniformLocation, RenderTexture? texture)

Parameters

slot int
uniformLocation int
texture RenderTexture?

SetUniform1(string, float)

public void SetUniform1(string name, float value)

Parameters

name string
value float

SetUniform1(string, int)

public void SetUniform1(string name, int value)

Parameters

name string
value int

SetUniform1(string, bool)

public void SetUniform1(string name, bool value)

Parameters

name string
value bool

SetUniform1(string, uint)

public void SetUniform1(string name, uint value)

Parameters

name string
value uint

SetUniform2(string, Vector2)

public void SetUniform2(string name, Vector2 value)

Parameters

name string
value Vector2

SetUniform3(string, Vector3)

public void SetUniform3(string name, Vector3 value)

Parameters

name string
value Vector3

SetUniform3x4(string, Matrix4x4)

public void SetUniform3x4(string name, Matrix4x4 value)

Parameters

name string
value Matrix4x4

SetUniform4(string, Vector4)

public void SetUniform4(string name, Vector4 value)

Parameters

name string
value Vector4

SetUniform4Array(string, int, float[])

public void SetUniform4Array(string name, int count, float[] value)

Parameters

name string
count int
value float[]

SetUniform4x4(string, Matrix4x4, bool)

public void SetUniform4x4(string name, Matrix4x4 value, bool transpose = false)

Parameters

name string
value Matrix4x4
transpose bool

SetUniformMatrix4x3Array(string, int, float[])

public void SetUniformMatrix4x3Array(string name, int count, float[] value)

Parameters

name string
count int
value float[]

StoreAttributeLocations()

public void StoreAttributeLocations()

Use()

public void Use()