module
CrShader::Functions
Included Modules
Defined in:
crshader/language.crInstance methods inherited from module CrShader::Language::Functions
abs(x : Float32) : Float32
abs,
aces_tonemap(x : Types::Vec3) : Types::Vec3
aces_tonemap,
acos(x : Float32) : Float32
acos,
adjust_contrast(c : Types::Vec3, contrast : Float32) : Types::Vec3
adjust_contrast,
adjust_saturation(c : Types::Vec3, saturation : Float32) : Types::Vec3
adjust_saturation,
asin(x : Float32) : Float32
asin,
atan(y : Float32, x : Float32) : Float32atan(y_over_x : Float32) : Float32 atan, barrel_distortion(uv : Types::Vec2, k : Float32) : Types::Vec2 barrel_distortion, blinn_phong(normal : Types::Vec3, light_dir : Types::Vec3, view_dir : Types::Vec3, shininess : Float32) : Float32 blinn_phong, ceil(x : Float32) : Float32 ceil, cel_shade(n_dot_l : Float32, steps : Float32 = 3.0_f32) : Float32 cel_shade, clamp(x : Float32, min_val : Float32, max_val : Float32) : Float32 clamp, cos(x : Float32) : Float32 cos, cross(a : Types::Vec3, b : Types::Vec3) : Types::Vec3 cross, degrees(rad : Float32) : Float32 degrees, determinant(m : Types::Mat3 | Types::Mat4) : Float32 determinant, distance(p0 : Types::Vec2 | Types::Vec3, p1 : Types::Vec2 | Types::Vec3) : Float32 distance, dot(a : Types::Vec2, b : Types::Vec2) : Float32
dot(a : Types::Vec3, b : Types::Vec3) : Float32
dot(a : Types::Vec4, b : Types::Vec4) : Float32 dot, exp(x : Float32) : Float32 exp, exp2(x : Float32) : Float32 exp2, faceforward(n : Types::Vec3, i : Types::Vec3, nref : Types::Vec3) : Types::Vec3 faceforward, fbm(p : Types::Vec2, octaves : Int32 = 4) : Float32 fbm, floor(x : Float32) : Float32 floor, fract(x : Float32) : Float32 fract, fresnel(power : Float32, normal : Types::Vec3, view : Types::Vec3) : Float32 fresnel, grayscale(c : Types::Vec3) : Float32 grayscale, groupMemoryBarrier : Nil groupMemoryBarrier, hash11(p : Float32) : Float32 hash11, hash12(p : Float32) : Types::Vec2 hash12, hash21(p : Types::Vec2) : Float32 hash21, hash22(p : Types::Vec2) : Types::Vec2 hash22, hash31(p : Types::Vec3) : Float32 hash31, hash33(p : Types::Vec3) : Types::Vec3 hash33, hsv2rgb(c : Types::Vec3) : Types::Vec3 hsv2rgb, imageLoad(image : Symbol | String, coord : Types::IVec2) : Types::Vec4 imageLoad, imageSize(image : Symbol | String) : Types::IVec2 imageSize, imageStore(image : Symbol | String, coord : Types::IVec2, color : Types::Vec4) : Nil imageStore, inverse(m : Types::Mat3) : Types::Mat3
inverse(m : Types::Mat4) : Types::Mat4 inverse, inversesqrt(x : Float32) : Float32 inversesqrt, ivec2(x : Int32 = 0, y : Int32 = 0) : Types::IVec2
ivec2(v2 : Types::Vec2) : Types::IVec2 ivec2, ivec3(x : Int32 = 0, y : Int32 = 0, z : Int32 = 0) : Types::IVec3 ivec3, ivec4(x : Int32 = 0, y : Int32 = 0, z : Int32 = 0, w : Int32 = 0) : Types::IVec4 ivec4, length(v : Types::Vec2 | Types::Vec3 | Types::Vec4) : Float32 length, lerp(a : Float32, b : Float32, t : Float32) : Float32 lerp, linear_depth(depth : Float32, inv_proj : Types::Mat4) : Float32 linear_depth, log(x : Float32) : Float32 log, log2(x : Float32) : Float32 log2, luminance(col : Types::Vec3) : Float32 luminance, mat2(col0 : Types::Vec2, col1 : Types::Vec2) : Types::Mat2 mat2, mat3(col0 : Types::Vec3, col1 : Types::Vec3, col2 : Types::Vec3) : Types::Mat3 mat3, mat4(col0 : Types::Vec4, col1 : Types::Vec4, col2 : Types::Vec4, col3 : Types::Vec4) : Types::Mat4 mat4, max(a : Float32, b : Float32) : Float32 max, memoryBarrier : Nil memoryBarrier, memoryBarrierImage : Nil memoryBarrierImage, memoryBarrierShared : Nil memoryBarrierShared, min(a : Float32, b : Float32) : Float32 min, mix(x : Float32, y : Float32, a : Float32) : Float32
mix(x : Types::Vec2, y : Types::Vec2, a : Float32) : Types::Vec2
mix(x : Types::Vec3, y : Types::Vec3, a : Float32) : Types::Vec3
mix(x : Types::Vec4, y : Types::Vec4, a : Float32) : Types::Vec4
mix(x : Types::Vec3, y : Types::Vec3, a : Types::Vec3) : Types::Vec3 mix, mod(x : Float32, y : Float32) : Float32 mod, normalize(v : Types::Vec2) : Types::Vec2
normalize(v : Types::Vec3) : Types::Vec3
normalize(v : Types::Vec4) : Types::Vec4 normalize, pow(x : Float32, y : Float32) : Float32 pow, radians(deg : Float32) : Float32 radians, rand(uv : Types::Vec2) : Float32 rand, reflect(i : Types::Vec3, n : Types::Vec3) : Types::Vec3 reflect, refract(i : Types::Vec3, n : Types::Vec3, eta : Float32) : Types::Vec3 refract, reinhard_tonemap(x : Types::Vec3) : Types::Vec3 reinhard_tonemap, remap(val : Float32, in_min : Float32, in_max : Float32, out_min : Float32, out_max : Float32) : Float32 remap, rgb2hsv(c : Types::Vec3) : Types::Vec3 rgb2hsv, rotate_2d(p : Types::Vec2, angle : Float32) : Types::Vec2 rotate_2d, round(x : Float32) : Float32 round, saturate(x : Float32) : Float32 saturate, sdf_box(p : Types::Vec3, b : Types::Vec3) : Float32 sdf_box, sdf_sphere(p : Types::Vec3, radius : Float32) : Float32 sdf_sphere, sign(x : Float32) : Float32 sign, simplex_noise_2d(p : Types::Vec2) : Float32 simplex_noise_2d, sin(x : Float32) : Float32 sin, smax(a : Float32, b : Float32, k : Float32 = 0.1_f32) : Float32 smax, smin(a : Float32, b : Float32, k : Float32 = 0.1_f32) : Float32 smin, smoothstep(edge0 : Float32, edge1 : Float32, x : Float32) : Float32 smoothstep, sqrt(x : Float32) : Float32 sqrt, step(edge : Float32, x : Float32) : Float32 step, tan(x : Float32) : Float32 tan, texelFetch(sampler : Types::Sampler2D, coord : Types::IVec2, lod : Int32 = 0) : Types::Vec4 texelFetch, texture(sampler : Types::Sampler2D, uv : Types::Vec2) : Types::Vec4 texture, textureLod(sampler : Types::Sampler2D, uv : Types::Vec2, lod : Float32) : Types::Vec4 textureLod, textureSize(sampler : Types::Sampler2D, lod : Int32 = 0) : Types::IVec2 textureSize, transpose(m : Types::Mat3) : Types::Mat3
transpose(m : Types::Mat4) : Types::Mat4 transpose, triplanar_weights(normal : Types::Vec3) : Types::Vec3 triplanar_weights, trunc(x : Float32) : Float32 trunc, uvec2(x : UInt32 = 0_u32, y : UInt32 = 0_u32) : Types::UVec2 uvec2, uvec3(x : UInt32 = 0_u32, y : UInt32 = 0_u32, z : UInt32 = 0_u32) : Types::UVec3 uvec3, uvec4(x : UInt32 = 0_u32, y : UInt32 = 0_u32, z : UInt32 = 0_u32, w : UInt32 = 0_u32) : Types::UVec4 uvec4, value_noise(p : Types::Vec2) : Float32 value_noise, vec2(x : Float32 = 0.0_f32, y : Float32 = 0.0_f32) : Types::Vec2
vec2(x : Number, y : Number) : Types::Vec2 vec2, vec3(x : Float32 = 0.0_f32, y : Float32 = 0.0_f32, z : Float32 = 0.0_f32) : Types::Vec3
vec3(x : Number, y : Number, z : Number) : Types::Vec3 vec3, vec4(x : Float32 = 0.0_f32, y : Float32 = 0.0_f32, z : Float32 = 0.0_f32, w : Float32 = 1.0_f32) : Types::Vec4
vec4(x : Number, y : Number, z : Number, w : Number = 1.0) : Types::Vec4
vec4(v3 : Types::Vec3, w : Float32 = 1.0_f32) : Types::Vec4
vec4(val : Float32 | Number) : Types::Vec4 vec4, vignette(uv : Types::Vec2, radius : Float32 = 0.75_f32, softness : Float32 = 0.45_f32) : Float32 vignette, voronoi(p : Types::Vec2) : Float32 voronoi