Как я могу нарисовать следующую фигуру в opengl? - PullRequest
3 голосов
/ 13 мая 2010

Мне нужно нарисовать следующую фигуру в openGL.

альтернативный текст http://i42.tinypic.com/10xviwx.jpg

Я пытался сделать это с такими полигонами

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);

Я не получил точную цифру, я получил следующую цифру:

альтернативный текст http://i39.tinypic.com/2iw4jz6.jpg

Может кто-нибудь помочь ??

1 Ответ

4 голосов
/ 13 мая 2010

Триангулируйте ваш входной многоугольник и визуализируйте получившиеся треугольники. GL_POLYGON работает только на выпуклых многоугольниках.

В качестве альтернативы вы можете использовать трафаретный буфер для рендеринга вогнутых многоугольников.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...