OpenGL создает деревья

Я использую PyOpenGL с PyGame (хотя я также пытаюсь скопировать игру и в C++), и я хотел бы нарисовать несколько низкополигональных деревьев в моей игре, что-то вроде того, что показано на рисунке ниже.

Но на данный момент я знаю только, как рисовать простые плоские поверхности и накладывать на них текстуры (создавая массив координат x,y,z и координат текстуры и используя glDrawArrays). Есть ли способ сделать что-то похожее на дерево ниже, используя только opengl (это будет связано с трехмерными координатами текстуры?) Или мне нужен внешний графический движок?

Если мне нужен графический дизайнер, есть ли у кого-нибудь рекомендации, и тогда я прав, что мне нужно передать вершины в массив в python, а затем использовать его в glDrawElements?

Низкополигональное дерево

1 ответ

Решение

Через некоторое время вы не можете обрабатывать сложные объекты, просто определяя трехмерные вершины в Opengl. Вместо этого вам нужна объектная модель, которую вы можете включить в свой проект. Большинство моделей объектов поставляются со своими файлами текстур и координатами текстур, поэтому вам не нужно беспокоиться о их текстурировании.

Для загрузки объектов в вашу сцену я предлагаю вам использовать библиотеку assimp. И после того, как вы настроите свою среду, единственное, что вам нужно сделать, это искать бесплатные модели дерева с низким поли. Вот веб-страница, где вы можете найти бесплатные низкополигональные деревья: http://www.loopix-project.com/

Другие вопросы по тегам