Package: graphene
Macro graphene:with-matrix
Lambda Listgraphene:with-matrix ((var &rest args) &body body) Syntax(graphene:with-matrix (m) body) => result (graphene:with-matrix (m m1) body) => result (graphene:with-matrix (m (p graphene:point3d-t)) body) => result (graphene:with-matrix (m angle (axis graphene:vec3-t)) body) => result (graphene:with-matrix (m xskew yskew) body) => result (graphene:with-matrix (m x y z) body) => result (graphene:with-matrix (m (eye graphene:vec3-t) center up) body) => result (graphene:with-matrix (m fovy aspect znear zfar) body) => result (graphene:with-matrix (m (v0 graphene:vec4-t) v1 v2 v3) body) => result (graphene:with-matrix (m left right top bottom znear zfar) body) => result (graphene:with-matrix (m (xx :double) yx xy yy x0 y0) body) => result (graphene:with-matrix (m &rest args) body) => result Argumentsm -- a graphene:matrix-t instance to create and initialize m1 -- a graphene:matrix-t instance to use for initialization p -- a graphene:point3d-t instance axis, eye, center, up -- a graphene:vec3-t instance v0,v1,v2,v3 -- a graphene:vec4-t instance xx, yx, xy, yy, x0, y0 -- a double float other values -- a single float Details The graphene:with-matrix macro allocates a new graphene:matrix-t instance, initializes the matrix with the given
values and executes the body that uses the matrix.
After execution of the body the allocated memory for the matrix is released. The macro uses the following function for intialization of the matrix:
Notes | See also |
2025-4-6