我的github

VBO,Vertex Buffer Object。VBO可以说是Opengl里程碑似的作品,通过VBO我们可以把需要渲染的图元的顶点信息,直接上传到存储在GPU的显存中。这样有什么好处呢?

由于早期的Opengl不支持实例化绘制,导致在绘制大量相似的图元时,需要反复向GPU提交顶点数据进行图元渲染,这点在OpenGL中的二次方图元和实例化绘制一文中已经讲过了,会导致瓶颈效应,而VBO的诞生正好解决了这一问题,当然这个特性需要Opengl3.1以上或者扩展的支持。

说到VBO自然要说到VAO,但是实际上两者可以说完全不相关,只是了解了VAO的机制,更容易了解VBO而已。说到底,VBO就是通过那几个函数,在GPU显存中创建一块BUFFER,用于存储和顶点以及其属性相关的信息。了解了VAO并且了解了顶点数组和顶点索引以后,我们才能进一步去了解VBO的使用。

参考:https://blog.csdn.net/davidsu33/article/details/10061155

>>问题来了:如何把一个图元或者说是一个场景给转成VBO传给GPU?在cesium中是在渲染那一步,把场景中的物体全都转成VBO。那么VBO的顶点坐标是什么坐标系下的坐标?在进入渲染管线之前的物体的vertexbufferobejct进行过坐标转换了吗?

posted on 2023-04-05 23:25  XiaoNiuFeiTian  阅读(902)  评论(0编辑  收藏  举报