1

嘿,我正在尝试使用此示例在 webgl 中实现阴影映射: 教程

我想做的是

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

我认为我的颜色纹理看起来不错,但不能让我使用全白的深度纹理。

我把代码放在Dropbox上: 源代码 大部分在文件索引html webgl_all js objects js中

有一些我目前没有使用的灯光着色器。

真的希望有人能帮助我。

来自丹麦的问候

4

1 回答 1

0

这可能有几个原因:

  • 对于近平面和远平面的常见设置,归一化深度值将足够高以在大部分场景中显示为全白,即使它们实际上并不相同(请记住,深度纹理的精度至少为 16 位,而您的屏幕输出每个颜色通道只有 8 位。因此深度纹理​​可能显示为全白,即使其值并不完全相同。)
  • 在某些设置(例如桌面 OpenGl)上,当纹理不完整时,即纹理过滤设置为使用 mipmap,但并非所有 mipmap 级别都已创建时,纹理可能会显示为全白。这可能与 WebGl 相同。
  • 您可能遇到了浏览器 WebGl 实现错误。
于 2014-08-31T16:35:03.593 回答