有没有人设法在运行时将 OpenGL VBO 导出为外部文件格式?对于正确方向的任何指示,我将不胜感激,因为我不知道该怎么做。
问问题
1716 次
3 回答
3
OpenGL 只是一个复杂的绘图 API。缓冲区对象中的数据是任意的。是你的程序赋予它意义(以及 OpenGL,顺便说一句)。有人必须将该数据上传到 VBO(调用)中,并通过对orglBufferData
发出正确的调用来理解它。所以无论数据首先来自哪里,你最好从那里写一个文件,避免绕道 OpenGL。但是,如果您的程序中没有副本,那么您可以使用来获取缓冲区中数据的副本。glDrawElements
glDrawArrays
glGetBufferSubData
您在程序中没有数据副本的一个原因可能是您使用glMapBuffer
. 您还可以使用这样的映射(最好具有只读访问权限)来检索缓冲区中的数据。
连同一些你必须提供的逻辑来理解它,你可以编写任何你喜欢的文件格式。但是编写文件的负担在你身上。
于 2011-04-23T09:33:37.020 回答
1
于 2011-04-25T13:45:46.083 回答