Логика отражения света для 3D зеркальных отражений
Я пытаюсь добавить зеркальные отражения в игру Stage3D, и она ПОЧТИ работает, но я не думаю, что у меня есть достаточно хорошее понимание математики, происходящей на стадии реального отражения.
У меня есть входящий световой вектор, и у меня нормальное лицо; Я знаю, что делать с результирующим отраженным вектором (нормализовать, а затем поставить точку с нормализованным вектором, указывающим на "камеру" плеера), но какие коды AGAL отражают исходный вектор света от лица? Я не могу разобраться с этим. Любая помощь приветствуется...
1 ответ
В отличие от GLSL с рефлексом (), у AGAL нет никакого помощника для этого. Но вы все равно можете рассчитать вектор отражения самостоятельно - даже на справочной странице GLSL для refle () упоминается формула, используемая для расчета:
For a given incident vector I and surface normal N reflect returns the reflection direction calculated as I - 2.0 * dot(N, I) * N.