update readme

This commit is contained in:
Frater 2026-05-15 14:30:47 +02:00
commit 97f1e7cc3e

View file

@ -19,9 +19,11 @@ Affichage : **VGA Mode 13h** — 320×200, 256 couleurs, rendu Gouraud en virgul
## Exemples
![Screenshot FlatShading](/assets/Capture-Flatshading.png)
Vue en flatshading
![Screenshot Gouraud](/assets/Capture-Gouraud.png)
Vue en Gouraud
@ -37,33 +39,13 @@ src/
engine.c Maths (sin/cos), matrices, pipeline de rendu
geometry.c Génération de meshes (sphère, cylindre) + I/O mesh
graph.c VGA init, palette, backbuffer/zbuffer
image.c gestion des fichiers image
raster.c Rastériseur triangle Gouraud, tracé de ligne Z-buffered
build/
app.exe Binaire DOS final (CauseWay)
link.lnk Script de link généré automatiquement
Makefile Build via WSL + wcc386 Windows natif
```
---
## Pipeline de rendu
```
init_engine_math() Précalcul sin/cos (tables entières 16.16)
add_sphere / add_cylinder Génération mesh en espace local (0,0,0)
─── Boucle principale ───
kbhit / getch Gestion clavier (touches étendues consommées en deux appels)
mat3_rotate_x/y Construction matrices de rotation
mat3_mul (orbite) Composition de la matrice d'orbite (sûre contre l'aliasing)
→ obj.rot = orbit Application uniforme à tous les objets
→ obj.pos = orbit × base_pos + center Rotation 3D complète des positions
clear_buffers Effacement backbuffer + zbuffer (0xFFFF)
render_universe Transformation + projection + Gouraud fill
flip memcpy backbuffer → 0xA0000 (VGA)
```
---
## Arithmétique virgule fixe 16.16
| Macro/fonction | Opération |