Рекомендации по C ++ 3d векторно-матричной библиотеке с целевой камерой - PullRequest
3 голосов
/ 15 мая 2009

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

Любые дополнительные функции, такие как расстояние от точки к точке, ограничивающие объемы и т. Д., Будут бонусом, но простота использования для меня важнее, чем функции.

Единственным лицензионным требованием является то, что оно бесплатно (как в пиве).

Ответы [ 4 ]

2 голосов
/ 15 мая 2009

Возможно, вам нужна библиотека сценографов. Существует множество библиотек графов сцен C ++. OpenScenegraph популярен, Coin3D (бесплатно для некоммерческого использования) является реализацией спецификации OpenInventor, любой из них, вероятно, будет соответствовать вашим потребностям, поскольку не похоже, что вам нужна какая-либо современная поддержка. Есть также Panda3D, который, как я слышал, хорош, если вы в Python.

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

Когда вы выбираете библиотеку сценографа, она, скорее всего, просто перейдет к личному предпочтению того, какой API вы предпочитаете.

1 голос
/ 15 мая 2009

Если вы пытаетесь сосредоточиться только на части рендеринга системы частиц, я бы пошел с установленной библиотекой 3D-рендеринга.

Учитывая ваше описание, вы можете попробовать добавить растеризацию частиц к одному или обоим программным средствам визуализации в Irrlicht . Еще одно преимущество этого состоит в том, что вы можете сравнить свои результаты с уже существующими средствами визуализации эффектов частиц DX / OGL. Вся сантехника / управление камерой / и т. Д. Будет сделано для вас.

1 голос
/ 15 мая 2009

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

Если вы хотите создать свою собственную функцию Look At и т. Д., Я могу порекомендовать eigen , которая является действительно простой в использовании библиотекой линейной алгебры для C ++.

0 голосов
/ 09 октября 2009

Вы также можете взглянуть на библиотеку Armadillo C ++

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