Pull to refresh

Comments 15

Хорошие статьи, спасибо. Интересно, возможно ли прикрутить эту либу для визуализации результатов геологического моделирования?
Это же графический движок, его к чему угодно можно прикрутить.

К слову, парни, которые пишут открытый Morrowind, в свое время перешли с Ogre3D на OSG и остались очень довольны.
Я давно в этой области не работал, но когда пытались прикрутить сторонние либы, у нас все быстро заканчивалось на задаче «разрезать модель вертикальной плоскостью и вывести на плоскость разреза линии пересечения». Приходилось писать очень много не очень хорошего кода. В итоге все выкинули и начали делать с нуля.
Приходилось писать очень много не очень хорошего кода

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

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








Качество картинки не торопитесь закидывать гнильем — это пока технологическая демка, пруф оф концепт, т-скать…
Возможно, что для задачи «разрезать и поделить» будет полезна эта статья:
vicrucann.github.io/tutorials/osg-intersectors-example

И еще… По OSG удивительно мало статей и примеров в гугле, но на baidu.cn ищется намного больше по теме.
Да, Вика Рудакова как раз CAD-ми занимается и использует для этого OSG. Читал её материалы, в частности про интеграцию OSG и Qt.
По OSG удивительно мало статей и примеров в гугле

Материалов, даже не на русском, а на английском исчезающе мало. Единственная ниточка — книги Begiiner's Guide и Cookbook. Первая совсем для нубасов (как я) а вторая содержит продвинутые материалы типа osgEarth и osgOcean и прочее. Так что в своих копалках я опираюсь на эти источники, плюсп помог блок Александра Бобкова, который он, в плане OSG, к несчастью забросил
Про интеграцию OSG и Qt тоже было бы очень познавательно, потому что вся интерфейсная часть как наз на Qt и пишется. Да и ядро, честно говоря, тоже.
Интеграция легка как 5 копеек, но у моей команды, возникла проблема с контекстом отображения при таковой интеграции на определенных аппаратных конфигурациях. Проблема сродни мистике, завтра проверю тестовые примеры на новом железе, может быть выдам больше информации. Но факт в том, что примеры Виктории Рудаковой работают иногда не так, как это ожидается
парни, которые пишут открытый Morrowind, в свое время перешли с Ogre3D на OSG

И главная причина, как я понял, в том, что под виндой огр использует DirectX. По мне так DX уже давно пора закапывать — OpenGL работает везде, а DX только на одной платформе. Плюс — грядет Vulkan…

Хотя, тут не только DX

  • Система материалов
    В Ogre 2.1 система материалов была оптимизирована и усложнена, сотворение материала в OpenMW используется очень часто, поэтому требуется более простая и гибкая система материалов.
  • Tag points (значники) — Эта функция движка позволяет соединять разные части тела, этой функции нет в новой версии, и приходится сейчас использовать сложные обходные пути, что сильно усложняет задачу.
  • Ориентирование на OpenGL2 — OpenMW не делался под старое оборудование, на которое был рассчитан Morrowind, но отказываться от его поддержки мы не собираемся, это вызвало бы многочисленные проблемы у игроков.
  • Система шаблонов материалов. — В Morrowind есть так называемые .nif файлы, используемые для установки шаблонов. В Ogre3D эта система не поддерживается.
  • Масштабирование ширины NPC — NPC в Morrowind имеют свойство «масса», которое влияет на их ширину по его локальной оси X. OpenMW вынужден её игнорировать, т.к. система скелетов в Ogre3D не проводит одномерное масштабирование (только по 1-й оси).
  • Менеджер ресурсов — Ogre3D использует глобальный менеджер ресурсов, в то время как игре требуется по одному на каждый документ в OpenCS. Мало того, каждый ресурс должен иметь уникальный идентификатор, отдельные проблемы возникают, если случайно было создано два объекта с одинаковым именем. Команда Ogre3D работает над этим с 2013 года, и не похоже, что они решают эту проблему.

Не, Ogre3D имеет рендеры и OpenGL, и DirectX. На винде можно использовать любой.
Интересно, автор доедет до osgUI и osgWidgets, или сломается, как все, в районе osgViewer? :)
Буду надеяться на лучшее.

ЗЫ: Если у кого-нибудь есть хоть какие-то примеры osgUI, кинте в личку, плс.
Думаю дойду, потому что меня самого это интересует. Но тут вилка — в корпоративном проекте у меня задача осваивать UI не стоит, а в личном проекте — имеется. Так что как выгорит. Собственно, не было бы желания разобраться, не стал бы писать. На сегодня готов материал в районе 35 уроков вчерне. Но для хабра он компонуется по нескольку уроков в статью
Дай Будда тебе терпения и здоровья, добрый человек :)
Круто! Это будут, пожалуй, единственные уроки в рунете.

Придется столкнуться с малым количеством комментариев, но это нынче нормальное явление на Хабре с техническими статьями. От этого они хуже становятся.
Придется столкнуться с малым количеством комментариев

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

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

Читателям спасибо, плюсы и положительные отзывы тронули меня очень. Буду пытаться делится тем что узнал и далее. В меру сил
Sign up to leave a comment.

Articles