Oyo 
Voilà g un petit pb, je veux créer les ombres projetées par openGL. Je suis donc allé voir des infos sur le site de Nvidia. Là bas g trouvé mon bonheur : matrice de projection des ombres ! Bon le résultat est trés bon : ombres bien projetées, mais la couleur de l ombre est tte à fait foireuse, elle est la même que l objet projeté
. Pourtant g essayé de respecter au mieux leurs codes. SVP de l aide ! dites moi ce qui foire ds ce code :
/ / pour dessiner l ombre
GLvoid Shadows()
{
glDisable(GL_DEPTH_TEST);
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glEnable(GL_STENCIL_TEST);
glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE);
glStencilFunc(GL_ALWAYS, 1, 0xffffffff);
glCallList(Lists_OpenGL[0]); / / le sol
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
glEnable(GL_DEPTH_TEST);
glDisable(GL_STENCIL_TEST);
glCallList(Lists_OpenGL[0]); / / le sol
glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_ALWAYS, 2, 0xffffffff);
glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
SCENE(); / / les objets de la scenes
// points du plan pour calculer son équation
float vfloor1[]={ -5.0,-0.5,-5.0 };
float vfloor2[]={ -5.0,-0.5,5.0 };
float vfloor3[]={ 5.0,-0.5,-5.0 };
// on trouve l équation du plan
findPlane(floorPlane, vfloor1, vfloor2, vfloor3);
// a calcule la matrice de projection
shadowMatrix(floorShadow, floorPlane, lightZeroPosition);
glStencilFunc(GL_EQUAL, 1, 0xffffffff); / * draw if ==1 */
glStencilOp(GL_KEEP, GL_KEEP, GL_INCR);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glDisable(GL_LIGHTING);
glDisable(GL_DEPTH_TEST);
glColor4f(0.0, 0.0, 0.0, 0.5); / / doit etre la couleur de l ombre
glPushMatrix();
glMultMatrixf((GLfloat *) floorShadow); / / on applique la matrice pour projeter les ombres
SCENE();// dessin des objets
glPopMatrix();
glEnable(GL_DEPTH_TEST);
glDisable(GL_STENCIL_TEST);
}