Ora bem, eu preciso de desenhar esta figura:
Eu já percebi que ela tem a forma de uma pirâmide e que, à medida que vai subindo, o ponto vai-se aproximando do centro até formar um circulo no topo de raio 1, com 12 slices. Assim como o quadrado, tem 12 slices. Esta pirâmide tem um número indefinido de stacks, quantas mais stacks melhor definição terá. Para já, eu contentava-me em fazer isto com 1 stack, mas não estou a conseguir. Já tenho num vector os pontos todos da base, mas não estou a conseguir desenhar o polígono visto que não consigo perceber qual o ponto do círculo em cima a que associa cada um dos pontos do quadrado...
Alguém me pode ajudar?
Obrigado
Edit: De preferência usando GL_TRIANGLE_STRIPS. O quadrado que tenho, para já, está com GL_POLYGON.
Edit2: Mais info:
Isto devia desenhar um quadrado...mas não aparece nada... =\
Edit 3: Já agora, fica aqui o vector dos pontos também...
Eu já percebi que ela tem a forma de uma pirâmide e que, à medida que vai subindo, o ponto vai-se aproximando do centro até formar um circulo no topo de raio 1, com 12 slices. Assim como o quadrado, tem 12 slices. Esta pirâmide tem um número indefinido de stacks, quantas mais stacks melhor definição terá. Para já, eu contentava-me em fazer isto com 1 stack, mas não estou a conseguir. Já tenho num vector os pontos todos da base, mas não estou a conseguir desenhar o polígono visto que não consigo perceber qual o ponto do círculo em cima a que associa cada um dos pontos do quadrado...
Alguém me pode ajudar?
Obrigado
Edit: De preferência usando GL_TRIANGLE_STRIPS. O quadrado que tenho, para já, está com GL_POLYGON.
Edit2: Mais info:
Código:
glBegin(GL_TRIANGLE_STRIP);
glVertex3f(pontos_base[0][0],0,pontos_base[0][1]);
glVertex3f(pontos_base[1][0],0,pontos_base[1][1]);
glVertex3f(pontos_base[0][0],2.0,pontos_base[0][1]);
glVertex3f(pontos_base[1][0],2.0,pontos_base[1][1]);
glEnd();
Isto devia desenhar um quadrado...mas não aparece nada... =\
Edit 3: Já agora, fica aqui o vector dos pontos também...
Código:
float pontos_base_temp[12][2] = {{-0.5,0.5},{-0.5+1/3,0.5},{-0.5+2/3,0.5},{0.5,0.5},{0.5,0.5-1/3},{0.5,0.5-2/3},{0.5,-0.5},{0.5-1/3, -0.5},{0.5-2/3,-0.5},{-0.5,-0.5},{-0.5,-0.5+1/3},{-0.5,-0.5+2/3}};
Última edição: