webgl阴影映射gl.DEPTH_COMPONENT

时间:2013-05-12 10:26:39

标签: javascript html5-canvas webgl shadow glsles

嘿我试图使用这个例子在webgl中实现阴影贴图: tutorial

我想做的是

初始化深度纹理和帧缓冲。 使用一个简单的着色器将一个场景绘制到该帧缓冲区,然后使用一个深度纹理作为纹理的框绘制一个新场景,这样我就可以使用其他着色器查看深度贴图。

我觉得我对colortexture看起来不错,但是我无法使用深度纹理全白。

我把代码放在Dropbox上: source code 大多数是在文件中 索引HTML webgl_all js 对象js

暂时没有使用一些灯光着色器。

真的希望有人可以帮助我。

来自丹麦的问候

1 个答案:

答案 0 :(得分:0)

这可能有几个原因:

  • 对于近平面和远平面的常见设置,标准化深度值将足够高,以便在大多数场景中显示为全白色,即使它们实际上不相同(请记住深度纹理的精度至少为16位)虽然你的屏幕输出每个颜色通道只有8位。所以深度纹理可能全白,即使它的值不完全相同。)
  • 在某些设置(例如桌面OpenGl)上,当纹理不完整时,纹理可能会全白显示,即纹理过滤设置为使用mipmap时,但并非所有mipmap级别都已创建。这可能与WebGl相同。
  • 您可能遇到过浏览器WebGl实施错误。