2017-01-31 1 views
0

bindBuffer 작업은 바인드 된 버퍼 크기에 따라 좌우됩니까? 예를 들어, 내가 그리려는 인덱스의 배열을 가지고, 또한 몇 가지 정점 버퍼 (내 정점의 소스)가 100 정점이고 두 번째는 10000000 버텍스 버퍼 (allready 만들어진 버퍼)입니다. 문제는 정점 버퍼를 변경 (또는 바인딩)하는 것이 크기에 달려 있는지 여부입니다. Ofcource 렌더링과 버퍼 생성은 버퍼 크기에 달려 있지만, 정제를 위해서는 bindBuffer 연산 성능 만 흥미 롭습니다. 조언을 주셔서 감사합니다.Webgl bindBufer와 vertexAttribPointer는 버퍼 크기에 달려 있느냐 없습니까?

난 단지 성능에 iteresting, 바인딩의 의미 순서를 지적하지 마십시오 :

gl.bindBuffer(gl.ARRAY_BUFFER, coordinatesBuffer0); 
gl.vertexAttribPointer(sha.coordinates._pName, coordinatesBuffer.itemSize, gl.FLOAT, false, 0, 0); 

gl.bindBuffer(gl.ARRAY_BUFFER, coordinatesBuffer1); 
gl.vertexAttribPointer(sha.coordinates._pName, coordinatesBuffer.itemSize, gl.FLOAT, false, 0, 0); 

gl.bindBuffer(gl.ARRAY_BUFFER, coordinatesBuffer3); 
gl.vertexAttribPointer(sha.coordinates._pName, coordinatesBuffer.itemSize, gl.FLOAT, false, 0, 0); 

등 등 등 어딘가 대한

this.gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexBuffer); 
this.gl.drawElements(gl.TRIANGLES, indexBuffer.numItems, this.gl.UNSIGNED_SHORT, 0); 
+0

[이 속성 설명] (http://stackoverflow.com/documentation/webgl/4818/state/16960/attributes) – gman

답변

0

bindBuffer 단지 내부 을 설정하는 것입니다 주어진 버퍼의 주소에 포인터가 있으면 버퍼 크기와 상관 관계가 없습니다.

+0

와우! 내가 기대했던 훌륭한 대답입니다. 감사. Realy. – Zemledelec