Я только что сделал урок с videotutorialsrock.com по освещению в C++ OpenGL. Я понимаю окружающий свет, но не понимаю разницы между позиционным светом и прямым светом, так как идея и код обоих выглядели очень похожими. Вот мой код для позиционированного света:
//Add positioned light
GLfloat lightColor0[] = {.6, .6, .6, 1};
GLfloat lightPos0[] = {4, 0, 8, 1};
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor0);
glLightfv(GL_LIGHT0, GL_POSITION, lightPos0);
И для направленного света:
//Add direct light
GLfloat lightColor1[] = {.5, .2, .2, 1};
GLfloat lightPos1[] = {-1, .5, .5, 0};
glLightfv(GL_LIGHT1, GL_DIFFUSE, lightColor1);
glLightfv(GL_LIGHT1, GL_POSITION, lightPos1);
Может ли кто-нибудь объяснить?