Hello,
Pour mon moteur 3d, j'ai décidé d'utiliser les shadows volumes.
Je n'ait pas encore fini mais j'ai fait une fonction qui permet d'afficher le volume d'ombre. J'était tout content d'avoir su afficher le volume d'ombre, le tout sans trop de perte de performance.
Donc je passe à la suite et je désactive la mise à jour du tampon de profondeur et du tampon de couleur juste avant d'afficher mon volume d'ombre :
Et la : une perte de performance énorme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 glDepthMask(GL_FALSE); glColorMask(0,0,0,0); //ici le code pour manipuler le stencil buffer que je n'ait pas encore codé showShadowVolume(); glDepthMask(GL_TRUE); glColorMask(1,1,1,1);
- Pour un modèle de 166 polygones, je passe de 25fps à 15fps rien qu'en désactivant le test de profondeur et le tampon de couleur.
- Avec un modèle de 2000 polygones, je passe de 10fps à 3fps !
Je sais que ma carte graphique est loin d'être à la mode (ati 9200) mais il me semble que la perte de performance pour seulement 2 désacivation/activation de tampon est énorme, non ?
Donc ma question : Est-ce que les jeux vidéo actuel utilisent les shadow volume ou est-ce encore trop gourmand en resource pour du temps réel ?
Est-ce que du shadow mapping serait plus performant ?
Merci d'avance...
Partager