使用CanvasRenderer的three.js纹理,但使用WebGLRenderer显示为黑色

时间:2012-01-20 03:08:51

标签: javascript rendering webgl three.js

我正在将图像绘制到画布上(使用http://haldean.github.com/citycanvas/city.js中的cityTexture方法),然后将其用作纹理。当我使用three.js的CanvasRenderer时,这非常有效,但使用WebGLRenderer时纹理显示为黑色。我将纹理生成为边长为256的正方形。

演示和代码在这里,顶部是CanvasRenderer,底部是WebGLRenderer:http://haldean.github.com/citycanvas/3d.html

这不会是一个问题,除了在渲染大量几何体时CanvasRenderer的性能非常差,而且WebGL似乎表现得更好。 (考虑到这一点,如果有人有任何建议使CanvasRenderer更有效率,那也会很棒)。谢谢!

1 个答案:

答案 0 :(得分:1)

问题解决了:我需要将mesh.dynamic = true添加到我的网格中,并texture.needsUpdate = true添加到我的纹理中。