Unigine.Shader Class
Interface for shader manipulation. Shader is an interface for loading shaders, setting parameter values, binding graphic context.
To get loaded shader programs, use special methods for corresponding Direct3D11 shaders or use getGLProgramID() to get the OpenGL shaders.
Shader class provides a lot of methods to set parameters (or arrays of parameters) to shader programs.
Shader Class
Members
IntPtr GetD3D11ComputeShader ( ) #
Returns Direct3D11 compute shader.IntPtr GetD3D11ControlShader ( ) #
Returns Direct3D11 control shader.IntPtr GetD3D11EvaluateShader ( ) #
Returns Direct3D11 evaluate shader.IntPtr GetD3D11FragmentShader ( ) #
Returns Direct3D11 fragment shader.IntPtr GetD3D11GeometryShader ( ) #
Returns Direct3D11 geometry shader.IntPtr GetD3D11VertexShader ( ) #
Returns Direct3D11 vertex shader.int GetGLProgramID ( ) #
Returns OpenGL program identifier.void SetParameter ( int id, IntPtr src, int size ) #
Sets shader parameter value by using given parameter id.Arguments
- int id - Parameter identifier.
- IntPtr src - Parameter pointer.
- int size - Parameter size in bytes.
void SetParameter ( string name, IntPtr src, int size ) #
Sets shader parameter value by using given parameter name.Arguments
- string name - Parameter name.
- IntPtr src - Parameter pointer.
- int size - Parameter size in bytes.
void SetParameterBool ( int id, bool value ) #
Sets shader boolean parameter value by using given parameter id.Arguments
- int id - Parameter identifier.
- bool value - Parameter value.
void SetParameterBool ( string name, bool value ) #
Sets shader boolean parameter value by using given parameter name.Arguments
- string name - Parameter identifier.
- bool value - Parameter value.
void SetParameterDouble ( int id, double[] value ) #
Sets shader double parameter value by using given parameter id.Arguments
- int id - Parameter identifier.
- double[] value - Parameter value to be set.
void SetParameterDouble ( string name, double[] value ) #
Sets shader double parameter value by using given parameter name.Arguments
- string name - Parameter name.
- double[] value - Parameter value to be set.
void SetParameterDoubleArray ( int id, double[] value, int num ) #
Sets shader double array parameter values by using given parameter id.Arguments
- int id - Parameter identifier.
- double[] value - Parameter value to be set.
- int num - The size of float vector.
void SetParameterDoubleArray ( string name, double[] value, int num ) #
Sets shader double array parameter values by using given parameter name.Arguments
- string name - Parameter name.
- double[] value - Parameter value to be set.
- int num - The size of float vector.
void SetParameterFloat ( int id, float[] value ) #
Sets shader float parameter value by using given parameter id.Arguments
- int id - Parameter identifier.
- float[] value - Parameter value to be set.
void SetParameterFloat ( string name, float[] value ) #
Sets shader float parameter value by using given parameter name.Arguments
- string name - Parameter name.
- float[] value - Parameter value to be set.
void SetParameterFloatArray ( int id, float[] value, int num ) #
Sets shader float array parameter values by using given parameter id.Arguments
- int id - Parameter identifier.
- float[] value - Parameter value to be set.
- int num - The size of float vector.
void SetParameterFloatArray ( string name, float[] value, int num ) #
Sets shader float array parameter values by using given parameter name.Arguments
- string name - Parameter name.
- float[] value - Parameter value to be set.
- int num - The size of float vector.
void SetParameterInt ( int id, int[] value ) #
Sets shader integer parameter value by using given parameter id.Arguments
- int id - Parameter identifier.
- int[] value - Parameter value to be set.
void SetParameterInt ( string name, int[] value ) #
Sets shader integer parameter value by using given parameter name.Arguments
- string name - Parameter name.
- int[] value - Parameter value to be set.
void SetParameterUInt ( int id, uint[] value ) #
Sets shader unsigned integer parameter value by using given parameter id.Arguments
- int id - Parameter identifier.
- uint[] value - Parameter value to be set.
void SetParameterUInt ( string name, uint[] value ) #
Sets shader unsigned integer parameter value by using given parameter name.Arguments
- string name - Parameter name.
- uint[] value - Parameter value to be set.
void Bind ( ) #
Binds shader.void Clear ( ) #
Clears shader.bool Compile ( ) #
Compiles shader.Return value
1 if the shader compiled successfully; otherwise, 0.Shader Create ( ) #
Default shader constructor.Return value
Pointer to the created shader.Shader Create ( string name, string defines = 0 ) #
Shader constructor. Loads all existing shaders with given name.Arguments
- string name - Shader name.
- string defines - Shader defines.
Return value
Pointer to the created shader.Shader Create ( string vertex, string fragment, string defines ) #
Shader constructor. Loads only vertex and fragment shaders with given names.Arguments
- string vertex - Vertex shader name or source.
- string fragment - Fragment shader name or source.
- string defines - Shader defines.
Return value
Pointer to the created shader.void Destroy ( ) #
Destroys shader.int FindParameter ( int fast_id ) #
Finds shader parameter.Arguments
- int fast_id - Fast identifier.
Return value
Parameter identifier, if found; otherwise, -1.int FindParameter ( string name ) #
Finds shader parameter.Arguments
- string name - Fast identifier.
Return value
Parameter identifier, if found; otherwise, -1.int FindParameter ( string name, int fast_id ) #
Finds shader parameter.Arguments
- string name - Parameter name.
- int fast_id - Fast identifier (hash of name).
Return value
Parameter identifier, if found; otherwise, -1.void FlushParameters ( ) #
Flushes shader parameters.bool LoadCompute ( string name, string defines ) #
Loads compute shader.Arguments
- string name - Compute shader name or source.
- string defines - Shader defines.
Return value
1 if the compute shader was loaded successfully; otherwise, 0.bool LoadControl ( string name, string defines ) #
Loads control shader.Arguments
- string name - Control shader name or source.
- string defines - Shader defines.
Return value
1 if the control shader was loaded successfully; otherwise, 0.bool LoadEvaluate ( string name, string defines ) #
Loads evaluate shader.Arguments
- string name - Evaluate shader name or source.
- string defines - Shader defines.
Return value
1 if the evaluate shader was loaded successfully; otherwise, 0.bool LoadFragment ( string name, string defines ) #
Loads fragment shader.Arguments
- string name - Fragment shader name or source.
- string defines - Shader defines.
Return value
1 if the fragment shader was loaded successfully; otherwise, 0.bool LoadGeometry ( string name, string defines ) #
Loads geometry shader.Arguments
- string name - Geometry shader name or source.
- string defines - Shader defines.
Return value
1 if the geometry shader was loaded successfully; otherwise, 0.bool LoadVertex ( string name, string defines ) #
Loads vertex shader.Arguments
- string name - Vertex shader name or source.
- string defines - Shader defines.
Return value
1 if the vertex shader was loaded successfully; otherwise, 0.void Unbind ( ) #
Unbinds shader.void SetParameterInt1 ( int id, int x ) #
Sets a shader parameter value for the int1 variable.Arguments
- int id - Parameter identifier.
- int x - Parameter value to be set.
void SetParameterInt1 ( string name, int x ) #
Sets a shader parameter value for the int1 variable using the parameter name.Arguments
- string name - Parameter name.
- int x - Parameter value to be set.
void SetParameterInt2 ( int id, int x, int y ) #
Sets a shader parameter value for the int2 variable.Arguments
- int id - Parameter identifier.
- int x - Parameter value to be set.
- int y - Parameter value to be set.
void SetParameterInt2 ( string name, int x, int y ) #
Sets a shader parameter value for the int2 variable using the parameter name.Arguments
- string name - Parameter name.
- int x - Parameter value to be set.
- int y - Parameter value to be set.
void SetParameterInt3 ( int id, int x, int y, int z ) #
Sets a shader parameter value for the int3 variable.Arguments
- int id - Parameter identifier.
- int x - Parameter value to be set.
- int y - Parameter value to be set.
- int z - Parameter value to be set.
void SetParameterInt3 ( string name, int x, int y, int z ) #
Sets a shader parameter value for the int3 variable using the parameter name.Arguments
- string name - Parameter name.
- int x - Parameter value to be set.
- int y - Parameter value to be set.
- int z - Parameter value to be set.
void SetParameterInt4 ( int id, int x, int y, int z, int w ) #
Sets a shader parameter value for the int4 variable.Arguments
- int id - Parameter identifier.
- int x - Parameter value to be set.
- int y - Parameter value to be set.
- int z - Parameter value to be set.
- int w - Parameter value to be set.
void SetParameterInt4 ( string name, int x, int y, int z, int w ) #
Sets a shader parameter value for the int4 variable using the parameter name.Arguments
- string name - Parameter name.
- int x - Parameter value to be set.
- int y - Parameter value to be set.
- int z - Parameter value to be set.
- int w - Parameter value to be set.
void SetParameterUInt1 ( int id, uint x ) #
Sets a shader parameter value for the uint1 variable.Arguments
- int id - Parameter identifier.
- uint x - Parameter value to be set.
void SetParameterUInt1 ( string name, uint x ) #
Sets a shader parameter value for the uint1 variable using the parameter name.Arguments
- string name - Parameter name.
- uint x - Parameter value to be set.
void SetParameterUInt2 ( int id, uint x, uint y ) #
Sets a shader parameter value for the uint2 variable.Arguments
- int id - Parameter identifier.
- uint x - Parameter value to be set.
- uint y - Parameter value to be set.
void SetParameterUInt2 ( string name, uint x, uint y ) #
Sets a shader parameter value for the uint2 variable using the parameter name.Arguments
- string name - Parameter name.
- uint x - Parameter value to be set.
- uint y - Parameter value to be set.
void SetParameterUInt3 ( int id, uint x, uint y, uint z ) #
Sets a shader parameter value for the uint3 variable.Arguments
- int id - Parameter identifier.
- uint x - Parameter value to be set.
- uint y - Parameter value to be set.
- uint z - Parameter value to be set.
void SetParameterUInt3 ( string name, uint x, uint y, uint z ) #
Sets a shader parameter value for the uint3 variable using the parameter name.Arguments
- string name - Parameter name.
- uint x - Parameter value to be set.
- uint y - Parameter value to be set.
- uint z - Parameter value to be set.
void SetParameterUInt4 ( int id, uint x, uint y, uint z, uint w ) #
Sets a shader parameter value for the uint4 variable.Arguments
- int id - Parameter identifier.
- uint x - Parameter value to be set.
- uint y - Parameter value to be set.
- uint z - Parameter value to be set.
- uint w - Parameter value to be set.
void SetParameterUInt4 ( string name, uint x, uint y, uint z, uint w ) #
Sets a shader parameter value for the uint4 variable using the parameter name.Arguments
- string name - Parameter name.
- uint x - Parameter value to be set.
- uint y - Parameter value to be set.
- uint z - Parameter value to be set.
- uint w - Parameter value to be set.
void SetParameterFloat1 ( int id, float x ) #
Sets a shader parameter value for the float1 variable.Arguments
- int id - Parameter identifier.
- float x - Parameter value to be set.
void SetParameterFloat1 ( string name, float x ) #
Sets a shader parameter value for the float1 variable using the parameter name.Arguments
- string name - Parameter name.
- float x - Parameter value to be set.
void SetParameterFloat2 ( int id, float x, float y ) #
Sets a shader parameter value for the float2 variable.Arguments
- int id - Parameter identifier.
- float x - Parameter value to be set.
- float y - Parameter value to be set.
void SetParameterFloat2 ( string name, float x, float y ) #
Sets a shader parameter value for the float2 variable using the parameter name.Arguments
- string name - Parameter name.
- float x - Parameter value to be set.
- float y - Parameter value to be set.
void SetParameterFloat3 ( int id, float x, float y, float z ) #
Sets a shader parameter value for the float3 variable.Arguments
- int id - Parameter identifier.
- float x - Parameter value to be set.
- float y - Parameter value to be set.
- float z - Parameter value to be set.
void SetParameterFloat3 ( string name, float x, float y, float z ) #
Sets a shader parameter value for the float3 variable using the parameter name.Arguments
- string name - Parameter name.
- float x - Parameter value to be set.
- float y - Parameter value to be set.
- float z - Parameter value to be set.
void SetParameterFloat4 ( int id, float x, float y, float z, float w ) #
Sets a shader parameter value for the float4 variable.Arguments
- int id - Parameter identifier.
- float x - Parameter value to be set.
- float y - Parameter value to be set.
- float z - Parameter value to be set.
- float w - Parameter value to be set.
void SetParameterFloat4 ( string name, float x, float y, float z, float w ) #
Sets a shader parameter value for the float4 variable using the parameter name.Arguments
- string name - Parameter name.
- float x - Parameter value to be set.
- float y - Parameter value to be set.
- float z - Parameter value to be set.
- float w - Parameter value to be set.
void SetParameterDouble1 ( int id, double x ) #
Sets a shader parameter value for the double1 variable.Arguments
- int id - Parameter identifier.
- double x - Parameter value to be set.
void SetParameterDouble1 ( string name, double x ) #
Sets a shader parameter value for the double1 variable using the parameter name.Arguments
- string name - Parameter name.
- double x - Parameter value to be set.
void SetParameterDouble2 ( int id, double x, double y ) #
Sets a shader parameter value for the double2 variable.Arguments
- int id - Parameter identifier.
- double x - Parameter value to be set.
- double y - Parameter value to be set.
void SetParameterDouble2 ( string name, double x, double y ) #
Sets a shader parameter value for the double2 variable using the parameter name.Arguments
- string name - Parameter name.
- double x - Parameter value to be set.
- double y - Parameter value to be set.
void SetParameterDouble3 ( int id, double x, double y, double z ) #
Sets a shader parameter value for the double3 variable.Arguments
- int id - Parameter identifier.
- double x - Parameter value to be set.
- double y - Parameter value to be set.
- double z - Parameter value to be set.
void SetParameterDouble3 ( string name, double x, double y, double z ) #
Sets a shader parameter value for the double3 variable using the parameter name.Arguments
- string name - Parameter name.
- double x - Parameter value to be set.
- double y - Parameter value to be set.
- double z - Parameter value to be set.
void SetParameterDouble4 ( int id, double x, double y, double z, double w ) #
Sets a shader parameter value for the double4 variable.Arguments
- int id - Parameter identifier.
- double x - Parameter value to be set.
- double y - Parameter value to be set.
- double z - Parameter value to be set.
- double w - Parameter value to be set.
void SetParameterDouble4 ( string name, double x, double y, double z, double w ) #
Sets a shader parameter value for the double4 variable using the parameter name.Arguments
- string name - Parameter name.
- double x - Parameter value to be set.
- double y - Parameter value to be set.
- double z - Parameter value to be set.
- double w - Parameter value to be set.
Last update:
2019-08-16
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)