Files
sanctuary-beta/docs/shader-beta133.md
T
koka 17172fd18b
Build Sanctuary / build (push) Canceled after 0s
docs: record beta.133 release and Prism synchronization
2026-09-17 22:19:32 +02:00

5.8 KiB

SHADER-133 — SSGI visible au réglage courant

Demande : le rebond diffus de beta.132 est trop discret pour être distingué. Branche codex/ssgi-strength-beta133, socle beta.132, Minecraft 26.3 / Java 25.

Changement

La collecte conserve douze directions, dix étapes, une demi-résolution et un rayon de 2,5 blocs. L'atténuation spatiale devient linéaire plutôt que quadratique. Le mélange est reconstruit en lumière approximativement linéaire, puis réencodé une seule fois. Un gain artistique plus fort rend la couleur lisible et une courbe progressive évite de couper brutalement les canaux à blanc. Les surfaces sans rebond restent intactes. La force demeure réglable de 0 à 100, avec le même réglage initial de 35 ; aucune préférence enregistrée n'est écrasée. SSGI reste optionnel, initialement désactivé.

Aucun rayon, cible GPU ou texture de matériau supplémentaire. La composition ajoute une exponentielle et une racine carrée par canal ; le coût exact en FPS reste à mesurer sur la machine du joueur. Les normales de géométrie orientent déjà le rebond. Pas de PBR ni de normales procédurales de textures ajoutés.

Piste matériaux

Pour une étape distincte, des normales de faible amplitude calculées au chargement des textures, mises en cache, et une rugosité par famille de matériaux permettraient d'étudier du relief et des reflets orientés. Une simple conversion luminosité → hauteur ne connaît pas le relief réel : un motif peint peut devenir une bosse artificielle. Commencer sur pierre, briques et bois avec une amplitude réglable serait préférable à une génération aveugle pour tous les blocs. La passe actuelle ne possède ni atlas de normales, ni identifiants de matériaux, ni albédo non éclairé ; des images seules ne suffiraient pas à les exploiter.

Limites conservées

Approximation diffuse à partir de la couleur déjà éclairée, pas un transport physique complet. Seules les surfaces visibles contribuent, avec variations possibles aux entrées/sorties d'écran. Premier obstacle bloquant, pas d'historique ni de bruit temporel ; aucune modification d'eau, monde ou lumière serveur.

Vérifications

Suite client native complète réussie en 4 min 29 s, sur macOS / Apple M1 / OpenGL, dans un monde de test plat (graine 122). Les comparaisons ON/OFF à 35 % mesurent, sur les pixels neutres du sol :

Mur Pixels avec gain ≥ 8/255 Pixels avec gain ≥ 16/255 Gain cumulé du canal dominant
Rouge 16 487 7 311 305 221
Bleu 14 954 7 328 309 991

À 90 %, les gains dominants atteignent 654 683 et 655 867, contre 8 968 et 9 168 au même réglage dans la fixture beta.132. Ce rapport concerne uniquement cette scène et ces pixels, pas une promesse de gain uniforme dans tous les mondes. Les captures confirment une bande colorée au pied du mur. Un premier réglage intermédiaire a été rejeté car aucun pixel du sol ne dépassait 8/255 à 35 % ; un second a passé les contrôles ciblés, puis la force a encore été augmentée après examen visuel. Les valeurs finales sont celles de la suite complète.

Le test impose maintenant plus de 5 000 pixels à 8/255 et plus de 500 à 16/255 au réglage 35, pour les deux couleurs. Intensité, OFF/zéro, absence de rebond coplanaire, occultation d'un mur changeant de couleur, caméra fixe, déplacement infinitésimal, retour de caméra, redimensionnement et rechargement passent. Ombres, lune, feuillage, CTM, cinq précisions, bloom, émissifs indépendants et interfaces FR/EN restent validés, y compris avec le SSGI actif.

Commande : ./gradlew :sanctuary:runClientGameTest -PsanctuaryClientTests=true -PsanctuaryPixelShadows122ClientTests=true -PsanctuaryClientNoVsync=true -PsanctuaryQuickTests=true. Log : build/shader133-client-full.log. Le nom de la propriété ciblée sanctuarySsgi132ClientTests est conservé.

Comparateur local autonome : build/SSGI-beta.133-comparaison.html, captures natives OFF/35/90 des murs rouge/bleu, sans retouche. Pas de validation Windows/Vulkan ni de mesure de coût FPS revendiquée.

./gradlew check build assemblePack assembleTestPack -x :sanctuary:runGameTest réussit en 2 min 21 s, 126 tâches. Le serveur GameTest dédié reste exclu conformément au refus EULA antérieur. Log : build/shader133-build.log. Les archives normal/Test contiennent le même JAR ; sources archivées et template de ressources correspondent aux sources. Comparaison avec beta.132 : 5 entrées de production changées (classe du compositeur, deux shaders, libellés FR/EN). Gameplay, textures, sauvegardes et dépendances inchangés.

Artefacts

  • Sanctuary-beta.133.mrpack : 10394282 octets, SHA-256 0c90a070da7f969706abeeec1bdfb0830bb52244c20fccbca4fd876f3fbe0564.
  • Sanctuary-Test-beta.133.mrpack : 10413204 octets, SHA-256 e01f0355bf2cce18156fe94a069e142bedc498624ba0b6e2729ae0f23ea73e80.

JAR : a01cae4a98606007b533ca09ec9f072f19a1db2e9b8de466f4ad075d5c1fc185.

Livraison

Release beta.133 publiée depuis 216d3f75b576bd2ed531653012f9cc6c4801d87a. Canal packwiz 9ceb5a5353c9d1b8bb7834a20e818fd65096ff98 ; téléchargements publics vérifiés par SHA-256. Deux synchronisations isolées puis deux synchronisations de la même instance Sanctuary Beta réussissent. Un seul JAR beta.133 actif ; les 923 fichiers personnels suivis, dont sauvegardes et préférences, gardent leurs hashes. Sauvegarde préalable sanctuary-backups/before-beta.133/, aucun monde personnel ouvert. Le checkout original conserve ses changements préexistants.

Les archives normal/Test/template et le comparateur natif sont également dans sanctuary-beta/build/. Reçus locaux ignorés : build/shader133-artifact.json, build/shader133-isolated.json, build/shader133-prism.json et build/shader133-publication.log.