2008-09-10 7 views
1

Lorsque des objets d'une liste d'appels croisent le plan proche, j'obtiens un scintillement ..., que puis-je faire?OpenGl et scintillement

Im utilisant OpenGL et SDL.

Oui, il s'agit d'un double tampon.

Répondre

5

On dirait que vous obtenez z combat. "Le Z-fighting est un phénomène de rendu 3D qui se produit lorsque deux primitives ou plus ont des valeurs similaires dans le tampon z, et qui est particulièrement répandu avec les polygones coplanaires. la couleur d'un polygone ou d'un autre d'une manière non déterministe, variant au fur et à mesure que la scène est animée, amenant un polygone à "gagner" le test z, puis un autre, et ainsi de suite. "

Vous pouvez obtenir plus d'informations sur le problème dans le OpenGL FAQ. GlipolygonOffset peut vous aider, mais vous pouvez également vous causer des ennuis avec cela. Tom Forsyth a une bonne explication dans son FAQ Note: Il parle de ZBIAS, mais c'est juste l'équivalent de DirectX.

0

Ah, vous vouliez dire le près avion. :)

Eh bien ... autre chose quand dessiner des polygones dans le même plan est d'utiliser glPolygonOffset

De la description

glPolygonOffset is useful for rendering hidden-line images, 
    for applying decals to surfaces, and for rendering solids 
    with highlighted edges. 
3

Le problème était que ma fonction de rotation avait des erreurs en virgule flottante qui déformaient ma matrice model_view.

Aucun d'entre vous n'aurait pu le deviner, désolé pour la perte de votre temps. Bien que je ne pense pas que le déplacement du plan proche soit considéré comme une solution à tout type de problème, quelque chose d'autre est généralement faux, car openGL supporte l'intersection de polygones avec le plan proche.