This page has been translated automatically.
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
FAQ
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

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
Build: ()