1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
int zPixelStep = 0 ; // coordonnée z
private void displayTex3D2(GL gl) {
zPixelStep +=1;
zPixelStep = (zPixelStep ==tex3D2.getDepth())? 0 : zPixelStep ; // test pour que la valeur de zPixelStep ne dépasse pas le nombre de slices.
gl.glEnable(GL.GL_TEXTURE_3D);
gl.glTexEnvf(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
gl.glBindTexture(GL.GL_TEXTURE_3D, tex3D2.getID());
gl.glBegin(GL.GL_QUADS); // chaque texture est une rectangle
gl.glTexCoord3f(0, 0, zPixelStep);gl.glVertex3f(0, 0, zPixelStep);
// je vais varier la coordonnée z pour les texture et leurs vertex associés
gl.glTexCoord3f(0, 1.0f, zPixelStep);gl.glVertex3f(0, height,zPixelStep);
gl.glTexCoord3f(1.0f, 1.0f, zPixelStep); gl.glVertex3f(width, height, zPixelStep);
gl.glTexCoord3f(1.0f, 0, zPixelStep); gl.glVertex3f(width, 0,zPixelStep);
gl.glEnd();
gl.glDisable(GL.GL_TEXTURE_3D);
} |
Partager