Webgl着色器中的定向照明

时间:2013-11-16 01:14:46

标签: graphics opengl-es webgl shader lighting

在OpenGL中我可以做类似

的事情
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT0)
...
GLfloat position[] = {-1.0f, 0.5f, 0.5f, 0.0f};
glLightfv(GL_LIGHT1, GL_DIFFUSE, color);
glLightfv(GL_LIGHT1, GL_POSITION, position);

我有定向灯。

我如何在webgl中的着色器中创建定向灯?特别是以下情况:

------------------------>     |                O
^                             ^                ^
directional light source     wall             Some object

我希望墙壁(或任何其他不透明的物体)吸收光线,防止其撞击物体O

1 个答案:

答案 0 :(得分:1)

您可以使用一种称为阴影贴图的技术来获得非常好看的阴影。这是我过去学习的教程:

http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-16-shadow-mapping/

http://en.wikipedia.org/wiki/Shadow_mapping