首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CocoonJS + Three.js webGLRenderTarget静默死亡

CocoonJS + Three.js webGLRenderTarget静默死亡
EN

Stack Overflow用户
提问于 2014-05-13 10:05:25
回答 1查看 333关注 0票数 2

我正在使用三个v67的WebGLRenderTarget来渲染第二个摄像头/场景到缓冲区,以供将来在纹理中使用。在Three.js中是标准的东西,但在CocoonJS中它会静悄悄地死去。

我尝试过用类似的方法访问CocoonJS中的数据(直接从上下文访问gl.readPixels,类似于Three.js Retrieve data from WebGLRenderTarget (water sim) )。但似乎什么都不起作用。其他人也遇到过这种情况吗?

EN

回答 1

Stack Overflow用户

发布于 2014-05-15 05:45:30

我已经调试了运行Three.js演示的CocoonJS的原生Three.js代码,我发现了问题。

Three.js为WebGLRenderTarget对象创建帧缓冲区,附加颜色缓冲区(纹理),创建renderBuffer并将深度/模具渲染器附加到它。该问题存在于WebGL renderbufferStorage方法的第二个参数中,该参数会导致帧缓冲区状态不完整。Three.js应该检查该错误(使用checkFramebufferStatus方法)以避免静默错误,但它似乎没有。

我已经提交了修复程序,它将在下一个CocoonJS版本中准备就绪。

现在,您可以在JS代码中修复它(在下一版本中,您将不需要此修复)

只需在Three.js中替换此行

代码语言:javascript
复制
j.renderbufferStorage(j.RENDERBUFFER,j.DEPTH_STENCIL,b.width,b.height)

使用这一条:

代码语言:javascript
复制
j.renderbufferStorage(j.RENDERBUFFER,navigator.isCocoonJS?35056:j.DEPTH_STENCIL,b.width,b.height)

祝您的游戏好运:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23621721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档