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

Test de non-régression du volume de primitives et de l'efficacité du culling (LOT-62 TACHE-01, EX-NFR-005, EX-NFR-004). More...

Functions

 TEST (RenderBudgetTest, UnPlanDePlusSurUnNiveauAuPlafondDepasseLeBudgetDeMemoire)
 Un plan supplémentaire à densité native sur un niveau au plafond le fait dépasser : le garde-fou est vérifié dans le sens qui compte — celui du refus.
 TEST (RenderBudgetTest, LeCoutDesPlansEstInvariantEnTailleDeNiveau)
 Le coût de composition des plans est invariant en taille de niveau : c'est ce qui les distingue des tuiles, et la raison pour laquelle un plafond en primitives ne les verrait pas grossir.
 TEST (RenderBudgetTest, ChaquePlanCouteUnePrimitiveEtUnePasseJamaisEcartee)
 N plans coûtent exactement +N primitives soumises et +N passes, aucune écartée par le culling : un plan couvre le niveau entier, il est toujours à l'écran.

Detailed Description

Test de non-régression du volume de primitives et de l'efficacité du culling (LOT-62 TACHE-01, EX-NFR-005, EX-NFR-004).

Function Documentation

◆ TEST() [1/3]

TEST ( RenderBudgetTest ,
ChaquePlanCouteUnePrimitiveEtUnePasseJamaisEcartee  )

N plans coûtent exactement +N primitives soumises et +N passes, aucune écartée par le culling : un plan couvre le niveau entier, il est toujours à l'écran.

Cas de test : N plans coutent N primitives soumises, N passes et aucune ecartee.
Categorie : Unitaire · Budget de rendu
Criticite : Majeur
Etapes :
1. Composer quatre plans dans une scene cadree sur une salle du niveau.
Resultat attendu : Quatre primitives examinees, quatre soumises, quatre passes, zero ecartee.

◆ TEST() [2/3]

TEST ( RenderBudgetTest ,
LeCoutDesPlansEstInvariantEnTailleDeNiveau  )

Le coût de composition des plans est invariant en taille de niveau : c'est ce qui les distingue des tuiles, et la raison pour laquelle un plafond en primitives ne les verrait pas grossir.

Cas de test : Le cout en primitives des plans ne depend pas de la taille du niveau.
Categorie : Unitaire · Budget de rendu
Criticite : Critique
Etapes :
1. Composer quatre plans sur un niveau, puis sur un niveau deux fois plus grand sur chaque axe.
Resultat attendu : Memes primitives examinees, soumises et passes ; la memoire, elle, quadruple.

◆ TEST() [3/3]

TEST ( RenderBudgetTest ,
UnPlanDePlusSurUnNiveauAuPlafondDepasseLeBudgetDeMemoire  )

Un plan supplémentaire à densité native sur un niveau au plafond le fait dépasser : le garde-fou est vérifié dans le sens qui compte — celui du refus.

Un plafond qu'on n'a jamais vu refuser quoi que ce soit ne prouve rien. Cas de test : Un plan de plus sur un niveau au plafond fait echouer le budget de memoire.
Categorie : Unitaire · Budget de rendu
Criticite : Critique
Etapes :
1. Construire un niveau de la taille du plus grand niveau livre, charge de plans a densite native jusqu'au plafond.
2. Ajouter un plan de plus, a la meme densite.
Resultat attendu : Le total passe de « sous le plafond » a « au-dessus », sans que le format lui-meme soit atteint (le nombre de plans reste sous core::MAX_PLANES_PER_LEVEL).