2010-05-12 3 views
3

J'ai besoin de dessiner la figure suivante dans openGL.Comment puis-je dessiner la figure suivante dans opengl?

alt text http://i42.tinypic.com/10xviwx.jpg

J'ai essayé de le faire avec des polygones comme celui-ci

glTexCoord2f(0.0f, 0.0f);glVertex3f(9.5f,0,-20); 
glTexCoord2f(0.5f, 0.0f);glVertex3f(20,0,-20); 
glTexCoord2f(0.0f, 1.0f);glVertex3f(20,0,40); 
glTexCoord2f(1.0f, 0.0f);glVertex3f(9.5f,0,40); 



glTexCoord2f(0.0f, 0.0f);glVertex3f(9.5f,0,40); 
glTexCoord2f(1.0f, 0.0f);glVertex3f(-20,0,40); 
glTexCoord2f(0.0f, 1.0f);glVertex3f(-20,0,0); 
glTexCoord2f(1.0f, 0.0f);glVertex3f(-3.5f,0,0); 
glTexCoord2f(1.0f, 1.0f);glVertex3f(9.5f,0,0); 

Je n'ai pas le chiffre exact, je suis la figure suivante:

alt text http://i39.tinypic.com/2iw4jz6.jpg

peut Quelqu'un aide?

+0

Pouvez-vous coller une capture d'écran de ce que vous obtenez? –

+0

En outre, si vous avez affaire à la 2D, je vous conseille de changer les choses pour que + Z soit 'up' et que les axes X/Y fonctionnent comme on pourrait s'y attendre. Je ne sais pas pour vous mais je trouve beaucoup plus facile de penser dans le plan XY que dans le XZ :) – genpfault

+0

@genpfault: Ou utilisez simplement 'gluOrtho2D()'. ';]' –

Répondre

4

Triangulate votre polygone d'entrée et de rendre les triangles résultants. GL_POLYGON ne fonctionne que sur les polygones convexes.

Vous pouvez également utiliser le stencil buffer pour rendre des polygones concaves.

+0

C'est probablement la seule solution qui soit la plus pratique. Je triangulerais aussi. –

+0

Merci pour votre réponse, je vais aller avec tampon au pochoir. – Lisa

+0

S'il vous plaît, pouvez-vous aider ici http://stackoverflow.com/questions/2823584/opengl-stencil-buffer-problem-wall-window – Lisa

Questions connexes