parametrage de math_surf

This commit is contained in:
Frater 2026-05-10 13:37:52 +02:00
commit b1c8be9dd6
3 changed files with 69 additions and 32 deletions

View file

@ -87,6 +87,10 @@ extern uint16_t *zbuffer;
extern uint8_t *vga;
/* Prototypes */
/* Type pour les fonctions de génération de surface : reçoit x, z et renvoie y */
typedef fixed (*SurfaceFunc)(fixed x, fixed z);
void init_engine_math(void);
void mat3_identity(Matrix3 *mat);
void mat3_rotate_x(Matrix3 *m, int angle);
@ -103,8 +107,10 @@ Object3D* add_sphere (Universe *uni, fixed x, fixed y, fixed z, fixed r,
Object3D* add_cylinder (Universe *uni, fixed x, fixed y, fixed z, fixed r, fixed h, int det, uint8_t col, uint8_t wire);
Object3D* add_cone (Universe *uni, fixed x, fixed y, fixed z, fixed r, fixed h, int det, uint8_t col, uint8_t wire);
Object3D* add_plane (Universe *uni, fixed x, fixed y, fixed z, fixed w, fixed d, int seg_x, int seg_z, uint8_t col, uint8_t wire);
Object3D* add_math_surface(Universe *uni, fixed x, fixed y, fixed z, fixed w, fixed d, int seg_x, int seg_z, uint8_t col, uint8_t wire);
Object3D* add_torus (Universe *uni, fixed x, fixed y, fixed z, fixed r_main, fixed r_tube, int seg_main, int seg_tube, uint8_t col, uint8_t wire);
Object3D* add_math_surface(Universe *uni, fixed x, fixed y, fixed z,
fixed w, fixed d, int seg_x, int seg_z,
uint8_t col, uint8_t wire, SurfaceFunc func);
void render_universe(Universe *uni, Camera *cam, int mode);