Aller au contenu principal

Session 129 — Debug strobe + diagnostic matériau pour anim brightness

Constat

Le log de session 128 a confirmé que AnimBrightnessSystem tourne (tick
avance, LbDyn oscille) mais l’oscillation d’intensity ne fait que 9% de gris
(0.867 → 0.956), trop subtile pour être visible si on ne sait pas où regarder.

Deux causes possibles à distinguer :
1. Le pipeline GPU fonctionne mais l’amplitude est juste trop faible.
2. Le buffer Color n’est pas re-uploadé au GPU (ou le matériau l’ignore).

Modifications

world/AnimBrightnessSystem.java

  1. Ajout d’un mode debug DEBUG_AMPLIFY (static, true par défaut pour
    ce test) qui remplace l’intensity calculée par un strobe rouge↔vert
    très visible (oscillation 0..1 sur 20 ticks = 2 sec). Si on voit ce
    strobe en jeu, le pipeline GPU est OK et le seul travail restant est
    la calibration d’amplitude. Si on ne voit rien, le bug est upstream
    (matériau VertexColor=false, buffer non uploadé, etc.).

  2. scanRec log maintenant pour chaque géométrie animée :
    – le nom du mesh
    – le nombre d’entries
    – le materialDef + valeur de VertexColor
    – le centre du bounding box monde (= où le joueur doit aller pour voir)
    – la taille du buffer Color

Permet de confirmer en un coup d’oeil que les conditions nécessaires
au rendu vertex-color sont réunies.

Comment utiliser

  1. Lancer le jeu sur LEVEL_A
  2. Au début du log, chercher les lignes :
    anim mesh 'walls_4': 12 entries, mat=Common/MatDefs/Misc/Unshaded.j3md[VertexColor=true], world center=(...)
    Le world center indique où aller pour voir l’animation.
  3. Naviguer vers ces coordonnées. Tu devrais voir des sommets clignoter
    violemment rouge↔vert (toutes les 2 secondes).
  4. Si oui : pipeline OK, on passe à la calibration d’amplitude.
    Si non : on a un problème upstream qu’on diagnostiquera avec le
    contenu du log.

Après validation

Mettre DEBUG_AMPLIFY = false (constante en haut de la classe) pour
revenir au comportement nominal ASM-fidèle.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *