是否可以在opengl中从2个不同的线程渲染2个不同的帧缓冲对象?

时间:2009-04-14 15:58:09

标签: opengl

换句话说:不同的帧缓冲对象是不同的opengl上下文吗?

如果是这样,我可以在不同的线程中渲染不同的FBO,并在它们在屏幕外渲染到实际在屏幕上下文中绘制它们的主线程时传递它们。可能吗?

由于

1 个答案:

答案 0 :(得分:2)

如果两个FBO是在两个不同的背景下创建的,那么你可以。

但是,在一个窗口中将它们合并在屏幕上将需要将它们传回软件,然后再返回到窗口上下文中的硬件。这比在一个线程的主上下文中渲染它们要慢。

如果将渲染集中在一个窗口中,并将重点放在其他地方的线程上,那么最好将重点放在单个线程中。剔除和物理是线程的好地方(如果有的话),但是对于渲染,每个上下文一个线程是基本的经验法则(每个窗口几乎都意味着一个上下文)。