Необходима 3D библиотека под следующую задачу

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

mdvd
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 02.12.2008 (Вт) 14:43

Необходима 3D библиотека под следующую задачу

Сообщение mdvd » 02.12.2008 (Вт) 15:53

Добрый день,
не найдя ответа самостоятельно решил обратиться к вам за помощью. Передо мной начальством поставлена задача реализовать в 3D модель заводского цеха (объектов будет много, пока не считал, но наверно около 500 штук) с возможностью взаимодействия с моделью по принципу - клик мышью по отдельному объекту - отображение информации.
До этого все сложные на первый взгляд задачи в VB6 заметно упрощались благодаря сторонним ActiveX и dll (работа с GDI+, базы данных, передача данных по сети и прочее). Интересно будет ли все также просто и с 3D.
От библиотеки требуются следующее:
- отображение 3D моделей оборудования в пространстве (модели без текстур, не сложные, скорее схематичные, максимум что может потребоваться - разные поверхности модели разного цвета)
- поддержка как минимум одного источника света и теней (директор разглядел в модели у западных коллег тени, поэтому и нам тени нужны обязательно)
- взаимодействие с моделями (наподобие события "3DObject1_Сlick")
- основной вид на цех должен быть "сверху-сбоку" (а-ля Warcraft), zoom, смена вида камеры на "сверху", навигация "мышкой" как в RTS играх
- сглаживание аналогичное применяемому в GDI+
- ограничитель кадров (vsync?), чтобы ноутбук начальника не перегревался при отрисовке модели с частотой ~1000 кадров в секунду (подозреваю что для простой 3D модели частоты будет примерно такими)
- оконный режим (т.е. не full screen)
- поддержка отображения подписей (не меняющих свое положение в зависимости от положения/зума камеры и привязанных к объекту)
- желательно поддержка движком 2D областей произвольной формы, наподобие тех что используются в GDI+ (для отображения направлений путей эвакуации на полу и т.п.)
- редактор 3D объектов, в котором можно создать модели, расставить в пространстве, а затем импортировать "сцену" (кажется это так называется) в 3D библиотеку в Visual Basic 6... мало знаком с подходами применяемыми в этой области, возможно потребуется добавлять объекты по одному?
- библиотека должна быть легкой, безглючной, работающей одинаково хорошо в разных ОС семейства Windows (включая Windows Vista)

Практически все можно было бы реализовать с помощью GDI+, однако приславутая трехмерность требует совершенно иного подхода.

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Re: Необходима 3D библиотека под следующую задачу

Сообщение Vovik » 02.12.2008 (Вт) 22:34

Список двигов:
1. TrueVision 3D
2. Revolution 3D
3. 3DSTATE - трох гемморно прогать.
4. NemoX
5. iRender3D - наверно не найдешь. только у меня. не поддерживается.
Про поддержку Vista не в курсе. Первые два довльно неплохие двиги. :roll:

mdvd
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 02.12.2008 (Вт) 14:43

Re: Необходима 3D библиотека под следующую задачу

Сообщение mdvd » 02.12.2008 (Вт) 23:36

1. TrueVision 3D
Очень бы не хотелось вотермарков, еще не пробовал, но судя по информации на сайте - она платная.
2. Revolution 3D
Не функционирует ObjEdit, нет (?) vsync, неотключаемый (?) вотермарк, требует установленного .Net 2.0
3. 3DSTATE - трох гемморно прогать.
Упоминание student license и окно при запуске/завершении убирается только за скромные 800 долларов? Этот проект имеет наиболее солидный сайт.
4. NemoX
Пробовал его первым, показался громоздким. Были проблемы с переносом тестового приложения на соседний компьютер. Это не недостаток, надо просто разобраться, но если есть более компактные решения, я бы отдал им предпочтение.
5. iRender3D - наверно не найдешь. только у меня. не поддерживается.
Действительно не нашел. Также встречал упоминание rRenderer. Все ссылки, которые находил, не работают. Если сможешь размести файлы iRender3D в сети.
Ты работал с OGRE? Они описывают свой проект именно как библиотеку визуализации, без ненужной мне поддержки звуков/анимации/ИИ и всего того чтобы обычно стремятся реализовать в 3D библиотеках, нацеливая их первую очередь на разработчиков игр. К сожалению враппер под .Net потребует хорошего знания новой для меня среды разработки.

Ktulhu
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 14.07.2007 (Сб) 14:03
Откуда: Киев, Р'льех

Re: Необходима 3D библиотека под следующую задачу

Сообщение Ktulhu » 03.12.2008 (Ср) 0:25

ОГР мего громоздкий и навороченный для поставленной задачи. NemoX, как по мне, неплохой вариант.

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Re: Необходима 3D библиотека под следующую задачу

Сообщение Vovik » 03.12.2008 (Ср) 1:13

А я бы использовал TV. Все, что тебе нужно в нем есть. iRender требует немного исправлений и чем-то напоминает Nemo. если так нуна, то могу скинуть, но скорее всего он тебе не подойдет.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Re: Необходима 3D библиотека под следующую задачу

Сообщение nekeda » 03.12.2008 (Ср) 2:17

Revolution 3D
Не функционирует ObjEdit, нет (?) vsync, неотключаемый (?) вотермарк, требует установленного .Net 2.0


Что за ObjEdit?
vSync есть вроде, вотермарков никаких не было никогда - двиг полностью бесплатен как для коммерческого, так и для некоммерческого использования, .net на сколько мне объяснял автор требуется только для инструментов, которые идут в составе SDK, сам двиг .net не требует.

