.raw格式如何工作(3D模型)

3
我希望编写一个程序,它将以二元函数作为输入,并输出一个在3D软件(如Blender)中打开的三维模型。我认为.raw格式是最好的选择,因为它不关心纹理之类的东西。唯一让我困惑的是,坐标应该如何在.raw文件中书写...
以下是示例:
1 1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 1 1 1 -1 1 1 -1 -1 1 1 -1 1 1 1 -1 1 1 1 1 -1 1 1 -1 -1 1 -1 -1 1 -1 1 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 1 1 -1 1 -1 1 1 1 1 1 -1 -1 1 -1 -1 1 1 

这是一个简单的立方体导出到原始格式,当然,这个立方体是以0,0,0为中心并具有2的边长,但是我不理解坐标顺序和该格式的逻辑。

有谁知道关于这个的任何信息吗?

谢谢!

1个回答

4
我找到了一些关于导入Blender RAW文件的文章,可能会对你有所帮助。
基本上,RAW文件是一系列以空格分隔的坐标,每行3或4个:
x y z x y z x y z
x y z x y z x y z

这里的每三个点代表模型中的一个三角形。因此,如果您将每个点输入到类似于GL_TRIANGLES的东西中,您将得到该模型。不过,您需要自己计算法线数据。

http://corymathews.com/importing-a-blender-model-into-opengl/


社区建议不要使用仅链接的回答。通常我并不太在意,但我也不知道该做什么。 - eshimoniak
如果您认为这个答案是错误的或违反了社区规则,请随意投票删除它,但我认为我通过这个链接帮助了至少两个人。 - kolenda
尽管这是我遇到的更有帮助的链接之一,但我在将其翻译为Java并使其更具动态性方面遇到了一些困难;我不知道他是如何确定[3][4][33]是正确的大小的。 - eshimoniak
1
他说格式由4个角的多边形组成,每个角都有x,y,z,所以这里是34的值。 33只是因为他的文件有33个多边形。在实际代码中,您应该使用listvector使其动态化。索引的顺序仅与代码相关,如果他写了[33] [4] [3]并相应地更改了for循环,则可能更容易理解。 - kolenda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接