Visual3D Game EngineAPI Documentation for XNA, C#, VB, and .NET
Assembly: Visual3D.Engine (in Visual3D.Engine.dll) Version: 1.0.0.0 (1.0.0.0)
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.SharpSLAssembly: 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 |
| Member | Description | |
|---|---|---|
| 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
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