No sé si estoy haciendo algo mal o me falta algo, pero quiero simular la luz del sol, como en un día soleado.
Cuando el objeto se enfrenta a la luz direccional, está bien iluminado y no hay problemas allí. Si rodeo el objeto y lo miro, está oscuro. No está demasiado oscuro porque lo estoy usando, GL_AMBIENT
pero todavía está demasiado oscuro para un día soleado. Si aumento el valor, nunca se verá mejor porque el lado del objeto que mira hacia la luz será demasiado brillante.
Y hay otro problema molesto con la luz ambiental, al mirar la parte posterior del objeto, no puedo ver ninguna forma, solo un color liso. Difícil de explicar, aquí hay algunas fotos:
Parte delantera del objeto: http://i.stack.imgur.com/YW53X.png
Parte posterior del objeto: http://i.stack.imgur.com/Qufha.png
Como puede ver fácilmente, la parte frontal se ve bien, puede ver la forma de esa cosa roja. En la parte posterior, es simple, no puedes ver la misma forma.
Ahora, sé que estoy mirando la parte posterior de un objeto y estoy mirando en la dirección de la luz y debería ser más oscura que la parte frontal. Pero no debería verse así de claro. Eso no es lo que vemos cuando vamos contra la luz del sol mirando algún objeto, vemos que los objetos tienen alguna forma.
¿Cómo puedo tener el mismo efecto (o similar) en OpenGL?
Mi luz actualmente se define así:
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);