Скоро кстати обещано очередное обновление. Много времени на него потратил, имхо гораздо лучше того же NemoX. Понравилась сама логика движка - никаких лишних функций, просто логично построенный и удобный в использовании DirectX 9 (в отличае от самого директХ)).

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Необходима 3D библиотека под следующую задачу

Сообщение Mikle » 03.12.2008 (Ср) 11:51

Что автор имел ввиду под словом "тени"? Именно тени, отбрасываемые на другие объекты, а также самозатенение?
"поддержка как минимум одного источника света " подразумевает точечный перемещаемый источник, или фиксированный, может просто направленный свет?
Если у нас изометрия, свет фиксированный, и направление камеры не меняется (масштаб и перемещение камеры допустимы), то с этой задачей можно справиться и в 2D.
Если нет, то задача несложно решается под чистым DX8, без дополнительных движков, но придется мириться, что в Висте придется вручную регистрировать dx8vb.dll. Если это не устраивает, можно взять враппер для dx9, тут где-то выкладывали, там шейдеров нет, но для этой задачи они не очень и нужны. Можно использовать MDX, но это уже для vb.net.

mdvd
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 02.12.2008 (Вт) 14:43

Re: Необходима 3D библиотека под следующую задачу

Сообщение mdvd » 03.12.2008 (Ср) 21:15

Ktulhu
Пока для меня NemoX не на первом месте. Спасибо за мнение.

Vovik
Скопируй, пожалуйста, iRender в сеть, для ознакомления.

nekeda
ObjEdit утилита поставляемая вместе с SDK, и вероятно предназначенная для работы с 3D объектами.
Сегодня посмотрел еще раз, опцию vSync не обнаружил. Вотермарк отсутствует в скомпилированном приложении. То что .Net требуется только для утилит - хорошо.
Если в следующей версии будет vSync и ObjEdit, то остановлюсь на нем.

Mikle
Да - тени отбрасываемые на другие объекты. Самозатенение? Возможно и оно тоже.
Источник света должен создавать те же эффекты "свет-тень" что и солнце. Точнее выразиться пока не могу.
Изометрия (псевдо 3D) думаю не подойдет.
Надеюсь всё удастся реализовать в Rev3D. Если нет, тогда воспользуюсь, согласно вашему совету, чистым DX8. Хоть чувствую это будет и не просто.


Если кому-то известны прочие 3D библиотеки, способные удовлетворить условиям описанным в первом сообщении темы - обозначьте их в этой теме.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Re: Необходима 3D библиотека под следующую задачу

Сообщение nekeda » 03.12.2008 (Ср) 21:46

Никакой ObjEdit не нужен движку, знающему что такое 3ds.

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Необходима 3D библиотека под следующую задачу

Сообщение Debugger » 03.12.2008 (Ср) 22:06

DirectX? С прямыми руками и книжкой все из перечисленного можно сделать

mdvd
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 02.12.2008 (Вт) 14:43

Re: Необходима 3D библиотека под следующую задачу

Сообщение mdvd » 06.12.2008 (Сб) 0:28

DirectX? С прямыми руками и книжкой все из перечисленного можно сделать
Попытка найти готовое решение - как раз и есть желание не делать 3D "движок" своими руками. Или я ошибаюсь, думая что толковые ребята уже всё реализовали до меня? NemoX, Rev3D, 3DState - я бы не смог сделать чтото подобное и за год. При том, что каждый конкретный движок, при моих то скромных требованиях, еще и имеет недостатки - некорректный resize, нет vsync, Splash.

А как вы оцениваете связки - Delphi+GLScene или VB.Net+OpenTK?
Требования: vsync, сглаживание, корректный ресайз окна, желательна среда для создания 3D сцены.

Ребят, может показаться что я пудрю кому-то мозги. Это не так. Просто ищу 3D библиотеку подходящую под мои, как мне кажется, неказистые требования.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Re: Необходима 3D библиотека под следующую задачу

Сообщение nekeda » 07.12.2008 (Вс) 16:49

Debugger, с прямыми руками и книжкой можно виндовый калькулятор на ассемблере написать.

Ktulhu
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 14.07.2007 (Сб) 14:03
Откуда: Киев, Р'льех

Re: Необходима 3D библиотека под следующую задачу

Сообщение Ktulhu » 08.12.2008 (Пн) 0:55

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

djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Re: Необходима 3D библиотека под следующую задачу

Сообщение djalex777 » 08.12.2008 (Пн) 12:48

Ktulhu писал(а):если программа будет работать только в оконном режиме, то FPS вроде и так будет синхронизирован с частотой экрана.

Нет
Ktulhu писал(а):а вообще, чтобы ограничить фпс в цикл прорисовки вписывается ограничитель кадров, а vsync скоре чтобы картинка равномерно обновлялась и на глаза не давила.

В принципе можно, но в основном делается синхронизацией

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Необходима 3D библиотека под следующую задачу

Сообщение Debugger » 08.12.2008 (Пн) 17:17

nekeda писал(а):Debugger, с прямыми руками и книжкой можно виндовый калькулятор на ассемблере написать.

Кончено. Прямые руки горы воротят :)
Ktulhu писал(а):Сомневаюсь, что в каком-либо движке можно было завтыкать сделать опцию vsync....

Поэтому выход один. Угадайте, какой? Ручки!
А если не послушаешь меня - выбирай True Vision3D (с ним работал, ощущение так себе) или Torque Engine - только, если я не ошибаюсь, он движок игровой и оконный режим не поддерживает.


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList