Cesium.从DrawCommand获取顶点数组
时间: 2023-09-17 07:08:44 浏览: 79
重载cesium.ImageryProvider类中的loadImage函数,用于获取瓦片资源
要从DrawCommand获取顶点数组,你需要使用WebGL中的buffer对象和attribute变量。具体步骤如下:
1. 在初始化WebGL程序时,创建一个buffer对象和一个attribute变量。
```javascript
var vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);
var positionAttributeLocation = gl.getAttribLocation(program, 'a_position');
gl.enableVertexAttribArray(positionAttributeLocation);
gl.vertexAttribPointer(positionAttributeLocation, 3, gl.FLOAT, false, 0, 0);
```
其中,vertices是一个包含所有顶点坐标的数组。
2. 在渲染时,使用DrawCommand来绘制。
```javascript
drawCommand.execute(context);
```
3. 在渲染完成后,通过attribute变量来获取顶点数组。
```javascript
var vertexArray = new Float32Array(vertices.length);
gl.getBufferSubData(gl.ARRAY_BUFFER, 0, vertexArray);
```
这样就可以从DrawCommand获取顶点数组了。
阅读全文