webgl 重绘立方体,但我不想清除其他人



我成功地用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程序都是这样做的。

相关内容

最新更新