Подход к созданию сложных 3D-рисунков в OpenGL ES (на Android)? - PullRequest
4 голосов
/ 03 июня 2010

Я новичок в opengl-es, и мне интересно, как люди могут рисовать такие подробные графики OpenGL ES, например, на ОС Android. Уже сложно нарисовать один квадрат, потому что он состоит из треугольников по той причине, что OpenGL ES, очевидно, не может рисовать ничего, кроме треугольников. Я думал об этом подходе:

  • Рисование и рендеринг объекта в Blender.
  • Экспортировать его как массив вершин и массив цветов
  • Скопируйте этот массив вершин в код Java
  • Запустите код

Или есть подходы для решения таких проблем лучше? Я не думаю, что люди просто «рисуют» свою графику как массив вершин в коде. Я уверен, что они рисуют их в другом месте и импортируют в код. Если есть такое решение с Blender, я был бы рад узнать, как это решается.

Привет.

Ответы [ 2 ]

4 голосов
/ 08 июня 2010

Вы можете сохранить свою модель из Blender, например. как файл Wavefront OBJ. В Blender вы также можете выбрать триангуляцию модели для вас, что приведет к появлению списка только треугольников, готовых для рисования. OBJ - очень простой формат, он просто перечисляет в ASCII положение каждой вершины, а затем, какие вершины принадлежат каждому треугольнику. Либо преобразуйте OBJ в формат, специфичный для вашего приложения (например, двоичный буфер, который вы можете напрямую загрузить в OpenGL), либо найдите один из многих загрузчиков OBJ, либо напишите свой собственный читатель.

Существует множество других распространенных форматов, вам нужно взглянуть на них и посмотреть, есть ли импортер для Android.

3 голосов
/ 09 июня 2010

Я обнаружил, что вы можете загружать 3D-модели с помощью min3D непосредственно в вашу программу, используя:

min3d

Надеюсь, это поможет.

...