webgl重绘多维数据集,但我不想清除其他人

时间:2016-08-05 02:13:48

标签: webgl cube dice

我成功地通过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);
  ...
}

1 个答案:

答案 0 :(得分:1)

您无法与另一个WebGLRenderingContext共享画布(至少截至2016/08/05)。

通常在WebGL中,您需要每帧重绘一切。 WebGL is a rasterization library不是场景图。它没有立方体的概念。它只是渲染像素。如果你想只移动一堆立方体中的一个立方体,你需要保留一些跟踪所有立方体的数据结构(如数组或树)。位置,方向等。更新一个或多个立方体的位置,然后全部绘制。

您会发现这几乎是所有WebGL程序所做的事情