This is the rtg-math Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 06:37:47 2024 GMT+0.
rtg-math/rtg-math.asd
rtg-math/package.lisp
rtg-math/utils.lisp
rtg-math/deftypes.lisp
rtg-math/base-maths.lisp
rtg-math/vectors/base/base-vectors.lisp
rtg-math/vectors/vector2/non-consing.lisp
rtg-math/vectors/vector2/consing.lisp
rtg-math/vectors/vector3/non-consing.lisp
rtg-math/vectors/vector3/consing.lisp
rtg-math/vectors/vector4/non-consing.lisp
rtg-math/vectors/vector4/consing.lisp
rtg-math/vectors/vectors.lisp
rtg-math/matrices/matrix2/common.lisp
rtg-math/matrices/matrix2/non-consing.lisp
rtg-math/matrices/matrix2/consing.lisp
rtg-math/matrices/matrix3/common.lisp
rtg-math/matrices/matrix3/non-consing.lisp
rtg-math/matrices/matrix3/consing.lisp
rtg-math/matrices/matrix4/common.lisp
rtg-math/matrices/matrix4/non-consing.lisp
rtg-math/matrices/matrix4/consing.lisp
rtg-math/matrices/base/base-matrices.lisp
rtg-math/matrices/matrices.lisp
rtg-math/quaternions/common.lisp
rtg-math/quaternions/non-consing.lisp
rtg-math/quaternions/consing.lisp
rtg-math/projection/orthographic/non-consing.lisp
rtg-math/projection/orthographic/consing.lisp
rtg-math/projection/perspective/non-consing.lisp
rtg-math/projection/perspective/consing.lisp
rtg-math/polar-coords/polar.lisp
rtg-math/spherical-coords/spherical.lisp
rtg-math/regions/line3/consing.lisp
rtg-math/regions/ray3/consing.lisp
rtg-math/regions/line-segment3/consing.lisp
rtg-math/regions/aab/common.lisp
rtg-math/regions/aab/non-consing.lisp
rtg-math/regions/aab/consing.lisp
rtg-math/regions/regions.lisp
rtg-math/vectors/base/docs.lisp
rtg-math/vectors/vector2/docs-non-consing.lisp
rtg-math/vectors/vector2/docs-consing.lisp
rtg-math/vectors/vector3/docs-non-consing.lisp
rtg-math/vectors/vector3/docs-consing.lisp
rtg-math/vectors/vector4/docs-non-consing.lisp
rtg-math/vectors/vector4/docs-consing.lisp
rtg-math/vectors/docs.lisp
rtg-math/matrices/base/docs.lisp
rtg-math/matrices/matrix2/docs-consing.lisp
rtg-math/matrices/matrix3/docs-consing.lisp
rtg-math/matrices/matrix4/docs-consing.lisp
rtg-math/matrices/matrix2/docs-non-consing.lisp
rtg-math/matrices/matrix3/docs-non-consing.lisp
rtg-math/matrices/matrix4/docs-non-consing.lisp
rtg-math/matrices/docs.lisp
rtg-math/quaternions/docs-consing.lisp
rtg-math/quaternions/docs-non-consing.lisp
rtg-math/polar-coords/docs.lisp
rtg-math/projection/orthographic/docs-non-consing.lisp
rtg-math/projection/orthographic/docs-consing.lisp
rtg-math/projection/perspective/docs-non-consing.lisp
rtg-math/projection/perspective/docs-consing.lisp
rtg-math/types-docs.lisp
rtg-math/docs.lisp
rtg-math.projection.non-consing
rtg-math.vector4
rtg-math.region
rtg-math.matrix4.non-consing
rtg-math.base-matrices
rtg-math.spherical
rtg-math.types
rtg-math.vector2
rtg-math.matrix3
rtg-math.vector2.non-consing
rtg-math.quaternions
rtg-math.base-vectors
rtg-math.vectors
rtg-math.matrix2.non-consing
%rtg-math.matrix3.common
rtg-math.region.axis-aligned-box
rtg-math.polar
rtg-math.region.ray3
%rtg-math
rtg-math.matrix4
%rtg-math.matrix4.common
rtg-math.base-maths
rtg-math.region.line3
rtg-math.projection
rtg-math.quaternions.non-consing
rtg-math
rtg-math.matrices
%rtg-math.matrix2.common
rtg-math.region.axis-aligned-box.non-consing
%rtg-math.quaternion.common
rtg-math.vector4.non-consing
rtg-math.matrix2
rtg-math.region.line-segment3
%rtg-math.regions.axis-aligned-box.common
rtg-math.matrix3.non-consing
rtg-math.vector3
rtg-math.vector3.non-consing
The main system appears first, followed by any subsystem dependency.
rtg-math
A selection of the math routines most commonly needed for realtime graphics in lisp
Chris Bagley <techsnuffle@gmail.com>
BSD 2 Clause
alexandria
(system).
glsl-symbols
(system).
documentation-utils
(system).
package.lisp
(file).
utils.lisp
(file).
deftypes.lisp
(file).
base-maths.lisp
(file).
vectors/base/base-vectors.lisp
(file).
vectors/vector2/non-consing.lisp
(file).
vectors/vector2/consing.lisp
(file).
vectors/vector3/non-consing.lisp
(file).
vectors/vector3/consing.lisp
(file).
vectors/vector4/non-consing.lisp
(file).
vectors/vector4/consing.lisp
(file).
vectors/vectors.lisp
(file).
matrices/matrix2/common.lisp
(file).
matrices/matrix2/non-consing.lisp
(file).
matrices/matrix2/consing.lisp
(file).
matrices/matrix3/common.lisp
(file).
matrices/matrix3/non-consing.lisp
(file).
matrices/matrix3/consing.lisp
(file).
matrices/matrix4/common.lisp
(file).
matrices/matrix4/non-consing.lisp
(file).
matrices/matrix4/consing.lisp
(file).
matrices/base/base-matrices.lisp
(file).
matrices/matrices.lisp
(file).
quaternions/common.lisp
(file).
quaternions/non-consing.lisp
(file).
quaternions/consing.lisp
(file).
projection/orthographic/non-consing.lisp
(file).
projection/orthographic/consing.lisp
(file).
projection/perspective/non-consing.lisp
(file).
projection/perspective/consing.lisp
(file).
polar-coords/polar.lisp
(file).
spherical-coords/spherical.lisp
(file).
regions/line3/consing.lisp
(file).
regions/ray3/consing.lisp
(file).
regions/line-segment3/consing.lisp
(file).
regions/aab/common.lisp
(file).
regions/aab/non-consing.lisp
(file).
regions/aab/consing.lisp
(file).
regions/regions.lisp
(file).
vectors/base/docs.lisp
(file).
vectors/vector2/docs-non-consing.lisp
(file).
vectors/vector2/docs-consing.lisp
(file).
vectors/vector3/docs-non-consing.lisp
(file).
vectors/vector3/docs-consing.lisp
(file).
vectors/vector4/docs-non-consing.lisp
(file).
vectors/vector4/docs-consing.lisp
(file).
vectors/docs.lisp
(file).
matrices/base/docs.lisp
(file).
matrices/matrix2/docs-consing.lisp
(file).
matrices/matrix3/docs-consing.lisp
(file).
matrices/matrix4/docs-consing.lisp
(file).
matrices/matrix2/docs-non-consing.lisp
(file).
matrices/matrix3/docs-non-consing.lisp
(file).
matrices/matrix4/docs-non-consing.lisp
(file).
matrices/docs.lisp
(file).
quaternions/docs-consing.lisp
(file).
quaternions/docs-non-consing.lisp
(file).
polar-coords/docs.lisp
(file).
projection/orthographic/docs-non-consing.lisp
(file).
projection/orthographic/docs-consing.lisp
(file).
projection/perspective/docs-non-consing.lisp
(file).
projection/perspective/docs-consing.lisp
(file).
types-docs.lisp
(file).
docs.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
rtg-math/rtg-math.asd
rtg-math/package.lisp
rtg-math/utils.lisp
rtg-math/deftypes.lisp
rtg-math/base-maths.lisp
rtg-math/vectors/base/base-vectors.lisp
rtg-math/vectors/vector2/non-consing.lisp
rtg-math/vectors/vector2/consing.lisp
rtg-math/vectors/vector3/non-consing.lisp
rtg-math/vectors/vector3/consing.lisp
rtg-math/vectors/vector4/non-consing.lisp
rtg-math/vectors/vector4/consing.lisp
rtg-math/vectors/vectors.lisp
rtg-math/matrices/matrix2/common.lisp
rtg-math/matrices/matrix2/non-consing.lisp
rtg-math/matrices/matrix2/consing.lisp
rtg-math/matrices/matrix3/common.lisp
rtg-math/matrices/matrix3/non-consing.lisp
rtg-math/matrices/matrix3/consing.lisp
rtg-math/matrices/matrix4/common.lisp
rtg-math/matrices/matrix4/non-consing.lisp
rtg-math/matrices/matrix4/consing.lisp
rtg-math/matrices/base/base-matrices.lisp
rtg-math/matrices/matrices.lisp
rtg-math/quaternions/common.lisp
rtg-math/quaternions/non-consing.lisp
rtg-math/quaternions/consing.lisp
rtg-math/projection/orthographic/non-consing.lisp
rtg-math/projection/orthographic/consing.lisp
rtg-math/projection/perspective/non-consing.lisp
rtg-math/projection/perspective/consing.lisp
rtg-math/polar-coords/polar.lisp
rtg-math/spherical-coords/spherical.lisp
rtg-math/regions/line3/consing.lisp
rtg-math/regions/ray3/consing.lisp
rtg-math/regions/line-segment3/consing.lisp
rtg-math/regions/aab/common.lisp
rtg-math/regions/aab/non-consing.lisp
rtg-math/regions/aab/consing.lisp
rtg-math/regions/regions.lisp
rtg-math/vectors/base/docs.lisp
rtg-math/vectors/vector2/docs-non-consing.lisp
rtg-math/vectors/vector2/docs-consing.lisp
rtg-math/vectors/vector3/docs-non-consing.lisp
rtg-math/vectors/vector3/docs-consing.lisp
rtg-math/vectors/vector4/docs-non-consing.lisp
rtg-math/vectors/vector4/docs-consing.lisp
rtg-math/vectors/docs.lisp
rtg-math/matrices/base/docs.lisp
rtg-math/matrices/matrix2/docs-consing.lisp
rtg-math/matrices/matrix3/docs-consing.lisp
rtg-math/matrices/matrix4/docs-consing.lisp
rtg-math/matrices/matrix2/docs-non-consing.lisp
rtg-math/matrices/matrix3/docs-non-consing.lisp
rtg-math/matrices/matrix4/docs-non-consing.lisp
rtg-math/matrices/docs.lisp
rtg-math/quaternions/docs-consing.lisp
rtg-math/quaternions/docs-non-consing.lisp
rtg-math/polar-coords/docs.lisp
rtg-math/projection/orthographic/docs-non-consing.lisp
rtg-math/projection/orthographic/docs-consing.lisp
rtg-math/projection/perspective/docs-non-consing.lisp
rtg-math/projection/perspective/docs-consing.lisp
rtg-math/types-docs.lisp
rtg-math/docs.lisp
rtg-math/package.lisp
rtg-math
(system).
rtg-math.projection.non-consing
.
rtg-math.vector4
.
rtg-math.region
.
rtg-math.matrix4.non-consing
.
rtg-math.base-matrices
.
rtg-math.spherical
.
rtg-math.types
.
rtg-math.vector2
.
rtg-math.matrix3
.
rtg-math.vector2.non-consing
.
rtg-math.quaternions
.
rtg-math.base-vectors
.
rtg-math.vectors
.
rtg-math.matrix2.non-consing
.
%rtg-math.matrix3.common
.
rtg-math.region.axis-aligned-box
.
rtg-math.polar
.
rtg-math.region.ray3
.
%rtg-math
.
rtg-math.matrix4
.
%rtg-math.matrix4.common
.
rtg-math.base-maths
.
rtg-math.region.line3
.
rtg-math.projection
.
rtg-math.quaternions.non-consing
.
rtg-math
.
rtg-math.matrices
.
%rtg-math.matrix2.common
.
rtg-math.region.axis-aligned-box.non-consing
.
%rtg-math.quaternion.common
.
rtg-math.vector4.non-consing
.
rtg-math.matrix2
.
rtg-math.region.line-segment3
.
%rtg-math.regions.axis-aligned-box.common
.
rtg-math.matrix3.non-consing
.
rtg-math.vector3
.
rtg-math.vector3.non-consing
.
rtg-math/utils.lisp
package.lisp
(file).
rtg-math
(system).
case=
(macro).
defn
(macro).
defn-inlinable
(macro).
defn-inline
(macro).
ecase=
(macro).
%defn
(function).
*signatures*
(special variable).
parse-defn-args
(function).
rtg-math/deftypes.lisp
utils.lisp
(file).
rtg-math
(system).
axis-aligned-box
(structure).
int8-vec2
(type).
int8-vec3
(type).
int8-vec4
(type).
line-segment3
(structure).
line3
(structure).
quaternion
(type).
ray3
(structure).
uint8-vec2
(type).
uint8-vec3
(type).
uint8-vec4
(type).
axis-aligned-box-maxima
(reader).
(setf axis-aligned-box-maxima)
(writer).
axis-aligned-box-minima
(reader).
(setf axis-aligned-box-minima)
(writer).
axis-aligned-box-p
(function).
copy-axis-aligned-box
(function).
copy-line-segment3
(function).
copy-line3
(function).
copy-ray3
(function).
line-segment3-end-point0
(reader).
(setf line-segment3-end-point0)
(writer).
line-segment3-offset
(reader).
(setf line-segment3-offset)
(writer).
line-segment3-p
(function).
line3-direction
(reader).
(setf line3-direction)
(writer).
line3-origin
(reader).
(setf line3-origin)
(writer).
line3-p
(function).
make-axis-aligned-box
(function).
make-line-segment3
(function).
make-line3
(function).
make-ray3
(function).
ray3-direction
(reader).
(setf ray3-direction)
(writer).
ray3-origin
(reader).
(setf ray3-origin)
(writer).
ray3-p
(function).
rtg-math/base-maths.lisp
deftypes.lisp
(file).
rtg-math
(system).
+inv-pi+
(constant).
+one-degree-in-radians+
(constant).
+pi+
(constant).
0.5pi
(constant).
0.5pi-f
(constant).
2pi
(constant).
2pi-f
(constant).
degrees-f
(function).
inv-pi
(constant).
inv-pi-f
(constant).
inv-sqrt
(function).
lerp
(function).
pi-f
(constant).
radians-f
(function).
saturate
(function).
spline
(function).
*coef*
(special variable).
+k-epsilon+
(constant).
+one-radian-in-degrees+
(constant).
bias
(function).
gain
(function).
sfzero-p
(function).
rtg-math/vectors/base/base-vectors.lisp
base-maths.lisp
(file).
rtg-math
(system).
v!
(compiler macro).
v!
(function).
v!bool
(compiler macro).
v!bool
(function).
v!byte
(compiler macro).
v!byte
(function).
v!double
(compiler macro).
v!double
(function).
v!int
(compiler macro).
v!int
(function).
v!int8
(compiler macro).
v!int8
(function).
v!ubyte
(compiler macro).
v!ubyte
(function).
v!uint
(compiler macro).
v!uint
(function).
v!uint8
(compiler macro).
v!uint8
(function).
v2!
(function).
v2!byte
(function).
v2!double
(function).
v2!int
(function).
v2!int8
(function).
v2!short
(function).
v2!ubyte
(function).
v2!uint
(function).
v2!uint8
(function).
v2!ushort
(function).
v3!
(function).
v3!byte
(function).
v3!double
(function).
v3!int
(function).
v3!int8
(function).
v3!short
(function).
v3!ubyte
(function).
v3!uint
(function).
v3!uint8
(function).
v3!ushort
(function).
v4!
(function).
v4!byte
(function).
v4!double
(function).
v4!int
(function).
v4!int8
(function).
v4!short
(function).
v4!ubyte
(function).
v4!uint
(function).
v4!uint8
(function).
v4!ushort
(function).
w
(compiler macro).
(setf w)
(compiler macro).
w
(function).
(setf w)
(function).
x
(compiler macro).
(setf x)
(compiler macro).
x
(function).
(setf x)
(function).
y
(compiler macro).
(setf y)
(compiler macro).
y
(function).
(setf y)
(function).
z
(compiler macro).
(setf z)
(compiler macro).
z
(function).
(setf z)
(function).
def-v!
(macro).
v!bool-one-arg
(function).
v!one-arg-v!
(function).
v!one-arg-v!byte
(function).
v!one-arg-v!double
(function).
v!one-arg-v!int
(function).
v!one-arg-v!int8
(function).
v!one-arg-v!short
(function).
v!one-arg-v!ubyte
(function).
v!one-arg-v!uint
(function).
v!one-arg-v!uint8
(function).
v!one-arg-v!ushort
(function).
v!short
(compiler macro).
v!short
(function).
v!ushort
(compiler macro).
v!ushort
(function).
rtg-math/vectors/vector2/non-consing.lisp
vectors/base/base-vectors.lisp
(file).
rtg-math
(system).
%*
(function).
%+
(function).
%-
(function).
copy-components
(function).
rtg-math/vectors/vector2/consing.lisp
vectors/vector2/non-consing.lisp
(file).
rtg-math
(system).
*
(compiler macro).
*
(function).
*s
(function).
+
(compiler macro).
+
(function).
+s
(function).
-
(compiler macro).
-
(function).
-s
(function).
/
(function).
/s
(function).
0p
(function).
=
(function).
abs
(function).
absolute-dot
(function).
angle-between
(function).
angle-from
(function).
bezier
(function).
copy-vec2
(function).
cross
(function).
decf
(macro).
distance
(function).
distance-squared
(function).
dot
(function).
face-foreward
(function).
from-angle
(function).
from-complex
(function).
incf
(macro).
length
(function).
length-squared
(function).
lerp
(function).
make
(function).
negate
(function).
normalize
(function).
perp-dot
(function).
rotate
(function).
spline
(function).
unitp
(function).
%+
(function).
%-
(function).
*v
(function).
stable-lerp
(function).
rtg-math/vectors/vector3/non-consing.lisp
vectors/vector2/consing.lisp
(file).
rtg-math
(system).
%*
(function).
%+
(function).
%-
(function).
copy-components
(function).
rtg-math/vectors/vector3/consing.lisp
vectors/vector3/non-consing.lisp
(file).
rtg-math
(system).
*
(compiler macro).
*
(function).
*s
(function).
+
(compiler macro).
+
(function).
+s
(function).
-
(compiler macro).
-
(function).
-s
(function).
/
(function).
/s
(function).
0p
(function).
=
(function).
abs
(function).
absolute-dot
(function).
bezier
(function).
copy-vec3
(function).
cross
(function).
decf
(macro).
distance
(function).
distance-squared
(function).
dot
(function).
face-foreward
(function).
incf
(macro).
length
(function).
length-squared
(function).
lerp
(function).
make
(function).
negate
(function).
normalize
(function).
rotate
(function).
spline
(function).
unitp
(function).
%+
(function).
%-
(function).
*v
(function).
closest-point-on-line
(function).
closest-point-on-norm-line
(function).
distance-to-line-sq
(function).
distance-to-norm-line-sq
(function).
stable-lerp
(function).
rtg-math/vectors/vector4/non-consing.lisp
vectors/vector3/consing.lisp
(file).
rtg-math
(system).
%*
(function).
%+
(function).
%-
(function).
copy-components
(function).
rtg-math/vectors/vector4/consing.lisp
vectors/vector4/non-consing.lisp
(file).
rtg-math
(system).
*
(compiler macro).
*
(function).
*s
(function).
+
(compiler macro).
+
(function).
+s
(function).
-
(compiler macro).
-
(function).
-s
(function).
/
(function).
/s
(function).
0p
(function).
=
(function).
abs
(function).
absolute-dot
(function).
bezier
(function).
copy-vec4
(function).
decf
(macro).
distance
(function).
distance-squared
(function).
dot
(function).
face-foreward
(function).
incf
(macro).
length
(function).
length-squared
(function).
lerp
(function).
make
(function).
negate
(function).
normalize
(function).
spline
(function).
unitp
(function).
%+
(function).
%-
(function).
*v
(function).
stable-lerp
(function).
rtg-math/vectors/vectors.lisp
vectors/vector4/consing.lisp
(file).
rtg-math
(system).
*
(function).
+
(function).
+s
(function).
-
(function).
-s
(function).
/
(function).
/=
(function).
0p
(function).
=
(function).
absolute-dot
(function).
bezier
(function).
cross
(function).
decf
(macro).
distance
(function).
distance-squared
(function).
dot
(function).
face-foreward
(function).
incf
(macro).
length
(function).
length-squared
(function).
lerp
(function).
merge-into-vector
(function).
mix
(function).
negate
(function).
normalize
(function).
perp-dot
(function).
swizzle
(compiler macro).
(setf swizzle)
(compiler macro).
swizzle
(function).
(setf swizzle)
(function).
s~
(compiler macro).
(setf s~)
(compiler macro).
s~
(function).
(setf s~)
(function).
unitp
(function).
rtg-math/matrices/matrix2/common.lisp
vectors/vectors.lisp
(file).
rtg-math
(system).
melm
(compiler macro).
melm
(function).
(setf melm)
(function).
rtg-math/matrices/matrix2/non-consing.lisp
matrices/matrix2/common.lisp
(file).
rtg-math
(system).
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
+
(function).
-
(function).
adjoint
(function).
mrow*vec2
(function).
negate
(function).
set-components
(function).
set-from-columns
(function).
set-from-rows
(function).
set-from-scale
(function).
set-rotation-from-euler
(function).
transpose
(function).
%*
(function).
copy-components
(function).
rtg-math/matrices/matrix2/consing.lisp
rtg-math
(system).
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
+
(function).
-
(function).
0!
(function).
0p
(function).
=
(function).
adjoint
(function).
copy-mat2
(function).
from-columns
(function).
from-rows
(function).
get-column
(function).
get-columns
(function).
get-row
(function).
get-rows
(function).
identity
(function).
identityp
(function).
make
(function).
mrow*vec2
(function).
negate
(function).
rotation-from-euler
(function).
scale
(function).
trace
(function).
transpose
(function).
%*
(function).
rtg-math/matrices/matrix3/common.lisp
matrices/matrix2/consing.lisp
(file).
rtg-math
(system).
melm
(compiler macro).
melm
(function).
(setf melm)
(function).
mref
(function).
(setf mref)
(function).
rtg-math/matrices/matrix3/non-consing.lisp
matrices/matrix3/common.lisp
(file).
rtg-math
(system).
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
+
(function).
-
(function).
adjoint
(function).
affine-inverse
(function).
mrow*vec3
(function).
negate
(function).
set-components
(function).
set-from-columns
(function).
set-from-rotation-x
(function).
set-from-rotation-y
(function).
set-from-rotation-z
(function).
set-from-rows
(function).
set-from-scale
(function).
set-rotation-from-axis-angle
(function).
set-rotation-from-euler
(function).
transpose
(function).
%*
(function).
copy-components
(function).
rtg-math/matrices/matrix3/consing.lisp
rtg-math
(system).
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
+
(function).
-
(function).
0!
(function).
0p
(function).
=
(function).
adjoint
(function).
affine-inverse
(function).
copy-mat3
(function).
determinant
(function).
from-columns
(function).
from-direction
(function).
from-rows
(function).
get-axis-angle
(function).
get-column
(function).
get-columns
(function).
get-fixed-angles
(function).
get-row
(function).
get-rows
(function).
identity
(function).
identityp
(function).
look-at
(function).
make
(function).
mrow*vec3
(function).
negate
(function).
point-at
(function).
rotation-from-axis-angle
(function).
rotation-from-euler
(function).
rotation-x
(function).
rotation-y
(function).
rotation-z
(function).
scale
(function).
trace
(function).
transpose
(function).
%*
(function).
rtg-math/matrices/matrix4/common.lisp
matrices/matrix3/consing.lisp
(file).
rtg-math
(system).
melm
(compiler macro).
melm
(function).
(setf melm)
(function).
minor
(function).
mref
(function).
(setf mref)
(function).
rtg-math/matrices/matrix4/non-consing.lisp
matrices/matrix4/common.lisp
(file).
rtg-math
(system).
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
*v3
(function).
+
(function).
-
(function).
adjoint
(function).
affine-inverse
(function).
mrow*vec4
(function).
negate
(function).
set-components
(function).
set-from-columns
(function).
set-from-columns-v3
(function).
set-from-mat3
(function).
set-from-rotation-x
(function).
set-from-rotation-y
(function).
set-from-rotation-z
(function).
set-from-rows
(function).
set-from-rows-v3
(function).
set-from-scale
(function).
set-from-translation
(function).
set-rotation-from-axis-angle
(function).
set-rotation-from-euler
(function).
transpose
(function).
%*
(function).
copy-components
(function).
rtg-math/matrices/matrix4/consing.lisp
rtg-math
(system).
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
*v3
(function).
+
(function).
-
(function).
0!
(function).
0p
(function).
=
(function).
adjoint
(function).
affine-inverse
(function).
copy-mat4
(function).
determinant
(function).
from-columns
(function).
from-columns-v3
(function).
from-direction
(function).
from-mat3
(function).
from-rows
(function).
from-rows-v3
(function).
get-axis-angle
(function).
get-column
(function).
get-columns
(function).
get-fixed-angles
(function).
get-row
(function).
get-rows
(function).
identity
(function).
identityp
(function).
inverse
(function).
look-at
(function).
make
(function).
mrow*vec4
(function).
negate
(function).
point-at
(function).
rotation-from-axis-angle
(function).
rotation-from-euler
(function).
rotation-from-mat3
(function).
rotation-x
(function).
rotation-y
(function).
rotation-z
(function).
scale
(function).
to-mat3
(function).
trace
(function).
translation
(function).
transpose
(function).
rtg-math/matrices/base/base-matrices.lisp
matrices/matrix4/consing.lisp
(file).
rtg-math
(system).
m!one-arg
(function).
rtg-math/matrices/matrices.lisp
matrices/base/base-matrices.lisp
(file).
rtg-math
(system).
*
(function).
+
(function).
-
(function).
/=
(function).
0p
(function).
1+
(function).
1-
(function).
=
(function).
affine-inverse
(function).
determinant
(function).
elm
(function).
elt
(function).
get-column
(function).
get-columns
(function).
get-row
(function).
get-rows
(function).
inverse
(function).
negate
(function).
to-string
(function).
trace
(function).
transpose
(function).
unitp
(function).
melm
(function).
rtg-math/quaternions/common.lisp
matrices/matrices.lisp
(file).
rtg-math
(system).
rtg-math/quaternions/non-consing.lisp
quaternions/common.lisp
(file).
rtg-math
(system).
%+
(function).
%-
(function).
from-fixed-angles-unnormalized
(function).
set-components
(function).
rtg-math/quaternions/consing.lisp
quaternions/non-consing.lisp
(file).
rtg-math
(system).
*
(function).
*s
(function).
+
(compiler macro).
+
(function).
-
(compiler macro).
-
(function).
/=
(function).
0!
(function).
0p
(function).
=
(function).
approx-slerp
(function).
conjugate
(function).
copy
(function).
from-axies
(function).
from-axis-angle
(function).
from-direction
(function).
from-fixed-angles
(function).
from-fixed-angles-v3
(function).
from-mat3
(function).
get-axis-angle
(function).
identity
(function).
identity-p
(function).
inverse
(function).
lerp
(function).
look-at
(function).
magnitude
(function).
make
(function).
norm
(function).
normalize
(function).
point-at
(function).
q!
(function).
qconjugate
(function).
rotate
(function).
slerp
(function).
to-direction
(function).
to-direction-vec4
(function).
to-mat3
(function).
to-mat4
(function).
unitp
(function).
rtg-math/projection/orthographic/non-consing.lisp
quaternions/consing.lisp
(file).
rtg-math
(system).
orthographic
(function).
orthographic-v2
(function).
rtg-math/projection/orthographic/consing.lisp
rtg-math
(system).
orthographic
(function).
orthographic-v2
(function).
rtg-math/projection/perspective/non-consing.lisp
rtg-math
(system).
perspective
(function).
perspective-radian-fov
(function).
perspective-v2
(function).
perspective-v2-radian-fov
(function).
rtg-math/projection/perspective/consing.lisp
rtg-math
(system).
perspective
(function).
perspective-radian-fov
(function).
perspective-v2
(function).
perspective-v2-radian-fov
(function).
rtg-math/polar-coords/polar.lisp
rtg-math
(system).
cartesian->polar
(function).
polar->cartesian
(function).
rtg-math/spherical-coords/spherical.lisp
polar-coords/polar.lisp
(file).
rtg-math
(system).
cartesian->spherical
(function).
spherical->cartesian
(function).
unit-spherical->unit-cartesian
(function).
rtg-math/regions/line3/consing.lisp
spherical-coords/spherical.lisp
(file).
rtg-math
(system).
closest-line-points
(function).
closest-point
(function).
direction
(function).
distance-squared-to-line3
(function).
distance-squared-to-point
(function).
distance-to-line3
(function).
distance-to-point
(function).
make
(function).
origin
(function).
transform-m3
(function).
transform-q
(function).
rtg-math/regions/ray3/consing.lisp
regions/line3/consing.lisp
(file).
rtg-math
(system).
/=
(function).
=
(function).
closest-point
(function).
closest-ray-points
(function).
direction
(function).
distance-squared-to-line3
(function).
distance-squared-to-point
(function).
distance-squared-to-ray3
(function).
distance-to-line3
(function).
distance-to-point
(function).
distance-to-ray3
(function).
make
(function).
origin
(function).
transform-m3
(function).
transform-q
(function).
rtg-math/regions/line-segment3/consing.lisp
regions/ray3/consing.lisp
(file).
rtg-math
(system).
/=
(function).
=
(function).
closest-line-points
(function).
closest-line-segment-points
(function).
closest-point
(function).
closest-ray-points
(function).
direction
(function).
distance-squared-to-line-seg3
(function).
distance-squared-to-line3
(function).
distance-squared-to-point
(function).
distance-squared-to-ray3
(function).
distance-to-line-seg3
(function).
distance-to-line3
(function).
distance-to-point
(function).
distance-to-ray3
(function).
end-point0
(function).
end-point1
(function).
length
(function).
length-squared
(function).
make
(function).
make-from-point-offset
(function).
transform-m3
(function).
transform-q
(function).
%seg-to-ray-internals
(function).
%seg-to-seg-internals
(function).
line-segment3-end-point1
(function).
rtg-math/regions/aab/common.lisp
rtg-math/regions/aab/non-consing.lisp
regions/aab/common.lisp
(file).
rtg-math
(system).
merge-point
(function).
rtg-math/regions/aab/consing.lisp
regions/aab/non-consing.lisp
(file).
rtg-math
(system).
/=
(function).
=
(function).
add-point
(function).
from-aabs
(function).
from-points
(function).
intersects-p
(function).
intersects-with-line-segment-p
(function).
intersects-with-line3-p
(function).
intersects-with-ray3-p
(function).
make
(function).
maxima
(function).
minima
(function).
rtg-math/regions/regions.lisp
regions/aab/consing.lisp
(file).
rtg-math
(system).
closest-point
(generic function).
closest-points
(generic function).
distance
(generic function).
distance-squared
(generic function).
intersects-p
(generic function).
rtg-math/vectors/base/docs.lisp
regions/regions.lisp
(file).
rtg-math
(system).
rtg-math/vectors/vector2/docs-non-consing.lisp
vectors/base/docs.lisp
(file).
rtg-math
(system).
rtg-math/vectors/vector2/docs-consing.lisp
rtg-math
(system).
rtg-math/vectors/vector3/docs-non-consing.lisp
rtg-math
(system).
rtg-math/vectors/vector3/docs-consing.lisp
rtg-math
(system).
rtg-math/vectors/vector4/docs-non-consing.lisp
rtg-math
(system).
rtg-math/vectors/vector4/docs-consing.lisp
rtg-math
(system).
rtg-math/matrices/base/docs.lisp
vectors/docs.lisp
(file).
rtg-math
(system).
rtg-math/matrices/matrix2/docs-consing.lisp
matrices/base/docs.lisp
(file).
rtg-math
(system).
rtg-math/matrices/matrix3/docs-consing.lisp
rtg-math
(system).
rtg-math/matrices/matrix4/docs-consing.lisp
rtg-math
(system).
rtg-math/matrices/matrix2/docs-non-consing.lisp
rtg-math
(system).
rtg-math/matrices/matrix3/docs-non-consing.lisp
rtg-math
(system).
rtg-math/matrices/matrix4/docs-non-consing.lisp
rtg-math
(system).
rtg-math/quaternions/docs-consing.lisp
matrices/docs.lisp
(file).
rtg-math
(system).
rtg-math/quaternions/docs-non-consing.lisp
quaternions/docs-consing.lisp
(file).
rtg-math
(system).
rtg-math/projection/orthographic/docs-non-consing.lisp
polar-coords/docs.lisp
(file).
rtg-math
(system).
rtg-math/projection/orthographic/docs-consing.lisp
rtg-math
(system).
rtg-math/projection/perspective/docs-non-consing.lisp
rtg-math
(system).
rtg-math/projection/perspective/docs-consing.lisp
rtg-math
(system).
rtg-math/docs.lisp
types-docs.lisp
(file).
rtg-math
(system).
Packages are listed by definition order.
rtg-math.projection.non-consing
rtg-math.vector4
rtg-math.region
rtg-math.matrix4.non-consing
rtg-math.base-matrices
rtg-math.spherical
rtg-math.types
rtg-math.vector2
rtg-math.matrix3
rtg-math.vector2.non-consing
rtg-math.quaternions
rtg-math.base-vectors
rtg-math.vectors
rtg-math.matrix2.non-consing
%rtg-math.matrix3.common
rtg-math.region.axis-aligned-box
rtg-math.polar
rtg-math.region.ray3
%rtg-math
rtg-math.matrix4
%rtg-math.matrix4.common
rtg-math.base-maths
rtg-math.region.line3
rtg-math.projection
rtg-math.quaternions.non-consing
rtg-math
rtg-math.matrices
%rtg-math.matrix2.common
rtg-math.region.axis-aligned-box.non-consing
%rtg-math.quaternion.common
rtg-math.vector4.non-consing
rtg-math.matrix2
rtg-math.region.line-segment3
%rtg-math.regions.axis-aligned-box.common
rtg-math.matrix3.non-consing
rtg-math.vector3
rtg-math.vector3.non-consing
rtg-math.projection.non-consing
%rtg-math
.
common-lisp
.
rtg-math.base-maths
.
rtg-math.base-vectors
.
rtg-math.types
.
orthographic
(function).
orthographic-v2
(function).
perspective
(function).
perspective-radian-fov
(function).
perspective-v2
(function).
perspective-v2-radian-fov
(function).
rtg-math.vector4
v4
%rtg-math
.
common-lisp
.
rtg-math.types
.
*
(compiler macro).
*
(function).
*s
(function).
+
(compiler macro).
+
(function).
+s
(function).
-
(compiler macro).
-
(function).
-s
(function).
/
(function).
/s
(function).
0p
(function).
=
(function).
abs
(function).
absolute-dot
(function).
bezier
(function).
copy-vec4
(function).
decf
(macro).
distance
(function).
distance-squared
(function).
dot
(function).
face-foreward
(function).
incf
(macro).
length
(function).
length-squared
(function).
lerp
(function).
make
(function).
negate
(function).
normalize
(function).
spline
(function).
unitp
(function).
%+
(function).
%-
(function).
*v
(function).
stable-lerp
(function).
rtg-math.region
regions
%rtg-math
.
common-lisp
.
rtg-math.base-maths
.
rtg-math.base-vectors
.
rtg-math.types
.
closest-point
(generic function).
closest-points
(generic function).
distance
(generic function).
distance-squared
(generic function).
intersects-p
(generic function).
rtg-math.matrix4.non-consing
m4-n
%rtg-math
.
%rtg-math.matrix4.common
.
common-lisp
.
rtg-math.types
.
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
*v3
(function).
+
(function).
-
(function).
adjoint
(function).
affine-inverse
(function).
mrow*vec4
(function).
negate
(function).
set-components
(function).
set-from-columns
(function).
set-from-columns-v3
(function).
set-from-mat3
(function).
set-from-rotation-x
(function).
set-from-rotation-y
(function).
set-from-rotation-z
(function).
set-from-rows
(function).
set-from-rows-v3
(function).
set-from-scale
(function).
set-from-translation
(function).
set-rotation-from-axis-angle
(function).
set-rotation-from-euler
(function).
transpose
(function).
%*
(function).
copy-components
(function).
rtg-math.base-matrices
%rtg-math
.
common-lisp
.
rtg-math.types
.
m!one-arg
(function).
rtg-math.spherical
%rtg-math
.
common-lisp
.
rtg-math.base-vectors
.
rtg-math.types
.
cartesian->spherical
(function).
spherical->cartesian
(function).
unit-spherical->unit-cartesian
(function).
rtg-math.types
%rtg-math
.
common-lisp
.
glsl-symbols
.
%rtg-math.matrix2.common
.
%rtg-math.matrix3.common
.
%rtg-math.matrix4.common
.
%rtg-math.quaternion.common
.
%rtg-math.regions.axis-aligned-box.common
.
rtg-math.base-maths
.
rtg-math.base-matrices
.
rtg-math.base-vectors
.
rtg-math.matrices
.
rtg-math.matrix2
.
rtg-math.matrix2.non-consing
.
rtg-math.matrix3
.
rtg-math.matrix3.non-consing
.
rtg-math.matrix4
.
rtg-math.matrix4.non-consing
.
rtg-math.polar
.
rtg-math.projection
.
rtg-math.projection.non-consing
.
rtg-math.quaternions
.
rtg-math.quaternions.non-consing
.
rtg-math.region
.
rtg-math.region.axis-aligned-box
.
rtg-math.region.axis-aligned-box.non-consing
.
rtg-math.region.line-segment3
.
rtg-math.region.line3
.
rtg-math.region.ray3
.
rtg-math.spherical
.
rtg-math.vector2
.
rtg-math.vector2.non-consing
.
rtg-math.vector3
.
rtg-math.vector3.non-consing
.
rtg-math.vector4
.
rtg-math.vector4.non-consing
.
rtg-math.vectors
.
axis-aligned-box
(structure).
int8-vec2
(type).
int8-vec3
(type).
int8-vec4
(type).
line-segment3
(structure).
line3
(structure).
quaternion
(type).
ray3
(structure).
uint8-vec2
(type).
uint8-vec3
(type).
uint8-vec4
(type).
axis-aligned-box-maxima
(reader).
(setf axis-aligned-box-maxima)
(writer).
axis-aligned-box-minima
(reader).
(setf axis-aligned-box-minima)
(writer).
axis-aligned-box-p
(function).
copy-axis-aligned-box
(function).
copy-line-segment3
(function).
copy-line3
(function).
copy-ray3
(function).
line-segment3-end-point0
(reader).
(setf line-segment3-end-point0)
(writer).
line-segment3-offset
(reader).
(setf line-segment3-offset)
(writer).
line-segment3-p
(function).
line3-direction
(reader).
(setf line3-direction)
(writer).
line3-origin
(reader).
(setf line3-origin)
(writer).
line3-p
(function).
make-axis-aligned-box
(function).
make-line-segment3
(function).
make-line3
(function).
make-ray3
(function).
ray3-direction
(reader).
(setf ray3-direction)
(writer).
ray3-origin
(reader).
(setf ray3-origin)
(writer).
ray3-p
(function).
rtg-math.vector2
v2
%rtg-math
.
common-lisp
.
rtg-math.types
.
*
(compiler macro).
*
(function).
*s
(function).
+
(compiler macro).
+
(function).
+s
(function).
-
(compiler macro).
-
(function).
-s
(function).
/
(function).
/s
(function).
0p
(function).
=
(function).
abs
(function).
absolute-dot
(function).
angle-between
(function).
angle-from
(function).
bezier
(function).
copy-vec2
(function).
cross
(function).
decf
(macro).
distance
(function).
distance-squared
(function).
dot
(function).
face-foreward
(function).
from-angle
(function).
from-complex
(function).
incf
(macro).
length
(function).
length-squared
(function).
lerp
(function).
make
(function).
negate
(function).
normalize
(function).
perp-dot
(function).
rotate
(function).
spline
(function).
unitp
(function).
%+
(function).
%-
(function).
*v
(function).
stable-lerp
(function).
rtg-math.matrix3
m3
%rtg-math
.
%rtg-math.matrix3.common
.
common-lisp
.
rtg-math.types
.
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
+
(function).
-
(function).
0!
(function).
0p
(function).
=
(function).
adjoint
(function).
affine-inverse
(function).
copy-mat3
(function).
determinant
(function).
from-columns
(function).
from-direction
(function).
from-rows
(function).
get-axis-angle
(function).
get-column
(function).
get-columns
(function).
get-fixed-angles
(function).
get-row
(function).
get-rows
(function).
identity
(function).
identityp
(function).
look-at
(function).
make
(function).
mrow*vec3
(function).
negate
(function).
point-at
(function).
rotation-from-axis-angle
(function).
rotation-from-euler
(function).
rotation-x
(function).
rotation-y
(function).
rotation-z
(function).
scale
(function).
trace
(function).
transpose
(function).
%*
(function).
rtg-math.vector2.non-consing
v2-n
%rtg-math
.
common-lisp
.
rtg-math.types
.
%*
(function).
%+
(function).
%-
(function).
copy-components
(function).
rtg-math.quaternions
q
%rtg-math
.
%rtg-math.quaternion.common
.
common-lisp
.
rtg-math.base-maths
.
rtg-math.types
.
*
(function).
*s
(function).
+
(compiler macro).
+
(function).
-
(compiler macro).
-
(function).
/=
(function).
0!
(function).
0p
(function).
=
(function).
approx-slerp
(function).
conjugate
(function).
copy
(function).
from-axies
(function).
from-axis-angle
(function).
from-direction
(function).
from-fixed-angles
(function).
from-fixed-angles-v3
(function).
from-mat3
(function).
get-axis-angle
(function).
identity
(function).
identity-p
(function).
inverse
(function).
lerp
(function).
look-at
(function).
magnitude
(function).
make
(function).
norm
(function).
normalize
(function).
point-at
(function).
q!
(function).
qconjugate
(function).
rotate
(function).
slerp
(function).
to-direction
(function).
to-direction-vec4
(function).
to-mat3
(function).
to-mat4
(function).
unitp
(function).
rtg-math.base-vectors
%rtg-math
.
common-lisp
.
glsl-symbols
.
rtg-math.types
.
v!
(compiler macro).
v!
(function).
v!bool
(compiler macro).
v!bool
(function).
v!byte
(compiler macro).
v!byte
(function).
v!double
(compiler macro).
v!double
(function).
v!int
(compiler macro).
v!int
(function).
v!int8
(compiler macro).
v!int8
(function).
v!ubyte
(compiler macro).
v!ubyte
(function).
v!uint
(compiler macro).
v!uint
(function).
v!uint8
(compiler macro).
v!uint8
(function).
v2!
(function).
v2!byte
(function).
v2!double
(function).
v2!int
(function).
v2!int8
(function).
v2!short
(function).
v2!ubyte
(function).
v2!uint
(function).
v2!uint8
(function).
v2!ushort
(function).
v3!
(function).
v3!byte
(function).
v3!double
(function).
v3!int
(function).
v3!int8
(function).
v3!short
(function).
v3!ubyte
(function).
v3!uint
(function).
v3!uint8
(function).
v3!ushort
(function).
v4!
(function).
v4!byte
(function).
v4!double
(function).
v4!int
(function).
v4!int8
(function).
v4!short
(function).
v4!ubyte
(function).
v4!uint
(function).
v4!uint8
(function).
v4!ushort
(function).
w
(compiler macro).
(setf w)
(compiler macro).
w
(function).
(setf w)
(function).
x
(compiler macro).
(setf x)
(compiler macro).
x
(function).
(setf x)
(function).
y
(compiler macro).
(setf y)
(compiler macro).
y
(function).
(setf y)
(function).
z
(compiler macro).
(setf z)
(compiler macro).
z
(function).
(setf z)
(function).
def-v!
(macro).
v!bool-one-arg
(function).
v!one-arg-v!
(function).
v!one-arg-v!byte
(function).
v!one-arg-v!double
(function).
v!one-arg-v!int
(function).
v!one-arg-v!int8
(function).
v!one-arg-v!short
(function).
v!one-arg-v!ubyte
(function).
v!one-arg-v!uint
(function).
v!one-arg-v!uint8
(function).
v!one-arg-v!ushort
(function).
v!short
(compiler macro).
v!short
(function).
v!ushort
(compiler macro).
v!ushort
(function).
rtg-math.vectors
v
%rtg-math
.
common-lisp
.
rtg-math.types
.
*
(function).
+
(function).
+s
(function).
-
(function).
-s
(function).
/
(function).
/=
(function).
0p
(function).
=
(function).
absolute-dot
(function).
bezier
(function).
cross
(function).
decf
(macro).
distance
(function).
distance-squared
(function).
dot
(function).
face-foreward
(function).
incf
(macro).
length
(function).
length-squared
(function).
lerp
(function).
merge-into-vector
(function).
mix
(function).
negate
(function).
normalize
(function).
perp-dot
(function).
swizzle
(compiler macro).
(setf swizzle)
(compiler macro).
swizzle
(function).
(setf swizzle)
(function).
s~
(compiler macro).
(setf s~)
(compiler macro).
s~
(function).
(setf s~)
(function).
unitp
(function).
rtg-math.matrix2.non-consing
m2-n
%rtg-math
.
%rtg-math.matrix2.common
.
common-lisp
.
rtg-math.types
.
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
+
(function).
-
(function).
adjoint
(function).
mrow*vec2
(function).
negate
(function).
set-components
(function).
set-from-columns
(function).
set-from-rows
(function).
set-from-scale
(function).
set-rotation-from-euler
(function).
transpose
(function).
%*
(function).
copy-components
(function).
%rtg-math.matrix3.common
%rtg-math
.
common-lisp
.
rtg-math.types
.
melm
(compiler macro).
melm
(function).
(setf melm)
(function).
mref
(function).
(setf mref)
(function).
rtg-math.region.axis-aligned-box
aab
%rtg-math
.
common-lisp
.
rtg-math.base-maths
.
rtg-math.base-vectors
.
rtg-math.types
.
/=
(function).
=
(function).
add-point
(function).
from-aabs
(function).
from-points
(function).
intersects-p
(function).
intersects-with-line-segment-p
(function).
intersects-with-line3-p
(function).
intersects-with-ray3-p
(function).
make
(function).
maxima
(function).
minima
(function).
rtg-math.polar
%rtg-math
.
common-lisp
.
rtg-math.base-vectors
.
rtg-math.types
.
cartesian->polar
(function).
polar->cartesian
(function).
rtg-math.region.ray3
ray3
%rtg-math
.
common-lisp
.
rtg-math.base-maths
.
rtg-math.base-vectors
.
rtg-math.types
.
/=
(function).
=
(function).
closest-point
(function).
closest-ray-points
(function).
direction
(function).
distance-squared-to-line3
(function).
distance-squared-to-point
(function).
distance-squared-to-ray3
(function).
distance-to-line3
(function).
distance-to-point
(function).
distance-to-ray3
(function).
make
(function).
origin
(function).
transform-m3
(function).
transform-q
(function).
%rtg-math
alexandria
.
common-lisp
.
%rtg-math.matrix2.common
.
%rtg-math.matrix3.common
.
%rtg-math.matrix4.common
.
%rtg-math.quaternion.common
.
%rtg-math.regions.axis-aligned-box.common
.
rtg-math.base-maths
.
rtg-math.base-matrices
.
rtg-math.base-vectors
.
rtg-math.matrices
.
rtg-math.matrix2
.
rtg-math.matrix2.non-consing
.
rtg-math.matrix3
.
rtg-math.matrix3.non-consing
.
rtg-math.matrix4
.
rtg-math.matrix4.non-consing
.
rtg-math.polar
.
rtg-math.projection
.
rtg-math.projection.non-consing
.
rtg-math.quaternions
.
rtg-math.quaternions.non-consing
.
rtg-math.region
.
rtg-math.region.axis-aligned-box
.
rtg-math.region.axis-aligned-box.non-consing
.
rtg-math.region.line-segment3
.
rtg-math.region.line3
.
rtg-math.region.ray3
.
rtg-math.spherical
.
rtg-math.types
.
rtg-math.vector2
.
rtg-math.vector2.non-consing
.
rtg-math.vector3
.
rtg-math.vector3.non-consing
.
rtg-math.vector4
.
rtg-math.vector4.non-consing
.
rtg-math.vectors
.
case=
(macro).
defn
(macro).
defn-inlinable
(macro).
defn-inline
(macro).
ecase=
(macro).
%defn
(function).
*signatures*
(special variable).
parse-defn-args
(function).
rtg-math.matrix4
m4
%rtg-math
.
%rtg-math.matrix4.common
.
common-lisp
.
rtg-math.types
.
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
*v3
(function).
+
(function).
-
(function).
0!
(function).
0p
(function).
=
(function).
adjoint
(function).
affine-inverse
(function).
copy-mat4
(function).
determinant
(function).
from-columns
(function).
from-columns-v3
(function).
from-direction
(function).
from-mat3
(function).
from-rows
(function).
from-rows-v3
(function).
get-axis-angle
(function).
get-column
(function).
get-columns
(function).
get-fixed-angles
(function).
get-row
(function).
get-rows
(function).
identity
(function).
identityp
(function).
inverse
(function).
look-at
(function).
make
(function).
mrow*vec4
(function).
negate
(function).
point-at
(function).
rotation-from-axis-angle
(function).
rotation-from-euler
(function).
rotation-from-mat3
(function).
rotation-x
(function).
rotation-y
(function).
rotation-z
(function).
scale
(function).
to-mat3
(function).
trace
(function).
translation
(function).
transpose
(function).
%rtg-math.matrix4.common
%rtg-math
.
common-lisp
.
rtg-math.types
.
melm
(compiler macro).
melm
(function).
(setf melm)
(function).
minor
(function).
mref
(function).
(setf mref)
(function).
rtg-math.base-maths
%rtg-math
.
common-lisp
.
glsl-symbols
.
rtg-math.types
.
+inv-pi+
(constant).
+one-degree-in-radians+
(constant).
+pi+
(constant).
0.5pi
(constant).
0.5pi-f
(constant).
2pi
(constant).
2pi-f
(constant).
degrees-f
(function).
inv-pi
(constant).
inv-pi-f
(constant).
inv-sqrt
(function).
lerp
(function).
pi-f
(constant).
radians-f
(function).
saturate
(function).
spline
(function).
*coef*
(special variable).
+k-epsilon+
(constant).
+one-radian-in-degrees+
(constant).
bias
(function).
gain
(function).
sfzero-p
(function).
rtg-math.region.line3
line3
%rtg-math
.
common-lisp
.
rtg-math.base-maths
.
rtg-math.base-vectors
.
rtg-math.types
.
closest-line-points
(function).
closest-point
(function).
direction
(function).
distance-squared-to-line3
(function).
distance-squared-to-point
(function).
distance-to-line3
(function).
distance-to-point
(function).
make
(function).
origin
(function).
transform-m3
(function).
transform-q
(function).
rtg-math.projection
%rtg-math
.
common-lisp
.
rtg-math.base-maths
.
rtg-math.base-vectors
.
rtg-math.types
.
orthographic
(function).
orthographic-v2
(function).
perspective
(function).
perspective-radian-fov
(function).
perspective-v2
(function).
perspective-v2-radian-fov
(function).
rtg-math.quaternions.non-consing
q-n
%rtg-math
.
%rtg-math.quaternion.common
.
common-lisp
.
rtg-math.base-maths
.
rtg-math.types
.
%+
(function).
%-
(function).
from-fixed-angles-unnormalized
(function).
set-components
(function).
rtg-math
common-lisp
.
glsl-symbols
.
rtg-math.base-maths
.
rtg-math.base-matrices
.
rtg-math.base-vectors
.
rtg-math.matrices
m
%rtg-math
.
common-lisp
.
rtg-math.types
.
*
(function).
+
(function).
-
(function).
/=
(function).
0p
(function).
1+
(function).
1-
(function).
=
(function).
affine-inverse
(function).
determinant
(function).
elm
(function).
elt
(function).
get-column
(function).
get-columns
(function).
get-row
(function).
get-rows
(function).
inverse
(function).
negate
(function).
to-string
(function).
trace
(function).
transpose
(function).
unitp
(function).
melm
(function).
%rtg-math.matrix2.common
%rtg-math
.
common-lisp
.
rtg-math.types
.
melm
(compiler macro).
melm
(function).
(setf melm)
(function).
rtg-math.region.axis-aligned-box.non-consing
aab-n
%rtg-math
.
common-lisp
.
rtg-math.base-maths
.
rtg-math.base-vectors
.
rtg-math.types
.
merge-point
(function).
%rtg-math.quaternion.common
%rtg-math
.
common-lisp
.
rtg-math.types
.
rtg-math.vector4.non-consing
v4-n
%rtg-math
.
common-lisp
.
rtg-math.types
.
%*
(function).
%+
(function).
%-
(function).
copy-components
(function).
rtg-math.matrix2
m2
%rtg-math
.
%rtg-math.matrix2.common
.
common-lisp
.
rtg-math.types
.
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
+
(function).
-
(function).
0!
(function).
0p
(function).
=
(function).
adjoint
(function).
copy-mat2
(function).
from-columns
(function).
from-rows
(function).
get-column
(function).
get-columns
(function).
get-row
(function).
get-rows
(function).
identity
(function).
identityp
(function).
make
(function).
mrow*vec2
(function).
negate
(function).
rotation-from-euler
(function).
scale
(function).
trace
(function).
transpose
(function).
%*
(function).
rtg-math.region.line-segment3
line-seg3
%rtg-math
.
common-lisp
.
rtg-math.base-maths
.
rtg-math.base-vectors
.
rtg-math.types
.
/=
(function).
=
(function).
closest-line-points
(function).
closest-line-segment-points
(function).
closest-point
(function).
closest-ray-points
(function).
direction
(function).
distance-squared-to-line-seg3
(function).
distance-squared-to-line3
(function).
distance-squared-to-point
(function).
distance-squared-to-ray3
(function).
distance-to-line-seg3
(function).
distance-to-line3
(function).
distance-to-point
(function).
distance-to-ray3
(function).
end-point0
(function).
end-point1
(function).
length
(function).
length-squared
(function).
make
(function).
make-from-point-offset
(function).
transform-m3
(function).
transform-q
(function).
%seg-to-ray-internals
(function).
%seg-to-seg-internals
(function).
line-segment3-end-point1
(function).
%rtg-math.regions.axis-aligned-box.common
%rtg-math
.
common-lisp
.
rtg-math.types
.
with-aab
(macro).
rtg-math.matrix3.non-consing
m3-n
%rtg-math
.
%rtg-math.matrix3.common
.
common-lisp
.
rtg-math.types
.
*
(compiler macro).
*
(function).
*s
(function).
*v
(function).
+
(function).
-
(function).
adjoint
(function).
affine-inverse
(function).
mrow*vec3
(function).
negate
(function).
set-components
(function).
set-from-columns
(function).
set-from-rotation-x
(function).
set-from-rotation-y
(function).
set-from-rotation-z
(function).
set-from-rows
(function).
set-from-scale
(function).
set-rotation-from-axis-angle
(function).
set-rotation-from-euler
(function).
transpose
(function).
%*
(function).
copy-components
(function).
rtg-math.vector3
v3
%rtg-math
.
common-lisp
.
rtg-math.types
.
*
(compiler macro).
*
(function).
*s
(function).
+
(compiler macro).
+
(function).
+s
(function).
-
(compiler macro).
-
(function).
-s
(function).
/
(function).
/s
(function).
0p
(function).
=
(function).
abs
(function).
absolute-dot
(function).
bezier
(function).
copy-vec3
(function).
cross
(function).
decf
(macro).
distance
(function).
distance-squared
(function).
dot
(function).
face-foreward
(function).
incf
(macro).
length
(function).
length-squared
(function).
lerp
(function).
make
(function).
negate
(function).
normalize
(function).
rotate
(function).
spline
(function).
unitp
(function).
%+
(function).
%-
(function).
*v
(function).
closest-point-on-line
(function).
closest-point-on-norm-line
(function).
distance-to-line-sq
(function).
distance-to-norm-line-sq
(function).
stable-lerp
(function).
rtg-math.vector3.non-consing
v3-n
%rtg-math
.
common-lisp
.
rtg-math.types
.
%*
(function).
%+
(function).
%-
(function).
copy-components
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
‘(/ 1 pi)‘ as a ‘single-float‘. This is the older naming, it is now prefered to use ‘inv-pi-f‘
The number of degrees in 1 radian as a ‘single-float‘
‘pi‘ as a ‘single-float‘. This is the older naming, it is now prefered to use ‘pi-f‘
‘(/ pi 2)‘ as a ‘double-float‘
‘(/ pi 2)‘ as a ‘single-float‘
‘(* PI 2)‘ as a ‘double-float‘
‘(* PI 2)‘ as a ‘single-float‘
‘(/ 1 pi) as a ‘double-float‘
‘(/ 1 pi) as a ‘single-float‘
‘pi‘ as a ‘single-float‘
Decrements the ‘vec4‘ in ’place’ by another ‘vec4‘
Decrements the ‘vec2‘ in ’place’ by another ‘vec2‘
Decrements the vector in ’place’ by another vector of the same kind
Decrements the ‘vec3‘ in ’place’ by another ‘vec3‘
Define a typed function
Define a typed function that can be inlined but by default shouldn’t be
Define a typed function and request that it be inlined
Increments the ‘vec4‘ in ’place’ by another ‘vec4‘
Increments the ‘vec2‘ in ’place’ by another ‘vec2‘
Increments the vector in ’place’ by another vector of the same kind
Increments the ‘vec3‘ in ’place’ by another ‘vec3‘
Provide access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Provide access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Provide access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Takes any number of ‘vec4‘ and performs component-wise multiplication on them returning a new ‘vec4‘
Takes any number of ‘mat4‘s and multiplies them together destructively writing the result into the first ‘mat4‘.
Takes any number of ‘vec2‘ and performs component-wise multiplication on them returning a new ‘vec2‘
Takes any number of ‘mat3‘s and multiplies them together returning a new ‘mat3‘.
Destructively performs component-wise multiplication of the ‘vec2‘s, the first ‘vec2‘ is mutated.
Multiplies (and thus combines) the two ‘quaternion‘s given, returning a new ‘quaternion‘
Adds two vectors together and returns the result as a new vector of the same type
Takes any number of ‘mat2‘s and multiplies them together destructively writing the result into the first ‘mat2‘.
Takes any number of ‘mat4‘s and multiplies them together returning a new ‘mat4‘.
Destructively multiplies (and thus combines) the second ‘quaternion‘ into the first.
Takes any number of matrices (of the same kind) and multiplies them together returning a new matrix of the same kind.
Destructively performs component-wise multiplication of the ‘vec4‘s, the first ‘vec4‘ is mutated.
Takes any number of ‘mat2‘s and multiplies them together returning a new ‘mat2‘.
Takes any number of ‘mat3‘s and multiplies them together destructively writing the result into the first ‘mat3‘.
Takes any number of ‘vec3‘ and performs component-wise multiplication on them returning a new ‘vec3‘
Destructively performs component-wise multiplication of the ‘vec3‘s, the first ‘vec3‘ is mutated.
Component-wise multiplication of the vector by the scalar
Destructively performs component-wise multiplication of the ‘vec3‘ by the scalar
Component-wise multiplication of the vector by the scalar
Multiplies the components of the ‘mat3‘ by the scalar provided
Destructively performs component-wise multiplication of the ‘vec2‘ by the scalar
Component-wise multiplication of the ‘quaternion‘ by the scalar
Multiplies the components of the ‘mat4‘ by the scalar provided
Destructively performs component-wise multiplication of the ‘vec4‘ by the scalar
Multiplies the components of the ‘mat2‘ by the scalar provided
Multiplies the components of the ‘mat4‘ by the scalar provided
Component-wise multiplication of the vector by the scalar
Destructively performs component-wise multiplication of the ‘vec3‘ by the scalar
Destructively multiplies the ‘vec3‘ by the top left 3x3 portion of the ‘mat4‘ returning the mutated ‘vec3‘
Multiplies the ‘vec3‘ by the ‘mat3‘ and returns the result as a new ‘vec3‘
Destructively multiplies the ‘vec3‘ by the ‘mat2‘ and returning the mutated ‘vec3‘
Multiplies the ‘vec4‘ by the ‘mat4‘ and returns the result as a new ‘vec4‘
Multiplies the ‘vec2‘ by the ‘mat2‘ and returns the result as a new ‘vec2‘
Destructively multiplies the ‘vec3‘ by the ‘mat3‘ and returning the mutated ‘vec3‘
Multiplies the ‘vec3‘ by the ‘mat3‘ and returns the result as a new ‘vec3‘
Takes any number of ‘vec4‘ and performs component-wise addition on them returning a new ‘vec4‘
Add the second ‘mat4‘ component wise to the first and return the first
Takes any number of ‘vec2‘ and performs component-wise addition on them returning a new ‘vec2‘
Adds the 2 matrices component wise and returns the result as a new ‘mat3‘
Destructively performs component-wise addition of the ‘vec2‘s, the first ‘vec2‘ is mutated.
Component-wise addition of any number of quaternions.
Adds ’n’ ‘vec2‘, ‘vec3‘ or ‘vec4‘ together, returning a new vector of the same kind.
Add the second ‘mat2‘ component wise to the first and return the first
Adds the 2 matrices component wise and returns the result as a new ‘mat4‘
Destructively performs component-wise addition of the ‘quaternion‘s, the first ‘quaternion‘ is mutated.
Takes any number of matrices (of the same kind) and performs component-wise addition them together returning a new matrix of the same kind.
Destructively performs component-wise addition of the ‘vec4‘s, the first ‘vec4‘ is mutated.
Adds the 2 matrices component wise and returns the result as a new ‘mat2‘
Add the second ‘mat3‘ component wise to the first and return the first
Takes any number of ‘vec3‘ and performs component-wise addition on them returning a new ‘vec3‘
Destructively performs component-wise addition of the ‘vec3‘s, the first ‘vec3‘ is mutated.
Component-wise add of single-float to ‘vec4‘
Component-wise add of single-float to ‘vec2‘
Destructive Component-wise add of ‘single-float‘ into the given ‘vec2‘
Componentwise addition of the given scalar to the components of the ‘vec2‘, ‘vec3‘ or ‘vec4‘ provided. Returns a new vector of the same kind.
Destructive Component-wise add of ‘single-float‘ into the given ‘vec2‘
Component-wise add of single-float to ‘vec3‘
Destructive Component-wise add of ‘single-float‘ into the given ‘vec3‘
Takes any number of ‘vec4‘ and performs component-wise subtraction on them returning a new ‘vec4‘
Subtracts the second ‘mat4‘ component wise from the first and return the first
Takes any number of ‘vec2‘ and performs component-wise subtraction on them returning a new ‘vec2‘
Subtracts the 2 matrices component wise and returns the result as a new ‘mat3‘
Destructively performs component-wise substraction of the ‘vec2‘s, the first ‘vec2‘ is mutated.
Takes any number of ‘quaternion‘ and performs component-wise subtraction on them returning a new ‘quaternion‘
Subtracts ’n’ ‘vec2‘, ‘vec3‘ or ‘vec4‘ from each other, returning a new vector of the same kind.
Subtracts the second ‘mat2‘ component wise from the first and return the first
Subtracts the 2 matrices component wise and returns the result as a new ‘mat4‘
Destructively performs component-wise substraction of the ‘quaternion‘s, the first ‘quaternion‘ is mutated.
Takes any number of matrices (of the same kind) and performs component-wise negation of them returning a new matrix of the same kind.
Destructively performs component-wise substraction of the ‘vec4‘s, the first ‘vec4‘ is mutated.
Subtracts the 2 matrices component wise and returns the result as a new ‘mat2‘
Subtracts the second ‘mat3‘ component wise from the first and return the first
Takes any number of ‘vec3‘ and performs component-wise subtraction on them returning a new ‘vec3‘
Destructively performs component-wise substraction of the ‘vec3‘s, the first ‘vec3‘ is mutated.
Component-wise subtraction of single-float from ‘vec4‘
Component-wise subtraction of single-float from ‘vec2‘
Destructive Component-wise subtraction of ‘single-float‘ from the given ‘vec2‘
Componentwise subtractiong of the given scalar from the components of the ‘vec2‘, ‘vec3‘ or ‘vec4‘ provided. Returns a new vector of the same kind.
Destructive Component-wise subtraction of ‘single-float‘ from the given ‘vec2‘
Component-wise subtraction of single-float from ‘vec3‘
Destructive Component-wise subtraction of ‘single-float‘ from the given ‘vec3‘
Component-wise division of the two ‘vec4‘
Component-wise division of the two ‘vec2‘
Destructively performs component-wise division of the ‘vec2‘s, the first ‘vec2‘ is mutated
Divides the given ‘vec2‘, ‘vec3‘ or ‘vec4‘ by the scalar or vector provided.
If a vector is provided it must be of the same kind as ‘vec-a‘ and the division is performed component-wise.
Destructively performs component-wise division of the ‘vec4‘s, the first ‘vec4‘ is mutated
Component-wise division of the two ‘vec3‘
Destructively performs component-wise division of the ‘vec3‘s, the first ‘vec3‘ is mutated
Component-wise comparison of two quaternions. Returns T if any components are not equal (by =)
Returns either t if the two vectors are equal. Otherwise it returns nil.
Returns either t if the matrices are equal. Otherwise it returns nil.
Component-wise division of the vector by the scalar
Component-wise division of the vector by the scalar
Destructively performs component-wise division of the ‘vec2‘ by the scalar
Destructively performs component-wise division of the ‘vec4‘ by the scalar
Component-wise division of the vector by the scalar
Destructively performs component-wise division of the ‘vec3‘ by the scalar
Returns a new ‘quaternion‘ where every component is 0
Return a ‘mat4‘ where every component is 0
Return a ‘mat2‘ where all components are zero
Checks if the length of the vector is zero. As this is a
floating point number it checks to see if the length is
below a threshold set in the base-maths package
Note: Old, float epsilons are tricky, I have a ticket open to review this
Checks if the length of the vector is zero. As this is a floating point number
it checks to see if the length is below a threshold set in the base-maths
package
Note: Old, float epsilons are tricky, I have a ticket open to review this
Returns T if this is a zero matrix
As contents of the matrix are floats the values have an error bound as defined
in base-maths
Note: Old, float epsilons are tricky, I have a ticket open to review this
Returns T if all the components of the given ‘quaternion‘ are 0
Returns t if the vector is of zero length
Returns T if this is a zero matrix
As contents of the matrix are floats the values have an error bound as defined
in base-maths
Note: Old, float epsilons are tricky, I have a ticket open to review this
Returns T if all the components of the matrix ‘=‘ 0
Returns T if this is a zero matrix
As contents of the matrix are floats the values have an error bound as defined
in base-maths
Note: Old, float epsilons are tricky, I have a ticket open to review this
Checks if the length of the vector is zero. As this is a
floating point number it checks to see if the length is
below a threshold set in the base-maths package
Note: Old, float epsilons are tricky, I have a ticket open to review this
Returns a new matrix which is equal to the given matrix with every component incremented by 1
Returns a new matrix which is equal to the given matrix with every component decremented by 1
Returns either t if the two vectors are equal. Otherwise it returns nil.
Returns T if the two vectors are equal. Otherwise it returns nil.
Returns T if all elements of both matrices provided are equal
Returns T if the two ‘quaternion‘s given are component-wise equal (by cl:=)
Returns either t if the vectors are equal. Otherwise it returns nil.
Returns T if all elements of both matrices provided are equal
Returns either t if the matrices are equal. Otherwise it returns nil.
Returns T if all elements of both matrices provided are equal
Returns either t if the two vectors are equal. Otherwise it returns nil.
Return a ‘vec4‘ containing the ‘abs‘ of the original vec4’s components.
Return a ‘vec2‘ containing the ‘abs‘ of the original vec2’s components.
Return a ‘vec3‘ containing the ‘abs‘ of the original vec3’s components.
Return the absolute dot product of the vector-a and vector-b.
Return the absolute dot product of the vector-a and vector-b.
Adds two vectors together and returns the result as a new vector of the same type
Return the absolute dot product of the vector-a and vector-b.
Mutates the given ‘mat4‘ to be it’s own adjoint
Returns the adjoint of the provided matrix
Mutates the given ‘mat2‘ to be it’s own adjoint
Returns the adjoint of the provided matrix
Returns the adjoint of the provided matrix
Mutates the given ‘mat3‘ to be it’s own adjoint
Mutates the given ‘mat4‘ to be it’s own inverse
returns the inverse of the ‘mat3‘
returns the inverse of the ‘mat4‘
Returns a new matrix which is the inverse of the one given.
Mutates the given ‘mat3‘ to be it’s own inverse
Returns the angle between two ‘vec2‘s.
Equivilent to (abs (v2:angle-from a b))
Returns the signed angle between the two ‘vec2‘s.
Positive angles are counter-clockwise
A faster and less accurate version of ‘slerp‘ for quaternions
{TODO}
{TODO}
{TODO}
{TODO}
Takes a polar coord vector with the layout (θ r) and and converts it to
a cartesian ‘vec2‘
Notes:
r - length of υ
θ - angle between υ and y axis
θ>0 means counter-clockwise rotation
Takes a cartesian vector3 and converts it to a spherical coord vector with the layout (θ φ ρ).
Notes:
θ - angle between υ and x axis (rotating around z)
φ - angle between υ and z axis
ρ - distance from origin (lengh of υ)
Returns the conjugate of the given quaternion
Destructively replaces the given ‘quaternion‘ with it’s conjugate
Returns a fresh ‘quaternion‘ which is = to the one given
Returns a fresh ‘mat2‘ which is m2:= to the orignal matrix
Returns a fresh ‘mat3‘ which is m3:= to the orignal matrix
Returns a fresh ‘mat4‘ which is m4:= to the orignal matrix
Returns a fresh ‘vec2‘ which is v2:= to the orignal vector
Returns a fresh ‘vec3‘ which is v3:= to the orignal vector
Returns a fresh ‘vec4‘ which is v4:= to the orignal vector
Calculates the cross-product of 2 ‘vec2‘s. This results in a ‘single-float‘ which is 2 times the area of the triangle.
Calculates the cross-product of 2 vectors, i.e. the vector that lies perpendicular to them both. The resulting vector will not be normalized.
Calculates the cross-product of 2 ‘vec3‘, i.e. the vector that lies perpendicular to them both. The resulting ‘vec3‘ will not be normalized.
Converts a quantity, specified in radians as a ‘single-float‘ into degrees.
Returns the determinant of the ‘mat3‘ (uses the cramer method)
Returns the determinant of the ‘mat4‘
Returns the determinant of the given matrix
Return the distance between 2 points defined by vectors
vector-a & vector-b. If comparing distances, use
c-distance-squared as it desnt require a sqrt and thus is
faster.
If simply comparing distances then prefer the ‘distance-squared‘ function as
the ‘sqrt‘ required here is (relatively) slow.
Return the distance between 2 points defined by vectors
vector-a & vector-b. If comparing distances, use
c-distance-squared as it desnt require a sqrt and thus is
faster.
If simply comparing distances then prefer the ‘distance-squared‘ function as
the ‘sqrt‘ required here is (relatively) slow.
Return the distance between 2 points defined by vectors vector-a & vector-b. If comparing distances, use c-distance-squared as it desnt require a sqrt and thus is faster.
Return the distance between 2 points defined by vectors
vector-a & vector-b. If comparing distances, use
c-distance-squared as it desnt require a sqrt and thus is
faster.
If simply comparing distances then prefer the ‘distance-squared‘ function as
the ‘sqrt‘ required here is (relatively) slow.
Finds the squared distance between 2 points defined by ‘vec4‘s
vector-a & vector-b
‘distance‘ is the square root of this value. The ‘sqrt‘ function is (relatively) slow so if all thats needs doing is to compare distances then prefer the ‘distance-squared‘ function
Finds the squared distance between 2 points defined by ‘vec2‘s
vector-a & vector-b
‘distance‘ is the square root of this value. The ‘sqrt‘ function is (relatively) slow so if all thats needs doing is to compare distances then prefer the ‘distance-squared‘ function
Returns the squared distance between 2 points defined by vectors vector-a & vector-b
Finds the squared distance between 2 points defined by ‘vec3‘s
vector-a & vector-b
‘distance‘ is the square root of this value. The ‘sqrt‘ function is (relatively) slow so if all thats needs doing is to compare distances then prefer the ‘distance-squared‘ function
Return the dot product of vector-a and vector-b.
Return the dot product of vector-a and vector-b.
Returns the dot product of the 2 given vectors.
return the dot product of the quat-a and quat-b.
Return the dot product of vector-a and vector-b.
DEPRECATED: Please use melm
DEPRECATED: Please use melm
Returns ‘vector-a‘ if ‘(> (v4:dot vector-a vector-b) 0)‘ else returns ‘(v4:negate vector-a)‘
Returns ‘vector-a‘ if ‘(> (v2:dot vector-a vector-b) 0)‘ else returns ‘(v2:negate vector-a)‘
Returns ‘vector-a‘ if ‘(> (v3:dot vector-a vector-b) 0)‘ else returns ‘(v3:negate vector-a)‘
Returns ‘vector-a‘ if ‘(> (v3:dot vector-a vector-b) 0)‘ else returns ‘(v3:negate vector-a)‘
Makes a ‘vec2‘ from an angle in radians.
Angle is in radians turning counterclockwise from ‘(v! 0 1)‘
{TODO}
Returns a new ‘quaternion‘ which represents a rotation around the given axis by the given angle
Turns the given ‘quaternion‘ into one which represents a rotation around the given axis by the given angle
Make a ‘mat3‘ using the data in the 3 ‘vec3‘s to populate the columns
Make a ‘mat4‘ using the data in the 4 ‘vec4‘s to populate the columns
Make a ‘mat2‘ using the data in the 2 ‘vec2‘s to populate the columns
Make a ‘mat4‘ using the data in the 3 ‘vec3‘s provided to populate the
columns.
The 4th row & column are filled as an identity matrix would be.
Makes a ‘vec2‘ from a ‘complex‘. The ‘realpart‘ becomes the ‘x‘ component and the ‘imagpart‘ becomes the ‘y‘ component.
Creates a ‘mat3‘ that would rotate the vector (v! 0 0 -1) to point in the given direction.
Creates a ‘quaternion‘ that would rotate the vector (v! 0 0 -1) to face in the given direction.
Creates a ‘mat4‘ that would rotate the vector (v! 0 0 -1) to face in the given direction.
Creates a ‘quaternion‘ that represents a rotation around the given axies by the given angles
Turns the given ‘quaternion‘ into one which represents a rotation around the given axies by the given angles.
Creates a ‘quaternion‘ that represents a rotation around the given axies by the angles given in the ‘vec3‘
Creates ‘quaternion‘ that represents the same rotation the ‘mat3‘ does.
Takes a ‘mat3‘ and returns a ‘mat4‘ rotation matrix with the same values.
The 4th row & column are filled as an identity matrix would be.
Destructively updates of the components of the given ‘quaternion‘ making
it represent the rotation from the given ‘mat3‘.
Assumes that this is a rotation matrix. It is critical that this
is true (and elements are between -1f0 and 1f0) as otherwise you will
at best get a runtime error, and most likely a silently incorrect result.
Make a ‘mat3‘ using the data in the 3 ‘vec3‘s to populate the rows
Make a ‘mat4‘ using the data in the 4 ‘vec4‘s to populate the rows
Make a ‘mat2‘ using the data in the 2 ‘vec2‘s to populate the rows
Make a ‘mat4‘ using the data in the 3 ‘vec3‘s provided to populate the rows.
The 4th row & column are filled as an identity matrix would be.
Gets one possible axis-angle pair that will generate this
‘mat3‘.
Assumes that this is a rotation matrix. It is critical that this
is true (and elements are between -1f0 and 1f0) as otherwise you will
at best get a runtime error, and most likely a silently incorrect result.
Gets one possible axis-angle pair that will generate this ‘quaternion‘
Assumes that this is a normalized quaternion. It is critical that this is true as otherwise you will at best get a runtime error, and most likely a silently incorrect result.
Gets one possible axis-angle pair that will generate this
‘mat4‘.
Assumes that this is a rotation matrix. It is critical that this
is true (and elements are between -1f0 and 1f0) as otherwise you will
at best get a runtime error, and most likely a silently incorrect result.
Return the specified column of the matrix as a ‘vec3‘
Return the specified column of the matrix as a ‘vec4‘
Returns the specifed column of the matrix as vector
Return the specified column of the matrix as a ‘vec2‘
Return the columns of the matrix as 3 ‘vec3‘s
Return the columns of the matrix as 4 ‘vec4‘s
Returns the columns of the matrix as a list of vectors
Return the columns of the matrix as 2 ‘vec2‘s
Gets one set of possible z-y-x fixed angles that will generate
this ‘mat3‘.
Assumes that this is a rotation matrix. It is critical that this
is true (and elements are between -1f0 and 1f0) as otherwise you will
at best get a runtime error, and most likely a silently incorrect result.
Gets one set of possible z-y-x fixed angles that will generate
this ‘mat4‘.
Assumes that this is a rotation matrix. It is critical that this
is true (and elements are between -1f0 and 1f0) as otherwise you will
at best get a runtime error, and most likely a silently incorrect result.
Return the specified row of the matrix as a ‘vec3‘
Return the specified row of the matrix as a ‘vec4‘
Returns the specifed row of the matrix as vector
Return the specified row of the matrix as a ‘vec2‘
Return the rows of the matrix as 3 ‘vec3‘s
Return the rows of the matrix as 4 ‘vec4‘s
Returns the rows of the matrix as a list of vectors
Return the rows of the matrix as 2 ‘vec2‘s
Return a ‘mat3‘ identity matrix
Returns a fresh identity quaternion
Return a ‘mat4‘ identity matrix
Return a ‘mat2‘ identity matrix
Returns T if the given ‘quaternion‘ is the identity quaternion
Returns T if this is an identity matrix
As contents of the matrix are floats the values have an error bound as defined
in base-maths
Note: Old, float epsilons are tricky, I have a ticket open to review this
Returns T if this is an identity matrix
As contents of the matrix are floats the values have an error bound as defined
in base-maths
Note: Old, float epsilons are tricky, I have a ticket open to review this
Returns T if this is an identity matrix
As contents of the matrix are floats the values have an error bound as defined
in base-maths
Note: Old, float epsilons are tricky, I have a ticket open to review this
Calculates the inverse square root of a number
Returns a new ‘quaternion‘ that is the inverse of the one given
Inverts the matrix.
Returns the inverse of the given matrix
Returns the length of the ‘vec4‘
If you only need to compare relative lengths then prefer the ‘length-squared‘ function as ‘sqrt‘ is a (relatively) slow operation.
Returns the length of the ‘vec2‘
If you only need to compare relative lengths then prefer the ‘length-squared‘ function as ‘sqrt‘ is a (relatively) slow operation.
Returns the length of a vector
If you only need to compare relative lengths then definately
stick to length-squared as the sqrt is a slow operation.
Returns the length of the ‘vec3‘
If you only need to compare relative lengths then prefer the ‘length-squared‘ function as ‘sqrt‘ is a (relatively) slow operation.
Return the squared length of the ‘vec4‘
‘length‘ is the square root of this value. The ‘sqrt‘ function is (relatively slow so if all thats needs doing is to compare lengths then prefer the ‘length-squared‘ function
Return the squared length of the ‘vec2‘
‘length‘ is the square root of this value. The ‘sqrt‘ function is (relatively slow so if all thats needs doing is to compare lengths then prefer the ‘length-squared‘ function
Finds the squared distance between 2 points defined by vectors vector-a & vector-b
Return the squared length of the ‘vec3‘
‘length‘ is the square root of this value. The ‘sqrt‘ function is (relatively slow so if all thats needs doing is to compare lengths then prefer the ‘length-squared‘ function
Linearly interpolates between the two ‘vec4‘s by the ‘single-float‘ amount
Linearly interpolates between the two ‘vec2‘s by the ‘single-float‘ amount
Linearaly interpolate between two quaternions. Note that this will always take the shortest path.
Linearly interpolates between the two vectors by the given amount. Returns a new vector of the same kind.
Performs a linear interpolation between ’start’ and ’end’ by the
given ‘amount‘
Linearly interpolates between the two ‘vec3‘s by the ‘single-float‘ amount
Creates a ‘mat3‘ that would rotate the vector (v! 0 0 -1) to point in the direction from ‘from3‘ to ‘to3‘
Creates a ‘quaternion‘ that would rotate the vector (v! 0 0 -1) to point in the direction from ‘from3‘ to ‘to3‘
Creates a ‘mat4‘ that would rotate the vector (v! 0 0 -1) to point in the direction from ‘from3‘ to ‘to3‘
Creates a new ‘mat2‘, ‘mat3‘ or ‘mat4‘ based on the number of components provided.
Returns the magnitude of the quaternion
Make a ‘vec4‘ from 4 ‘single-float‘s
This takes 2 single-floats and give back a ‘vec2‘.
Make a ‘mat3‘. Data must be provided in row major order
Make a ‘quaternion‘ from 4 ‘single-float‘s
Make a ‘mat4‘. Data must be provided in row major order
Make a ‘mat2‘. Data must be provided in row major order
Make a ‘vec3‘ from 3 ‘single-float‘s
Provides access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Provides access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Provides access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Provides access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Provides access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Provides access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Takes a list of vectors and combines them into a new vector
Returns the minor of the matrix
Linearly interpolates between the two vectors by the given amount. Returns a new vector of the same kind.
Provides access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Provides access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Provides access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
Provides access to data in the matrix by row
and column number. The actual data is stored in a 1d list in
column major order, but this abstraction means we only have
to think in row major order which is how most mathematical
texts and online tutorials choose to show matrices
{TODO}
{TODO}
{TODO}
{TODO}
{TODO}
{TODO}
Return a vector that is the negated version of the vector passed in
Negates the components of the ‘mat4‘
Return a vector that is the negated version of the vector passed in
Negates the components of the ‘mat3‘
Destructively negates the given vector
Negates the given vector. Returns a new vector of the same kind.
Negates the components of the ‘mat2‘
Negates the components of the ‘mat4‘
Returns a fresh matrix with all the components negated
Destructively negates the given vector
Negates the components of the ‘mat2‘
Negates the components of the ‘mat3‘
Return a vector that is the negated version of the vector passed in
Destructively negates the given vector
Returns the ’norm’ of the ‘quaternion‘
Note: This is not the normalized verison of the quaternion, that is performed by the ‘normalize‘ function.
This normalizes the given ‘vec4‘.
This normalizes the given ‘vec2‘.
Destructively normalizes the vector
Returns a fresh, normalized version of the given vector.
Normalizes the vector. Returns a new vector of the same kind.
Destructively replaces the given ‘quaternion‘ with the normalized version of itself.
Destructively normalizes the vector
This normalizes the given ‘vec3‘.
Destructively normalizes the vector
Creates a ‘mat4‘ and mutates it to be an orthographic projection matrix
Creates a new orthographic projection matrix (mat4)
Creates a ‘mat4‘ and mutates it to be an orthographic projection matrix (with the frame size specified by a ‘vec2‘)
Creates a new orthographic projection matrix (mat4) with the frame size specified by a ‘vec2‘
{TODO}
{TODO}
Takes a ‘mat4‘ and mutates it to be a perspective matrix with the field of view
being specified in degrees.
The fact that the primary function form takes degress is unusual
in rtg-math. We keep it this way for backwards compatibility. For
the version specified in radians see ‘perspective-radian-fov‘
Creates a perspective matrix (‘mat4‘) with the field of view being
specified in degrees.
The fact that the primary function form takes degress is unusual in rtg-math. We keep it this way for backwards compatibility. For the version specified in radians see ‘perspective-radian-fov‘
Takes a ‘mat4‘ and mutates it to be a perspective matrix
Creates a perspective matrix (‘mat4‘).
Takes a ‘mat4‘ and mutates it to be a perspective matrix with the frame size specified using a ‘vec2‘ and the field of view being specified in degrees.
This variant of ‘perspective‘ that is provided as some libraries will provide
the framesize as a ‘vec2‘ so it felt right to support that rather
that force unpacking.
The fact that the primary function form takes degress is unusual
in rtg-math. We keep it this way for backwards compatibility. For
the version specified in radians see ‘perspective-radian-fov‘
Creates a perspective matrix (‘mat4‘) with the frame size specified using a
‘vec2‘ and the field of view being specified in degrees.
This variant of ‘perspective‘ that is provided as some libraries will provide
the framesize as a ‘vec2‘ so it felt right to support that rather
that force unpacking.
The fact that the primary function form takes degress is unusual
in rtg-math. We keep it this way for backwards compatibility. For
the version specified in radians see ‘perspective-radian-fov‘
Takes a ‘mat4‘ and mutates it to be a perspective matrix with the frame size
specified using a ‘vec2‘
This variant of ‘perspective‘ that is provided as some libraries will provide
the framesize as a ‘vec2‘ so it felt right to support that rather
that force unpacking.
Creates a perspective matrix (‘mat4‘) with the frame size specified using
a ‘vec2‘
This variant of ‘perspective‘ that is provided as some libraries will provide
the framesize as a ‘vec2‘ so it felt right to support that rather
that force unpacking.
Create the ‘mat3‘ rotation portion to a ’world to view’ ’look-at’ matrix
Creates a ‘quaternion‘ that
Create the ‘mat4‘ rotation portion to a ’world to view’ ’look-at’ matrix
Make a ‘quaternion‘ from 4 ‘single-float‘s
Deprecated: Please use ‘conjugate‘
Converts a quantity, specified in degrees as a ‘single-float‘ into radians.
Creates a new ‘vec2‘ which is equivilent to the original once rotated counterclockwise by ‘angle‘ radians.
Rotates the give ‘vec2‘ counterclockwise by ‘angle‘ radians.
Rotates the given ‘vec3‘ using the ‘quaternion‘.
Assumes the ‘quaternion‘ is normalized.
Destructively rotates the ‘vec3‘ using the ‘quaternion‘ returning the
mutated ‘vec3‘.
ssumes quaternion is normalized.
Creates a new ‘vec3‘ which is equivilent to the original once rotated in each axis by the radians in the ‘rotation‘ vec3 provided.
Rotates the given ‘vec3‘ counterclockwise by the radians in the ‘rotation‘ vec3 provided.
Returns a ‘mat3‘ which will rotate a point about the axis specified by the angle provided
Returns a ‘mat4‘ which will rotate a point about the axis specified by the angle provided
Creates a rotation ‘mat3‘ which represents a anticlockwise rotation.
The angle is specified in radians
Creates a rotation ‘mat4‘ which represents a anticlockwise rotation.
The angle is specified in radians
Creates a rotation ‘mat2‘ which represents a anticlockwise rotation.
The angle is specified in radians
Takes a ‘mat3‘ rotation matrix and returns a ‘mat4‘ rotation matrix with the same values. The 4th row & column are filled as an identity matrix would be.
Returns a ‘mat3‘ which would rotate a point around the x axis by the specified amount
Returns a ‘mat4‘ which would rotate a point around the x axis by the specified amount
Returns a ‘mat3‘ which would rotate a point around the y axis by the specified amount
Returns a ‘mat4‘ which would rotate a point around the y axis by the specified amount
Returns a ‘mat3‘ which would rotate a point around the z axis by the specified amount
Returns a ‘mat4‘ which would rotate a point around the z axis by the specified amount
clamps the given ‘single-float‘ between 0.0 and 1.0
Returns a matrix which will scale by the amounts specified
Returns a matrix which will scale by the amounts specified
Returns a matrix which will scale by the amounts specified
Destructively updates of the components of the given ‘mat4‘ to the new ‘single-float‘s provided.
Destructively updates of the components of the given ‘vec2‘ to the new ‘single-float‘s provided.
Destructively updates of the components of the given ‘mat2‘ to the new ‘single-float‘s provided.
Destructively updates of the components of the given ‘vec2‘ to the new ‘single-float‘s provided.
Destructively updates of the components of the given ‘mat3‘ to the new ‘single-float‘s provided.
Destructively updates of the components of the given ‘vec3‘ to the new ‘single-float‘s provided.
Destructively updates of the components of the given ‘mat4‘ using the 4 ‘vec4‘s provided to populate the columns
Destructively updates of the components of the given ‘mat2‘ using the 2 ‘vec2‘s provided to populate the columns
Destructively updates of the components of the given ‘mat3‘ using the 3 ‘vec3‘s provided to populate the columns
Make a ‘mat4‘ using the data in the 3 ‘vec3‘ provided to populate the columns
The 4th row & column is filled as an identity matrix would be.
Destructively updates of the components of the given ‘mat4‘ making
it’s top left 3x3 portion the same as the ‘mat3‘ provided.
The 4th row & column is filled as an identity matrix would be.
Destructively updates of the components of the given ‘mat4‘ making it a matrix which would rotate a point around the x axis by the specified amount
Destructively updates of the components of the given ‘mat3‘ making it a matrix which would rotate a point around the x axis by the specified amount
Destructively updates of the components of the given ‘mat4‘ making it a matrix which would rotate a point around the y axis by the specified amount
Destructively updates of the components of the given ‘mat3‘ making it a matrix which would rotate a point around the y axis by the specified amount
Destructively updates of the components of the given ‘mat4‘ making it a matrix which would rotate a point around the z axis by the specified amount
Destructively updates of the components of the given ‘mat3‘ making it a matrix which would rotate a point around the z axis by the specified amount
Destructively updates of the components of the given ‘mat4‘ using the 4 ‘vec4‘s provided to populate the rows
Destructively updates of the components of the given ‘mat2‘ using the 2 ‘vec2‘s provided to populate the rows
Destructively updates of the components of the given ‘mat3‘ using the 3 ‘vec3‘s provided to populate the rows
Make a ‘mat4‘ using the data in the 3 ‘vec3‘ provided to populate the rows
The 4th row & column is filled as an identity matrix would be.
Mutates the given ‘mat4‘ to be a matrix which will scale by the amounts specified
Mutates the given ‘mat2‘ to be a which will scale by the amounts specified
Mutates the given ‘mat3‘ to be a matrix which will scale by the amounts specified
Destructively updates of the components of the given ‘mat4‘ making it a matrix which which will translate a point by the specified amount
Destructively updates of the components of the given ‘mat4‘ making it a matrix which will rotate a point about the axis specified by the angle provided
Destructively updates of the components of the given ‘mat3‘ making it a matrix which will rotate a point about the axis specified by the angle provided
Destructively modifies the ‘mat4‘ to be a rotation matrix whos rotation angles come from the ‘vec3‘ provided.
Destructively modifies the ‘mat2‘ to be a rotation matrix whos rotation angle comes from the single-float provided.
Destructively modifies the ‘mat3‘ to be a rotation matrix whos rotation angles come from the ‘vec3‘ provided.
Spherically interpolate between two quaternions. Note that this will always take the shortest path.
Takes a spherical coord vector with the layout (θ φ ρ)
and converts it to a cartesian vector3.
Notes:
θ - angle between υ and x axis (rotating around z)
φ - angle between υ and z axis
ρ - distance from origin (lengh of υ)
{TODO}
{TODO}
{TODO}
{TODO}
‘Swizzle‘ allows you to compose a new vector out of an existing one
by picking it’s components.
Given a ‘vec3‘ called ‘a‘ = ‘(v! 1 2 3)‘
- ‘(swizzle a :xy)‘ → (v! 1 2)
- ‘(swizzle a :xx)‘ → (v! 1 1)
- ‘(swizzle a :yx)‘ → (v! 2 1)
- ‘(swizzle a :yyyy)‘ → (v! 2 2 2 2)
- ‘(swizzle a :zzyy)‘ → (v! 3 3 2 2)
Shorthand for ‘swizzle‘
‘s~‘ allows you to compose a new vector out of an existing one
by picking it’s components.
Given a ‘vec3‘ called ‘a‘ = ‘(v! 1 2 3)‘
- ‘(s~ a :xy)‘ → (v! 1 2)
- ‘(s~ a :xx)‘ → (v! 1 1)
- ‘(s~ a :yx)‘ → (v! 2 1)
- ‘(s~ a :yyyy)‘ → (v! 2 2 2 2)
- ‘(s~ a :zzyy)‘ → (v! 3 3 2 2)
Returns a new ‘vec3‘ is equal to ‘(v! 0 0 -1)‘ having been rotated by the given ‘quaternion‘
Returns a new ‘vec4‘ is equal to ‘(v! 0 0 -1 0)‘ having been rotated by the given ‘quaternion‘
Returns a new ‘mat3‘ which represents the same rotation as the given ‘quaternion‘
Returns a fresh ‘mat3‘ which contains the ’top left’ 3x3 portion of the given ‘mat4‘
Given a ‘quaternion‘ and a ‘mat3‘ to mutate this function will mutate the ‘mat3‘ such that it represents the same rotation as the ‘quaternion‘ does.
Returns a new ‘mat4‘ which represents the same rotation as the given ‘quaternion‘ (and zero translation)
Given a ‘quaternion‘ and a ‘mat4‘ to mutate this function will mutate the ‘mat4‘ such that it represents the same rotation as the ‘quaternion‘ does.
{TODO}
Returns the trace of the matrix (That is the diagonal values)
Returns the trace of the matrix (That is the diagonal values)
Returns the trace of the given matrix as a vector
Returns the trace of the matrix (That is the diagonal values)
Takes a ‘vec3‘ and returns a ‘mat4‘ which will translate by the specified amount
Mutates the given ‘mat4‘ to be it’s own transpose
Returns the transpose of the provided matrix
Mutates the given ‘mat2‘ to be it’s own transpose
Returns the transpose of the provided matrix
Returns the transpose of the given matrix
Returns the transpose of the provided matrix
Mutates the given ‘mat3‘ to be it’s own transpose
Checks if the vector is of unit length. As this is a
floating point number it checks to see if the length is
within the range of 1 + or - and threshold set in base-maths
Note: Old, float epsilons are tricky, I have a ticket open to review this
Checks if the vector is of unit length. As this is a
floating point number it checks to see if the length is
within the range of 1 + or - and threshold set in base-maths
Note: Old, float epsilons are tricky, I have a ticket open to review this
Returns T if this is a unit quaternion.
Returns T is the given vector has a length eql to 1
Returns T if the matrix is the unit matrix.
Checks if the vector is of unit length. As this is a
floating point number it checks to see if the length is
within the range of 1 + or - and threshold set in base-maths
Note: Old, float epsilons are tricky, I have a ticket open to review this
Create a vec2, vec3 or vec4. The kind of vector returned by this function
depends on what is passed as the arguments.
It can take any number of the following..
- floats
- integers
- vec2
- vec3
- vec4
so long as the total number of components is 2, 3 or 4. So any of the following
examples are valid:
- ‘(v! 1 2 3 4)‘
- ‘(v! 1.0 2 3.0 4)‘
- ‘(v! 1 (v! 2 3) 4)‘
- ‘(v! (v! 1 2) (v! 3 4))‘
- ‘(v! (v! 1 2 3) 4.0)‘
Create a vector of 2, 3 or 4 booleans out of booleans or other boolean vectors
a vector of 2, 3 or 4 bytes out of bytes or other byte vectors
Create a vector of 2, 3 or 4 doubles out of doubles or other double vectors
Create a vector of 2, 3 or 4 ints out of ints or other int vectors
Create a vector of 2, 3 or 4 int8s out of int8s or other int8 vectors
Create a vector of 2, 3 or 4 ubytes out of ubytes or other ubyte vectors
Create a vector of 2, 3 or 4 uints out of uints or other uint vectors
Create a vector of 2, 3 or 4 uint8s out of uint8s or other uint8 vectors
Create vec2 from 1 or 2 floats or ints
Create vector of two bytes from 1 or 2 bytes
Create vector of two doubles from 1 or 2 doubles
Create vector of two ints from 1 or 2 ints
Create vector of two int8s from 1 or 2 int8s
Create vector of two shorts from 1 or 2 shorts
Create vector of two ubytes from 1 or 2 ubytes
Create vector of two uints from 1 or 2 uints
Create vector of two uint8s from 1 or 2 uint8s
Create vector of two ushorts from 1 or 2 ushorts
Create a vec3 from 1, 2 or 3 floats or ints.
Creates a vector of 3 bytes from 1, 2 or 3 bytes
Creates a vector of 3 doubles from 1, 2 or 3 doubles
Creates a vector of 3 ints from 1, 2 or 3 ints
Creates a vector of 3 int8s from 1, 2 or 3 int8s
Creates a vector of 3 shorts from 1, 2 or 3 shorts
Creates a vector of 3 ubytes from 1, 2 or 3 ubytes
Creates a vector of 3 uints from 1, 2 or 3 uints
Creates a vector of 3 uint8s from 1, 2 or 3 uint8s
Creates a vector of 3 ushorts from 1, 2 or 3 ushorts
Create a vec4 from 1, 2, 3 or 4 floats or ints
Creates a vector of 4 bytes from 1, 2, 3 or 4 bytes
Creates a vector of 4 doubles from 1, 2, 3 or 4 doubles
Creates a vector of 4 ints from 1, 2, 3 or 4 ints
Creates a vector of 4 int8s from 1, 2, 3 or 4 int8s
Creates a vector of 4 shorts from 1, 2, 3 or 4 shorts
Creates a vector of 4 ubytes from 1, 2, 3 or 4 ubytes
Creates a vector of 4 uints from 1, 2, 3 or 4 uints
Creates a vector of 4 uint8s from 1, 2, 3 or 4 uint8s
Creates a vector of 4 ushorts from 1, 2, 3 or 4 ushorts
Returns the w component of the vector
Sets the w component of the vector
Returns the w component of the quaternion
Returns the w component of the quaternion
Returns the x component of the vector
Sets the x component of the vector
Returns the x component of the quaternion
Returns the x component of the quaternion
Returns the y component of the vector
Sets the y component of the vector
Returns the y component of the quaternion
Returns the y component of the quaternion
Returns the z component of the vector
Sets the z component of the vector
Returns the z component of the quaternion
Returns the z component of the quaternion
array
) (reg line-segment3
)) ¶line-segment3
) (point-vec3 array
)) ¶line3
) (reg-b line-segment3
)) ¶line-segment3
) (reg-b line3
)) ¶ray3
) (reg-b line-segment3
)) ¶line-segment3
) (reg-b ray3
)) ¶line-segment3
) (reg-b line-segment3
)) ¶line-segment3
) (reg-b line3
)) ¶line3
) (reg-b line-segment3
)) ¶line-segment3
) (reg-b ray3
)) ¶ray3
) (reg-b line-segment3
)) ¶line-segment3
) (reg-b line-segment3
)) ¶line-segment3
) (reg-b line3
)) ¶line3
) (reg-b line-segment3
)) ¶line-segment3
) (reg-b ray3
)) ¶ray3
) (reg-b line-segment3
)) ¶line-segment3
) (reg-b line-segment3
)) ¶axis-aligned-box
) (reg-b axis-aligned-box
)) ¶line-segment3
) (reg-b axis-aligned-box
)) ¶axis-aligned-box
) (reg-b line-segment3
)) ¶ray3
) (reg-b axis-aligned-box
)) ¶axis-aligned-box
) (reg-b ray3
)) ¶line3
) (reg-b axis-aligned-box
)) ¶axis-aligned-box
) (reg-b line3
)) ¶structure-object
.
glsl-symbols.types:vec3
(make-array 3 :element-type (quote single-float) :initial-element -1.0)
glsl-symbols.types:vec3
(make-array 3 :element-type (quote single-float) :initial-element 1.0)
structure-object
.
glsl-symbols.types:vec3
(make-array 3 :element-type (quote single-float) :initial-element 0.0)
glsl-symbols.types:vec3
(make-array 3 :element-type (quote single-float) :initial-contents (quote (0.0 1.0 0.0)))
structure-object
.
glsl-symbols.types:vec3
(make-array 3 :element-type (quote single-float) :initial-element 0.0)
glsl-symbols.types:vec3
(make-array 3 :element-type (quote single-float) :initial-element 1.0)
structure-object
.
glsl-symbols.types:vec3
(make-array 3 :element-type (quote single-float) :initial-element 0.0)
glsl-symbols.types:vec3
(make-array 3 :element-type (quote single-float) :initial-element 1.0)
A ‘simple-array‘ of 2 ‘(signed-byte 8)‘s
A ‘simple-array‘ of 3 ‘(signed-byte 8)‘s
A ‘simple-array‘ of 4 ‘(signed-byte 8)‘s
A ‘simple-array‘ of 2 ‘(unsigned-byte 8)‘s
A ‘simple-array‘ of 3 ‘(unsigned-byte 8)‘s
A ‘simple-array‘ of 4 ‘(unsigned-byte 8)‘s
Add two vectors and return a new vector containing the result
Add two vectors and return a new vector containing the result
Subtract two vectors and return a new vector containing the result
Subtract two vectors and return a new vector containing the result
This takes floats and give back a vector, this is just an array but it specifies the array type and populates it.
Returns: dir-a dir-b w0 tc sc
Returns: dir-a dir-b w0 tc sc
Component-wise multiplication of two ‘vec4‘
Component-wise multiplication of two ‘vec2‘
Component-wise multiplication of two ‘vec3‘
Returns the specific component from the matrix
Rotates the given ‘vec4‘ by the ‘quaternion‘.
Assumes the ‘quaternion‘ is normalized.