La plupart de mon éclairage fonctionne comme je le souhaite, mais il me semble qu'il me manque complètement l'éclairage ambiant. C'est-à-dire que les côtés des choses loin du soleil sont complètement noirs (j'espérais 50% d'ambiant), alors que les côtés vers le soleil semblent allumés comme je m'y attendais.Pourquoi mon éclairage ambiant open gl fonctionne-t-il?
Voici mon code d'installation d'éclairage (sous la direction de l'original, voir note ci-dessous):
- (void) setupLighting
{
const float amb = 2.0;
const float LightAmbient[][4] = { { amb, amb, amb, 1.0f },
{ amb, amb, amb, 1.0f }
};
const float LightDiffuse[] [4] = { { 1.0f, 1.0f, 1.0f, 1.0f },
{ 1.0f, 1.0f, 1.0f, 1.0f }
};
const float LightPosition[][4] = { { 1.0f, 4.0f, 2.0f, 0.0f },
{ 0.0f, 10.0f, 0.0f, 1.0f }
};
glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient[0]);
glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDiffuse[0]);
glLightfv(GL_LIGHT0, GL_POSITION, LightPosition[0]);
glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient[1]);
// etc., snip -- no LIGHT1 for this round
glColorMaterial (GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
glEnable(GL_COLOR);
//glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHT0);
//glEnable(GL_LIGHT1);
glEnable(GL_LIGHTING);
}
(NOTE: LIGHT1 commenté pour l'instant - je suis juste essayer d'obtenir LIGHT0 faire ce que je veux.
Je ne sais pas si c'est important, mais je dessine des cubes unitaires à texture alignée et alignés à l'unité (à la MineCraft) en utilisant glDrawArrays(). Toutes mes normales semblent correctes; si je laisse l'éclairage éteint, tout est correctement tracé (tout simplement éclairé.)
Des indices?
Merci!
Modifier (capture d'écran Ajout.)
Modifier Par commentaires, je me suis cogné des valeurs ambiantes jusqu'à 2,0, et il ressemble maintenant à ce que je pense à température ambiante d'environ 50% . Cela semble bizarre - je pensais que les valeurs d'éclairage étaient épinglées à [0, 1] ...? Quel concept fondamental de la lumière ambiante ne suis-je pas en train de creuser?
si c'est le cas - la lumière fonctionne – Andrew
Peut-être que je ne comprends pas, mais ils ne sont pas complètement noirs. Ils sont sombres, mais certainement pas noirs. – Bart