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

OpenGL®深度缓冲区是三维(3D)图形程序员最容易误解、最复杂、最有用的工具之一。有几种方法可以优化缓冲区,从而提高程序的帧速率,包括正确设置近剪裁平面和远剪裁平面。其他技巧包括清除渲染之间的缓冲区以及避免场景合成,因为场景合成可能会因为将对象放置得太近而导致深度问题。通过使用OpenGL®深度缓冲区,可以轻松高效地执行一些二维(2D)图形技巧。正在使用的图形卡有时也可能是深度问题,因此使用正...

OpenGL®深度缓冲区是三维(3D)图形程序员最容易误解、最复杂、最有用的工具之一。有几种方法可以优化缓冲区,从而提高程序的帧速率,包括正确设置近剪裁平面和远剪裁平面。其他技巧包括清除渲染之间的缓冲区以及避免场景合成,因为场景合成可能会因为将对象放置得太近而导致深度问题。通过使用OpenGL®深度缓冲区,可以轻松高效地执行一些二维(2D)图形技巧。正在使用的图形卡有时也可能是深度问题,因此使用正确的设置有助于提高速度并减少不必要的处理周期。。

The OpenGL depth buffer is one of the more misunderstood, complex and ultimately useful tools available to a three-dimensional (3D) graphics programmer.

影响OpenGL®深度缓冲区(也称为Z缓冲区,在传统上标记笛卡尔深度平面的字母后)性能的首要问题之一是近剪裁平面和远剪裁平面的放置。这些平面定义了场景中应该渲染和不应该渲染的对象的边界,它们的值分别指示从查看器开始和结束剪辑的距离。直观的想法是从观察者所在的点开始渲染,将“近平面”设置为零,但这实际上是不正确的。事实上,OpenGL®不允许将近平面设置为零。如果“近平面”(near plane)的值非常小(例如为一的一小部分),则渲染器可能根本不会显示任何内容,或者可能无法正确排序深度缓冲区。。

这是因为对象离查看器越近,OpenGL®计算对象位置的精度就越高。随着到观察者的距离接近于零,计算的准确度呈指数级增加。这会减慢渲染时间,并可能导致奇怪的图形瑕疵和其他问题,此外,很少需要计算精度级别。

渲染二维图形时,OpenGL®深度缓冲区有助于简化某些操作。使用“深度缓冲区”(depth buffer)稍微偏移在合成中用作平铺的四边形,可以帮助平铺场景的元素平滑移动,而不会在图像中产生奇怪的效果,这是由于两个多边形在同一平面上相互重叠造成的。类似地,可以将准备好的元素隐藏在视野之外或远剪裁平面后面,以便快速将它们引入场景,甚至可以利用变换和旋转来提供特殊的淡入淡出效果。。

最后,尽管OpenGL®深度缓冲区可以支持缓冲区的不同硬件大小,但最好使用16位版本。这是因为,在大多数场景中,使用32位缓冲区会降低渲染时间。此外,并非所有图形卡都支持32位深度缓冲区,因此降低到最低公分母意味着更多的人将能够在编写3D程序时运行该程序。

  • 发表于 2021-12-08 13:54
  • 阅读 ( 120 )
  • 分类:互联网

你可能感兴趣的文章

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

...windowsxp下,直到我能看到显示器上旋转的三角形。发生了什么,CPU(首先处理.exe)和GPU(最后输出屏幕上的三角形)是如何交互的? 我想显示这个旋转三角形主要涉及以下硬件/软件: 硬件 硬盘驱动器 系统内存(RAM) 中央处...

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

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

... 有许多OpenGL®书籍可用,从学习OpenGL®的入门教程到非常详细的库规范和抽象编程接口(API)。不同的因素可以决定哪些书籍最适合特定的OpenGL®项目,包括正在开发的实际应用程...

  • 发布于 2021-12-06 17:32
  • 阅读 ( 173 )

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

... 有许多Open Graphics Library®(OpenGL®)软件开发工具包(SDK)可供使用,尽管许多工具包专门针对特定用途。图形卡和硬件的开发人员通常提供一个OpenGL®SDK,该SDK在代码示例和文档方面相当完整,但...

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

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

... 无论软件最终执行什么功能,最好的OpenGL®软件都有一些其他程序可能没有的功能。一个使用OpenGL®作为主要图形界面的好程序应该在它的某个地方清楚地说明程序所依赖的OpenGL®版本。它还...

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

如何我选择最好的opengl®工具包?(i choose the best opengl® toolkit?)

...机的高级或低级方面也很重要,这取决于程序员想要创建什么。 ...

  • 发布于 2021-12-06 17:34
  • 阅读 ( 140 )

什么是opengl®混合的最佳技巧?(the best tips for opengl® blending?)

Open Graphics Library®(OpenGL®)混合工具对于生成不同颜色、引入透明度和生成渲染良好的图像非常重要,但有时很难使用。在使用OpenGL®混合之前,必须应用一些编程来启用...

  • 发布于 2021-12-08 13:53
  • 阅读 ( 148 )

什么是opengl®游戏编程的最佳技巧?(the best tips for opengl® game programming?)

...码,进行OpenGL®游戏编程的人可以直接看到其他人编写了什么来实现特定效果或在游戏中创建对象。这些样本通常由其他人提供给其他人使用。虽然示例代码可能不适用于所有OpenGL®游戏编程,但它至少可以提供其他人所做工作...

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

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

OpenGL®照明是三维(3D)计算机图形编程中最复杂、有时最难理解的方面之一。它可以用于为渲染场景添加必要的、逼真的收尾处理,但它也可能在计算上要求很高,并且在...

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

什么是opengl®性能的最佳提示?(the best tips for opengl® performance?)

一旦编写了一个程序,优化代码和数据文件所需的时间通常与编写代码所需的时间一样长。当试图提高OpenGL®性能时,尤其如此。许多因素都会影响性能,从纹理文件的大小...

  • 发布于 2021-12-08 13:56
  • 阅读 ( 119 )

什么是opengl®和directx®之间的区别?(the differences between opengl® and directx®?)

Open Graphics Library®(OpenGL®)和DirectX®都是图形渲染程序,但两者之间存在重大差异。游戏程序员通常选择DirectX®,因为它有许多专门用于游戏渲染的功能,而OpenGL®则用于...

  • 发布于 2021-12-08 14:35
  • 阅读 ( 148 )
silgkojhyp930
silgkojhyp930

0 篇文章