WebGL&Three.js-在两个渲染器中依次渲染场景
WebGL & Three.js - Render a scene successively in two renderers
我试图在两个不同的渲染器中渲染场景(连续而非同时),但这导致了错误"GL_INVALID_OPERATION"。
下面是一个示例脚本:
var scene1 = new THREE.Scene();
var camera1 = new THREE.PerspectiveCamera( ... );
var renderer1= new THREE.WebGLRenderer( ... );
var renderer2= new THREE.WebGLRenderer( ... );
var camera2 = new THREE.PerspectiveCamera( ... );
//Render scene1 in renderer1
renderer1.render( scene1, camera1 );
//[After some user event...]
//Render scene1 in renderer2
renderer2.render( scene1, camera2 ); //This fails. getError()=1282 (i.e. GL_INVALID_OPERATION)
我知道在两个不同的渲染器中渲染场景(即使不是同时渲染)经常受到反对,但我想不出其他方法来解决我的问题,因为这是一个非常大的项目的一部分。
我知道有与场景1关联的GL数据链接到渲染器1,但我如何删除这些数据,以便在其他渲染器中再次渲染场景1???
请注意,我并没有试图同时渲染两个渲染中的场景(这与https://github.com/mrdoob/three.js/issues/189)。
谢谢你的帮助。当做
问题与绑定到特定OpenGL缓冲区的对象/材质/纹理有关。因此,解决方案是在将要从特定场景中移除的对象的所有子对象添加到其他场景之前,从任何缓冲区解除绑定。
我会尽快发布我的解决方案的代码。当做
相关文章:
- JQuery合并了keyup和focusout两个函数
- 如何使用 node.js 比较两个 json 数组
- 为复选框javascript指定两个值
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 单击时切换两个图像
- 我可以'我似乎不知道如何修复javascript中的两个lint.有人能帮我理解吗
- 基于两个条件退出While循环
- 如何在这里将两个值最低的数字相加
- 组合两个javascript函数
- 如何使用offer/answer交换来自两个对等连接的流
- jsf中两个字符串的颜色代码差异
- Node.js&两个请求之间的Express/Can上下文切换可以是同步代码
- 从jquery中的select选项添加两个不同的数组值(text&value)
- 用于两个功能的Javascript按钮.提交&单击
- WebGL&Three.js-在两个渲染器中依次渲染场景
- 为什么jQuery必须接收两个对象:body&html时使用动画滚动整个页面
- 从单节点进程提供两个https主机名&港口城市
- 引导验证程序&图像选取器-如果选择了两个可用的选择输入中的任何一个,如何验证表单
- 如何将两个指令结合使用-angular translate&角截形
- Javascript/Html/Css随机背景图像&单词来自两个javascript数组