Формат файлов и программа просмотра 3D-сцены

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

Я изучил это почти 10 лет назад и тогда остановился на VRML (и начал проект, который в конечном итоге превратился в OpenVRML). К сожалению, VRML / X3D не стал повсеместным за последнее десятилетие.

В идеале решение предлагало бы библиотеку C++, которую можно было бы подключить к конвейеру 3D-рендеринга на каком-то уровне для захвата 3D-сцены в файл; и свободно распространяемая программа просмотра, которая позволяла манипулировать видами, скрывать детали, добавлять аннотации, определять размеры и т. д. Должны поддерживаться как минимум linux, mac и windows.

Казалось бы, 3D PDF-файлы удовлетворяют большинству требований к средствам просмотра, но Adobe sdk, по-видимому, доступен только в Windows.

Какие-либо предложения ?

Какой конвейер 3D-рендеринга вы используете? OpenGL? Direct3D?

Jim Buck 10.11.2008 07:02

По крайней мере, вы сначала не выбрали QuickDraw 3D.

dlamblin 19.11.2009 11:28
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
5
2
2 592
3

Ответы 3

Если вы используете OpenGL, GLIntercept сохранит все вызовы OpenGL (с данными, с которыми они были вызваны) в файл XML. Однако это только половина решения, но его несложно разобрать и воссоздать сцену самостоятельно.

"Ага, что сказал Дрю ...";) Пока мы занимаемся этим - что же стало со старым форматом .obj? Я использовал это с хорошим успехом не СЛИШКОМ много лет назад ...

Olie 10.11.2008 07:52

Голосование против и нет отзывов о том, почему? GLIntercept в точности решает первую половину своей проблемы («В идеале решение предлагало бы библиотеку C++…» и т. д.)

Jim Buck 10.11.2008 19:51

Спасибо за ваш отзыв. Я не голосовал против. Не по теме: пока я пишу это, голосование показывает 0. Как узнать, что было голосование "против"? Меня беспокоит дамп вызовов GL, что 1. многословность / размер файла, 2. состояние, изменяемое пользователем, встроено, а не явно, 3. Просмотрщик - это сложная задача, не так ли?

Chris Morley 11.11.2008 04:26

Раньше было -1, так что либо мой ответ пересмотрелся, либо кому-то еще понравился мой ответ. :) Я никогда глубоко не смотрел на GLIntercept, так как он входит в мой список вещей, которые "нужно сделать" до интеграции в мое собственное приложение, но мне интересно, написал ли кто-нибудь где-нибудь программу просмотра для него.

Jim Buck 11.11.2008 06:34

Самое близкое, что мне известно, - это Collada. Многие 3D-движки могут читать его, и большинство инструментов 3D-дизайна могут читать и писать. Я считаю, что движок Огре имеет неплохую поддержку.

Взгляните на Ogre3d.org. Это просто двигатель, с ним нужно программировать. Но OGRE, вероятно, лучшая (бесплатная / открытая) платформа для разработки 3D прямо сейчас.

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