Je travaille sur un moteur de jeu depuis maintenant un mois, et j'ai terminé les éléments de base d'OpenGL. Cependant, la seule chose que je ne peux pas faire fonctionner comme je m'y attends est l'éclairage. (Note: C'est la première fois que je travaille sérieusement avec OpenGL)Problème Open GL Lighting
Ce que je veux, c'est une simulation d'éclairage proche de la réalité - où les surfaces face à la lumière sont plus éclairées que celles plus loin, etc. devrait avoir une position et une couleur. Voilà comment je pensais que ce pourrait être mis en œuvre:
float lightv[4]; // populated with (0.6, 0.6, 0.6, 1)
float positionv[4]; // populated with (0, 10, 0, 1)
int lightID = GL_LIGHT0;
int attenuationType = GL_LINEAR_ATTENUATION;
float attenuationValue = 1;
glLightf(lightID, attenuationType, attenuationValue);
glLightfv(lightID, GL_DIFFUSE, lightv);
glLightfv(lightID, GL_POSITION, positionv);
glEnable(lightID);
Au lieu de faire ce que je pense à faire, il me donne éclairage s'il y avait une lumière où la caméra est! Chaque surface a le même éclairage!
Qu'est-ce que je fais mal?
Merci, je l'apprécie.