Visual3D Game EngineAPI Documentation for XNA, C#, VB, and .NET
Math HLSL functions. Almost all have C# implementation. Current exceptions are: ddx, ddy, refract, fwidth
'C-style' construction of some types. Used to simplify porting HLSL code to #SL.
Implementation of syntax constructs involving dynamic branching in pure HLSL - such as 'if', 'for', 'while' etc.
Texture lookup functions. No implementation in C# yet.
Base class of meta-shaders, which are able self-generating HLSL code, compile it, bind shader parameters and sampler states, and control over passing local field values to the bound parameters/samplers. Use SetToDevice method to bind this shader and parameters/textures to XNA device.

Namespace: Visual3D.Graphics3D.Shaders.SharpSL
Assembly: Visual3D.Engine (in Visual3D.Engine.dll) Version: 1.0.0.0 (1.0.0.0)

Syntax

      
 C#  Visual Basic 
public class Shader : IDisposable, ICloneable, 
	INamed, IShaderHasPermutationGroups
Public Class Shader _
	Implements IDisposable, ICloneable, INamed, IShaderHasPermutationGroups

Members

               
 All Members  Constructors   Fields   Properties   Methods  
 Public

 Protected
 Instance

 Static 
 Declared

 Inherited
 XNA Framework Only 

 .NET Compact Framework Only 

 MemberDescription
