Files
koka 00be1eb0d0
Build Sanctuary / build (push) Canceled after 0s
Integrate native pixel shadows over beta.126 for beta.127
2026-09-17 17:51:19 +02:00

6.1 KiB

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é.

La mise à jour beta.053 é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é.

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, étapes de rendu, association des pipelines Iris.

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, 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.