Module glm::builtin [] [src]

Built-in funcions defined in GLSL specification chapter 8.

Functions

abs

Returns x if x ≥ 0, otherwise it returns –x.

acos

Returns an angle whose cosine is x.

acosh

Arc hyperbolic cosine; returns the non-negative inverse of cosh.

all

Returns true only if all components of x are true.

any

Returns true if any component of x is true.

asin

Returns an angle whose sine is x.

asinh

Arc hyperbolic sine; returns the inverse of sinh.

atan

Returns an angle whose tangent is y_over_x.

atan2

Returns an angle whose tangent is y / x.

atanh

Arc hyperbolic tangent; returns the inverse of tanh.

bitCount

Returns the number of bits set to 1 in the binary representation of value.

bitfieldExtract

Extracts bits [offset, offset + bits - 1] from value, returning them in the least significant bits of the result.

bitfieldInsert

Returns the insertion the bits least-significant bits of insert into base.

bitfieldReverse

Returns the reversal of the bits of value.

ceil

Returns a value equal to the nearest integer that is greater than or equal to x.

clamp

Returns min (max (x, min_val), max_val).

clamp_s

A variant of function clamp that uses scalar values as thresholds.

cos

The standard trigonometric cosine function.

cosh

Returns the hyperbolic cosine function (ex + e-x) / 2.

cross

Returns the cross product of x and y.

degrees

Converts radians to degrees, i.e., 180/π * radians.

determinant

Returns the determinant of m.

distance

Returns the distance between p0 and p1, i.e., length(p0 – p1).

dot

Returns the dot product of x and y, i.e., x[0] * y[0] + x[1] * y[1] + ....

equal

Returns the component-wise compare of x == y.

exp

Returns the natural exponentiation of x. i.e., ex.

exp2

Returns 2 raised to the power of x. i.e., 2x.

faceforward

If dot(Nref, I) < 0 return N, otherwise return -N.

findLSB

Returns the bit number of the least significant bit set to 1 in the binary representation of value.

findMSB

Returns the bit number of the most significant bit in the binary representation of value.

floatBitsToInt

Returns a signed integer value representing the encoding of a floating-point value.

floatBitsToUint

Returns a unsigned integer value representing the encoding of a floating-point value.

floor

Returns a value equal to the nearest integer that is less than or equal to x.

fma

Computes and returns a * b + c.

fmod

Modulus. Returns x – y ∗ floor(x/y).

fract

Returns x – floor(x).

frexp

Splits x into a floating-point significand in the range [0.5, 1.0) and an integral exponent of two, such that: x = significand⋅2exponent.

greaterThan

Returns the component-wise compare of x > y.

greaterThanEqual

Returns the component-wise compare of x ≥ y.

imulExtended

Multiplies 32-bit integers x and y, producing a 64-bit result.

intBitsToFloat

Returns a floating-point value corresponding to a signed integer encoding of a floating-point value.

inverse

Returns a matrix that is the inverse of m.

inversesqrt

Returns the inverse of the square root of x. i.e., the value 1/sqrt(x).

isinf

Returns true if x holds a positive infinity or negative infinity. Returns false otherwise.

isnan

Returns true if x holds a NaN. Returns false otherwise.

ldexp

Builds a floating-point number from x and the corresponding integral exponent of two in exp, returning: significand ⋅ 2exponent.

length

Returns the length of vector x, i.e., sqrt(x[0]^2 + x[1]^2 + ...).

lessThan

Returns the component-wise compare of x < y.

lessThanEqual

Returns the component-wise compare of x ≤ y.

log

Returns the natural logarithm of x. i.e., the value y which satisfies x = ey.

log2

Returns the base 2 logarithm of x. i.e., the value y which satisfies x = 2y.

matrixCompMult

Multiply matrix x by matrix y component-wise, i.e., result[i][j] is the scalar product of x[i][j] and y[i][j].

max

Returns y if x < y, otherwise it returns x.

max_s

A variant of max that always uses a scalar value as the comparator.

min

Returns y if y < x, otherwise it returns x.

min_s

A variant of function min that uses a scalar value as comparator.

mix

