Objectif
Verifier en jeu que la chaine d’animation des vertex colors (lampes qui
pulsent) fonctionne reellement apres les fixes des sessions 126-127.
Sans log explicite, impossible de distinguer :
– le systeme ne tourne pas (animMeshes vide ou update jamais appele)
– le calcul tourne mais le buffer Color n’est pas re-uploade au GPU
– le buffer est uploade mais l’oscillation est trop subtile pour etre visible
Modifications
world/AnimBrightnessSystem.java
– Ajout de 3 champs lastSampleIntensity / lastSampleRawWord / lastSampleLbDyn
qui capturent la 1ere entry de la 1ere geometry animee a chaque tick.
– updateAnimatedColors() met a jour ces champs en plus du calcul existant.
– Le log d’echantillon passe de log.debug (souvent desactive) a log.info
avec un format detaille :
AnimBrightness tick=N | sample raw=0xHHLL LbDyn=X intensity=Y (M meshes, K entries).
– Frequence : 50 ticks (~5 sec) pour ne pas spammer.
– Helper interne countTotalEntries() pour le total des entries actives.
Comment interpreter le log
Apres lancement d’une partie sur LEVEL_A, on doit voir dans la console :
AnimBrightness tick=50 | sample raw=0xf100 LbDyn=10 intensity=0.450 (1 meshes, 12 entries)
AnimBrightness tick=100 | sample raw=0xf100 LbDyn=20 intensity=0.572 (1 meshes, 12 entries)
AnimBrightness tick=150 | sample raw=0xf100 LbDyn=10 intensity=0.450 (1 meshes, 12 entries)
...
Criteres de validation :
– tick augmente = le update() est bien appele
– LbDyn change entre les lignes = computeLbDynamic interpole correctement
– intensity varie entre ~0.41 et ~0.57 = la formule produit l’oscillation
– M meshes, K entries non-zero = le scanLevelScene a trouve les anim entries
Si ces 4 criteres sont OK mais qu’on ne voit AUCUN pulse visuel a l’ecran,
le probleme est cote upload GPU du buffer Color (piege classique JME : un
mesh sauve Static dans le .j3o peut ignorer les writes ulterieurs meme
apres setUsage(Stream)). On verra ca dans une prochaine session si
necessaire.