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:
*** inside init:
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 display:
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 };
Merci par avance pour votre aide,
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();
Manuel
Partager