110 lines
6.1 KiB
Markdown
110 lines
6.1 KiB
Markdown
# beta.040 — ciel compatible avec le rendu natif et Vanilla Light
|
|
|
|
Demande du 14 septembre 2026, branche `codex/operator-inhabitant-beta040`.
|
|
Ce ticket complète [le ciel partagé](operator-inhabitant-stars-beta040.md).
|
|
|
|
La [mise à jour beta.053](progressive-fog-beta053.md) étend Vanilla Light avec
|
|
une brume progressive dès le point de vue. Le reste de cette page décrit le
|
|
socle graphique beta.040.
|
|
|
|
## Disponible dans cette livraison
|
|
|
|
**Options → Shaders → Sanctuary · Vanilla Light** active ou désactive un effet
|
|
graphique local, activé par défaut dans les mondes Sanctuary. Le shader donne
|
|
un peu plus de contraste et de saturation, des ombres légèrement froides et des
|
|
lumières légèrement chaudes. Le HUD, les menus et les infobulles sont dessinés
|
|
après cet effet et gardent leurs couleurs. Noir et blanc purs sont conservés.
|
|
|
|
Le moteur de post-traitement natif de **Minecraft 26.3-pre-2** charge
|
|
`sanctuary:vanilla_light`. Il exécute une passe couleur avec un seul échantillon
|
|
par pixel, puis une copie vers la cible principale. Pas de calcul d'ombres,
|
|
reflets, flou, historique temporel ou lecture de pixels par le processeur.
|
|
Le coût dépend tout de même de la résolution et du GPU ; aucune mesure de gain
|
|
de FPS n'est revendiquée. Désactiver l'effet retire ces deux passes.
|
|
|
|
Les captures panoramiques techniques conservent leur rendu brut avant
|
|
post-traitement, pour rester associées aux exports de profondeur et de brume.
|
|
|
|
La préférence reste dans `config/sanctuary-shaders.json` (`enabled`, booléen).
|
|
Elle ne modifie aucune sauvegarde ni lumière de gameplay. Les effets natifs de
|
|
créature observée en spectateur sont conservés et passent après Vanilla Light.
|
|
La présence d'Iris, Oculus ou Canvas suspend cet effet natif pour éviter de
|
|
superposer deux traitements ; la préférence n'est pas effacée.
|
|
|
|
## Les étoiles restent une mémoire du serveur
|
|
|
|
Sanctuary fournit le maillage et le nombre d'indices à `SkyRenderer.renderStars`.
|
|
Le corps natif de la méthode reste exécuté : même pipeline `RenderPipelines.STARS`,
|
|
mêmes uniformes, étape de ciel et appels de dessin. Un registre vide produit
|
|
zéro indice dessiné. Le buffer d'étoiles est recalculé seulement lors d'un
|
|
changement du registre ou d'une libération des ressources graphiques.
|
|
|
|
Cette intégration remplace l'annulation de la méthode et le dessin séparé.
|
|
Les moteurs qui interceptent la passe native peuvent ainsi traiter la géométrie
|
|
Sanctuary. Vanilla Light ne génère aucune étoile de son côté. Changer de rendu
|
|
ne change ni les événements, ni leurs positions, ni le cycle de sept jours.
|
|
|
|
## État vérifié des moteurs externes
|
|
|
|
Vérification le **14 septembre 2026**, sur les versions publiées Modrinth et
|
|
les dépôts officiels : aucun artefact Fabric Iris, Sodium ou Canvas ne déclare
|
|
`26.3-pre-2` comme version compatible. Iris est publié pour 26.2 ; le nouveau
|
|
Sodium 26.3 vise les release candidates et précise qu'Iris n'est pas encore
|
|
compatible. Aucun de ces JAR n'est ajouté au pack et Minecraft reste épinglé.
|
|
|
|
- [Versions Iris](https://modrinth.com/mod/iris/versions),
|
|
[sources et licence LGPL-3.0](https://github.com/IrisShaders/Iris).
|
|
- [Sodium 26.3 et état d'Iris](https://github.com/CaffeineMC/sodium/releases/tag/mc26.3r1-0.9.2-beta.2).
|
|
- [Versions Canvas](https://modrinth.com/mod/canvas/versions).
|
|
|
|
**La compatibilité avec des packs Iris n'est pas validée.** Le changement de
|
|
point d'intégration prépare cette vérification ; il ne remplace pas un essai
|
|
avec une version exacte du moteur. Vanilla Light est pour l'instant un shader
|
|
natif intégré, pas un chargeur de packs OptiFine/Iris.
|
|
|
|
## Contrat pour le prochain pack de shaders
|
|
|
|
Iris expose la géométrie native dans `gbuffers_skybasic` et reconnaît la phase
|
|
`MC_RENDER_STAGE_STARS`. Le futur pack Sanctuary devra conserver `stars=true`,
|
|
dessiner cette géométrie et désactiver ses étoiles procédurales éventuelles.
|
|
Un pack qui supprime le ciel natif ou ajoute son propre semis d'étoiles exige
|
|
une adaptation spécifique. Les réglages solaires du shader ne doivent pas
|
|
remplacer la rotation hebdomadaire fournie par Sanctuary.
|
|
|
|
Sources : [option stars](https://shaders.properties/current/reference/shadersproperties/features/),
|
|
[étapes de rendu](https://github.com/IrisShaders/docs/blob/main/src/content/docs/current/Reference/Macros/Render_Stages.mdx),
|
|
[association des pipelines Iris](https://github.com/IrisShaders/Iris/blob/26.1/common/src/main/java/net/irisshaders/iris/pipeline/IrisPipelines.java).
|
|
|
|
Lorsque le moteur exact sera disponible : épingler les dépendances, tester ciel
|
|
vide et ciel peuplé avec le pack, comparer les positions, changer de pack puis
|
|
le désactiver, recharger les ressources, visiter les autres dimensions et
|
|
vérifier les occultations par le terrain. Les ombres du shader ne doivent pas
|
|
dessiner les étoiles dans leur passe d'ombres.
|
|
|
|
## Ressources modifiables
|
|
|
|
Les deux sources sont embarquées dans le mod et peuvent être remplacées par un
|
|
resource pack avec les mêmes chemins :
|
|
|
|
- `assets/sanctuary/shaders/post/vanilla_light.fsh` : traitement des couleurs ;
|
|
- `assets/sanctuary/post_effect/vanilla_light.json` : chaîne de rendu native.
|
|
|
|
Leurs identifiants restent stables. Aucun sprite ou PNG existant n'est modifié.
|
|
Le futur resource pack commun peut reprendre ces sources ; aucune archive de
|
|
shader externe non testée n'est présentée comme installable dans cette livraison.
|
|
|
|
## Validation
|
|
|
|
Le parcours client vérifie l'option native, l'application GPU puis le retrait
|
|
de l'effet, le rechargement des ressources et le nombre réel d'indices dessiné
|
|
par la passe native avec un ciel peuplé puis vide. Ce parcours passe sur le
|
|
client natif : témoin `SHADER040_CLIENT_PASS` dans
|
|
`build/operator040-client-final.log`. Captures dans
|
|
`build/operator040-evidence/final/`, reçu dans `build/operator040-artifact.json`.
|
|
Les contrôles ne revendiquent pas un essai avec Iris ou un autre moteur externe.
|
|
|
|
|
|
Les ombres portées pixélisées sont livrées dans [beta.127](shader-beta127.md),
|
|
intégrées sur la beta.126. Leur préparation locale portait un numéro beta.122
|
|
non publié ; la release beta.122 existante n'est pas remplacée.
|