Преобразование модели 3D Studio Max (3DS / MAX) в QCAR SDK для iOS / OpenGL ES совместимый формат?

#opengl-es #xcode4.2 #3dsmax #ios5 #qcar-sdk

#opengl-es #xcode4.2 #3dsmax #ios5 #qcar-sdk

Вопрос:

Дополненная реальность Quancomm (QCAR) для iOS, которая использует OpenGL ES для отображения 3D-модели. Он считывает несколько файлов:

  1. список вершин, координат текстуры, индексов и нормалей (в формате ОДНОГО .h заголовочного файла, например, Teapot.h)
  2. файл текстуры (в формате PNG)
  3. файл шейдера (в формате FSH и VSH)

Мой вопрос в том, как преобразовать a 3D Studio Max (3ds/max) file в vertices, texture coordinates, indices amp; normals list ? Кроме того, в процессе преобразования может ли файл шейдера быть сгенерирован на основе настроек в файле 3DS?

Файлы используются в QCAR SDK для iOS версии 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
  

Комментарии:

1. Почему файлы «.3ds»? «.3ds» — устаревший формат. Может ли ответ включать использование самого 3dsmax или вам нужно, чтобы он работал с предоставленными вам файлами без использования 3dsmax?

2. да. файлы .3ds или .max подходят. Просто потому, что все еще много бесплатных 3D-моделей, доступных для загрузки онлайн, находятся в формате .3ds.

3. Вы все еще не ответили, можно ли использовать программное обеспечение 3dsmax. у 3dsmax есть несколько методов работы с данными сетки, поэтому имеет смысл использовать эту кодовую базу.

4. Нет. Поскольку у 3dsmax высокая лицензионная плата, я не могу позволить себе такую цену. Можно использовать только бесплатное программное обеспечение для 3D, такое как Blender.

Ответ №1:

я полагаю, что то, что вы ищете, находится здесь: утилита 3DS для заголовка.

Отвечая на ваш второй вопрос, параметры материала 3DS теоретически могут быть преобразованы в шейдеры, если кто-то написал все возможные шейдеры, которые может использовать 3DS, и запрограммировал некоторый код для выбора и настройки шейдера на основе свойств материала. Но нет, нет прямого / простого способа, как это сделать. Хотя, если я правильно помню, в 3DS не так много вариантов выбора материалов, поэтому для этого может потребоваться не так много шейдеров.