2008-10-10 54 views
1

我一直在淘换一个代码示例,演示如何使用p缓冲器与GLUT,但我无法找到任何网页...在GLUT中使用pbuffer?

我疑惑与p缓冲器和渲染窗口之间的上下文切换。我想我将不得不使用glutSetWindow在两个渲染表面之间切换,但我不太清楚细节。

有人能解释我如何在GLUT中使用pbuffer吗?

回答

3

简短的回答是,没有这样做。

较长的答案是pbuffers不是跨平台的,所以你必须使用平台特定的API来访问它们。如何在渲染表面之间切换取决于您的平台;在Windows上,你可以使用wglMakeCurrent()等。

元回答是,你应该尽可能避免pbuffers - FBO提供类似的功能,但没有这种问题,并且性能也更好。

+1

我会在心跳中使用FBO,但目标显卡只支持pbuffers ...平台是Windows(MingW,MSYS环境)。 – 2008-10-11 06:10:00

1

Mike F的回答让我想起了explanation from ATI about the pbuffers。谢谢!

我没有发现任何提及的GLUT函数切换上下文,只有wgl *函数。我一定误解了glutSetWindow的目的。

+0

很好的链接,谢谢 – Ray2k 2009-06-27 18:04:52