gpt4 book ai didi

algorithm - 如何防止 overdraw ?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:26:43 27 4
gpt4 key购买 nike

这是一个很难在 Google 中搜索的问题,因为它在财务方面具有其他含义。

当然,我这里的意思是“绘图”,如..计算机图形..不是钱..

我对防止 3D 绘图和 2D 绘图的过度绘制很感兴趣。
(我应该把它们分成两个不同的问题吗?)

我意识到这可能是一个非常广泛的问题,因为我没有指定要使用哪种技术。如果它太宽泛,也许我可以阅读一些关于一些资源的提示就可以了。

编辑:
overdraw 的意思是:

  • 当你绘制过多的对象时,渲染单帧会很慢
  • 当你绘制的区域比你需要的多时,渲染单帧会很慢

最佳答案

这是一个相当复杂的话题。

首先要考虑的是frustum culling .它会过滤掉不在相机视野中的对象,这样您就可以在渲染阶段传递它们。

第二件事是对相机中的对象进行 Z 排序。最好从前到后渲染它们,这样近处的对象会将“近值”写入深度缓冲区,而远处对象的像素将不会被绘制,因为它们不会通过深度测试。这将节省 GPU 的填充率和像素着色器工作。但是请注意,如果场景中有半透明对象,则应首先按从后到前的顺序绘制它们,以便进行 alpha 混合。

如果您使用某种空间分区(例如 Octree),这两件事都可以实现或 Quadtree .哪个更好取决于您的游戏。四叉树更适合大型开放空间,八叉树更适合多层次的室内空间。

不要忘记简单的 back-face culling可以在 DirectX 和 OpenGL 中使用单线启用,以防止绘制用背面看相机的面孔。

关于algorithm - 如何防止 overdraw ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2856448/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com