gpt4 book ai didi

c++ - 显示列表最适合这个吗? (OpenGL)

转载 作者:行者123 更新时间:2023-11-28 03:57:17 26 4
gpt4 key购买 nike

我第一次使用 GLUTesselator 渲染 2D 多边形,然后将它们存储在显示列表中以供后续使用。我认为 VBO 可能更快,但由于我无法访问 tesselator 输出的内容,并且由于它混合使用了 gl_triangle、quad、strip 等,我不确定我该怎么做,即使我想在 GLUTesselator 完成后使用 VBO 以获得最佳性能。谢谢

最佳答案

我已经有一段时间没有使用 GLU 曲面 segmentation 器了,但我记得它只是将标准三角形添加到您的顶点列表中。您传递给它的回调函数之一将接收新顶点并将它们放在某个地方。这发生在您的代码中,因此数据不会对您隐藏。

显示列表比在即时模式下呈现更好,但与 VBO 相比,它们通常是一个非常糟糕的选择。

更新:“专业”市场的 OpenGL 驱动程序(如 Quadro 和 FireGL)将比消费级卡在显示列表实现方面投入更多精力。但即便如此,他们可以做的优化量也比 SGI 时代的老派 3D 程序员认为他们得到的要少得多。显示列表应该捕获状态变化和其他因素,但仍会考虑可能独立于显示列表而变化的其他状态。

自从我获得有关当前驱动程序实现的确切信息以来已经有几年了,但是在这一点上,显示列表会将您的几何数据保存在软件中并像普通顶点数组一样上传它们,因为它可能需要知道某些 gl 状态才能制作在上传到 GPU 内存之前对数据进行调整。基本上,显示列表为您提供了理论上的灵 active ,可以在执行时进行更改,它需要在上传数据之前知道这些更改。 VBO 以一种可以在创建时直接进入内存的方式锁定格式。

关于c++ - 显示列表最适合这个吗? (OpenGL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3031011/

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