br_matrix34
Note that this is effectively used as a 44 matrix, but omitting the redundant, fourth column for storage purposes. Thus:
It is applied to homogenous 3D co-ordinates, which similarly omit the fourth element for sake of economy.
It can be noted that the bottom row has a translational effect. Also note, that the matrix determinant represents the volume change effected.
typedef
matrix.h
for precise declaration and ordering)
br_scalar m[4][3] Four rows of three columns
BrActorToActorMatrix34()
82
.
BrMatrix4Pre34()
219
, BrMatrix4Copy34()
223
.
BrMatrix34RollingBall()
69
.
br_matrix4
214
, br_material
151
, br_pick3d_cbfn
270
.
This matrix can also be thought of as an array of four Members
Each element of the matrix can be freely and individually accessed.br_scalar m[4][3]
br_vector3
356br_vector3 m[4]
. Thus m[row]
can be cast as (br_vector3*)
.
A pointer to the destination matrix (must be different from both sources).
Pointer to the left hand source matrix.
Pointer to the right hand source matrix.
Arithmetic
Description:
Multiply two matrices together and place the result in a third matrix. Equivalent to the expression:BrMatrix34Mul()
void BrMatrix34Mul(br_matrix34* A, const br_matrix34* B, const br_matrix34* C)
br_matrix34 * A
const br_matrix34 * B
const br_matrix34 * C
A
is equivalent to the following:BrMatrix34Pre()
194,
BrMatrix34Post()
199
A pointer to the destination matrix (must be different from source).
A pointer to the source matrix.
If the inverse exists, the determinant of the source matrix is returned. If there is no inverse, scalar zero is returned.
Description:
Compute the inverse of the supplied 3D affine matrix. Equivalent to the expression:BrMatrix34Inverse()
br_scalar BrMatrix34Inverse(br_matrix34* A, const br_matrix34* B)
br_matrix34 * A
const br_matrix34 * B
br_scalar
double
precision arithmetic, this does not necessarily mean that it can using the br_scalar
332 type. This difference is most marked between fixed and floating point BRender libraries.
See Also:
BrMatrix34LPInverse()
190
.
Equivalent to the expression:
A pointer to the destination matrix (must be different from source).
A pointer to the source matrix.
Description:
Compute the inverse of the supplied length preserving*1 transformation matrix. The resulting matrix is undefined for non-length preserving matrices.BrMatrix34LPInverse()
void BrMatrix34LPInverse(br_matrix34* A, const br_matrix34* B)
br_matrix34 * A
const br_matrix34 * B
BrMatrix34Inverse()
189.
A pointer to the destination vector (must be different from source, and not part of transform), to hold the transformed point.
A pointer to the source vector, holding the point to be transformed.
A pointer to the transform matrix to be applied.
Description:
Applies a transform to a 3D point which may have non-unity homogenous co-ordinates. Equivalent to the expression:BrMatrix34Apply()
void BrMatrix34Apply(br_vector3* A, const br_vector4* B, const br_matrix34* C)
br_vector3*2 * A
const br_vector4 * B
const br_matrix34 * C
br_vector4
365) or used to scale down the first three elements. This all depends on the purpose for which this function is called.
The result in A
is equivalent to the following:
A pointer to the destination vector (must be different from source, and not part of transform), to hold the transformed point.
A pointer to the source vector, holding the point to be transformed.
A pointer to the transform matrix to be applied.
A pointer to the destination vector (must be different from source, and not part of transform), to hold the transformed vector.
A pointer to the source vector, holding the vector to be transformed.
A pointer to the transform matrix to be applied.
A pointer to the destination vector (must be different from source), to hold the transformed point.
A pointer to the source vector, holding the point to be transformed.
A pointer to the transform matrix to be applied transposed.
A pointer to the destination vector (must be different from source, and not part of transform), to hold the transformed point.
A pointer to the source vector, holding the point to be transformed.
A pointer to the transform matrix to be applied transposed - the translation elements are presumed zero or irrelevant.
A pointer to the destination vector (must be different from source, and not part of transform), to hold the transformed vector.
A pointer to the source vector, holding the vector to be transformed.
A pointer to the transform matrix to be applied transposed - the translation elements are presumed zero or irrelevant.
A pointer to the subject matrix (may be same as
A pointer to the pre-multiplying matrix.
A pointer to the subject matrix.
The x axis component used to form the translation matrix.
The y axis component used to form the translation matrix.
The z axis component used to form the translation matrix.
A pointer to the subject matrix.
Scaling component along the x axis.
Scaling component along the y axis.
Scaling component along the z axis.
A pointer to the subject matrix.
Shear factor by which the x co-ordinate is included in the transformed y co-ordinate.
Shear factor by which the x co-ordinate is included in the transformed z co-ordinate.
A pointer to the subject matrix.
Shear factor by which the y co-ordinate is included in the transformed x co-ordinate.
Shear factor by which the y co-ordinate is included in the transformed z co-ordinate.
Description:
Applies a transform to a 3D point. Equivalent to the expression:BrMatrix34ApplyP()
void BrMatrix34ApplyP(br_vector3* A, const br_vector3* B, const br_matrix34* C)
br_vector3 * A
const br_vector3 * B
const br_matrix34 * C
A
is equivalent to the following:
Description:
Applies a transform to a 3D vector, i.e. as for a point but without translation components (a vector has no location). Equivalent to the expression:BrMatrix34ApplyV()
void BrMatrix34ApplyV(br_vector3* A, const br_vector3* B, const br_matrix34* C)
br_vector3 * A
const br_vector3 * B
const br_matrix34 * C
A
is equivalent to the following:
Description:
Applies a transform to a transposed 3D point which may have non-unity homogenous co-ordinates. Equivalent to the expression:BrMatrix34TApply()
void BrMatrix34TApply(br_vector4* A, const br_vector4* B, const br_matrix34* C)
br_vector4 * A
const br_vector4 * B
const br_matrix34 * C
A
is equivalent to the following:
Description:
Applies a transposed transform to a 3D point. Equivalent to the expression:BrMatrix34TApplyP()
void BrMatrix34TApplyP(br_vector3* A, const br_vector3* B, const br_matrix34* C)
br_vector3 * A
const br_vector3 * B
const br_matrix34 * C
A
is equivalent to the following:
Description:
Applies a transposed transform to a 3D vector, i.e. as for a point but without translation components (a vector has no location). Equivalent to the expression:BrMatrix34TApplyV()
void BrMatrix34TApplyV(br_vector3* A, const br_vector3* B, const br_matrix34* C)
br_vector3 * A
const br_vector3 * B
const br_matrix34 * C
A
is equivalent to the following:
Description:
Pre-multiply one matrix by another. Equivalent to the expression:BrMatrix34Pre()
void BrMatrix34Pre(br_matrix34* A, const br_matrix34* B)
br_matrix34 * A
B
).const br_matrix34 * B
BrMatrix34Post()
199,
BrMatrix34Mul()
188
Description:
Pre-multiply a matrix by a translation transform matrix. Equivalent to the expression:BrMatrix34PreTranslate()
void BrMatrix34PreTranslate(br_matrix34* mat, br_scalar dx, br_scalar dy, br_scalar dz)
br_matrix34 * mat
br_scalar dx
br_scalar dy
br_scalar dz
BrMatrix34PostTranslate()
199,
BrMatrix34Translate()
208
Description:
Pre-multiply a matrix by a scaling transform matrix. Equivalent to the expression:BrMatrix34PreScale()
void BrMatrix34PreScale(br_matrix34* mat, br_scalar sx, br_scalar sy, br_scalar sz)
br_matrix34 * mat
br_scalar sx
br_scalar sy
br_scalar sz
BrMatrix34PostScale()
199,
BrMatrix34Scale()
208
Description:
Pre-multiply a matrix by an x invariant shearing transform matrix. Equivalent to the expression:BrMatrix34PreShearX()
void BrMatrix34PreShearX(br_matrix34* mat, br_scalar sy, br_scalar sz)
br_matrix34 * mat
br_scalar sy
br_scalar sz
BrMatrix34PostShearX()
200,
BrMatrix34ShearX()
209
Description:
Pre-multiply a matrix by a y invariant shearing transform matrix. Equivalent to the expression:BrMatrix34PreShearY()
void BrMatrix34PreShearY(br_matrix34* mat, br_scalar sx, br_scalar sz)
br_matrix34 * mat
br_scalar sx
br_scalar sz
BrMatrix34PostShearY()
201,
BrMatrix34ShearY()
210
A pointer to the subject matrix.
Shear factor by which the z co-ordinate is included in the transformed x co-ordinate.
Shear factor by which the z co-ordinate is included in the transformed y co-ordinate.
Description:
Pre-multiply a matrix by a z invariant shearing transform matrix. Equivalent to the expression:BrMatrix34PreShearZ()
void BrMatrix34PreShearY(br_matrix34* mat, br_scalar sx, br_scalar sy)
br_matrix34 * mat
br_scalar sx
br_scalar sy
BrMatrix34PostShearZ()
201,
BrMatrix34ShearZ()
210
A pointer to the subject matrix.
The angle about the specified axis used to form the rotation matrix. A positive angle represents a clockwise rotation (with the vector pointing at you).
The arbitrary (normalised) axis vector about which the rotation occurs.
Description:
Pre-multiply a matrix by a vector specified axis, rotational transform matrix. Equivalent to the expression:BrMatrix34PreRotate()
void BrMatrix34PreRotate(br_matrix34* mat, br_angle r, const br_vector3* axis)
br_matrix34 * mat
br_angle r
const br_vector3*
BrMatrix34PostRotate()
201,
BrMatrix34Rotate()
212
A pointer to the subject matrix.
The angle about the x axis used to form the rotation matrix. A positive angle represents a clockwise rotation (looking toward the origin).
Description:
Pre-multiply a matrix by an x axis rotational transform matrix. Equivalent to the expression:BrMatrix34PreRotateX()
void BrMatrix34PreRotateX(br_matrix34* mat, br_angle rx)
br_matrix34 * mat
br_angle rx
BrMatrix34PostRotateX()
202,
BrMatrix34RotateX()
211
A pointer to the subject matrix.
The angle about the y axis used to form the rotation matrix. A positive angle represents a clockwise rotation (looking towards the origin).
Description:
Pre-multiply a matrix by a y axis, rotational transform matrix. Equivalent to the expression:BrMatrix34PreRotateY()
void BrMatrix34PreRotateY(br_matrix34* mat, br_angle ry)
br_matrix34 * mat
br_angle ry
BrMatrix34PostRotateY()
202,
BrMatrix34RotateY()
211
A pointer to the subject matrix.
The angle about the z axis used to form the rotation matrix. A positive angle represents a clockwise rotation (looking towards the origin).
Description:
Pre-multiply a matrix by a z axis, rotational transform matrix. Equivalent to the expression:BrMatrix34PreRotateZ()
void BrMatrix34PreRotateZ(br_matrix34* mat, br_angle rz)
br_matrix34 * mat
br_angle rz
BrMatrix34PostRotateZ()
202,
BrMatrix34RotateZ()
212
A pointer to the subject matrix.
The pre-multiplying generic transform.
Description:
Pre-multiply a matrix by a generic transform. Equivalent to the expression:BrMatrix34PreTransform()
void BrMatrix34PreTransform(br_matrix34* mat, const br_transform* xform)
br_matrix34 * mat
const br_transform * xform
BrTransformToMatrix34()
343 and then applied as a pre-multiplying matrix using
BrMatrix34Pre()
194.
See Also:
BrMatrix34PostTransform()
203
.
A pointer to the subject matrix (may be same as
A pointer to the post-multiplying matrix.
Description:
Post-multiply one matrix by another. Equivalent to the expression:BrMatrix34Post()
void BrMatrix34Post(br_matrix34* A, const br_matrix34* B)
br_matrix34 * A
B
).const br_matrix34 * B
BrMatrix34Pre()
194,
BrMatrix34Mul()
188
A pointer to the subject matrix.
The x axis component used to form the translation matrix.
The y axis component used to form the translation matrix.
The z axis component used to form the translation matrix.
Description:
Post-multiply a matrix by a translation transform matrix. Equivalent to the expression:BrMatrix34PostTranslate()
void BrMatrix34PostTranslate(br_matrix34* mat, br_scalar dx, br_scalar dy, br_scalar dz)
br_matrix34 * mat
br_scalar dx
br_scalar dy
br_scalar dz
BrMatrix34PreTranslate()
194,
BrMatrix34Translate()
208
A pointer to the subject matrix.
Scaling component along the x axis.
Scaling component along the y axis.
Scaling component along the z axis.
Description:
Post-multiply a matrix by a scaling transform matrix. Equivalent to the expression:BrMatrix34PostScale()
void BrMatrix34PostScale(br_matrix34* mat, br_scalar sx, br_scalar sy, br_scalar sz)
br_matrix34 * mat
br_scalar sx
br_scalar sy
br_scalar sz
BrMatrix34PreScale()
195,
BrMatrix34Scale()
208
A pointer to the subject matrix.
Shear factor by which the x co-ordinate is included in the transformed y co-ordinate.
Shear factor by which the x co-ordinate is included in the transformed z co-ordinate.
Description:
Post-multiply a matrix by an x invariant shearing transform matrix. Equivalent to the expression:BrMatrix34PostShearX()
void BrMatrix34PostShearX(br_matrix34* mat, br_scalar sy, br_scalar sz)
br_matrix34 * mat
br_scalar sy
br_scalar sz
BrMatrix34PreShearX()
195,
BrMatrix34ShearX()
209
A pointer to the subject matrix.
Shear factor by which the y co-ordinate is included in the transformed x co-ordinate.
Shear factor by which the y co-ordinate is included in the transformed z co-ordinate.
Description:
Post-multiply a matrix by a y invariant shearing transform matrix. Equivalent to the expression:BrMatrix34PostShearY()
void BrMatrix34PostShearY(br_matrix34* mat, br_scalar sx, br_scalar sz)
br_matrix34 * mat
br_scalar sx
br_scalar sz
BrMatrix34PreShearY()
196,
BrMatrix34ShearY()
210
A pointer to the subject matrix.
Shear factor by which the z co-ordinate is included in the transformed x co-ordinate.
Shear factor by which the z co-ordinate is included in the transformed y co-ordinate.
A pointer to the subject matrix.
The angle about the specified axis used to form the rotation matrix.
The arbitrary (normalised) axis vector about which the rotation occurs.
Description:
Post-multiply a matrix by a z invariant shearing transform matrix. Equivalent to the expression:BrMatrix34PostShearZ()
void BrMatrix34PostShearY(br_matrix34* mat, br_scalar sx, br_scalar sy)
br_matrix34 * mat
br_scalar sx
br_scalar sy
BrMatrix34PreShearZ()
196,
BrMatrix34ShearZ()
210
Description:
Post-multiply a matrix by a vector specified axis, rotational transform matrix. Equivalent to the expression:BrMatrix34PostRotate()
void BrMatrix34PostRotate(br_matrix34* mat, br_angle r, const br_vector3* axis)
br_matrix34 * mat
br_angle r
const br_vector3*
BrMatrix34PreRotate()
197,
BrMatrix34Rotate()
212
A pointer to the subject matrix.
The angle about the x axis used to form the rotation matrix. A positive angle represents a clockwise rotation (looking towards the origin).
Description:
Post-multiply a matrix by an x axis rotational transform matrix. Equivalent to the expression:BrMatrix34PostRotateX()
void BrMatrix34PostRotateX(br_matrix34* mat, br_angle rx)
br_matrix34 * mat
br_angle rx
BrMatrix34PreRotateX()
197,
BrMatrix34RotateX()
211
A pointer to the subject matrix.
The angle about the y axis used to form the rotation matrix. A positive angle represents a clockwise rotation (looking towards the origin).
Description:
Post-multiply a matrix by a y axis, rotational transform matrix. Equivalent to the expression:BrMatrix34PostRotateY()
void BrMatrix34PostRotateY(br_matrix34* mat, br_angle ry)
br_matrix34 * mat
br_angle ry
BrMatrix34PreRotateY()
197,
BrMatrix34RotateY()
212
A pointer to the subject matrix.
The angle about the z axis used to form the rotation matrix. A positive angle represents a clockwise rotation (looking towards the origin).
Description:
Post-multiply a matrix by a z axis, rotational transform matrix. Equivalent to the expression:BrMatrix34PostRotateZ()
void BrMatrix34PostRotateZ(br_matrix34* mat, br_angle rz)
br_matrix34 * mat
br_angle rz
BrMatrix34PreRotateZ()
198,
BrMatrix34RotateZ()
212
A pointer to the subject matrix.
The post-multiplying generic transform.
Description:
Post-multiply a matrix by a generic transform. Equivalent to the expression:BrMatrix34PostTransform()
void BrMatrix34PostTransform(br_matrix34* mat, const br_transform* xform)
br_matrix34 * mat
const br_transform * xform
BrTransformToMatrix34()
343 and then applied as a post-multiplying matrix using
BrMatrix34Post()
199.
See Also:
BrMatrix34PreTransform()
198
.
BrEulerToMatrix34()
120
, BrQuatToMatrix34()
314
, BrTransformToMatrix34()
343
.
Also see BrTransformToTransform()
343.
BrMatrix34ToEuler()
204
, BrMatrix34ToQuat()
204
, BrMatrix34ToTransform()
204
as described below.
Also see BrTransformToTransform()
343.
A pointer to the destination Euler angle set to receive the conversion. The Euler angle set's Euler order is used to determine each angle.
A pointer to the source matrix to convert from.
Returns
A pointer to the destination quaternion to receive the conversion.
A pointer to the source matrix to convert from.
Returns
A pointer to the destination transform. The type member of the destination transform is retained and determines the method of conversion.
A pointer to the source matrix to be converted.
The destination transform is left unchanged - no conversion necessary.
When the transform is a translation
The translation component of the matrix (its bottom row) is copied into the translation vector of the transform.
When the transform is a Euler angle set
When the transform is a Look-Up
The Up vector is left unchanged and should really be set before rather than after this conversion.
Copies the third row into the Look vector (if zero (0,0,0) then (0,1,0) is used instead).
The matrix's translation component is copied into the translation vector of the transform.
When the transform is a quaternion
When the transform is a 3x4 matrix
Directly copies the matrix into the transform.
When the transform is a 3x4 length preserving matrix
Directly copies the matrix into the transform and then calls
Description:
Convert a 3D affine matrix to a Euler angle set, that would have the same rotational effect.BrMatrix34ToEuler()
br_euler* BrMatrix34ToEuler(br_euler* euler, const br_matrix34* mat)
br_euler * euler
const br_matrix34 * mat
br_euler *
euler
for convenience.
Description:
Convert a 3D affine matrix to a quaternion, that would have the same rotational effect.BrMatrix34ToQuat()
br_quat* BrMatrix34ToQuat(br_quat* q, const br_matrix34* mat)
br_quat * q
const br_matrix34 * mat
br_quat * q
q
for convenience.
Description:
Convert a 3D affine matrix into a specific transform, that would have a similar transformational effect.BrMatrix34ToTransform()
void BrMatrix34ToTransform(br_transform* xform, const br_matrix34* mat)
br_transform * xform
const br_matrix34 * mat
BrMatrix34LPNormalise()
206
BrMatrix34Copy()
205
or BrMatrix34Copy4()
206
to ensure compatibility.
A pointer to the destination matrix (may be the same as source - though redundant).
A pointer to the source matrix.
A pointer to the destination matrix.
A pointer to the source 4x4 matrix.
A pointer to the destination matrix, which must not point to the source matrix.
A pointer to the source matrix.
A pointer to the destination matrix.
A pointer to the destination matrix.
Translation component along the x axis.
Translation component along the y axis.
Translation component along the z axis.
A pointer to the destination matrix.
Scaling component along the x axis.
Scaling component along the y axis.
Scaling component along the z axis.
A pointer to the destination matrix.
Shear factor by which the x co-ordinate is included in the transformed y co-ordinate.
Shear factor by which the x co-ordinate is included in the transformed z co-ordinate.
Description:
Copy a matrix. Equivalent to the expression:BrMatrix34Copy()
void BrMatrix34Copy(br_matrix34* A, const br_matrix34* B)
br_matrix34 * A
const br_matrix34 * B
Description:
Copy a 4x4 matrix into a 3x4 matrix, discarding right-hand column. Equivalent to the expression:BrMatrix34Copy4()
void BrMatrix34Copy4(br_matrix34* A, const br_matrix4* B)
br_matrix34 * A
const br_matrix4 * B
BrMatrix4Copy34()
223.
Access & Maintenance
Members may be freely accessed. Maintenance is only required for length preserving matrices that have been modified.
Description:
Normalise a length preserving*3 matrix. Equivalent to the expression:BrMatrix34LPNormalise()
void BrMatrix34LPNormalise(br_matrix34* A, const br_matrix34* B)
br_matrix34 * A
const br_matrix34 * B
Referencing & Lifetime
This structure may be freely referenced, though take care if there is potential to supply the same matrix as more than one argument to the same function. Initialisation
No static initialisers are provided. However, four BR_VECTOR3()
macros would serve as well. or any of the following initialisation functions.
Description:
Set the specified matrix to the identity transformation matrix. Equivalent to:BrMatrix34Identity()
void BrMatrix34Identity(br_matrix34* mat)
br_matrix34 * mat
Description:
Set the specified matrix to a matrix representing a specific translation. Equivalent to:BrMatrix34Translate()
void BrMatrix34Translate(br_matrix34* mat, br_scalar dx, br_scalar dy, br_scalar dz)
br_matrix34 * mat
br_scalar dx
br_scalar dy
br_scalar dz
BrMatrix34PreTranslate()
194,
BrMatrix34PostTranslate()
199
Description:
Set the specified matrix to a matrix representing a specific scaling. Equivalent to:BrMatrix34Scale()
void BrMatrix34Scale(br_matrix34* mat, br_scalar sx, br_scalar sy, br_scalar sz)
br_matrix34 * mat
br_scalar sx
br_scalar sy
br_scalar sz
BrMatrix34PreScale()
195,
BrMatrix34PostScale()
199
Description:
Set the specified matrix to a matrix representing a shear, invariant along the x axis. Thus values of y and z cBrMatrix34ShearX()
o-
ordinates will be scaled in proportion to the value of the x co-ordinate. Equivalent to:void BrMatrix34ShearX(br_matrix34* mat, br_scalar sy, br_scalar sz)
br_matrix34 * mat
br_scalar sy
br_scalar sz
BrMatrix34PreShearX()
195,
BrMatrix34PostShearX()
200
A pointer to the destination matrix.
Shear factor by which the y co-ordinate is included in the transformed x co-ordinate.
Shear factor by which the y co-ordinate is included in the transformed z co-ordinate.
Description:
Set the specified matrix to a matrix representing a shear, invariant along the y axis. Thus values of x and z BrMatrix34ShearY()
co-
ordinates will be scaled in proportion to the value of the y co-ordinate. Equivalent to: void BrMatrix34ShearX(br_matrix34* mat, br_scalar sx, br_scalar sz)
br_matrix34 * mat
br_scalar sx
br_scalar sz
BrMatrix34PreShearY()
196,
BrMatrix34PostShearY()
200.
A pointer to the destination matrix.
Shear factor by which the z co-ordinate is included in the transformed x co-ordinate.
Shear factor by which the z co-ordinate is included in the transformed y co-ordinate.
Description:
Set the specified matrix to a matrix representing a shear, invariant along the z axis. Thus values of x and y BrMatrix34ShearZ()
co-
ordinates will be scaled in proportion to the value of the z co-ordinate. Equivalent to:void BrMatrix34ShearX(br_matrix34* mat, br_scalar sx, br_scalar sy)
br_matrix34 * mat
br_scalar sx
br_scalar sy
BrMatrix34PreShearZ()
196,
BrMatrix34PostShearZ()
201.
A pointer to the destination matrix.
Rotation about the x axis.
Description:
Set the specified matrix to a matrix representing a rotation about the x axis though a specified angle. Equivalent to:BrMatrix34RotateX()
void BrMatrix34RotateX(br_matrix34* mat, br_angle rx)
br_matrix34 * mat
br_angle rx
BrMatrix34PreRotateX()
197,
BrMatrix34PostRotateX()
202.
A pointer to the destination matrix.
Rotation about the y axis.
Description:
Set the specified matrix to a matrix representing a rotation about the y axis though a specified angle. Equivalent to:BrMatrix34RotateY()
void BrMatrix34RotateX(br_matrix34* mat, br_angle ry)
br_matrix34 * mat
br_angle ry
BrMatrix34PreRotateY()
197,
BrMatrix34PostRotateY()
202.
A pointer to the destination matrix.
Rotation about the z axis.
Description:
Set the specified matrix to a matrix representing a rotation about the z axis though a specified angle. Equivalent to:BrMatrix34RotateZ()
void BrMatrix34RotateZ(br_matrix34* mat, br_angle rz)
br_matrix34 * mat
br_angle rz
BrMatrix34PreRotateZ()
198,
BrMatrix34PostRotateZ()
202.
A pointer to the destination matrix.
Rotation about the specified axis vector.
The arbitrary (normalised) axis vector about which the rotation occurs.
Description:
Set the specified matrix to a matrix representing a rotation about a given axis vector though a specified angle. Equivalent to:BrMatrix34Rotate()
void BrMatrix34Rotate(br_matrix34* mat, br_angle r, const br_vector3* a)
br_matrix34 * mat
br_angle r
const br_vector3 * a
BrMatrix34PreRotate()
197,
BrMatrix34PostRotate()
201.