Shader()()()()
Initializes a new instance of the Shader class
Shader(String)
Initializes a new instance of the Shader class
Shader(Shader)
Initializes a new instance of the Shader class
Shader(ShaderExtensionCollection)
Initializes a new instance of the Shader class
abs<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Computes the absolute x of each component
acos<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the arccosine of each component of x. Each component should be in the range [-1, 1].
all<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Test if all components of x are nonzero
any<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Test if any component of x is nonzero.
asin<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the arcsine of each component of x. Each component should be in the range [-pi/2, pi/2].
atan<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the arctangent of x. The return xs are in the range [-pi/2, pi/2].
atan2<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(T>)>>))
Returns the arctangent of x/y. The signs of x and y are used to determine the quadrant of the return xs in the range [-pi, pi]. atan2 is well-defined for every point other than the origin, even if y equals 0 and x does not equal 0.
AvoidDynamicFlowControlPS
When overriden in inherited class, tells shader compiler to not use dynamic branching in pixel shaders - this will slightly decrease shader compilation time but will also increase instruction count.
ceil<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the smallest integer which is greater than or equal to x.
CheckCompileIsDone()()()()
Checks if the shader is compiled and up-to-date.
clamp<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>), Single, Single)
Clamps x to the range [min, max].
clamp<(Of <<'(T, TMin, TMax>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(TMin>)>>), IOperand<(Of <<'(TMax>)>>))
Clamps x to the range [min, max].
clip<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Discards the current pixel if any component of x is less than zero. This can be used to simulate clip planes if each component of x represents the distance from a plane. This function corresponds to the pixel shader assembly language's texkill instruction.
Clone()()()()
Returns exact copy of Shader.
comment(String)
Puts comment into generated HLSL shader code.
Compile(Boolean)
Schedule compilation of this shader in its current state. Optionally waits until compilation is done. Actual compilation is going to be performed in another thread when compiler queue becomes empty.
Compile(Boolean, HashSet<(Of <<'(ShaderCacheKey>)>>))
Schedule compilation of this shader in its current state. Optionally waits until compilation is done. Actual compilation is going to be performed in another thread when compiler queue becomes empty.
CompileBeforeOtherShaders
If set to true, this shader will be put on top of compiler queue, otherwise at bottom.
CompileInSyncMode
Gets/sets flag indicate that shader should be compiled in synchronous mode, and SetToDevice should wait until compilation is complete. Default is false (async. compile mode)
conditional_assignment(bool1, float1, float1)
conditional_assignment(bool1, int1, int1)
conditional_assignment(ConditionalExpression, float1, float1)
conditional_assignment(ConditionalExpression, int1, int1)
conditional_assignment(float1, String, float1, float1, float1)
conditional_assignment(float1, String, float1, float2, float2)
conditional_assignment(float1, String, float1, float3, float3)
conditional_assignment(float1, String, float1, float4, float4)
conditional_assignment(float2, String, float2, float2, float2)
conditional_assignment(float3, String, float3, float3, float3)
conditional_assignment(float4, String, float4, float4, float4)
cos<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the cosine of x.
cosh<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the hyperbolic cosine of x.
cross(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
Returns the cross product of two 3D vectors.
ddx<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the partial derivative of x with respect to the screen-space x coordinate. NOT IMPLEMENTED IN C#, BUT WORKS IN HLSL !!!
ddy<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the partial derivative of y with respect to the screen-space y coordinate. NOT IMPLEMENTED IN C#, BUT WORKS IN HLSL !!!
declare(array<IVariable>[]()[][])
Calls Declare for each IOperand, making sure each of them is declared and initialized in HLSL code.
degrees<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Converts x from radians to degrees
determinant(IOperand<(Of <<'(Matrix>)>>))
Returns the determinant of the square matrix.
DeviceShader
Returns DeviceShader object currently in use.
Dispose()()()()
Disposes shader instance.
distance(IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>))
Returns the distance between two points x and y.
distance(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
Returns the distance between two points x and y.
distance(IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Vector4>)>>))
Returns the distance between two points x and y.
dot(IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>))
Returns the • product of two vectors, x and y.
dot(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
Returns the • product of two vectors, x and y.
dot(IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Vector4>)>>))
Returns the • product of two vectors, x and y.
dynamic_break()()()()
Place a 'break' operator to HLSL.
dynamic_continue()()()()
Place a 'continue' operator to HLSL.
dynamic_discard()()()()
Place a 'discard' operator to HLSL.
dynamic_for(Single, ActionDelegate)
Inserts HLSL 'for' operator, used for iteration when iteration count is obtained on GPU (e.g. from texture or vertex data) and cannot be succesfully expanded using static 'for' operator from C#. Counter variable iterates from 0 to given iteration count
dynamic_for(IOperand, ActionDelegate)
Inserts HLSL 'for' operator, used for iteration when iteration count is obtained on GPU (e.g. from texture or vertex data) and cannot be succesfully expanded using static 'for' operator from C#. Counter variable iterates from 0 to given iteration count
dynamic_for(IVariable, Single, ActionDelegate)
Inserts HLSL 'for' operator, used for iteration when iteration count is obtained on GPU (e.g. from texture or vertex data) and cannot be succesfully expanded using static 'for' operator from C#. Counter variable should be declared before and have value equal to inital counter value.
dynamic_for(IVariable, IOperand, ActionDelegate)
Inserts HLSL 'for' operator, used for iteration when iteration count is obtained on GPU (e.g. from texture or vertex data) and cannot be succesfully expanded using static 'for' operator from C#. Counter variable should be declared before and have value equal to inital counter value.
dynamic_for(IVariable, Single, Single, ActionDelegate)
Inserts HLSL 'for' operator, used for iteration when iteration count is obtained on GPU (e.g. from texture or vertex data) and cannot be succesfully expanded using static 'for' operator from C#. Counter variable should be declared before and have value equal to inital counter value.
dynamic_for(IVariable, IOperand, IOperand, ActionDelegate)
Inserts HLSL 'for' operator, used for iteration when iteration count is obtained on GPU (e.g. from texture or vertex data) and cannot be succesfully expanded using static 'for' operator from C#. Counter variable should be declared before and have value equal to inital counter value.
dynamic_for_begin(Single)
Alternative to dynamic_for, begins a dynamic loop block (HLSL 'for' operator) without designating actions which are performed inside. Should be paired with dynamic_for_end function call.
dynamic_for_begin(IOperand)
Alternative to dynamic_for, begins a dynamic loop block (HLSL 'for' operator) without designating actions which are performed inside. Should be paired with dynamic_for_end function call.
dynamic_for_begin(String, Single)
Alternative to dynamic_for, begins a dynamic loop block (HLSL 'for' operator) without designating actions which are performed inside. Should be paired with dynamic_for_end function call.
dynamic_for_begin(String, IOperand)
Alternative to dynamic_for, begins a dynamic loop block (HLSL 'for' operator) without designating actions which are performed inside. Should be paired with dynamic_for_end function call.
dynamic_for_begin(IVariable, Single)
Alternative to dynamic_for, begins a dynamic loop block (HLSL 'for' operator) without designating actions which are performed inside. Should be paired with dynamic_for_end function call.
dynamic_for_begin(IVariable, IOperand)
Alternative to dynamic_for, begins a dynamic loop block (HLSL 'for' operator) without designating actions which are performed inside. Should be paired with dynamic_for_end function call.
dynamic_for_begin(String, IVariable, Single)
Alternative to dynamic_for, begins a dynamic loop block (HLSL 'for' operator) without designating actions which are performed inside. Should be paired with dynamic_for_end function call.
dynamic_for_begin(String, IVariable, IOperand)
Alternative to dynamic_for, begins a dynamic loop block (HLSL 'for' operator) without designating actions which are performed inside. Should be paired with dynamic_for_end function call.
dynamic_for_begin(IVariable, Single, Single)
Alternative to dynamic_for, begins a dynamic loop block (HLSL 'for' operator) without designating actions which are performed inside. Should be paired with dynamic_for_end function call.
dynamic_for_begin(IVariable, IOperand, IOperand)
Alternative to dynamic_for, begins a dynamic loop block (HLSL 'for' operator) without designating actions which are performed inside. Should be paired with dynamic_for_end function call.
dynamic_for_end()()()()
Closes previously open dynamic_for_begin block.
dynamic_if(ConditionalExpression, ActionDelegate)
Inserts a dynamic branch (HLSL 'if' operator) with given condition and action in case if it returned true
dynamic_if(bool1, ActionDelegate, ActionDelegate)
Inserts a dynamic branch (HLSL 'if' operator) with given condition and action in case if it returned true and optional action in case if condition returns false
dynamic_if(ConditionalExpression, ActionDelegate, ActionDelegate)
Inserts a dynamic branch (HLSL 'if' operator) with given condition and action in case if it returned true and optional action in case if condition returns false
dynamic_if_begin(bool1)
Alternative to dynamic_if, begins a dynamic branch block (HLSL 'if' operator) without designating actions which are performed inside. Should be paired with dynamic_if_end and/or dynamic_if_else function calls.
dynamic_if_begin(ConditionalExpression)
Alternative to dynamic_if, begins a dynamic branch block (HLSL 'if' operator) without designating actions which are performed inside. Should be paired with dynamic_if_end and/or dynamic_if_else function calls.
dynamic_if_else()()()()
Continues previously open dynamic_if_begin block with "else" operator without condition.
dynamic_if_else_if(bool1)
Continues previously open dynamic_if_begin block with "else" operator with a condition.
dynamic_if_else_if(ConditionalExpression)
Continues previously open dynamic_if_begin block with "else" operator with a condition.
dynamic_if_end()()()()
Ends previously open dynamic_if_begin block.
dynamic_return()()()()
Place a 'return' operator to HLSL.
dynamic_return(IVariable)
Place a 'return' operator to HLSL.
dynamic_while(IVariable, String, IVariable, ActionDelegate)
Inserts HLSL 'while' operator.
dynamic_while(String, IVariable, String, IVariable, ActionDelegate)
Inserts HLSL 'while' operator.
dynamic_while_begin(ConditionalExpression)
Begins HLSL 'while' operator without designating actions performed inside.
dynamic_while_begin(IVariable, String, IVariable)
Begins HLSL 'while' operator without designating actions performed inside.
dynamic_while_begin(String, IVariable, String, IVariable)
Begins HLSL 'while' operator without designating actions performed inside.
dynamic_while_end()()()()
Closes previously open dynamic_while_begin block.
exp<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the base-e exponential, or e^x.
exp2<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Calculates the base 2 exponential of x (per component), or 2^x.
faceforward(IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>))
Tests if a face is visible. Returns -n * sign(dot(i, ng))
faceforward(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
Tests if a face is visible. Returns -n * sign(dot(i, ng))
faceforward(IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Vector4>)>>))
Tests if a face is visible. Returns -n * sign(dot(i, ng))
float1(Single)
float1x1(Matrix)
float1x1(Double)
float1x1(Single)
float1x1(float1)
float1x2(Matrix)
float1x2(Vector2)
float1x2(float2)
float1x2(Double, Double)
float1x2(Single, Single)
float1x3(Matrix)
float1x3(Vector3)
float1x3(float3)
float1x3(Double, Double, Double)
float1x3(Single, Single, Single)
float1x4(Matrix)
float1x4(Vector4)
float1x4(float4)
float1x4(Double, Double, Double, Double)
float1x4(Single, Single, Single, Single)
float2(Vector2)
float2(Single)
float2(float1)
float2(Double, Double)
float2(Double, float1)
float2(Single, Single)
float2(Single, float1)
float2(float1, Double)
float2(float1, Single)
float2(float1, float1)
float2x1(Matrix)
float2x1(Vector2)
float2x1(float2)
float2x1(Double, Double)
float2x1(Single, Single)
float2x2(Matrix)
float2x2(Vector2, Vector2)
float2x2(float2, float2)
float2x2(Double, Double, Double, Double)
float2x2(Single, Single, Single, Single)
float2x3(Matrix)
float2x3(Vector3, Vector3)
float2x3(float3, float3)
float2x3(Double, Double, Double, Double, Double, Double)
float2x3(Single, Single, Single, Single, Single, Single)
float2x4(Matrix)
float2x4(Vector4, Vector4)
float2x4(float4, float4)
float2x4(Double, Double, Double, Double, Double, Double, Double, Double)
float2x4(Single, Single, Single, Single, Single, Single, Single, Single)
float3(Vector3)
float3(Single)
float3(float1)
float3(Double, float2)
float3(Single, float2)
float3(float1, float2)
float3(float2, Double)
float3(float2, Single)
float3(float2, float1)
float3(Double, Double, Double)
float3(Double, Double, float1)
float3(Double, float1, Double)
float3(Double, float1, float1)
float3(Single, Single, Single)
float3(Single, Single, float1)
float3(Single, float1, Single)
float3(Single, float1, float1)
float3(float1, Double, Double)
float3(float1, Double, float1)
float3(float1, Single, Single)
float3(float1, Single, float1)
float3(float1, float1, Double)
float3(float1, float1, Single)
float3(float1, float1, float1)
float3x1(Matrix)
float3x1(Vector3)
float3x1(float3)
float3x1(Double, Double, Double)
float3x1(Single, Single, Single)
float3x2(Matrix)
float3x2(Vector2, Vector2, Vector2)
float3x2(float2, float2, float2)
float3x2(Double, Double, Double, Double, Double, Double)
float3x2(Single, Single, Single, Single, Single, Single)
float3x3(Matrix)
float3x3(Vector3, Vector3, Vector3)
float3x3(float3, float3, float3)
float3x3(Double, Double, Double, Double, Double, Double, Double, Double, Double)
float3x3(Single, Single, Single, Single, Single, Single, Single, Single, Single)
float3x4(Matrix)
float3x4(Vector4, Vector4, Vector4)
float3x4(float4, float4, float4)
float3x4(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double)
float3x4(Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single)
float4(Color)
float4(Vector4)
float4(Single)
float4(float1)
float4(Double, float3)
float4(Single, float3)
float4(float1, float3)
float4(float2, float2)
float4(float3, Double)
float4(float3, Single)
float4(float3, float1)
float4(Double, Double, float1)
float4(Double, Double, float2)
float4(Double, float1, Double)
float4(Double, float1, float1)
float4(Double, float1, float2)
float4(Double, float2, Double)
float4(Double, float2, float1)
float4(Single, Single, float1)
float4(Single, Single, float2)
float4(Single, float1, Single)
float4(Single, float1, float1)
float4(Single, float1, float2)
float4(Single, float2, Single)
float4(Single, float2, float1)
float4(float1, Double, Double)
float4(float1, Double, float1)
float4(float1, Double, float2)
float4(float1, Single, Single)
float4(float1, Single, float1)
float4(float1, Single, float2)
float4(float1, float1, Double)
float4(float1, float1, Single)
float4(float1, float1, float1)
float4(float1, float1, float2)
float4(float1, float2, Double)
float4(float1, float2, Single)
float4(float1, float2, float1)
float4(float2, Double, Double)
float4(float2, Double, float1)
float4(float2, Single, Single)
float4(float2, Single, float1)
float4(float2, float1, Double)
float4(float2, float1, Single)
float4(float2, float1, float1)
float4(Double, Double, Double, Double)
float4(Double, Double, float1, Double)
float4(Double, Double, float1, float1)
float4(Double, float1, Double, Double)
float4(Double, float1, Double, float1)
float4(Double, float1, float1, Double)
float4(Double, float1, float1, float1)
float4(Single, Single, Single, Single)
float4(Single, Single, Single, float1)
float4(Single, Single, float1, Single)
float4(Single, Single, float1, float1)
float4(Single, float1, Single, Single)
float4(Single, float1, Single, float1)
float4(Single, float1, float1, Single)
float4(Single, float1, float1, float1)
float4(float1, Double, Double, Double)
float4(float1, Double, Double, float1)
float4(float1, Double, float1, Double)
float4(float1, Double, float1, float1)
float4(float1, Single, Single, Single)
float4(float1, Single, Single, float1)
float4(float1, Single, float1, Single)
float4(float1, Single, float1, float1)
float4(float1, float1, Double, Double)
float4(float1, float1, Double, float1)
float4(float1, float1, Single, Single)
float4(float1, float1, Single, float1)
float4(float1, float1, float1, Double)
float4(float1, float1, float1, Single)
float4(float1, float1, float1, float1)
float4x1(Matrix)
float4x1(Vector4)
float4x1(float4)
float4x1(Double, Double, Double, Double)
float4x1(Single, Single, Single, Single)
float4x2(Matrix)
float4x2(Vector2, Vector2, Vector2, Vector2)
float4x2(float2, float2, float2, float2)
float4x2(Double, Double, Double, Double, Double, Double, Double, Double)
float4x2(Single, Single, Single, Single, Single, Single, Single, Single)
float4x3(Matrix)
float4x3(Vector3, Vector3, Vector3, Vector3)
float4x3(float3, float3, float3, float3)
float4x3(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double)
float4x3(Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single)
float4x4(Matrix)
float4x4(Vector4, Vector4, Vector4, Vector4)
float4x4(float4, float4, float4, float4)
float4x4(Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double)
float4x4(Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single, Single)
floor<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the greatest integer which is less than or equal to x.
fmod<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(T>)>>))
Returns the floating point remainder f of x / y such that x = i * y + f, where i is an integer, f has the same sign as x, and the absolute x of f is less than the absolute x of y.
ForceCompileInSyncMode
When set to true, forces all shaders to be compiled in synchronous mode. Use this flag for pre-rendering stages when a presence of usable shader right here and right now is cruicial.
frac<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the fractional part f of x, such that f is a x greater than or equal to 0, and less than 1.
frexp<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(T>)>>))
Returns the mantissa and exponent of x. The return x of the function is the mantissa, and the exponent is returned by exp. If x is 0, the function returns 0 for both the mantissa and the exponent.
fwidth<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the absolute x of the partial derivatives, or abs(ddx(x)) + abs(ddy(x)).
GetActiveGroups(ICollection<(Of <<'(String>)>>))
GetExtensions()()()()
Returns enumerable collection of shader extensions.
GetPermutationValueAccessors(Boolean)
GetPermutationValueAccessors(Type)
int2(Vector2)
int2(Int32, Int32)
int2(Int32, int1)
int2(int1, Int32)
int2(int1, int1)
int3(Vector3)
int3(Int32, int2)
int3(int1, int2)
int3(int2, Int32)
int3(int2, int1)
int3(Int32, Int32, Int32)
int3(Int32, Int32, int1)
int3(Int32, int1, Int32)
int3(Int32, int1, int1)
int3(int1, Int32, Int32)
int3(int1, Int32, int1)
int3(int1, int1, Int32)
int3(int1, int1, int1)
int4(Color)
int4(Vector4)
int4(Int32)
int4(Int32, int3)
int4(int1, int3)
int4(int3, Int32)
int4(int3, int1)
int4(Int32, Int32, int1)
int4(Int32, Int32, int2)
int4(Int32, int1, Int32)
int4(Int32, int1, int1)
int4(Int32, int1, int2)
int4(Int32, int2, Int32)
int4(Int32, int2, int1)
int4(int1, Int32, Int32)
int4(int1, Int32, int1)
int4(int1, Int32, int2)
int4(int1, int1, Int32)
int4(int1, int1, int1)
int4(int1, int1, int2)
int4(int1, int2, Int32)
int4(int1, int2, int1)
int4(int2, Int32, Int32)
int4(int2, Int32, int1)
int4(int2, int1, Int32)
int4(int2, int1, int1)
int4(Int32, Int32, Int32, Int32)
int4(Int32, Int32, int1, Int32)
int4(Int32, Int32, int1, int1)
int4(Int32, int1, Int32, Int32)
int4(Int32, int1, Int32, int1)
int4(Int32, int1, int1, Int32)
int4(Int32, int1, int1, int1)
int4(int1, Int32, Int32, Int32)
int4(int1, Int32, Int32, int1)
int4(int1, Int32, int1, Int32)
int4(int1, Int32, int1, int1)
int4(int1, int1, Int32, Int32)
int4(int1, int1, Int32, int1)
int4(int1, int1, int1, Int32)
int4(int1, int1, int1, int1)
Invalidate()()()()
Call this method in case if critical variable has been changed, and shader must reflect these changes - track control points and compile new DeviceShader if new pattern of control points is now in use.
IsDevelopmentStage
Gets/sets flag indicate that shader is currently in development stage. In this case, caching will not be used for this particular shader. Existing cache will not be affected.
IsExtension
isfinite<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns true if x is finite, false otherwise.
isinf<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns true if x is +INF or -INF, false otherwise.
isnan<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns true if x is NAN or QNAN, false otherwise.
IsScheduledForCompilation
Returns true, if shader requires or currently performs compilation.
ldexp<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(T>)>>))
Returns x * 2^exp.
length(IOperand<(Of <<'(Vector2>)>>))
Returns the length of the vector.
length(IOperand<(Of <<'(Vector3>)>>))
Returns the length of the vector.
length(IOperand<(Of <<'(Vector4>)>>))
Returns the length of the vector.
lerp<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(T>)>>), Single)
Returns x + amount * (y - x). This linearly interpolates between x and y, such that the return x is x when amount is 0, and y when amount is 1.
lerp<(Of <<'(T, TAmount>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(TAmount>)>>))
Returns x + amount * (y - x). This linearly interpolates between x and y, such that the return x is x when amount is 0, and y when amount is 1.
lit(IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Single>)>>))
Returns a lighting vector (ambient, diffuse, specular, 1) where: ambient = 1. diffuse = ((n • l) < 0) ? 0 : n • l. specular = ((n • l) < 0) || ((n • h) < 0) ? 0 : ((n • h) ^ m).
LoadCachedShaders()()()()
Loads the shader from cache file if necessary.
log<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the base-e logarithm of x. If x is negative, the function returns indefinite. If x is 0, the function returns +INF.
log10<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the base-10 logarithm of x. If x is negative, the function returns indefinite. If x is 0, the function returns +INF.
log2<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the base-2 logarithm of x. If x is negative, the function returns indefinite. If x is 0, the function returns +INF.
max(IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>))
Selects the greater of x and y.
max(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
Selects the greater of x and y.
max(IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Vector4>)>>))
Selects the greater of x and y.
max(IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Single>)>>))
Selects the greater of x and y.
min(IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>))
Selects the lesser of x and y.
min(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
Selects the lesser of x and y.
min(IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Vector4>)>>))
Selects the lesser of x and y.
min(IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Single>)>>))
Selects the lesser of x and y.
MinPixelShaderProfile
When overriden in inherited class, tells engine to use this profile as minimally allowed (not less). Default is PS_1_1.
MinVertexShaderProfile
When overriden in inherited class, tells engine to use this profile as minimally allowed (not less). Default is VS_1_1.
modf<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(T>)>>))
Splits the value x into fractional and integer parts, each of which has the same sign as x. The signed fractional portion of x is returned. The integer portion is stored in the output parameter integerPart.
mul(IOperand<(Of <<'(Matrix>)>>), IOperand<(Of <<'(Matrix>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Matrix>)>>), IOperand<(Of <<'(Vector2>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Matrix>)>>), IOperand<(Of <<'(Vector3>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Matrix>)>>), IOperand<(Of <<'(Vector4>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Matrix>)>>), IOperand<(Of <<'(Single>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Matrix>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Single>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Matrix>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Single>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Matrix>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Vector4>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Single>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Matrix>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Vector2>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Vector3>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Vector4>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
mul(IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Single>)>>))
Performs matrix multiplication between x and y. If x is a vector, it treated as a row vector. If y is a vector, it is treated as a column vector. The inner dimension x-columns and y-rows must be equal. The result has the dimension x-rows x y-columns.
Name
Gets/sets the name of shader.
non_inlined_call<(Of <<'(T>)>>)(String, array<IOperand>[]()[][])
Invoke given method without inlining it's code.
normalize(IOperand<(Of <<'(Vector2>)>>))
Returns the normalized vector x / length(x). If the length of x is 0, the result is indefinite.
normalize(IOperand<(Of <<'(Vector3>)>>))
Returns the normalized vector x / length(x). If the length of x is 0, the result is indefinite.
normalize(IOperand<(Of <<'(Vector4>)>>))
Returns the normalized vector x / length(x). If the length of x is 0, the result is indefinite.
NumOfCachedPermutations
Returns the total number of permutations of this shader found in the shader cache.
pow(IOperand<(Of <<'(Vector2>)>>), Single)
Returns x^y.
pow(IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Single>)>>))
Returns x^y.
pow(IOperand<(Of <<'(Vector3>)>>), Single)
Returns x^y.
pow(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Single>)>>))
Returns x^y.
pow(IOperand<(Of <<'(Vector4>)>>), Single)
Returns x^y.
pow(IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Single>)>>))
Returns x^y.
pow(IOperand<(Of <<'(Single>)>>), Single)
Returns x^y.
pow<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(T>)>>))
Returns x^y.
PreloadTextures()()()()
Preloads all textures bound to texture samplers.
radians<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Converts x from degrees to radians.
reflect(IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>))
Returns the reflection vector v, given the entering ray direction i, and the surface normal n, as in: v = i - 2 * dot(i, n) * n
reflect(IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
Returns the reflection vector v, given the entering ray direction i, and the surface normal n, as in: v = i - 2 * dot(i, n) * n
reflect(IOperand<(Of <<'(Vector4>)>>), IOperand<(Of <<'(Vector4>)>>))
Returns the reflection vector v, given the entering ray direction i, and the surface normal n, as in: v = i - 2 * dot(i, n) * n
refract<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(Single>)>>))
Returns the refraction vector given the entering ray direction i, the surface normal n, and the refraction index ri. If the angle between i and n is too great for a given eta, refract returns (0,0,0). NOT IMPLEMENTED IN C#, BUT WORKS IN HLSL !!!
RootShader
Returns reference to the root shader in the hierarchy. If there is no parent shader, returns null. Valid ONLY during code generation stage, so you may use it only from #SL code.
round<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Rounds x to the nearest integer.
rsqrt<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns 1 / sqrt(x).
saturate<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Clamps x to the range [0, 1].
SetToDevice(RenderContext)
Assigns this shader to the graphics device by setting vertex/pixel shaders, binding constants and sampler states. Returns true if shader is compiled and succesfully set to device, otherwise returns false.
sign<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Computes the sign of x. Returns -1 if x is less than 0, 0 if x equals 0, and 1 if x is greater than zero.
sin<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the sine of x.
sincos(IOperand<(Of <<'(Vector2>)>>), float2%, float2%)
Returns the sine and cosine of x. sin(x) is stored in the output parameter sine. cos(x) is stored in the output parameter cosine
sincos(IOperand<(Of <<'(Vector3>)>>), float3%, float3%)
Returns the sine and cosine of x. sin(x) is stored in the output parameter sine. cos(x) is stored in the output parameter cosine
sincos(IOperand<(Of <<'(Vector4>)>>), float4%, float4%)
Returns the sine and cosine of x. sin(x) is stored in the output parameter sine. cos(x) is stored in the output parameter cosine
sincos(IOperand<(Of <<'(Single>)>>), float1%, float1%)
Returns the sine and cosine of x. sin(x) is stored in the output parameter sine. cos(x) is stored in the output parameter cosine
sinh<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the hyperbolic sine of x.
smoothstep<(Of <<'(T>)>>)(Single, Single, IOperand<(Of <<'(T>)>>))
Returns 0 if x < min. Returns 1 if x > max. Returns a smooth Hermite interpolation between 0 and 1, if x is in the range [min, max].
smoothstep<(Of <<'(T>)>>)(IOperand, IOperand, IOperand<(Of <<'(T>)>>))
Returns 0 if x < min. Returns 1 if x > max. Returns a smooth Hermite interpolation between 0 and 1, if x is in the range [min, max].
sqrt<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Square root (per component).
step<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>), IOperand<(Of <<'(T>)>>))
Returns (x >= y) ? 1 : 0.
tan<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the tangent of x.
tanh<(Of <<'(T>)>>)(IOperand<(Of <<'(T>)>>))
Returns the hyperbolic tangent of x.
tex1D(sampler1D, IOperand<(Of <<'(Single>)>>))
This function performs a 1D texture lookup
tex1D(sampler1D, IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Single>)>>))
This function performs a 1D texture lookup also, but also uses the partial derivatives to help pick the LOD
tex1Dbias(sampler1D, IOperand<(Of <<'(Vector4>)>>))
1D biased texture lookup. The mip level is biased by texCoord.w before the lookup takes place.
tex1Dgrad(sampler1D, IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Single>)>>), IOperand<(Of <<'(Single>)>>))
1D gradient texture lookup. This function samples a texture using the sampler specified by s, the texture coordinate in texCoord, the x gradient in ddx, and the y gradient in ddy. The gradient values select the appropriate mipmap level of the texture for sampling. When compiling code to ps_3_0, significant code reordering is done to move gradient computations outside of flow control.
tex1Dlod(sampler1D, IOperand<(Of <<'(Vector4>)>>))
1D texture lookup with LOD. The mipmap LOD is specified in texCoord.w.
tex1Dproj(sampler1D, IOperand<(Of <<'(Vector4>)>>))
1D projective texture lookup. t is a 2D vector. texCoord is divided by its last component before the lookup takes place.
tex2D(sampler2D, IOperand<(Of <<'(Vector2>)>>))
This function performs a 2D texture lookup.
tex2D(sampler2D, IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>))
This function performas a 2D texture lookup also, but also uses the partial derivatives to help pick the LOD.
tex2Dbias(sampler2D, IOperand<(Of <<'(Vector4>)>>))
2D biased texture lookup. The mip level is biased by t.w before the lookup takes place.
tex2Dgrad(sampler2D, IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>), IOperand<(Of <<'(Vector2>)>>))
2D gradient texture lookup. This function samples a texture using the sampler specified by s, the texture coordinates in texCoord, the x gradient in ddx, and the y gradient in ddy. The gradient values select the appropriate mipmap level of the texture for sampling. When compiling code to ps_3_0, significant code reordering is done to move gradient computations outside of flow control.
tex2Dlod(sampler2D, IOperand<(Of <<'(Vector4>)>>))
2D texture lookup with LOD. The mipmap LOD is specified in texCoord.w.
tex2Dproj(sampler2D, IOperand<(Of <<'(Vector4>)>>))
2D projective texture lookup. texCoord is divided by its last component before the lookup takes place.
tex3D(sampler3D, IOperand<(Of <<'(Vector3>)>>))
This function performs a 3D volume texture lookup.
tex3D(sampler3D, IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
This function performas a 3D volume texture lookup also, but also uses the partial derivatives to help pick the LOD.
tex3Dbias(sampler3D, IOperand<(Of <<'(Vector4>)>>))
3D biased volume texture lookup. The mip level is biased by texCoord.w before the lookup takes place.
tex3Dgrad(sampler3D, IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
3D gradient volume texture lookup. This function samples a texture using the sampler specified by s, the texture coordinates in texCoord, the x gradient in ddx, and the y gradient in ddy. The gradient values select the appropriate mipmap level of the texture for sampling. When compiling code to ps_3_0, significant code reordering is done to move gradient computations outside of flow control
tex3Dlod(sampler3D, IOperand<(Of <<'(Vector4>)>>))
3D volume texture lookup with LOD. The mipmap LOD is specified in texCoord.w.
tex3Dproj(sampler3D, IOperand<(Of <<'(Vector4>)>>))
3D projective volume texture lookup. texCoord is divided by its last component before the lookup takes place.
texCUBE(samplerCUBE, IOperand<(Of <<'(Vector3>)>>))
This function performs a 3D cube texture lookup.
texCUBE(samplerCUBE, IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
This function performs a 3D cube texture lookup also, but also uses the partial derivatives to help pick the LOD.
texCUBEbias(samplerCUBE, IOperand<(Of <<'(Vector4>)>>))
3D biased cube texture lookup. The mip level is biased by texCoord.w before the lookup takes place.
texCUBEgrad(samplerCUBE, IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>), IOperand<(Of <<'(Vector3>)>>))
3D gradient cube texture lookup. This function samples a texture using the sampler specified by s, the texture coordinates in texCoord, the x gradient in ddx, and the y gradient in ddy. The gradient values select the appropriate mipmap level of the texture for sampling. When compiling code to ps_3_0, significant code reordering is done to move gradient computations outside of flow control.
texCUBElod(samplerCUBE, IOperand<(Of <<'(Vector4>)>>))
3D cube texture lookup with LOD.
texCUBEproj(samplerCUBE, IOperand<(Of <<'(Vector4>)>>))
3D projective cube texture lookup. texCoord is divided by its last component before the lookup takes place.
ToString()()()() (Overrides Object..::..ToString()()()().)
transpose(IOperand<(Of <<'(Matrix>)>>))
Returns the transpose of the input matrix x. If the dimensions of the source matrix is p-rows x q-columns, the resulting matrix is q-columns x p-rows.
UpdateCacheKey()()()()
VersionNumber
Returns a numeric version of this shader. Used to identify cached shaders. Default is 1.

Inheritance Hierarchy

System..::..Object
  Visual3D.Graphics3D.Shaders.SharpSL..::..Shader
    Visual3D.Demo.AI..::..GridShader
    Visual3D.Effects.ScreenEffects..::..HighlightSelectedObjectEffect..::..HighlightShader
    Visual3D.Graphics3D..::..ImpostorMap..::..ImpostorMapPostProcessShader
    Visual3D.Graphics3D..::..ImpostorMap..::..NormalMapGeneratorShader
    Visual3D.Graphics3D.Instancing..::..InstancingShaderExtension
    Visual3D.Graphics3D.MaterialRendering..::..ForcedLowQualityShader
    Visual3D.Graphics3D.Particles.Rendering..::..ParticleSystemShader
    Visual3D.Graphics3D.Shaders.Standard..::..BasicShader
    Visual3D.Graphics3D.Shaders.Standard.ColorSources..::..ColorSource
    Visual3D.Graphics3D.Shaders.Standard.Extensions..::..ColorTint
    Visual3D.Graphics3D.Shaders.Standard.Extensions..::..ModelAnimation
    Visual3D.Graphics3D.Shaders.Standard.Extensions..::..ParallaxTransform
    Visual3D.Graphics3D.Shaders.Standard.Extensions..::..UVTransform
    Visual3D.Graphics3D.Shaders.Standard.Lights..::..LightDistributionModel
    Visual3D.Graphics3D.Shaders.Standard.Lights..::..LightSource
    Visual3D.Graphics3D.Shaders.Standard.SpecialFX..::..DepthOfFieldShaderExtension
    Visual3D.Graphics3D.Shaders.Standard.SpecialFX..::..FresnelReflectionRefractionShader
    Visual3D.Graphics3D.Shaders.Standard.Texturing..::..TextureCoordinateProvider
    Visual3D.Graphics3D.Shadows..::..ShadowMapShaderExtension
    Visual3D.Graphics3D.Shadows..::..SoftShadowBlurShader
    Visual3D.Graphics3D..::..SpatialDataOutputShader
    Visual3D.SceneObjects.Materials..::..VolumetricFireShader
    Visual3D.SceneObjects.Materials..::..VolumetricLightShader
    Visual3D.SceneObjects.Skies..::..GroundFogShaderExtension
    Visual3D.SceneObjects.Skies..::..LensFlareSet..::..LensFlareShader
    Visual3D.SceneObjects.Skies.Materials..::..CloudLayerShader
    Visual3D.SceneObjects.Skies.Materials..::..MoonShader
    Visual3D.SceneObjects.Skies.Materials..::..RayleighMieSkyShader
    Visual3D.SceneObjects.Skies.Materials..::..StarShader
    Visual3D.SceneObjects.Skies.Materials..::..StaticSkyRenderMaterial..::..SkyShader
    Visual3D.Shapes..::..Label..::..LabelShader
    Visual3D.Shapes..::..LeadLine..::..LeadLineShader
    Visual3D.Shapes..::..Linestring..::..LinestringShader
    Visual3D.Shapes..::..MapPoint..::..MapPointShader
    Visual3D.Shapes..::..Polygon..::..PolygonShader
    Visual3D.Surroundings.WaterEffects..::..NativeVolumetricEffect..::..VolumetricWaterEffectShader
    Visual3D.Terrains..::..GrassBatchShader
    Visual3D.UI..::..GuiRenderer..::..GuiQuadShader
    Visual3D.UI..::..GuiRenderer..::..GuiRectangleShader

See Also