gpt4 book ai didi

opengl - 是否可以在 OpenGL 中一次保留所有状态?

转载 作者:行者123 更新时间:2023-12-01 13:44:47 25 4
gpt4 key购买 nike

如果我们有多个 OpenGL 上下文,每个都在自己的进程中,驱动程序会以某种方式虚拟化设备,以便每个程序都认为它只运行 GPU。也就是说,如果一个程序调用 glEnable,另一个程序永远不会注意到。

否则,这可以通过大量 glGet 调用来保存状态,并在之后恢复状态。显然,驱动程序的效率更高。但是,在用户空间中,我们需要跟踪我们对状态所做的更改并有选择地处理它们。也许只是我遗漏了一些东西,但我认为这样做会很好,一方面,为帧缓冲区调整视口(viewport),然后将这些更改撤消到它们之前的任何状态。

也许有一种方法可以在单个程序中实现上下文切换的效果?

最佳答案

Maybe there is a way of achieving the effect of a context switch yet within a single program?

您可以根据需要在单个进程中创建任意数量的 OpenGL 上下文并在它们之间切换。此外,对于现代 GPU,OpenGL 上下文的状态与 GPU 上实际发生的情况几乎没有相似之处。

关于opengl - 是否可以在 OpenGL 中一次保留所有状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36826790/

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