void M3D_buildMat3D(Transformation3D *t)
Build the transformation matrix of the specified Transformation3D object. This also rebuild cached i...
Definition maths3D.c:252
void M3D_combineTranslationLeft(Translation3D *left, Transformation3D *right, Transformation3D *result)
Combine the specified left Translation3D and right Transformation3D and store result in result....
Definition maths3D.c:188
V3f16 Rotation3D
3D rotation informations object (angles are stored in degree) - f16 (fix16) type.
Definition maths3D.h:244
Vect3D_u16 V3u16
alias for Vect3D_u16
Definition maths3D.h:171
void M3D_setLight(V3f16 *value)
Set light direction vector.
Definition maths3D.c:57
V3f16 Translation3D
3D translation informations object - f16 (fix16) type.
Definition maths3D.h:238
void M3D_setTranslation(Transformation3D *t, fix16 x, fix16 y, fix16 z)
Set translation parameters to the specified transformation object.
Definition maths3D.c:124
void M3D_resetTransform(Transformation3D *t)
Reset the specified Transformation3D object.
Definition maths3D.c:65
void M3D_buildMat3DExtras(Transformation3D *t)
Only rebuild the cached infos as inverse matrix, inverse camera view...
Definition maths3D.c:303
Vect4D_f32 V4f32
alias for Vect4D_f32
Definition maths3D.h:200
void M3D_setViewport(u16 w, u16 h)
Set viewport dimension.
Definition maths3D.c:39
void M3D_project_s16(const V3f16 *src, V2s16 *dest, u16 numv)
Process 2D projection to specified 3D vertices buffer (s16 version).
void M3D_translate(Transformation3D *t, V3f16 *vertices, u16 numv)
Process 3D translation only to specified 3D vertices buffer.
Definition maths3D.c:328
Vect3D_s16 V3s16
alias for Vect3D_s16
Definition maths3D.h:175
void M3D_setTransform(Transformation3D *tr, Translation3D *t, Rotation3D *r)
Set translation and rotation objects to the specified transformation object.
Definition maths3D.c:113
void M3D_rotateInv(Transformation3D *t, const V3f16 *src, V3f16 *dest)
Process 3D inverse rotation only to specified 3D vertex.
Definition maths3D.c:373
Mat4D_f16 M4f16
alias for Mat4D_f16
Definition maths3D.h:213
void M3D_setLightXYZ(fix16 x, fix16 y, fix16 z)
Set light direction vector.
Definition maths3D.c:50
u16 M3D_getLightEnabled(void)
Get light transformation calculation enabled flag.
Definition maths3D.c:33
Mat3D_f32 M3f32
alias for Mat3D_f32
Definition maths3D.h:209
Vect3D_f16 V3f16
alias for Vect3D_f16
Definition maths3D.h:187
void M3D_setLightEnabled(u16 enabled)
Enable or disable light transformation calculation.
Definition maths3D.c:28
Vect4D_f16 V4f16
alias for Vect4D_f16
Definition maths3D.h:196
void M3D_rotate(Transformation3D *t, const V3f16 *src, V3f16 *dest, u16 numv)
Process 3D rotation only to specified 3D vertices buffer.
Definition maths3D.c:349
void M3D_transform(Transformation3D *t, const V3f16 *src, V3f16 *dest, u16 numv)
Process 3D transform (rotation and translation) to specified 3D vertices buffer.
void M3D_project_f16(const V3f16 *src, V2f16 *dest, u16 numv)
Process 2D projection to specified 3D vertices buffer (fix16 version).
void M3D_setCamDistance(fix16 value)
Set camera scene distance.
Definition maths3D.c:45
Vect3D_u32 V3u32
alias for Vect3D_u32
Definition maths3D.h:179
Vect3D_f32 V3f32
alias for Vect3D_f32
Definition maths3D.h:191
void M3D_buildMat3DOnly(Transformation3D *t)
Build the transformation matrix of the specified transformation object. Only rebuild the transformati...
Definition maths3D.c:258
Vect3D_s32 V3s32
alias for Vect3D_s32
Definition maths3D.h:183
void M3D_setRotation(Transformation3D *t, fix16 x, fix16 y, fix16 z)
Set rotation parameters to the specified Transformation3D object. x, y, z angle values are given in ...
Definition maths3D.c:133
void M3D_combineTransform(Transformation3D *left, Transformation3D *right, Transformation3D *result)
Combine the specified right and left Transformation3D objects and store result in result....
Definition maths3D.c:147
void M3D_combineTranslationRight(Transformation3D *left, Translation3D *right, Transformation3D *result)
Combine the specified left Transformation3D with right Translation3D and store result in result....
Definition maths3D.c:219
Mat4D_f32 M4f32
alias for Mat4D_f32
Definition maths3D.h:217
Mat3D_f16 M3f16
alias for Mat3D_f16
Definition maths3D.h:205
void M3D_reset(void)
Reset math 3D engine (reset matrices and transformation parameters mainly).
Definition maths3D.c:13
Vect2D_f16 V2f16
alias for Vect2D_f16
Definition maths.h:268
Vect2D_s16 V2s16
alias for Vect2D_s16
Definition maths.h:256
Vect2D_u16 V2u16
alias for Vect2D_u16
Definition maths.h:252
Structure hosting settings / context for the 3D transform engine.
Definition maths3D.h:227
3x3 Matrice structure - f16 (fix16) type. Internally uses 3 3D vectors.
Definition maths3D.h:94
3x3 Matrice structure - f32 (fix32) type. Internally uses 3 3D vectors.
Definition maths3D.h:106
4x4 Matrice structure - f16 (fix16) type. Internally uses 4 4D vectors.
Definition maths3D.h:145
4x4 Matrice structure - f32 (fix32) type. Internally uses 4 4D vectors.
Definition maths3D.h:158
3D Vector structure - f16 (fix16) type.
Definition maths3D.h:71
3D Vector structure - f32 (fix32) type.
Definition maths3D.h:82
3D Vector structure - s16 type.
Definition maths3D.h:38
3D Vector structure - s32 type.
Definition maths3D.h:60
3D Vector structure - u16 type.
Definition maths3D.h:27
3D Vector structure - u32 type.
Definition maths3D.h:49
4D Vector structure - f16 (fix16) type.
Definition maths3D.h:120
4D Vector structure - f32 (fix32) type.
Definition maths3D.h:132
s16 fix16
Definition types.h:203
unsigned long u32
Definition types.h:105
short s16
Definition types.h:84
long s32
Definition types.h:89
unsigned short u16
Definition types.h:100
s32 fix32
Definition types.h:208