Je ne sais pas si je fais quelque chose de mal ou si je manque quelque chose, mais je veux simuler la lumière du soleil, comme par temps ensoleillé.
Lorsque l'objet fait face à la lumière directionnelle, il est bien éclairé et il n'y a aucun problème. Si je contourne l'objet et que je le regarde, il fait noir. Ce n'est pas trop sombre parce que j'utilise GL_AMBIENT
mais c'est encore trop sombre pour une journée ensoleillée. Si j'augmente la valeur, elle n'aura jamais meilleure apparence car le côté de l'objet faisant face à la lumière sera trop lumineux.
Et il y a un autre problème gênant avec la lumière ambiante, lorsque je regarde l'arrière de l'objet, je ne vois aucune forme, seulement une couleur unie. Difficile à expliquer, voici quelques photos:
Face de l'objet: http://i.stack.imgur.com/YW53X.png Face de l'
objet: http://i.stack.imgur.com/Qufha.png
Comme vous pouvez facilement le voir, la face avant a l'air bien, vous pouvez voir la forme de cette chose rouge. Au dos, c'est simple, on ne voit pas la même forme.
Maintenant, je sais que je regarde à l'arrière d'un objet et que je regarde dans le sens de la lumière et qu'il devrait être plus sombre que la face avant. Mais cela ne devrait pas ressembler à ça. Ce n'est pas ce que nous voyons quand nous allons contre la lumière du soleil en regardant un objet, nous voyons que les objets forment une forme.
Comment puis-je avoir le même effet (ou similaire) sur OpenGL?
Ma lumière est actuellement définie comme ceci:
float posLight0[4] = {-1.0f, 1.0f, 1.0f, 0.0f};
float ambLight0[4] = {0.5f, 0.5f, 0.5f, 0.5f};
glLightfv(GL_LIGHT0, GL_POSITION, posLight0);
glLightfv(GL_LIGHT0, GL_AMBIENT, ambLight0);