使用Open Graphics Library®(OpenGL®)计算机图形库进行计算机编程时,顶点缓冲对象(VBO)是一种数据结构,它允许构造三维(3D)对象并将其存储在显卡或图形硬件的内存中。这使得OpenGL®VBO能够非常快速地呈现,并且比使用立即模...
使用Open Graphics Library®(OpenGL®)计算机图形库进行计算机编程时,顶点缓冲对象(VBO)是一种数据结构,它允许构造三维(3D)对象并将其存储在显卡或图形硬件的内存中。这使得OpenGL®VBO能够非常快速地呈现,并且比使用立即模式绘图的其他技术使用的系统资源少得多。此外速度的提高和图形开销的减少,OpenGL®VBO也是一种动态数据结构,与OpenGL®显示列表不同,它在内存中可以更改。OpenGL®VBO的概念实际上始于硬件制造商,他们最初以不同的名称包含了一种类似的功能,作为后来OpenGL库的扩展OpenGL®VBO是由OpenGL®Architecture Review Board(ARB)标准化的。OpenGL®VBO存储在渲染器的服务器端,不需要经常访问客户端获取顶点信息。OpenGL®VBO基本上是其他两种OpenGL®数据结构的组合。它包含顶点数组,因为几何体的信息(包括顶点坐标、法线和颜色)都可以存储在一个结构化数组中,该数组可以传递给OpenGL®进行处理。但是,与顶点数组不同的是,OpenGL®VBO存储在渲染器的服务器端,不需要经常访问客户端用于显示顶点信息的边。OpenGL顶点缓冲区用于创建顶点缓冲区对象(VBO),允许三维(3D)场景中的对象作为显示列表的一部分而不是立即模式进行渲染。通过允许VBO存储在图形内存中,它还具有显示列表的某些属性主要区别在于OpenGL®;VBO可以修改,而显示列表不能修改此外,VBO不必像显示列表那样复制到图形内存中,因此内存中只需要存在一个数据结构。当OpenGL VBO最终呈现时,与存储它的图形内存和图形处理单元(GPU)之间的距离非常小,然而,在不使用VBO的硬件的情况下,使用VBO并不需要很快的速度来解决图形卡的问题,或与某些图形卡不兼容的程序。有一些方法可以帮助优化使用OpenGL®VBO时的处理方式。其中之一是向图形卡或OpenGL®提供提示,以帮助确定VBO应位于内存中的位置。根据提供的提示,可以存储VBO直接存储在图形卡上的图形内存中,或者在必要时存储在系统的主随机存取存储器(RAM)中
-
发表于 2020-08-07 22:19
- 阅读 ( 1012 )
- 分类:电脑网络