2010-09-24 21 views
2

Je viens de commencer à apprendre opengl et à écrire un jeu de tir à la première personne, mais je reçois des framerates horribles quand je dessine 5000 cubes. Alors maintenant, je tente d'effectuer l'occlusion et l'abattage à l'aide d'un octree. Ce dont je suis confus, c'est de savoir d'où jaillir les rayons. Est-ce que je ne fais que les jeter du fustrum près d'un avion? Il semble que je voudrais manquer une partie du fustrum qui se développe. Toute aide est appréciée.Occlusion avec octrees

+0

Utilisez-vous des tableaux de vertex/des objets de tampon de vertex ou glBegin()/glEnd() de style ancien? – genpfault

+0

Objets de tampon Vertex – Xavier

+0

Et qu'en est-il de la sélection de matériel/rendu instancié? – erjot

Répondre

3

Si 5000 cubes donne déjà de mauvais framerates, vous devriez envisager de changer la façon dont vous rendez vos cubes.

Nous ne savons pas très bien pour quoi vous dessinez les cubes. S'ils sont statiques (c'est-à-dire qu'ils ne bougent pas), il vaut mieux les empaqueter tous dans un seul tampon de vertex. Si les cubes sont censés bouger, alors vous devriez aller à l'instanciation. Si vous optez pour un paysage fait de cubes comme minecraft, alors vous devriez créer des tampons de vertex mais ne mettre que les faces des cubes qui sont réellement visibles.

Je voudrais aider plus, mais je ne suis pas sûr de ce que vous faites.