# Rapport final — Noxara V1.0 Ultra Performance

Date de livraison : 17 juillet 2026

## Résultat

Noxara démarre désormais avec le profil `ULTRA_PERFORMANCE`. Le rendu proche conserve les systèmes visuels existants, tandis que les calculs éloignés sont réduits progressivement par un LOD shader. Le menu comporte 18 catégories en deux colonnes, neuf profils complets, une interface anglaise/française, le Smart Upscaling honnêtement présenté, une signature temporaire `Noxara by @souanpt`, des étoiles filantes configurables et un mode de courbure du monde.

Sauvegarde antérieure aux modifications :

`backups/Noxara-before-ultra-performance-20260715-152117.zip`

Archive livrable :

`Noxara-V1.0-Ultra-Performance-20260717.zip`

## Fichiers créés dans le shaderpack

- `shaders/gbuffers_skybasic.fsh`
- `shaders/gbuffers_skybasic.vsh`
- `shaders/gbuffers_skytextured.fsh`
- `shaders/gbuffers_skytextured.vsh`
- `shaders/lib/util/adaptiveQuality.glsl`
- `shaders/lib/util/worldCurvature.glsl`

## Fichiers modifiés

- `shaders/lang/en_US.lang`
- `shaders/lang/fr_FR.lang`
- `shaders/lib/antialiasing/jitter.glsl`
- `shaders/lib/antialiasing/taa.glsl`
- `shaders/lib/atmosphere/volumetricClouds.glsl`
- `shaders/lib/atmosphere/volumetrics.glsl`
- `shaders/lib/common.glsl`
- `shaders/lib/lighting/gbuffersLighting.glsl`
- `shaders/lib/pbr/waving.glsl`
- `shaders/lib/post/noxaraSignature.glsl`
- `shaders/lib/post/sharpenFilter.glsl`
- `shaders/lib/util/potatoMode.glsl`
- `shaders/lib/vx/voxelization.glsl`
- `shaders/programs/composite1.glsl`
- `shaders/programs/composite14.glsl`
- `shaders/programs/composite15.glsl`
- `shaders/programs/deferred1.glsl`
- `shaders/programs/dh_terrain.glsl`
- `shaders/programs/dh_water.glsl`
- `shaders/programs/final.glsl`
- `shaders/programs/gbuffers_armor_glint.glsl`
- `shaders/programs/gbuffers_basic.glsl`
- `shaders/programs/gbuffers_beaconbeam.glsl`
- `shaders/programs/gbuffers_block.glsl`
- `shaders/programs/gbuffers_damagedblock.glsl`
- `shaders/programs/gbuffers_entities.glsl`
- `shaders/programs/gbuffers_spidereyes.glsl`
- `shaders/programs/gbuffers_terrain.glsl`
- `shaders/programs/gbuffers_textured.glsl`
- `shaders/programs/gbuffers_water.glsl`
- `shaders/programs/shadow.glsl`
- `shaders/programs/voxyOpaque.glsl`
- `shaders/programs/voxyTranslucent.glsl`
- `shaders/shaders.properties`
- `shaders/voxy.json`
- `shaders/world-1/voxy.json`
- `shaders/world1/voxy.json`

## Fichiers supprimés

Aucun fichier du shaderpack n'a été supprimé.

## Nouveaux réglages principaux

### Potato Mode

- `POTATO_MODE` : désactivé, équilibré, agressif, maximum
- `POTATO_START_DISTANCE`
- `POTATO_FULL_DISTANCE`
- `DISTANT_SHADING` : complet, équilibré, simple, minimal
- `DISTANT_TEXTURE_QUALITY` : élevée, équilibrée, faible, minimale

Le profil par défaut utilise le mode agressif avec transition de 64 à 160 blocs. Les fondus pilotent progressivement mipmaps, shading, PBR, normales, spéculaire, reflets, ombres, eau et vent afin d'éviter une coupure visible.

### Noxara Smart Upscaling

