iOS的Quancomm增强现实版(QCAR),它利用OpenGL ES来显示3D模型。它读取了几个文件:
.h
头文件,例如Teapot.h)我的问题是,如何将3D Studio Max (3ds/max) file
转换为vertices, texture coordinates, indices & normals list
?此外,在转换过程中,是否可以根据3DS文件中的设置生成着色器文件?
这些文件用于iOS版QCAR SDK 1.0版。
例如,文件内容如下:
#ifndef _QCAR_TEAPOT_OBJECT_H_
#define _QCAR_TEAPOT_OBJECT_H_
#define NUM_TEAPOT_OBJECT_VERTEX 824
#define NUM_TEAPOT_OBJECT_INDEX 1024 * 3
static const float teapotVertices[NUM_TEAPOT_OBJECT_VERTEX * 3] =
{
// vertices here
};
static const float teapotTexCoords[NUM_TEAPOT_OBJECT_VERTEX * 2] =
{
// texture coordinates here
};
static const float teapotNormals[NUM_TEAPOT_OBJECT_VERTEX * 3] =
{
// normals here
};
static const unsigned short teapotIndices[NUM_TEAPOT_OBJECT_INDEX] =
{
// indices here
};
#endif
答案 0 :(得分:2)
我相信你所寻找的是:3DS to Header utility。
在回答第二个问题时,如果有人编写了3DS可以使用的所有可能的着色器并根据材料属性编写了一些代码来选择和配置着色器,那么3DS材质设置理论上可以转换为着色器。但不,没有直接/简单的方法如何做到这一点。虽然,如果我没记错,3DS没有太多的材料选择,所以可能没有太多的着色器需要这样做。