我有一个简单的OpenGL程序,允许你“生成”三角形和四边形,然后使用鼠标和一些键盘控件移动它们来制作复杂的对象,有点像3D模型编辑器。
我要做的是获取顶点坐标“当前”位置“以及它们的旋转,因此我可以将它们写入文件以进行保存和加载。目标是制作3D模型编辑器,将模型保存到文件中并将文件加载到我写的另一个OpenGL程序中。
答案 0 :(得分:4)
这是错误的方式。您应该将数据保存在之前将其保存到OpenGL。首先将数据提供给OpenGL,然后再回复它是错误的。
答案 1 :(得分:2)
你像其他许多OpenGL新手一样误入歧途:你误认为OpenGL是一个场景图,但事实并非如此。 OpenGL是一个绘图 API。 glTranslate,glRotate,glScale,它们不会“定位”对象,它们会改变它们的绘制方式。
作为OpenGL API的用户,您有责任跟踪构成要绘制的场景的所有数据。最好将OpenGL视为单向机器:数据进入,但它没有出现(当然有一些明显的例外,但我建议你暂时忽略它们。)