【问题标题】:Webgl drawelements rotating squareWebgl drawelements旋转正方形
【发布时间】:2014-11-06 20:58:06
【问题描述】:

好的,我一直在努力尝试使用 drawElements 进行正方形旋转。 该代码适用于drawarrays并且如果正方形仍然并且我使用drawElement调用也可以正常工作。 现在在这个小提琴中,我试图让它旋转,(使用drawElements)但我什么都看不到。我已经设置了方形缓冲区和索引。我已经调试过了,数据看起来是正确的,所以我看不出我做错了什么。这是小提琴。

var vertices = [-1,-1,-2, //FRONT FACE
                 1,-1,-2,
                 1,1,-2,
                -1,1,-2];
var vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER,new Float32Array(vertices), gl.STATIC_DRAW); 

vertexBuffer.itemSize = 3;
vertexBuffer.numItems = parseInt(vertices.length/vertexBuffer.itemSize);

var indices = [0,1,2,0,2,3]; 

var cubeBufferIndex = gl.createBuffer();
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, cubeBufferIndex);
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(indices), gl.STATIC_DRAW);

http://jsfiddle.net/3joez/mpj3dts7/

【问题讨论】:

    标签: javascript webgl


    【解决方案1】:

    depthFunc to EQUAL 与将深度缓冲区清除为1.0 结合使用只会绘制深度正好为1.0 的片段。有关深度函数的更多信息,请参阅链接资源。只需删除下面的两行,一切都会很好。

    gl.depthFunc(gl.EQUAL);
    gl.clearDepth(1.0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-21
      相关资源
      最近更新 更多