我正在将图像绘制到画布上(使用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更有效率,那也会很棒)。谢谢!
答案 0 :(得分:1)
问题解决了:我需要将mesh.dynamic = true
添加到我的网格中,并texture.needsUpdate = true
添加到我的纹理中。