OpenGL ES для android, моделирование мебели
В настоящее время я играю с OpenGL ES для Android. Я решил поставить себе задачу сделать стул. Должен ли я кодировать каждую отдельную вершину или есть способ умножить один набор и преобразовать их на 10 единиц влево.
Например, вместо того, чтобы кодировать каждую ногу, могу ли я умножить одну на четыре и получить их в разных позициях?
И если так, возможно ли это вне класса рендеринга?
1 ответ
Вы можете сделать это довольно легко, используя glTranslate()
Функция между каждый раз, когда вы рисуете ножку стула. Если вы представляете, что рисуете на листе бумаги, где ваша рука заблокирована в этом положении и каждый раз может рисовать только одну и ту же ножку стула в одном и том же месте, glTranslate() перемещает лист бумаги под рукой между рисованием каждой ножки стула.
Однако для большинства сложных моделей, таких как стул, вы можете рассмотреть возможность их создания с использованием пакета программного обеспечения для 3D-моделирования, такого как блендер (который бесплатен). Когда вы сохраняете его как файл, файл фактически содержит все вершины. В зависимости от того, в каком формате вы сохраняете файл, вы можете написать некоторый код для загрузки файла, проанализировать его, чтобы извлечь вершины, а затем использовать эти вершины, чтобы нарисовать кресло.