Returns the linear blend of x and y, i.e., x⋅(1−a)+y⋅a.

mix_bool

Selects which vector each returned component comes from.

mix_s

A variant of function mix that parameter a is a scalar.

mod_s

Modulus with a scalar number.

modf

Returns the fractional and integer parts of x.

noise1

Returns a 1D noise value based on the input value x.

noise2

Returns a 2D noise value based on the input value x.

noise3

Returns a 3D noise value based on the input value x.

noise4

Returns a 4D noise value based on the input value x.

normalize

Returns a vector in the same direction as x but with a length of 1.

not

Returns the component-wise logical complement of x.

notEqual

Returns the component-wise compare of x ≠ y.

outerProduct

Treats the first parameter c as a column vector (matrix with one column) and the second parameter r as a row vector (matrix with one row) and does a linear algebraic matrix multiply c * r, yielding a matrix whose number of rows is the number of components in c and whose number of columns is the number of components in r.

packDouble2x32

Returns a double-precision value obtained by packing the components of v into a 64-bit value.

packSnorm2x16

First, converts each component of the normalized floating-point value v into 16-bit integer values. Then, the results are packed into the returned 32-bit unsigned integer.

packSnorm4x8

First, converts each component of the normalized floating-point value v into 8-bit integer values. Then, the results are packed into the returned 32-bit unsigned integer.

packUnorm2x16

First, converts each component of the normalized floating-point value v into 16-bit integer values. Then, the results are packed into the returned 32-bit unsigned integer.

packUnorm4x8

First, converts each component of the normalized floating-point value v into 8-bit integer values. Then, the results are packed into the returned 32-bit unsigned integer.

pow

Returns x raised to the y power, i.e., xy.

radians

Converts degrees to radians, i.e., π/180 * degrees.

reflect

For the incident vector I and surface orientation N, returns the reflection direction: I – 2 ∗ dot(N, I) ∗ N

refract

For the incident vector I and surface normal N, and the ratio of indices of refraction eta, return the refraction vector.

round

Returns a value equal to the nearest integer to x.

roundEven

Returns a value equal to the nearest integer to x.

sign

Returns 1.0 if x > 0, 0.0 if x = 0, or –1.0 if x < 0.

sin

The standard trigonometric sine function.

sinh

Returns the hyperbolic sine function (ex - e-x) / 2.

smoothstep

Returns 0.0 if x ≤ edge0 and 1.0 if x ≥ edge1 and performs smooth Hermite interpolation between 0 and 1 when edge0 < x < edge1.

smoothstep_s

A variant of smoothstep function that use scalar as edges.

sqrt

Returns the square root of x. i.e., the value sqrt(x).

step

Returns 0.0 if x < edge, otherwise it returns 1.0.

step_s

A variant of step function that use scalar as the edge.

tan

The standard trigonometric tangent.

tanh

Returns the hyperbolic tangent function sinh(x)/cosh(x).

transpose

Returns a matrix that is the transpose of m.

trunc

Returns a value equal to the nearest integer to x whose absolute value is not larger than the absolute value of x.

uaddCarry

Adds 32-bit unsigned integer x and y, returning the sum modulus 232 and the carry bit.

uintBitsToFloat

Returns a floating-point value corresponding to a unsigned integer encoding of a floating-point value.

umulExtended

Multiplies 32-bit unsigned integers x and y, producing a 64-bit result.

unpackDouble2x32

Returns a two-component unsigned integer vector representation of v. The bit-level representation of v is preserved.

unpackSnorm2x16

First, unpacks a single 32-bit unsigned integer p into two 16-bit signed integers. Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

unpackSnorm4x8

First, unpacks a single 32-bit unsigned integer p into four 8-bit signed integers. Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

unpackUnorm2x16

First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers. Then, each component is converted to a normalized floating-point value to generate the returned two-component vector.

unpackUnorm4x8

First, unpacks a single 32-bit unsigned integer p into four 8-bit unsigned integers. Then, each component is converted to a normalized floating-point value to generate the returned four-component vector.

usubBorrow

Subtracts the 32-bit unsigned integer y from x, returning the difference and the borrow bit.