Class GLShader<T>
public class GLShader<T> : Shader<T>, IEnumerable<EcsNode>, IResourceInfo, IArc, IDisposable, IInitializer, IGLShader, IEnumerable<KeyValuePair<GLShaderStages, string>>, IEnumerable, IInitializer<IGLShader>, IInitializer<GLShaderPromise>, IInitializer<GLShaderSource>, IInitializerBase where T : Material
Type Parameters
T
- Inheritance
-
Shader<T>GLShader<T>
- Implements
- Derived
- Inherited Members
Properties
ActiveAttributesList
public IReadOnlyList<GLAttribute> ActiveAttributesList { get; }
Property Value
ActiveAttributesMap
public IReadOnlyDictionary<string, GLAttribute> ActiveAttributesMap { get; }
Property Value
ActiveUniformBlocksList
public IReadOnlyList<GLUniformBlock> ActiveUniformBlocksList { get; }
Property Value
ActiveUniformBlocksMap
public IReadOnlyDictionary<string, GLUniformBlock> ActiveUniformBlocksMap { get; }
Property Value
ActiveUniformsList
public IReadOnlyList<GLUniform> ActiveUniformsList { get; }
Property Value
ActiveUniformsMap
public IReadOnlyDictionary<string, GLUniform> ActiveUniformsMap { get; }
Property Value
Compute
public string? Compute { get; }
Property Value
Fragment
public string? Fragment { get; }
Property Value
Geometry
public string? Geometry { get; }
Property Value
IsCompiled
public bool IsCompiled { get; }
Property Value
IsCompute
public bool IsCompute { get; }
Property Value
Program
public GLObject Program { get; }
Property Value
Renderer
protected OpenGLRenderer Renderer { get; }
Property Value
Stages
public GLShaderStages Stages { get; }
Property Value
TesselationControl
public string? TesselationControl { get; }
Property Value
TesselationEvaluation
public string? TesselationEvaluation { get; }
Property Value
Vertex
public string? Vertex { get; }
Property Value
Methods
AssertStatus()
public void AssertStatus()
CheckShaderCompileStatus(int)
Check the compile status of a shader stage and log errors.
protected bool CheckShaderCompileStatus(int shader)
Parameters
shader
intThe shader stage to check.
Returns
- bool
True if compiled successfully.
CheckShaderLinkStatus()
Check the program link status of this shader.
protected bool CheckShaderLinkStatus()
Returns
- bool
True if the program linked successfully.
CompileShader(bool)
public void CompileShader(bool force = false)
Parameters
force
bool
CreateComputeShader(out int)
protected bool CreateComputeShader(out int shader)
Parameters
shader
int
Returns
CreateShader(GLShaderStages, out int)
protected bool CreateShader(GLShaderStages stage, out int shader)
Parameters
stage
GLShaderStagesshader
int
Returns
Dispose(bool)
Internal function to handle dispose behavior.
protected override void Dispose(bool disposing)
Parameters
disposing
boolTrue if disposing.
GetAttributeLocation(string)
public int GetAttributeLocation(string name)
Parameters
name
string
Returns
GetFragDataLocation(string)
public int GetFragDataLocation(string name)
Parameters
name
string
Returns
GetUniformBlockLocation(string)
public int GetUniformBlockLocation(string name)
Parameters
name
string
Returns
GetUniformLocation(string)
public int GetUniformLocation(string name)
Parameters
name
string
Returns
Initialize(GLShaderPromise)
public void Initialize(GLShaderPromise promise)
Parameters
promise
GLShaderPromise
Initialize(GLShaderSource)
public void Initialize(GLShaderSource shader)
Parameters
shader
GLShaderSource
Initialize(IGLShader)
public void Initialize(IGLShader shader)
Parameters
shader
IGLShader
Operators
implicit operator int(GLShader<T>)
public static implicit operator int(GLShader<T> self)
Parameters
self
GLShader<T>