Войти
OpenGL communityФорумВопросы по программированию

Библиотеки шейдерных функций фиксрованного конвейера

#0
7:31, 13 мая 2015

Приветствую.

Подскажите, где взять готовые отлаженные реализации для различных функций, которые ранее реализовывались в фиксированном конвейере, таких как
- расчет освещенности точки одним источником в зависимости от координат точки, координат источника, нормали и результирующих амбиентного, диффузного и спекулярного цветов (координаты и нормаль уже глазные)
- расчет текстурных координат для сферической карты отражений в зависимости от координат точки и нормали (координаты и нормаль уже глазные)
и других не совсем тривиальных функций FFP.

Попытался делать самостоятельно по формулам в спецификациях к старым версиям OpenGL, но уж больно сложный велосипед получается, как только дело уходит дальше диффузной освещенности. Видать где-то в чем-то ошибаюсь, при сравнении с FFP-рендерингом вижу  существенные отличия.


И еще попутный вопрос, может кто нибудь объяснить, почему в FFP для преобразования нормалей в глазные координаты использовалось не левое умножение на текущую результирующую матрицу, как для вершин, а правое умножение на ее обращение? Когда для себя мысленно представляю преобразования, нарисовав нормали как обычные перпендикулярные к поверхностям единичные векторы, вижу, что они преобразуются точно также как и обычные вершины (с точностью до параллельного переноса в начало координат, то есть с игнорированием 4-й строки и 4 столбца), поэтому всегда думал, что преобразование нормалей идет точно также, как и преобразование вершин, только левоверхней частью 3х3 матрицы. Был озадачен, уточнив спецификацию. Обязательно ли делать именно так, или я не учитываю каких-то моментов?


OpenGL communityФорумВопросы по программированию

Тема в архиве.