Opengl Triangle anziché quadrata
Domanda
Nel tentativo di creare un quadrato interno filatura di Xcode usando OpenGL, ma invece per qualche ragione ho un triangolo di filatura?
sto facendo questo all'interno di SiO2, ma non penso che questo è il problema.
Ecco il triangolo: http://img220.imageshack.us/img220/7051/snapzproxscreensnapz001.png
Ecco il mio codice:
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();
}
Soluzione
Due dei tuoi punti sono gli stessi. Pertanto ci avete fornito solo tre punti unici in tal modo si dispone di un triangolo.
Il punto vi manca è -100.0f, -100.0f,
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow