gpt4 book ai didi

c++ - 弃用的 OpenGL 功能

转载 作者:可可西里 更新时间:2023-11-01 09:39:29 25 4
gpt4 key购买 nike

我最近读了this列表,我注意到我从 OpenGL 红皮书中学习的几乎所有内容都被认为已弃用。我说的是像素传输操作、像素绘图、累积缓冲区、开始/结束函数(!?)、自动 mipmap 生成和当前光栅位置。

为什么他们将这些功能标记为已弃用?还可以使用它们吗?解决方法是什么?

最佳答案

在我看来,它变得更好了。但是这种所谓的立即模式确实在 OpenGL 3.0 中被弃用了,主要是因为它的性能不是最佳的。

在即时模式下,您可以使用 glBeginglEnd 等调用。因此图元的渲染取决于程序的命令,OpenGL 在从 CPU 获得适当的命令之前无法前进。相反,您可以使用缓冲区对象来存储所有顶点和数据。然后通过 glDrawArraysglDrawElements 或更专门的命令(如 glDrawElementsInstanced)告诉 OpenGL 使用此缓冲区渲染其基元。当 GPU 忙于执行这些命令并将缓冲区绘制到目标 FrameBuffer(基本上是渲染目标)时。该程序可以关闭并发出一些其他命令。这样 CPU 和 GPU 同时忙碌,不会浪费时间。

这不是最好的解释,但我的建议是:尝试学习这个新的渲染管道。到目前为止,它优于立即模式。我推荐以下教程:

http://www.arcsynthesis.org/gltut/index.html

http://www.opengl-tutorial.org/

http://ogldev.atspace.co.uk/

从字面上看,试着忘记你到目前为止所知道的,立即模式早已被弃用,不应该再使用,相反,专注于新技术;)

编辑 对不起,如果我使用“中间”而不是“立即”,我认为它实际上叫做“立即”,我倾向于将它们混淆。

关于c++ - 弃用的 OpenGL 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12027420/

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