diff --git a/README.md b/README.md index 8894103..4aa47a9 100644 --- a/README.md +++ b/README.md @@ -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 |