JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
test_shadow_render.cpp File Reference

Tests unitaires des ombres du plan physique (LOT-55, EX-REN-045). More...

Functions

 TEST (ShadowRenderTest, TuilePleineProjetteUnQuadDecaleSurShadow)
 Une tuile pleine (Solid) projette un quad d'ombre, decale, sur RenderLayer::Shadow.
 TEST (ShadowRenderTest, DouzeSilhouettesMemeRegionQueRegionForTile)
 Chacun des douze types a silhouette projette une ombre echantillonnant EXACTEMENT la meme region d'atlas que hmi::regionForTile — la meme forme que la silhouette affichee, sans reimplementer la geometrie (LOT-42).
 TEST (ShadowRenderTest, BlocPoussableEnMouvementOmbreInterpolee)
 Un bloc poussable en mouvement (PreviousPosition distincte de la position courante) voit son ombre interpolee exactement comme son propre sprite (EX-ARCH-031).
 TEST (ShadowRenderTest, PorteSuitLEtatCourantDeLaGrilleDeCollision)
 Une porte suit l'etat COURANT de la grille de collision des mecanismes, pas son type statique (toujours TileType::Door) : fermee (solide) elle projette une ombre, ouverte elle n'en projette plus ; sans grille fournie, jamais d'ombre.

Detailed Description

Tests unitaires des ombres du plan physique (LOT-55, EX-REN-045).

Function Documentation

◆ TEST() [1/4]

TEST ( ShadowRenderTest ,
BlocPoussableEnMouvementOmbreInterpolee  )

Un bloc poussable en mouvement (PreviousPosition distincte de la position courante) voit son ombre interpolee exactement comme son propre sprite (EX-ARCH-031).

Cas de test : Bloc poussable en mouvement : ombre interpolee.
Categorie : Unitaire · Ombres du plan physique
Criticite : Majeur
Etapes :
1. Peupler un Block avec une PreviousPosition distincte.
2. Composer a interpolationAlpha = 0.5.
Resultat attendu : Le quad d'ombre est a mi-chemin entre les deux positions, plus l'offset.

◆ TEST() [2/4]

TEST ( ShadowRenderTest ,
DouzeSilhouettesMemeRegionQueRegionForTile  )

Chacun des douze types a silhouette projette une ombre echantillonnant EXACTEMENT la meme region d'atlas que hmi::regionForTile — la meme forme que la silhouette affichee, sans reimplementer la geometrie (LOT-42).

Cas de test : Silhouettes : ombre a la meme region d'atlas que la tuile.
Categorie : Unitaire · Ombres du plan physique
Criticite : Critique
Etapes :
1. Peupler chacun des douze types a silhouette.
2. Composer les ombres.
Resultat attendu : Les UV du quad d'ombre correspondent a hmi::regionForTile(type).

◆ TEST() [3/4]

TEST ( ShadowRenderTest ,
PorteSuitLEtatCourantDeLaGrilleDeCollision  )

Une porte suit l'etat COURANT de la grille de collision des mecanismes, pas son type statique (toujours TileType::Door) : fermee (solide) elle projette une ombre, ouverte elle n'en projette plus ; sans grille fournie, jamais d'ombre.

Cas de test : Porte : ombre selon l'etat courant de la grille de collision.
Categorie : Unitaire · Ombres du plan physique
Criticite : Critique
Etapes :
1. Peupler une porte.
2. Composer sans grille, puis avec une grille ou elle est fermee, puis ouverte.
Resultat attendu : Aucune ombre sans grille ; une ombre fermee ; aucune ouverte.

◆ TEST() [4/4]

TEST ( ShadowRenderTest ,
TuilePleineProjetteUnQuadDecaleSurShadow  )

Une tuile pleine (Solid) projette un quad d'ombre, decale, sur RenderLayer::Shadow.

Cas de test : Tuile pleine : quad d'ombre decale sur Shadow.
Categorie : Unitaire · Ombres du plan physique
Criticite : Critique
Etapes :
1. Peupler une tuile Solid.
2. Composer les ombres en mode Texture.
Resultat attendu : Un quad est emis sur RenderLayer::Shadow, decale de l'offset attendu.