У меня очень тревожная проблема с OpenGL.
Моя домашняя работа состоит в том, чтобы создать сцену с человеком и мечом и некоторыми другими объектами, поставить точечный источник света на каждой «ладони» парня (зеленый всправа, красный слева) и имеет источник направленного света как солнце.
Вот почтовый индекс с двумя версиями моей программы: http://www.woofiles.com/dl-245221-OdPUtOaW-Release.zip
(К сожалению, имена венгерские, "szép_de_rossz_oldalon_a_fény" означает "хорошо, но огни на противоположной стороне", а "fény_jó_oldalon_de_ronda" означает "огни с правой стороны, но безобразно".)
Моя проблема заключается в том, что эффект от источников света проявляется напротивоположная сторона моих мозаичных параметрических поверхностей.
Логическим объяснением было бы то, что нормали поверхности неверны, но умножение их на -1 дает еще более странный результат.Кажется, что нормальная векторная интерполяция нарушена, и остается только шероховатая поверхность с плохим освещением.Все это путем обращения нормалей.Я уверен, что треугольники направлены в правильном направлении, что векторная арифметика безупречна, и что все находится в той сцене, где это должно быть (можно видеть, что меч зеленый, но эта сторона других поверхностейкрасный).