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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?