Bonjour à tous,

je suis actuellement en train d'implémenter des spots et je suis trés surprise des résultats que j'obtiens (en prenant pourtant les exemples des tutorials...)
En réalité :
- lorsque l'angle du cône au sommet est inférieur à 90 degré, je n'obtiens aucune lumière
- lorsqu'il est égale à 90 degré, j'obtiens bien le résultat voulu
- lorsqu'il est supérieur à 90 degré, j'ai bien une lumière positionnelle

je ne comprends donc pas pourquoi je n'obtiens aucune lumière lorsqu'on mon angle est égal par exemple à 45 degré.

voici, à titre indicatif, les extraits du code qui concernent la lumière. l'objet éclairé est une sphère avec des propriétés ambiante, diffuse, spéculaire, émissive..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
//Propriétés du spot lumnieux
GLfloat lightAmbient[]={0.2, 0.2, 0.2,0.0};
GLfloat lightDiffuse[]={1.0, 1.0, 1.0,0.0};
GLfloat lightSpecular[]={1.0, 1.0, 1.0,0.0};
GLfloat lightPosition[]={0.0, 0.0, 0.0,1.0};
GLfloat lightDirection[]={0.0, -1.0, 0.0};
 
void init(void)
{
    glClearColor(0.0,0.0,0.0,0.5);
    glEnable(GL_DEPTH_TEST);
    glLightfv(GL_LIGHT0, GL_AMBIENT, lightAmbient);
    glLightfv(GL_LIGHT0, GL_DIFFUSE, lightDiffuse);
    glLightfv(GL_LIGHT0, GL_SPECULAR, lightSpecular);
    glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 45);
    glLightfv(GL_LIGHT0, GL_POSITION, lightPosition);
    glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, lightDirection);
    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);   
    glEnable(GL_COLOR_MATERIAL);
  }
Je tiens à préciser que ma sphère est positionnée en (0,-1.5,0), donc vu la direction du projecteur, la sphère devrait être éclairée non?
merci pour votre aide