OpenGL ES для android, моделирование мебели - PullRequest
1 голос
/ 30 декабря 2011

В настоящее время я играю с OpenGL ES для Android. Я решил поставить перед собой задачу сделать стул. Должен ли я кодировать каждую отдельную вершину или есть способ умножить один набор и преобразовать их на 10 единиц влево.

Например, вместо того, чтобы кодировать каждую ногу, могу ли я умножить одну на четыре и получить их в разных позициях?

А если так, то возможно ли это вне класса рендеринга?

1 Ответ

1 голос
/ 30 декабря 2011

Вы можете сделать это довольно легко, используя функцию glTranslate() между каждым разом, когда вы рисуете ножку стула. Если вы представляете, что рисуете на листе бумаги, где ваша рука заблокирована в этом положении и каждый раз может рисовать только одну и ту же ножку стула в одном и том же месте, glTranslate () перемещает лист бумаги под рукой между рисованием каждой ножки стула.

Однако для большинства сложных моделей, таких как кресло, вы можете рассмотреть возможность их создания с использованием пакета программного обеспечения для 3D-моделирования, такого как blender (бесплатно). Когда вы сохраняете его как файл, файл фактически содержит все вершины. В зависимости от того, в каком формате вы сохраняете файл, вы можете написать некоторый код для загрузки файла, проанализировать его, чтобы извлечь вершины, а затем использовать эти вершины, чтобы нарисовать стул.

...