我有一个使用OpenGL绘图的模拟。当它运行时,我想在我的模拟实时绘制一些东西,但每次迭代我只想在该图形中添加几行,而不是总是从头开始重新绘制(这样做太昂贵了) )。
我怎样才能创建一些我总能添加的表面,不会被删除,以及如何在模拟之上叠加它?
谢谢!
答案 0 :(得分:4)
我怎样才能创建一些我总能添加的表面,不会被删除,以及如何在模拟之上叠加它?
使用任何技术渲染到纹理。然后在屏幕上显示纹理。如果您不想删除它,请不要删除它。
有关详细信息,请参阅NVidia的"Simple Framebuffer Object"演示。
OpenGL没有某种自动“叠加”表面。 如果你想在另一个场景上叠加一个场景,在纹理上绘制第二个场景,绘制第一个场景,然后绘制纹理。
P.S。 Framebuffer objects是自版本3以来OpenGL的一部分。但在此之前,它们在许多卡上都可用作扩展。