在 OpenGL 中仅绘制场景中的选定项目

draw only selected item from a scene in opengl

本文关键字:项目 OpenGL 绘制      更新时间:2023-10-16

我正在使用OpenGL着色语言和SDL。我有一个带有移动物体的静态场景,程序的一般结构如下:

initialize(){
//init meshes
}
display(){
//draw commands for static scene
//draw commands for moving objects
}
main()
{
   initialize()
     while(repeat)
     {
     display();
     //swap buffers or flush drawing commands
     }
 }

我需要绘制静态"场景",但与移动对象不同,只绘制一次就足够了。有没有办法只重绘需要重绘的内容?

如果您正在制作 3D 游戏,您可以将整个静态场景放入单个 VBO 中,然后使用单个函数调用进行绘制。

如果您正在制作 2D 游戏,则可以将其绘制为纹理,然后使用此纹理绘制全屏四边形。