Какую среду я должен использовать для 3d программирования в Linux? - PullRequest
2 голосов
/ 06 августа 2009

Одна вещь, от которой я всегда уклоняюсь, это программирование трехмерной графики, поэтому я решил взять на себя проект по работе с трехмерной графикой для обучения. Я хотел бы сделать этот проект в Linux.

Я хочу написать простую программу типа 3D CAD. Что-то, что позволит пользователю манипулировать объектами в трехмерном пространстве. Какова наилучшая среда для этого типа разработки? Я предполагаю, что C ++ - это путь, но какие инструменты? Хочу ли я использовать Eclipse? Какие инструменты мне понадобятся?

Ответы [ 9 ]

8 голосов
/ 06 августа 2009

OpenGL / SDL , а среда IDE не имеет значения.

Мои личные предпочтения IDE - это окна команд gedit / VIM +. Существует множество IDE, которые позволят вам программировать с помощью OpenGL / SDL и других служебных библиотек.

Я предполагаю, что вы программируете на C, но привязки существуют для Python, Perl, PHP или чего-либо еще, поэтому не стоит беспокоиться.

Посмотрите онлайн пакеты CAD с открытым исходным кодом, они могут предложить вдохновение!

Другим подходом может быть реализация C # / Mono ... эти приложения завоевывают популярность ... и вы можете сделать его немного портативным.

7 голосов
/ 06 августа 2009

Зависит от того, что именно вы хотите выучить.
В основе 3d-контента лежит openGL, на самом деле нет конкурентов для 3d-приложений, особенно на не-Windows платформах.

Вдобавок к этому вам может понадобиться граф сцены (osg, openscengraph, coin) - он обрабатывает список объектов, которые вы хотите нарисовать, их отношение друг к другу в пространстве, возможность перемещать один относительно других, выбирать объекты и т.д. Он вызывает opengGL для фактического рендеринга.

Тогда поверх этого вам нужна библиотека графического интерфейса. Qt, Fltk, wxWigets или встроенная в библиотеку сцены или написанная непосредственно в openGL. Это обрабатывает меню, диалоговые окна и т. Д. Вашего приложения. Он предоставляет холст openGL для рисования.

Персональный выбор: openscenegraph и Qt

3 голосов
/ 06 августа 2009

Для 3D-части я настоятельно рекомендую SDL Library с OpenGL Library

Вы можете получить некоторые уроки здесь

2 голосов
/ 06 августа 2009

Если вы хотите программировать на «более высоком уровне», чем opengl, используйте vtk. Это довольно легко начать и имеет привязки ко многим языкам.

См. Www.vtk.org

2 голосов
/ 06 августа 2009

В Linux у вас нет конкурентов OpenGL.

Это один из крупнейших игроков в области 3D, поэтому его определенно стоит изучить.

Этот сайт имеет несколько превосходных руководств и примеров кода (на разных языках).

Вы можете использовать OpenGL со многими языками, естественно на C и C ++, но также, например, с JAVA, используя LWJGL или другие API.

2 голосов
/ 06 августа 2009

Возможно, вам следует рассмотреть возможность использования графического движка рендеринга, такого как OGRE . Кодирование программы САПР с нуля с использованием OpenGL займет много времени.

2 голосов
/ 06 августа 2009

Qt имеет довольно приличный графический модуль на основе OpenGL.

1 голос
/ 06 августа 2009

вы можете использовать OpenSceneGraph для рендеринга .. это библиотека на основе OpenGL ..

и вы можете использовать OpenCascade .. это хорошо для 3D моделирования ...

мы внедряем такую ​​IDE на работе, и мы используем эти вещи ... использование чистого OpenGL может быть трудным для вас ... в любом случае вы можете попробовать ...

для интерфейса хорошо использовать Qt ..

и я предлагаю вам использовать Eclipse , если это Linux ..

(если бы это была Windows, предложение было бы Visual Studio)

0 голосов
/ 06 августа 2009

Для C / C ++ IDE у вас есть следующие опции:

Конечно, вы также можете использовать такой язык, как C # или Java:

На самом деле нет никаких причин, по которым простое CAD-приложение должно было бы быть написано на C ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...