OpenGL 不是场景图。它只是一个绘图 API。屏幕上的可见内容没有内部表示。在绘制完某些东西之后,OpenGL 唯一剩下的就是帧缓冲区的内容。
你想要改变一些东西,你清除帧缓冲区并在完成调整后重绘你的场景。
关于 Quation EDIT 2:
我只能重申我的第一个陈述:OpenGL 不是场景图,即您不能用它“构建”场景。您拥有的是几何数据(顶点)和采样数据(图像/纹理)。
然后你有一个绘图函数,它告诉 OpenGL 从几何数据中制作三角形、线条或点,并用从照明计算、纯色和纹理采样数据中得出的值填充生成的片段(=像素)。
在 OpenGL 中不会发生对场景的更改!通过更改提供给 OpenGL 的几何数据以及这意味着不同的绘图操作来更改场景。
就像我已经说过的那样,您不会使用 OpenGL“构建”您的场景/几何图形。为此,您可以使用 Blender、Maya、3DS Max、Cinema 4D 或类似的 3D 建模程序,将模型以渲染程序可以访问的格式存储到某个数据存储(文件、Web 资源、数据库条目等)。更改的模型存储在不同的存储位置,同时加载并表示您绘制新模型的更改。
构建几何的另一种方法是使用构造(实体)几何 (CSG) 系统,您可以使用该系统从基本构建块(平面、球体、圆锥体、闭合曲面片)和逻辑运算(联合、差异、交叉、排除)构建场景. 然而 OpenGL 不是一个几何处理库。
OpenGL 为您提供的是绘图工具:画布(=帧缓冲区)、模板、剪刀、拼贴图像(纹理)、“形状”(=基元,即点、线、三角形)和“智能画笔”(着色器)。有趣的是,通过使用具有多次传递的模板缓冲区,可以对实体进行屏幕空间、基于图像的逻辑操作。但这实际上只是基于图像的效果,不会处理几何本身。