Это вообще не имеет смысла для меня, но в любом случае, допустим, у нас есть это:
Glfloat dir[] = { 0.0, -1.0f, 0.0f, 0.0f };
glLightfv(GL_LIGHT0, GL_POSITION, dir);
Угадай, что? Лучи света направлены ВВЕРХ, А НЕ ВНИЗ, КАК Я ХОЧУ. Очень неинтуитивно. Почему разработчики opengl решили это сделать?