如何将原始Webgl与THREE.js混合使用

时间:2013-10-19 16:07:18

标签: canvas three.js webgl render-to-texture

我正在尝试使用“现有的”Webgl屏幕(我将其称为S2) - 我不想迁移到THREE.js的逻辑 - 以生成我可以在某些THREE.js中使用的动态纹理基于(R47)屏幕(我称之为S1)。

我唯一能做的就是渲染S1& S2分成两个独立的画布实例(使用2个单独的WebGl上下文实例)并只覆盖结果: http://www.wothke.ch/webglTests/MixWebGlTest.htm

其他各种方法都不起作用:   - 首先我尝试让S2渲染到单独的帧缓冲区(而不是在屏幕中),然后直接在S1中使用相应的纹理。 (请参阅wavefront.js文件中的initTextureFramebuffer(w,h)..)

  • 当失败时,我试图让S1从S2输出数据的单独画布中获取数据。 (请参阅scrolltext.js中的getTextureFromCanvas(ctx,c)) - 此逻辑在上述版本中仍然有效(除了简单的叠加),但是在中心的立方体上可以看到,纹理实际上是从错误的画布..)

  • 使用相同的gl实例(即重用由THREE.js创建的实例)或具有单独的实例的实验不会导致成功。我的印象是,只要使用共享实例,THREE.js就会破坏普通WebGL逻辑设置的内容。

我可以做些什么来从S2获得正确的纹理然后我可以在S1中使用?

0 个答案:

没有答案