OpenGL triángulo en lugar de cuadrada
Pregunta
Estoy tratando de crear un cuadrado dentro de hilado de Xcode usando OpenGL pero en su lugar por alguna razón tengo un triángulo de hilatura?
Estoy haciendo esto dentro de SiO2, pero no creo que este es el problema.
Aquí está el triángulo: http://img220.imageshack.us/img220/7051/snapzproxscreensnapz001.png
Aquí está mi código:
void templateRender( void )
{
const GLfloat squareVertices[] ={
100.0f, -100.0f,
100.0f, -100.0f,
-100.0f, 100.0f,
100.0f, 100.0f,
};
const unsigned char squareColors[] = {
255, 255, 0, 255,
0, 255, 255, 255,
0, 0, 0, 0,
255, 0, 255, 255,
};
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
glClear( GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT );
// Your rendering code here...
sio2WindowEnter2D( sio2->_SIO2window, 0.0f, 1.0f );
{
glVertexPointer( 2, GL_FLOAT, 0, squareVertices );
glEnableClientState(GL_VERTEX_ARRAY);
//set up the color array
glColorPointer( 4, GL_UNSIGNED_BYTE, 0, squareColors );
glEnableClientState( GL_COLOR_ARRAY );
glTranslatef( sio2->_SIO2window->scl->x * 0.5f,
sio2->_SIO2window->scl->y * 0.5f, 0.0f );
static float rotz = 0.0f;
glRotatef( rotz, 0.0f, 0.0f, 1.0f );
rotz += 90.0f * sio2->_SIO2window->d_time;
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
}
sio2WindowLeave2D();
}
Solución
Dos de sus puntos son los mismos. Por lo tanto, sólo se ha proporcionado tres puntos únicos de este modo tiene un triángulo.
El punto se echa en falta es -100.0f, -100.0f,
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow