Bonjour,
J'utilise JOGL et j'ai essaye sans succes d'appliquer une texture sur une surface NURBS avec gluNurbsSurface de GLU. La surface est visible mais sans la texture... J'espere que le probleme vient de moi et pas du fait que l'implementation de JOGL n'est pas encore complete.

Voici les fragments correspondants de mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
GLUgl2 glugl2;    GLUnurbs nurbs; 
float[] knots , ctrl_pts; 
Texture t;    float[] t_knots , t_pts;
*** inside init:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
glugl2 = new GLUgl2();    nurbs = glugl2.gluNewNurbsRenderer(); 
gl.glEnable(GL2.GL_AUTO_NORMAL); 
knots = new float[]  {  0.0f , 0.0f , 0.0f , 0.0f , 1.0f , 1.0f , 1.0f , 1.0f  };
 ctrl_pts = new float[]  {   ... 4 * 4 * 3 coordinate values ...  }; 
try  {  t = TextureIO.newTexture(new File("EarthMap_2500x1250.jpg") , true);  }  catch(Exception e) {}
 t_knots = new float[]  {  0.0f , 0.0f , 1.0f , 1.0f  }; 
t_pts = new float[]  {  0.0f , 0.0f    ,    0.0f , 1.0f 
                              , 1.0f , 0.0f    ,    1.0f , 1.0f  };
*** inside display:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
t.enable();    t.bind(); 
glugl2.gluBeginSurface(nurbs); 
glugl2.gluNurbsSurface(nurbs, 4 , t_knots , 4 , t_knots, 2 * 2 , 2 , t_pts, 2 , 2, GL2.GL_MAP2_TEXTURE_COORD_2);
 glugl2.gluNurbsSurface(nurbs, 8 , knots , 8 , knots, 4 * 3 , 3 , ctrl_pts, 4 , 4, GL2.GL_MAP2_VERTEX_3);
 glugl2.gluEndSurface(nurbs); 
t.disable();
Merci par avance pour votre aide,
Manuel