在OpenGL中添加部分图像而不是完全重绘?

时间:2010-08-26 23:47:16

标签: c++ opengl

我有一个使用OpenGL绘图的模拟。当它运行时,我想在我的模拟实时绘制一些东西,但每次迭代我只想在该图形中添加几行,而不是总是从头开始重新绘制(这样做太昂贵了) )。

我怎样才能创建一些我总能添加的表面,不会被删除,以及如何在模拟之上叠加它?

谢谢!

1 个答案:

答案 0 :(得分:4)

  

我怎样才能创建一些我总能添加的表面,不会被删除,以及如何在模拟之上叠加它?

使用任何技术渲染到纹理。然后在屏幕上显示纹理。如果您不想删除它,请不要删除它。

有关详细信息,请参阅NVidia的"Simple Framebuffer Object"演示。

OpenGL没有某种自动“叠加”表面。 如果你想在另一个场景上叠加一个场景,在纹理上绘制第二个场景,绘制第一个场景,然后绘制纹理。

P.S。 Framebuffer objects是自版本3以来OpenGL的一部分。但在此之前,它们在许多卡上都可用作扩展。