- `SMART_UPSCALING` : natif 100 %, ultra qualité 90 %, qualité 83 %, équilibré 75 %, performance 67 %, ultra performance 50 %
- `RENDER_SCALE`
- `SHARPENING`
- `EDGE_RECONSTRUCTION`
- `DYNAMIC_RESOLUTION`
- `TARGET_FPS`
- `MIN_RENDER_SCALE`
- `MAX_RENDER_SCALE`

Limite technique importante : GLSL ne peut pas redimensionner le framebuffer interne d'Iris/Oculus. `RENDER_SCALE` indique donc la valeur à reproduire dans le réglage « Render Quality » d'Iris/Oculus et calibre la reconstruction Noxara. La « résolution dynamique » adapte le coût des échantillons volumétriques selon le temps d'image ; elle ne modifie pas à chaud la résolution du moteur.

### Autres réglages

- `NOXARA_STARTUP_SIGNATURE`
- `SHOOTING_STARS_FREQUENCY` : désactivé, rare, normal, fréquent
- `WORLD_CURVATURE`
- `CURVATURE_STRENGTH`
- `CURVATURE_START_DISTANCE`
- `TAA_QUALITY` : qualité ou performance

Lorsque la courbure est active, Noxara sélectionne automatiquement le FXAA : la reprojection temporelle TAA ne peut pas suivre correctement une transformation non linéaire du monde.

## Profils

1. Ultra Performance — profil par défaut, Potato agressif, cible 67 %, 120 FPS
2. Performance
3. Balanced
4. Quality
5. Ultra
6. Vanilla Plus
7. Animal Crossing — monde courbé, tons doux, FXAA, bloom faible
8. Fortnite OG
9. Potato Maximum — chemin visuel minimal et cible 50 %

Les 49 paramètres explicites du profil `ULTRA_PERFORMANCE` correspondent aux valeurs par défaut de `common.glsl`.

## Structure du menu

Le menu racine est organisé en deux colonnes et contient exactement :

1. Presets
2. Performance
3. Upscaling
4. Lighting
5. Shadows
6. Colors
7. Sky
8. Clouds
9. Weather
10. Water
11. World Curvature
12. Vegetation
13. Overworld
14. Nether
15. End Sky
16. Post Processing
17. Advanced
18. About Noxara

Les 97 écrans et sous-écrans déclarés utilisent `columns=2`. Le contrôle a trouvé 411 réglages visibles et chacun possède un intitulé anglais et français. Les descriptions, écrans, valeurs, profils, dimensions, options End, Potato Mode et Smart Upscaling sont traduits dans `en_US.lang` et `fr_FR.lang`.

## Optimisations réalisées

- LOD progressif unifié pour les terrains vanilla, Distant Horizons et Voxy.
- Extinction graduelle des normales, spéculaires, reflets, ombres, reliefs et vent lointains.
- Eau lointaine simplifiée et profondeur nuage/eau stockée en `RG16F` pour éviter les bandes.
- Volumétriques adaptatifs avec portée et énergie conservées lorsque le nombre d'échantillons baisse.
- Nuages adaptatifs avec compensation Beer-Lambert pour préserver visuellement l'opacité.
- Échantillonnage TAA performance/qualité, rejet d'historique invalide et suppression du jitter DH/Voxy lorsqu'aucune reprojection fiable n'existe.
- Conversion de la distance Voxy de chunks vers blocs corrigée.
- Ombres, voxelisation et overlays alignés avec la courbure du monde.
- Passes dimensionnelles et programmes optionnels conditionnés dans `shaders.properties`.
- Une ou deux étoiles filantes simultanées au maximum.
- Faux bloom local de la signature, sans ajouter une nouvelle passe lourde.

## Signature Iteration réécrite pour Noxara

L'animation de référence a été analysée puis réimplémentée proprement avec un raster 5×7 original. L'intégration reprend le comportement utile de la référence : panneau projeté en 3D, suivi de l'orientation, format 49×19, ombre noire, apparition au chargement/rechargement, quatre secondes pleinement visibles puis fondu doux de trois secondes. Le texte affiché est `Noxara by @souanpt`. La signature est composée dans la passe finale afin d'éviter le ghosting du TAA et du flou de mouvement.

## Validation effectuée

