什么是opengl®顶点缓冲区?(an opengl® vertex buffer?)

Open Graphics Library®(OpenGL®)顶点缓冲区是计算机内存中的一个区域,通常直接位于图形卡上,允许非常快速地访问顶点数组及其属性。通常,OpenGL®顶点缓冲区用于创建顶点缓冲区对象(VBO),允许三维(3D)场景中的对象作为显示列表的一部分进行渲染,而不是立即模式。但是,有时可以在VBO外部使用顶点缓冲区来存储有关对象的信息,或帮助简化复杂模型上的转换。应该注意的是,顶...

Open Graphics Library®(OpenGL®)顶点缓冲区是计算机内存中的一个区域,通常直接位于图形卡上,允许非常快速地访问顶点数组及其属性。通常,OpenGL®顶点缓冲区用于创建顶点缓冲区对象(VBO),允许三维(3D)场景中的对象作为显示列表的一部分进行渲染,而不是立即模式。但是,有时可以在VBO外部使用顶点缓冲区来存储有关对象的信息,或帮助简化复杂模型上的转换。应该注意的是,顶点缓冲区不必位于图形卡内存中,因为它可以像任何数据结构一样分配。如果OpenGL®顶点缓冲区将用作VBO的一部分,则使用的图形卡必须支持特殊的OpenGL®VBO扩展,以确保缓冲区放置在图形内存中。

An OpenGL® vertex buffer is used to create a vertex buffer object (VBO), allowing objects within a three-dimensional (3D) scene to be rendered as part of a display list and not in immediate mode.

在最基本的层次上,OpenGL®顶点缓冲区只是一个简单的缓冲区,一个可以存储数据的分配内存区域。当顶点数组存储在其中时,它将成为顶点缓冲区。OpenGL®顶点数组是定义各个顶点的所有属性的数据结构数组。此信息可以包括三维场景中顶点的X、Y和Z位置、顶点的颜色、法线和其他特性。

在即时模式渲染中,OpenGL®命令在程序中调用时直接执行。在这些情况下,没有必要使用顶点数组,因为放置和绘制顶点的命令可以直接提供给硬件,尽管这可能会导致严重的性能问题。对于非即时模式渲染,有关3D对象或模型的信息需要首先放置在顶点数组中,以便其具有OpenGL®可以轻松解释的结构;然后,该数组必须存储在名为OpenGL®顶点缓冲区的特殊内存区域中。

顶点缓冲区本身不一定具有任何特殊属性,只是用于绘制对象的完整信息集合。但是,当通过OpenGL扩展将OpenGL®顶点缓冲区转换为OpenGL®顶点缓冲区对象时,会发生一系列特殊事件,以帮助优化顶点缓冲区中定义的对象的图形。也就是说,缓冲区分配并存储在OpenGL®使用的客户端服务器设置的图形卡内存中。还可以提前在VBO上执行某些计算,以便尽可能快地渲染。在VBO之外,普通顶点缓冲区通常不接受这种处理,可以像任何其他数据类型一样分配和使用。

  • 发表于 2021-12-11 17:42
  • 阅读 ( 148 )
  • 分类:互联网

你可能感兴趣的文章

cpu和gpu如何交互以呈现计算机图形?

...上画三角形有很多方法。为简单起见,假设没有使用顶点缓冲区。(顶点缓冲区是存储坐标的内存区域)假设程序只是告诉图形处理管道一行中的每个顶点(顶点只是空间中的一个坐标)。 但是,在我们能画出任何东西之前,...

  • 发布于 2021-04-12 06:51
  • 阅读 ( 282 )

如何我选择最好的opengl®sdk?(i choose the best opengl® sdk?)

...都有不同的复杂程度,可以使许多常用功能(如构建顶点缓冲区对象或计时动画)非常容易访问。然而,实现与完整场景图一样大的东西的SDK的一个复杂之处是,它需要一个陡峭的学习曲线,因为SDK的代码可能与基本OpenGL®技术...

  • 发布于 2021-12-06 17:33
  • 阅读 ( 131 )

什么是opengl®3d模型?(opengl® 3d models?)

OpenGL®3D模型在最一般的意义上是三维(3D)空间中连接点的集合,称为顶点,它们组合形成一系列多边形,可以渲染以表示虚拟空间中的对象。几乎所有不是形状基本体的...

  • 发布于 2021-12-08 11:36
  • 阅读 ( 133 )

什么是opengl®缓冲区?(opengl® buffers?)

... OpenGL®缓冲区是计算机内存中用于存储信息序列的区域,因此无需每次重新计算数据即可快速轻松地访问。尽管与普通计算机编程一样,OpenGL®缓冲区基本上只是分配的计算机内...

  • 发布于 2021-12-08 11:36
  • 阅读 ( 118 )

什么是opengl®计算机图形?(opengl® computer graphics?)

OpenGL®计算机图形是通过使用OpenGL®软件而不是其他类型的计算机图形图像(CGI)程序显示的图像。这些都是通过使用计算机编码来显示的,就像计算机软件的开发一样。然...

  • 发布于 2021-12-08 11:37
  • 阅读 ( 188 )

什么是opengl®线条?(opengl® lines?)

在OpenGraphics Library®(OpenGL®)中,线是OpenGL®能够绘制的基本基本形状之一,它们构成了有时用于渲染三角形的构建块之一。OpenGL®线条只是两个顶点之间的直线连接图形。...

  • 发布于 2021-12-08 11:39
  • 阅读 ( 81 )

什么是opengl®深度的最佳提示?(the best tips for opengl® depth?)

... OpenGL®深度缓冲区是三维(3D)图形程序员最容易误解、最复杂、最有用的工具之一。有几种方法可以优化缓冲区,从而提高程序的帧速率,包括正确设置近剪裁平面和远剪裁平面。...

  • 发布于 2021-12-08 13:54
  • 阅读 ( 116 )

什么是opengl®照明的最佳提示?(the best tips for opengl® lighting?)

...光源,最小化被照亮的曲面数量,并避免多次处理最终帧缓冲区的算法或扩展。在场景中移动照明也会对性能产生一些不利影响,在渲染速度出现问题时应避免。。 ...

  • 发布于 2021-12-08 13:55
  • 阅读 ( 126 )

什么是加速opengl®模式?(accelerated opengl® mode?)

...口(API),在图形硬件和为访问它而编写的软件之间提供缓冲区。通常,OpenGL®与客户机-服务器模型一起工作,这意味着软件成为客户机,然后向服务器发送绘图请求和信息,服务器通常是OpenGL®驱动程序和硬件。操作系统或图...

  • 发布于 2021-12-09 15:02
  • 阅读 ( 133 )

什么是opengl®ati™ 驾驶员(an opengl® ati™ driver?)

开放图形库®(OpenGL®)ATI™ 驱动程序是由ATI开发的软件接口™ 这些技术将成为图形卡硬件和OpenGL®库抽象编程接口(API)之间的桥梁。每个操作系统都有不同的驱动程序,...

  • 发布于 2021-12-11 17:31
  • 阅读 ( 140 )
knqi1110
knqi1110

0 篇文章