我成功地用webgl绘制了多纹理立方体。但是,我应该与其他webgl上下文共享画布。如果我在其他webgl上下文绘制的对象上绘制这个立方体,我如何绘制立方体并重新绘制、移动。。。没有其他对象被其他上下文清除。
function start() {
...
if (gl) {
gl.clearColor(0.0, 0.0, 0.0, 0.0);
gl.clearDepth(1.0);
gl.enable(gl.DEPTH_TEST);
gl.depthFunc(gl.LEQUAL);
...
}
function drawScene() {
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
...
}
您不能与另一个WebGLRenderingContext共享画布(至少在2016/08/05之前(。
通常,在WebGL中,您需要在每帧中重新绘制所有内容。WebGL是一个光栅化库,而不是一个场景图。它没有立方体的概念。它只是渲染像素。如果你只想移动一堆多维数据集中的一个多维数据集,你需要保留一些数据结构(如数组或树(来跟踪所有多维数据集的位置、方向等。
你会发现几乎所有的WebGL程序都是这样做的。