| Contrôle | Résultat |
|---|---|
| Sources GLSL/VSH/FSH/CSH analysées | 377 |
| Includes résolus | 581 / 581 |
| Blocs préprocesseur | équilibrés |
| Catégories racine | 18 / 18 |
| Écrans en deux colonnes | 97 / 97 |
| Réglages visibles traduits EN/FR | 411 / 411 |
| Profils | 9 / 9 |
| Correspondance profil par défaut / constantes | 49 / 49 |
| Erreurs statiques détectées | 0 |

Un second audit ciblé n'a trouvé aucune variable GLSL manquante, aucun include introuvable et aucun bloc préprocesseur déséquilibré dans les chemins modifiés. Les erreurs antérieures telles que `fogCol`, `applyIterationEndFog`, `lightVec` et `END_ANGLE` ne sont plus présentes.

## Tests nécessitant Minecraft

Cette session ne fournit pas de lancement automatisé de Minecraft avec un contexte OpenGL, un monde et un compteur GPU. Les vérifications suivantes ne sont donc pas prétendues comme exécutées :

| Test en jeu | État |
|---|---|
| Premier chargement et signature | À confirmer dans Minecraft |
| Changement des neuf profils | À confirmer dans Minecraft |
| Bascule anglais/français et rendu du menu | À confirmer dans Minecraft |
| Overworld jour, crépuscule, nuit et pluie | À confirmer dans Minecraft |
| Eau et reflet léger du joueur | À confirmer dans Minecraft |
| Nether | À confirmer dans Minecraft |
| End, Terre, atmosphère et étoiles filantes | À confirmer dans Minecraft |
| Potato Mode 0 à 3 | À confirmer dans Minecraft |
| Render Quality 100 %, 75 %, 67 % et 50 % | À confirmer dans Iris/Oculus |
| 1080p et 1440p | À mesurer sur la machine cible |
| Iris et Oculus | À compiler et observer en jeu |

## Tableau de performances

Aucun chiffre n'est inventé. Les colonnes restent volontairement non mesurées jusqu'à un benchmark réel dans le même monde, avec le même champ de vision et la même distance d'affichage.

| Configuration | FPS moyen | FPS minimum | Temps GPU | Cible de rendu | Options principales |
|---|---:|---:|---:|---:|---|
| Minecraft sans shader | Non mesuré | Non mesuré | Non mesuré | N/A | référence |
| Ancienne version de Noxara | Non mesuré | Non mesuré | Non mesuré | configuration d'origine | sauvegarde fournie |
| Noxara Ultra Performance | Non mesuré | Non mesuré | Non mesuré | 67 % | Potato agressif, cible 120 FPS |
| Noxara Balanced | Non mesuré | Non mesuré | Non mesuré | 75 % | Potato équilibré |
| Noxara Quality | Non mesuré | Non mesuré | Non mesuré | 83 % | qualité complète proche |

## Réserves connues

- Voxy n'expose pas ici de crochet vertex permettant de courber sa géométrie LOD. Avec le profil Animal Crossing et Voxy actif, le terrain Voxy éloigné reste plat alors que le terrain vanilla/Distant Horizons est courbé. L'interface le signale.
- La courbure transforme les positions mais conserve volontairement les normales planes ; très loin, l'éclairage peut donc paraître stylisé plutôt que physiquement courbé.
- La courbure force automatiquement FXAA afin d'éviter une combinaison manuelle TAA incompatible.
- La dernière garantie reste un chargement réel sous Iris/Oculus : une analyse statique ne peut pas reproduire le compilateur injecté, le pilote graphique ni le contenu d'un monde Minecraft.

## Contenu de l'archive

L'archive finale contient uniquement `shaders/` et `drm/`. Elle n'inclut ni la sauvegarde, ni ce rapport, ni de dossier Iteration temporaire.

Vérification de l'archive :

- 396 fichiers archivés sur 396 fichiers attendus
- 0 fichier manquant
- 0 fichier supplémentaire
- 0 différence de contenu
- taille : 2 287 709 octets
- SHA-256 : `FAC4FED448B7EED305E7AB1FE904634429A87ECD26EADEE1A5CF16C6FC0230F8`
