【发布时间】:2013-11-16 11:58:48
【问题描述】:
在 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
【问题讨论】:
-
你想在你的程序中实现阴影吗?
-
传统 OpenGL 中的光照只不过是基于光源方向/距离衰减的花哨的逐顶点插值颜色。您似乎在描述的内容暗示了阴影投射,OpenGL 在 API 级别上从未支持过。这些部件已经就位,可以自己实现阴影,但你必须做一些肮脏的工作。
标签: graphics opengl-es webgl shader lighting