食人魔GLSL轻y倒立

时间:2014-09-08 20:13:56

标签: glsl shader ogre

我的Ogre GLSL材质照明有问题。我根据在线教程做了一切,但我似乎无法使我的灯光代码正常工作。

似乎纠正光照的唯一方法是反转我的light_direction.y,但我不相信这是正确的方法。我试图将light_direction乘以world_matrixinverse_world_matrix以及两者的换位版本,但都没有帮助。

唯一有帮助的是反转light_direction.y

我已将代码附加到以下文件中,以及我的应用程序的屏幕截图,其中包含倒置和非倒置y。

我的代码: Google Docs Link | Dropbox link

我的食人魔材料: Google Docs Link | Dropbox link

我的顶点着色器: Google Docs Link | Dropbox link

我的片段着色器: Google Docs Link | Dropbox link

非反转y的屏幕截图: Google Docs Link | Dropbox link

y倒置的屏幕截图: Google Docs Link | Dropbox link

1 个答案:

答案 0 :(得分:1)

光矢量从被点亮的物体指向光,因此与光流的方向相反。

float _NdotL = max(dot(_normal, -_light_direction), 0.0);

Phong Shading model