This page has been translated automatically.
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine 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
IG Plugin
CIGIConnector 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.

Shader Class

Warning
UnigineScript is deprecated and will be removed in future releases. Please consider using C#/C++ instead, as these APIs are the preferred ones. Availability of new Engine features in UnigineScipt is not guaranteed, as the current level of support assumes only fixing critical issues.

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


Shader ( ) #

Default shader constructor.

Shader ( string name ) #

Shader constructor. Loads all existing shaders with given name.

Arguments

  • string name - Shader name.

Shader ( string name, string defines ) #

Shader constructor. Loads all existing shaders with given name.

Arguments

  • string name - Shader name.
  • string defines - Shader defines.

Shader ( 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.

void * getD3D11ComputeShader ( ) #

Returns Direct3D11 compute shader.

void * getD3D11ControlShader ( ) #

Returns Direct3D11 control shader.

void * getD3D11EvaluateShader ( ) #

Returns Direct3D11 evaluate shader.

void * getD3D11FragmentShader ( ) #

Returns Direct3D11 fragment shader.

void * getD3D11GeometryShader ( ) #

Returns Direct3D11 geometry shader.

void * getD3D11VertexShader ( ) #

Returns Direct3D11 vertex shader.

int getGLProgramID ( ) #

Returns OpenGL program identifier.

void bind ( ) #

Binds shader.

void clear ( ) #

Clears shader.

int compile ( ) #

Compiles shader.

Return value

1 if the shader compiled successfully; otherwise, 0.

void destroy ( ) #

Destroys shader.

int findParameter ( int fast_id ) #

Finds shader parameter.

Arguments

  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]

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 - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]

Return value

Parameter identifier, if found; otherwise, -1.

void flushParameters ( ) #

Flushes shader parameters.

int 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.

int 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.

int 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.

int 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.

int 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.

int 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 setParameterFloat ( string name, int fast_id, float value ) #

Sets a shader parameter value for the float variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • float value - Parameter value to be set.

void setParameterFloat2 ( string name, int fast_id, vec2 value ) #

Sets a shader parameter value for the float2 variable.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • vec2 value - Parameter value to be set.

void setParameterFloat3 ( string name, int fast_id, vec3 value ) #

Sets a shader parameter value for the float3 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • vec3 value - Parameter value to be set.

void setParameterFloat4 ( string name, int fast_id, vec4 value ) #

Sets a shader parameter value for the float4 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • vec4 value - Parameter value to be set.

void setParameterFloat3x3 ( string name, int fast_id, mat3 value ) #

Sets a shader parameter value for the float3x3 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • mat3 value - Parameter value to be set.

void setParameterFloat4x4 ( string name, int fast_id, mat4 value ) #

Sets a shader parameter value for the float4x4 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • mat4 value - Parameter value to be set.

void setParameterInt ( string name, int fast_id, int value ) #

Sets a shader parameter value for the int variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • int value - Parameter value to be set.

void setParameterInt2 ( string name, int fast_id, ivec2 value ) #

Sets a shader parameter value for the int2 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • ivec2 value - Parameter value to be set.

void setParameterInt3 ( string name, int fast_id, ivec3 value ) #

Sets a shader parameter value for the int3 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • ivec3 value - Parameter value to be set.

void setParameterInt4 ( string name, int fast_id, ivec4 value ) #

Sets a shader parameter value for the int4 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • ivec4 value - Parameter value to be set.

void setParameterDouble ( string name, int fast_id, double value ) #

Sets a shader parameter value for the double1 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • double value - Parameter value to be set.

void setParameterDouble2 ( string name, int fast_id, dvec2 value ) #

Sets a shader parameter value for the double2 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • dvec2 value - Parameter value to be set.

void setParameterDouble3 ( string name, int fast_id, dvec3 value ) #

Sets a shader parameter value for the double3 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • dvec3 value - Parameter value to be set.

void setParameterDouble4 ( string name, int fast_id, dvec4 value ) #

Sets a shader parameter value for the double4 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • dvec4 value - Parameter value to be set.

void setParameterDouble4x4 ( string name, int fast_id, dmat4 value ) #

Sets a shader parameter value for the double4x4 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • dmat4 value - Parameter value to be set.

void setParameterScalar ( string name, int fast_id, scalar value ) #

Sets a shader parameter value for the scalar variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • scalar value - Parameter value to be set.

void setParameterScalar2 ( string name, int fast_id, Vec2 value ) #

Sets a shader parameter value for the scalar2 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • Vec2 value - Parameter value to be set.

void setParameterScalar3 ( string name, int fast_id, Vec3 value ) #

Sets a shader parameter value for the scalar3 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • Vec3 value - Parameter value to be set.

void setParameterScalar4 ( string name, int fast_id, Vec4 value ) #

Sets a shader parameter value for the scalar4 variable using the parameter name.

Arguments

  • string name - Parameter name.
  • int fast_id - Parameter number in the user's auxiliary parameters cache. The value must be in the range [0; 512]
  • Vec4 value - Parameter value to be set.
Last update: 2020-04-10
Build: ()