|
@@ -471,177 +471,185 @@ A large number of built-in functions are supported, conforming mostly to GLSL ES
|
|
|
When vec_type (float), vec_int_type, vec_uint_type, vec_bool_type nomenclature is used, it can be scalar or vector.
|
|
|
|
|
|
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| Function | Description |
|
|
|
-+=========================================================================+=============================================+
|
|
|
-| vec_type **radians** ( vec_type ) | Convert degrees to radians |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **degrees** ( vec_type ) | Convert radians to degrees |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **sin** ( vec_type ) | Sine |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **cos** ( vec_type ) | Cosine |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **tan** ( vec_type ) | Tangent |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **asin** ( vec_type ) | arc-Sine |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **acos** ( vec_type ) | arc-Cosine |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **atan** ( vec_type ) | arc-Tangent |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **atan** ( vec_type x, vec_type y ) | arc-Tangent to convert vector to angle |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **asinh** ( vec_type ) | arc-Hyperbolic-Sine |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **acosh** ( vec_type ) | arc-Hyperbolic-Cosine |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **atanh** ( vec_type ) | arc-Hyperbolic-Tangent |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **sinh** ( vec_type ) | Hyperbolic-Sine |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **cosh** ( vec_type ) | Hyperbolic-Cosine |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **tanh** ( vec_type ) | Hyperbolic-Tangent |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **pow** ( float x, float y ) | Power, x elevated to y |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **pow** ( vec_type, vec_type ) | Power (Vec. Exponent) |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **exp** ( vec_type ) | Base-e Exponential |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **exp2** ( vec_type ) | Base-2 Exponential |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **log** ( vec_type ) | Natural Logarithm |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **log2** ( vec_type ) | Base-2 Logarithm |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **sqrt** ( vec_type ) | Square Root |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **inversesqrt** ( vec_type ) | Inverse Square Root |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **abs** ( vec_type ) | Absolute |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **sign** ( vec_type ) | Sign |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **floor** ( vec_type ) | Floor |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **round** ( vec_type ) | Round |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **roundEven** ( vec_type ) | Round nearest even |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **trunc** ( vec_type ) | Truncation |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **ceil** ( vec_type ) | Ceiling |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **fract** ( vec_type ) | Fractional |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **mod** ( vec_type, vec_type ) | Remainder |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **modf** ( vec_type x, out vec_type i ) | Fractional of x, with i has integer part |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **min** ( vec_type, vec_type ) | Minimum |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **max** ( vec_type, vec_type ) | Maximum |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **clamp** ( vec_type value, vec_type min, vec_type max ) | Clamp to Min-Max |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **mix** ( vec_type a, vec_type b, float c ) | Linear Interpolate (Scalar Coef.) |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **mix** ( vec_type a, vec_type b, vec_type c ) | Linear Interpolate (Vector Coef.) |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **mix** ( vec_type a, vec_type b, bool c ) | Linear Interpolate (Bool Selection) |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **mix** ( vec_type a, vec_type b, vec_bool_type c ) | Linear Interpolate (Bool-Vector Selection) |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **step** ( vec_type a, vec_type b ) | \` a[i] < b[i] ? 0.0 : 1.0 \` |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **smoothstep** ( vec_type a, vec_type b, vec_type c ) | Hermite Interpolate |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **smoothstep** ( float a, float b, vec_type c ) | Hermite Interpolate |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_bool_type **isnan** ( vec_type ) | scalar, or vector component being nan |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_bool_type **isinf** ( vec_type ) | scalar, or vector component being inf |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_int_type **floatBitsToInt** ( vec_type ) | Float->Int bit copying, no conversion |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_uint_type **floatBitsToUint** ( vec_type ) | Float->UInt bit copying, no conversion |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **intBitsToFloat** ( vec_int_type ) | Int->Float bit copying, no conversion |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **uintBitsToFloat** ( vec_uint_type ) | UInt->Float bit copying, no conversion |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **length** ( vec_type ) | Vector Length |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **distance** ( vec_type, vec_type ) | Distance between vector |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **dot** ( vec_type, vec_type ) | Dot Product |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec3 **cross** ( vec3, vec3 ) | Cross Product |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **normalize** ( vec_type ) | Normalize to unit length |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec3 **reflect** ( vec3, vec3 ) | Reflect |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec3 **refract** ( vec3, vec3 ) | Refract |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **faceforward** ( vec_type N, vec_type I, vec_type NRef ) | If dot(Nref, I) < 0 return N, otherwise –N |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| mat_type **matrixCompMult** ( mat_type, mat_type ) | Matrix Component Multiplication |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| mat_type **outerProduct** ( vec_type, vec_type ) | Matrix Outer Product |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| mat_type **transpose** ( mat_type ) | Transpose Matrix |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| float **determinant** ( mat_type ) | Matrix Determinant |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| mat_type **inverse** ( mat_type ) | Inverse Matrix |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_bool_type **lessThan** ( vec_scalar_type ) | Bool vector cmp on < int/uint/float vectors |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_bool_type **greaterThan** ( vec_scalar_type ) | Bool vector cmp on > int/uint/float vectors |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_bool_type **lessThanEqual** ( vec_scalar_type ) | Bool vector cmp on <= int/uint/float vectors|
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_bool_type **greaterThanEqual** ( vec_scalar_type ) | Bool vector cmp on >= int/uint/float vectors|
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_bool_type **equal** ( vec_scalar_type ) | Bool vector cmp on == int/uint/float vectors|
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_bool_type **notEqual** ( vec_scalar_type ) | Bool vector cmp on != int/uint/float vectors|
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| bool **any** ( vec_bool_type ) | Any component is true |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| bool **all** ( vec_bool_type ) | All components are true |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| bool **not** ( vec_bool_type ) | No components are true |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| ivec2 **textureSize** ( sampler2D_type s, int lod ) | Get the size of a texture |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| ivec2 **textureSize** ( samplerCube s, int lod ) | Get the size of a cubemap |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec4_type **texture** ( sampler2D_type s, vec2 uv [, float bias] ) | Perform a 2D texture read |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec4_type **texture** ( samplerCube s, vec3 uv [, float bias] ) | Perform a Cube texture read |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec4_type **textureProj** ( sampler2d_type s, vec3 uv [, float bias] ) | Perform a texture read with projection |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec4_type **textureProj** ( sampler2d_type s, vec4 uv [, float bias] ) | Perform a texture read with projection |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec4_type **textureLod** ( sampler2D_type s, vec2 uv, float lod ) | Perform a 2D texture read at custom mipmap |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec4_type **textureProjLod** ( sampler2d_type s, vec3 uv, float lod ) | Perform a texture read with projection/lod |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec4_type **textureProjLod** ( sampler2d_type s, vec4 uv, float lod ) | Perform a texture read with projection/lod |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **texelFetch** ( samplerCube s, ivec2 uv, int lod ) | Fetch a single texel using integer coords |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **dFdx** ( vec_type ) | Derivative in x using local differencing |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **dFdy** ( vec_type ) | Derivative in y using local differencing |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
-| vec_type **fwidth** ( vec_type ) | Sum of absolute derivative in x and y |
|
|
|
-+-------------------------------------------------------------------------+---------------------------------------------+
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| Function | Description |
|
|
|
++===============================================================================================+================================================+
|
|
|
+| vec_type **radians** ( vec_type ) | Convert degrees to radians |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **degrees** ( vec_type ) | Convert radians to degrees |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **sin** ( vec_type ) | Sine |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **cos** ( vec_type ) | Cosine |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **tan** ( vec_type ) | Tangent |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **asin** ( vec_type ) | Arc-Sine |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **acos** ( vec_type ) | Arc-Cosine |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **atan** ( vec_type ) | Arc-Tangent |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **atan** ( vec_type x, vec_type y ) | Arc-Tangent to convert vector to angle |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **sinh** ( vec_type ) | Hyperbolic-Sine |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **cosh** ( vec_type ) | Hyperbolic-Cosine |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **tanh** ( vec_type ) | Hyperbolic-Tangent |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **asinh** ( vec_type ) | Inverse-Hyperbolic-Sine |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **acosh** ( vec_type ) | Inverse-Hyperbolic-Cosine |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **atanh** ( vec_type ) | Inverse-Hyperbolic-Tangent |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **pow** ( vec_type, vec_type ) | Power |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **exp** ( vec_type ) | Base-e Exponential |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **exp2** ( vec_type ) | Base-2 Exponential |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **log** ( vec_type ) | Natural Logarithm |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **log2** ( vec_type ) | Base-2 Logarithm |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **sqrt** ( vec_type ) | Square Root |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **inversesqrt** ( vec_type ) | Inverse Square Root |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **abs** ( vec_type ) | Absolute |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_int_type **abs** ( vec_int_type ) | Absolute |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **sign** ( vec_type ) | Sign |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_int_type **sign** ( vec_int_type ) | Sign |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **floor** ( vec_type ) | Floor |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **round** ( vec_type ) | Round |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **roundEven** ( vec_type ) | Round nearest even |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **trunc** ( vec_type ) | Truncation |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **ceil** ( vec_type ) | Ceiling |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **fract** ( vec_type ) | Fractional |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **mod** ( vec_type, vec_type ) | Remainder |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **mod** ( vec_type, float ) | Remainder |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **modf** ( vec_type x, out vec_type i ) | Fractional of x, with i has integer part |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_scalar_type **min** ( vec_scalar_type a, vec_scalar_type b ) | Minimum |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_scalar_type **max** ( vec_scalar_type a, vec_scalar_type b ) | Maximum |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_scalar_type **clamp** ( vec_scalar_type value, vec_scalar_type min, vec_scalar_type max ) | Clamp to Min-Max |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **mix** ( vec_type a, vec_type b, float c ) | Linear Interpolate (Scalar Coef.) |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **mix** ( vec_type a, vec_type b, vec_type c ) | Linear Interpolate (Vector Coef.) |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **mix** ( vec_type a, vec_type b, bool c ) | Linear Interpolate (Bool Selection) |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **mix** ( vec_type a, vec_type b, vec_bool_type c ) | Linear Interpolate (Bool-Vector Selection) |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **step** ( vec_type a, vec_type b ) | \` b[i] < a[i] ? 0.0 : 1.0 \` |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **step** ( float a, vec_type b ) | \` b[i] < a ? 0.0 : 1.0 \` |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **smoothstep** ( vec_type a, vec_type b, vec_type c ) | Hermite Interpolate |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **smoothstep** ( float a, float b, vec_type c ) | Hermite Interpolate |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_bool_type **isnan** ( vec_type ) | Scalar, or vector component being nan |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_bool_type **isinf** ( vec_type ) | Scalar, or vector component being inf |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_int_type **floatBitsToInt** ( vec_type ) | Float->Int bit copying, no conversion |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_uint_type **floatBitsToUint** ( vec_type ) | Float->UInt bit copying, no conversion |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **intBitsToFloat** ( vec_int_type ) | Int->Float bit copying, no conversion |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **uintBitsToFloat** ( vec_uint_type ) | UInt->Float bit copying, no conversion |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| float **length** ( vec_type ) | Vector Length |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| float **distance** ( vec_type, vec_type ) | Distance between vector |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| float **dot** ( vec_type, vec_type ) | Dot Product |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec3 **cross** ( vec3, vec3 ) | Cross Product |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **normalize** ( vec_type ) | Normalize to unit length |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec3 **reflect** ( vec3 I, vec3 N ) | Reflect |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec3 **refract** ( vec3 I, vec3 N, float eta ) | Refract |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **faceforward** ( vec_type N, vec_type I, vec_type Nref ) | If dot(Nref, I) < 0 return N, otherwise –N |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| mat_type **matrixCompMult** ( mat_type, mat_type ) | Matrix Component Multiplication |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| mat_type **outerProduct** ( vec_type, vec_type ) | Matrix Outer Product |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| mat_type **transpose** ( mat_type ) | Transpose Matrix |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| float **determinant** ( mat_type ) | Matrix Determinant |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| mat_type **inverse** ( mat_type ) | Inverse Matrix |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_bool_type **lessThan** ( vec_scalar_type, vec_scalar_type ) | Bool vector cmp on < int/uint/float vectors |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_bool_type **greaterThan** ( vec_scalar_type, vec_scalar_type ) | Bool vector cmp on > int/uint/float vectors |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_bool_type **lessThanEqual** ( vec_scalar_type, vec_scalar_type ) | Bool vector cmp on <= int/uint/float vectors |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_bool_type **greaterThanEqual** ( vec_scalar_type, vec_scalar_type ) | Bool vector cmp on >= int/uint/float vectors |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_bool_type **equal** ( vec_scalar_type, vec_scalar_type ) | Bool vector cmp on == int/uint/float vectors |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_bool_type **notEqual** ( vec_scalar_type, vec_scalar_type ) | Bool vector cmp on != int/uint/float vectors |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| bool **any** ( vec_bool_type ) | Any component is true |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| bool **all** ( vec_bool_type ) | All components are true |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| bool **not** ( vec_bool_type ) | No components are true |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| ivec2 **textureSize** ( sampler2D_type s, int lod ) | Get the size of a texture |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| ivec2 **textureSize** ( samplerCube s, int lod ) | Get the size of a cubemap |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec4_type **texture** ( sampler2D_type s, vec2 uv [, float bias] ) | Perform a 2D texture read |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec4_type **texture** ( samplerCube s, vec3 uv [, float bias] ) | Perform a Cube texture read |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec4_type **textureProj** ( sampler2D_type s, vec3 uv [, float bias] ) | Perform a texture read with projection |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec4_type **textureProj** ( sampler2D_type s, vec4 uv [, float bias] ) | Perform a texture read with projection |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec4_type **textureLod** ( sampler2D_type s, vec2 uv, float lod ) | Perform a 2D texture read at custom mipmap |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec4_type **textureLod** ( samplerCube s, vec3 uv, float lod ) | Perform a Cube texture read at custom mipmap |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec4_type **textureProjLod** ( sampler2D_type s, vec3 uv, float lod ) | Perform a texture read with projection/lod |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec4_type **textureProjLod** ( sampler2D_type s, vec4 uv, float lod ) | Perform a texture read with projection/lod |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec4_type **texelFetch** ( sampler2D_type s, ivec2 uv, int lod ) | Fetch a single texel using integer coords |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **dFdx** ( vec_type ) | Derivative in x using local differencing |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **dFdy** ( vec_type ) | Derivative in y using local differencing |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
+| vec_type **fwidth** ( vec_type ) | Sum of absolute derivative in x and y |
|
|
|
++-----------------------------------------------------------------------------------------------+------------------------------------------------+
|
|
|
|
|
|
|
|
|
|