3d 具有多个UV坐标和每个顶点的自定义属性的三维模型格式

3d 具有多个UV坐标和每个顶点的自定义属性的三维模型格式,3d,3d-modelling,3d,3d Modelling,假设我使用的自定义GLSL着色器使用由11个浮点组成的特殊交错数组格式:位置(3个浮点)、法线(3个浮点)、UVcoord-1(2个浮点)、UVcoord-2(2个浮点)、自定义属性(1个浮点) 我需要一个文件格式(最好是ASCII),允许我从3D建模软件(如Blender、Maya等)逐顶点导出所有这些信息(尤其是用于多重纹理的多个UV坐标),然后将其导入我的应用程序。我已经搜索了整个网络,我似乎找不到一种允许每个顶点有多个(自定义)数据通道的格式。我是否遗漏了一些明显的东西 例如:我使用的是

假设我使用的自定义GLSL着色器使用由11个浮点组成的特殊交错数组格式:位置(3个浮点)、法线(3个浮点)、UVcoord-1(2个浮点)、UVcoord-2(2个浮点)、自定义属性(1个浮点)

我需要一个文件格式(最好是ASCII),允许我从3D建模软件(如Blender、Maya等)逐顶点导出所有这些信息(尤其是用于多重纹理的多个UV坐标),然后将其导入我的应用程序。我已经搜索了整个网络,我似乎找不到一种允许每个顶点有多个(自定义)数据通道的格式。我是否遗漏了一些明显的东西


例如:我使用的是.OBJ格式,它似乎只导出要导出的位置、法线和1纹理

为什么不定义自己的格式呢?如果您正在寻找可以使用的东西,请查看OpenCTM

好吧,即使我定义了自己的文件格式,我仍然需要一个导出器从建模应用程序获取数据。在我看来,在着色器和非固定管道的今天,旧的pos/normal/texture格式很快就会过时。奇怪的是,我找不到一种流行的格式,它允许我将一个3D模型保存到一个顶点数组中,然后发送到着色器中。@Radu094:如何定义“流行”呢?您询问的是基于ASCII的格式。如果不添加大量XML风格的mubo jumbo,编写和读取此类格式就足够简单了。所以通常人们倾向于实现他们自己的格式。还有COLLADA(XMLHell)和我已经链接的OpenCTM。不要觉得必须使用一些古老的格式,人们声称这是一种标准。@Radu094:为Blender编写导出器很容易。OpenCTM还提供了一个。我所知道的任何其他3D建模师也是如此。OpenCTM似乎很划算。只需再多几个步骤,就可以从Modeler->OpenCTM->applicaton安排整个管道,但它看起来非常有前景。谢谢