J'ai un cube que je veux faire pivoter. J'ai aussi une source de lumière GL_LIGHT0. Je veux faire pivoter le cube et laisser la source lumineuse fixée à son emplacement. Mais la source de lumière tourne avec mon cube. J'utilise OpenGL ES 1.1 Voici un extrait de mon code pour clarifier ma question.Comment faire pivoter un objet et laisser l'éclairage fixe? (OpenGL)
GLfloat glfarr[] = {...} //cube points
GLubyte glubFaces[] = {...}
Vertex3D normals[] = {...} //normals to surfaces
const GLfloat light0Position[] = {0.0, 0.0, 3.0, 0.0};
glLightfv(GL_LIGHT0, GL_POSITION, light0Position);
glEnable(GL_LIGHT0);
for(i = 0; i < 8000; ++i)
{
if (g_bDemoDone) break;
glLoadIdentity();
glTranslatef(0.0,0.0, -12);
glRotatef(rot, 0.0, 1.0,1.0);
rot += 0.8;
glClearColor(0, 0, 0, 1);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glNormalPointer(GL_FLOAT, 0, normals);
glVertexPointer(3, GL_FLOAT, 0, glfarr);
glDrawElements(GL_TRIANGLES, 3*12, GL_UNSIGNED_BYTE, glubFaces);
glDisableClientState(GL_NORMAL_ARRAY);
glDisableClientState(GL_VERTEX_ARRAY);
eglSwapBuffers(eglDisplay, eglSurface);
}
Merci.
Merci. Mais: Nous ne pouvons pas utiliser GLUT car nous utilisons OpenGL ES (embarqué). N'y a-t-il pas un autre moyen plus simple de faire pivoter seulement le cube (pas la matrice de vue)? – snakile
1. La rotation directe des sommets est un mauvais conseil. 2. OpenGL n'a pas de matrice ** view **. Il a la matrice ** modelview **. Quel est le monde * vue. – SigTerm
@SigTerm OK, alors comment faire pivoter le cube sans faire pivoter les sommets directement? – snakile