Rien compris, OpenGL et Z axis !?!
Je suis en train de créer une petite interface 2D.
J'ai des objets (lines) et des textures (quads).
Je n'arrive pas à comprendre le principe de gestion de la depth. A priori on devrait pouvoir dessiner le tout dans n'importe quel ordre, le Z axis va définir quel objet est devant l'autre...
Alors ça ca marche avec tous les objets sauf mes sprites...
Pour afficher ma ligne au dessus de mon sprite, je suis obligé de faire (sprite z=10 et line z=9) !?!
Alors que j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
glClearColor( 0.0f, 0.0f, 0.0f, 0.0f ); CHECK_GL_ERROR; // Black Background
glClearDepth( -1.0f ); CHECK_GL_ERROR; // Depth Buffer Setup
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); CHECK_GL_ERROR;
glMatrixMode( GL_PROJECTION ); CHECK_GL_ERROR;
glOrtho( 0.0, mDisplay.width(), 0.0, mDisplay.height(), -1024.0, 1024.0 ); CHECK_GL_ERROR;
glDepthRange( -1.0f, 200.0f );
glEnable( GL_TEXTURE_2D ); CHECK_GL_ERROR;
glEnable( GL_BLEND ); CHECK_GL_ERROR; // Turn Blending On
glEnable( GL_DEPTH_TEST); CHECK_GL_ERROR; // Turn Depth Testing On
glDepthFunc( GL_GEQUAL );
+ dessins |
Any help ?