精灵不显示渲染到纹理贴图/渲染目标贴图

时间:2013-01-15 09:45:51

标签: javascript three.js webgl

我正在使用three.js,我设置了第二个场景和相机,并为其添加了一个圆柱体。现在我设置了一个rendertarget,我想在一个精灵上显示这个renderedScene(HUD-Sprite就这么说),但精灵没有显示出来。我在原始场景中添加了一个平面,它显示了rendertarget非常好。

我已经检查过:

1) 当使用rtTexture作为MeshLambertMaterial的地图时,它可以很好地工作

2) 使用 ImageUtils 为sprite加载图像并将其用作SpriteMaterial的地图时,它的效果非常好,并且样条曲线显示在它应该的位置!

我觉得我忽略了一些东西。 如果有人可以帮助我,那会很酷。

好的,伙计们,我创造了一个jsFiddle,也许这有帮助!

My Fiddle for RenderTarget Sprite Problem

正如你在那里看到的那样,rendertarget正确显示在平面上,并且有一个带有屏幕空间坐标的精灵,但它没有显示renderTarget。

rttMaterial = new THREE.SpriteMaterial( { color: 0xFF0000, map: rtTexture, 
                                         alignment: THREE.SpriteAlignment.topLeft,
                                         useScreenCoordinates: true}  );

先谢谢你

1 个答案:

答案 0 :(得分:2)

你必须在WebGLRenderer的背后做这件事,因为它不受支持。

sprite.material.map.__webglTexture = rtTexture.__webglTexture;

小提琴:http://jsfiddle.net/Pk85y/47/

three.js r.61