![]() |
|
Модераторы: bsa |
![]()
|
|
| lildare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 11.2.2011 Репутация: нет Всего: нет |
Здравствуйте, уважаемые!
Передо мной поставили следующую задачу: разработать приложение, в котором бы отображалась достаточно сложная и детализированная модель объекта (в моем случае это модель котельной). Причем этот объект можно: 1)вращать, поворачивать, крутить 2) при щелчке на элемент котельной открывается окно с характеристиками объекта и мн. др, но для начала этого хватит Что мне использовать для этого? С 3D-графикой я раньше работал только посредством OpenGL,да и то на слабеньком уровне и всех возможностей не знаю.. У меня такие варианты: 1) Flash ( с ним вообще не работал) 2) OpenGL (рисовать объект полигонами, накладывать сверху текстуры и тд) 3) нарисовать модель в AutoCad и вставить в мое приложение(но как обработать здесь щелчки мыши, повороты...) Подскажите пожалуйста.. ведь неправильно заложив фундамент, придется сносить дом.. |
|||
|
||||
| KaraKum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
Лучше использовать OpenGL вместе с SDL.
Модели готовятся в любом 3D-редакторе (например в бесплатном blender'е) и импортируются в OpenGL. Импорт возможно реализовать самому, но лучше для этого использовать уже готовые движки(OSG или Ogre3D). Добавлено через 1 минуту и 28 секунд OSG по-проще и поэтому, думаю, для данной ситуации подойдёт лучше. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Не думаю, что SDL тут будет хорошим выбором. Уж лучше или только Ogre3D+CEGUI, или Qt (QtGui+QtOpenGL). |
|||
|
||||
| lildare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 11.2.2011 Репутация: нет Всего: нет |
пример бы еще какой-нибудь простенький, ребят.. я просто щас в легком шоке
|
|||
|
||||
| lildare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 11.2.2011 Репутация: нет Всего: нет |
как мне потом делать обработку щелчка мыши и тд?
|
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
OpenGL + glut?
Преимущества: знакомый OpenGL в чистом виде + простой фреймворк для организации окна и обработки событий клавиатуры и мыши. Для выбора элементов в OpenGL можно использовать механизм Selection имхо QtOpenGL врядли сильно поможет, т.к. он ничего не добавляет, кроме совместимости с самим Qt Ogre3D? пожалуй. если его освоение не станет слишком высокой платой. lildare, в каком виде исходные данные для 3D модели? Должно ли приложение предоставлять средства для её ручного построения, или же только являться информационной моделью, которая показывает геометрию и атрибуты объектов, а сама геометрия статична и откуда-то импортируется? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
lildare, для начала пролистай документацию к фреймворкам. Затем выбери наиболее тебе подходящий и прочитай его документацию.
Добавлено через 2 минуты и 12 секунд
|
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
"окно с характеристиками" это настолько мало, по сравнению с ужасом всей задачи.... ;-)
да и окно невелико, параметр-значение. по сути, properties window в комплексе, пожалуй, Qt неплохой вариант, хотя для данной задачи он вполне сравним с ненавистным MFC. |
|||
|
||||
| lildare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 11.2.2011 Репутация: нет Всего: нет |
ну вообщем изменять модель пользователь не должен, она должна откуда-то загружаться и появляться перед ползователем в окне, чтобы он мог ее вертеть, щелкать и тд. Вопрос только в том, как обрабатывать етот щелчок, ведь модель (в моем случае котельная) состоит из отдельных элементов (элеваторов, конвейера, печей и тд и тп), у каждого из которых свой набор характеристик. Т.е. мне интересно как определить на какой именно элемент произошел щелчок, чтобы выдать по нему набор характеристик из БД. Это раз... и два: в принципе мое приложение представляет собой карту города Альметьевска с отмеченными на нем котельными, при щелчке на которую должно открываться новое окно, а в этом новом окне должна отображаться модель, НО по опыту работы с OpenGL я знаю что glutWindow (на память написал, давно с OpenGL не работал) отображается как автономное новое окошко, а мне нужно сделать так чтобы эта область в которой рисуется модель, была как бы "вшита" в окно C++ и при щелчке по конкретному элементу, те самые пресловутые характеристики отображались в окне С++. я знаю что ничего не знаю.. просто передо мной щас стоит больше дилемма философская чем аналитическая: браться за этот проект или не тратить зря свое время и уволиться с этой работы, поскольку удовольствия я от нее не получаю.. |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
мдя, дела... а задача-то довольно интересная. но большая. неужели все настолько плохо, что бы увольняться? почему нет удовольствия от работы?
кстати именно подобные программы со временем могут стать программами известными и востребованными (среди профильных организаций). вообще это классическая задача САПР, её можно решить, скрещивая решения GIS и PlantDesign (удобнее, если одного производителя, скажем, Autodesk или Bentley). В этом случае программирования не так много, а для хранения и отображения используется функционал базовых продуктов. что касается выбора объектов по щелчку - почитай про Selection в OpenGL (см. выше), там все есть для этого. Добавлено через 2 минуты и 13 секунд кстати увольняться имхо рано. это задача весьма объемная не только по функционалу, но и по данным. если все модели котельных придется вводить (а проектов этих котельных в 3D, конечно, нет), одно это не на один год растянется. а для программиста такая работа - очень неплохой опыт Добавлено через 5 минут и 34 секунды вобщем для начала нужно решить - новое приложение (OpenGL или DirectX) или интеграция монстров если приложение, то следует заняться проектированием. детали реализации типа "как мне отобразить окно" или "как получить объекты по щелчку мыши в OpenGL" выясняются за 5минут в интернете и не столь существенны. напр., структура БД или иерархия геом. объектов имхо гораздо важнее и сложнее. Добавлено через 6 минут и 36 секунд (если интеграция, то изучив возможности базовых продуктов, и выбрав конкретные, тоже надо заняться проектированием) Добавлено через 13 минут и 7 секунд в glut это возможно. хотя удобней и практичней Qt. впрочем, увидев масштаб задачи, я бы в первую очередь таки подумал об интеграции имеющегося (уверен, что бюджет такого решения, даже с учетом стоимости Autocad или Microstation в итоге окажется выгодней). хотя сделать такую программу самостоятельно, конечно, интереснее... вот только вопрос: кто и при помощи какого инструмента будет вводить геометрию. это надо сразу (хотя бы принципиально) решить |
|||
|
||||
| lildare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 11.2.2011 Репутация: нет Всего: нет |
сейчас будет немного в оффтоп (кто не хочет может не читать):
просто ситуация такая, что я только устроился в эту фирму (скорее даже не в фирму а типичную шарашкину контору, в которой даже лицензионной винды нигде не стоит и компов на всех не хватает), и тут передо мной шеф кидает такую задачу. проблема даже больше в том что задача сложная,а в том, что он мне предлагает сдельные условия работы (т.е. по выполненным проектам), поскольку я студент дневного отделения и график моей работы его не устраивает, а мне моей стипендии на месячный проезд то не хватает...)) да и буду честен, программист из меня так себе, не по душе мне программирование, просто судьба заставила пойти на факультет кибернетики и информатики,а дальше пошло-поехало со всеми вытекающими)) |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
заниматься тем, что не по душе, не стоит, это уж точно
если начальник ставит такую задачу, то он либо не понимает ее масштаба (это врядли) либо не хочет платить. хотя непонятно, зачем ему (даже бесплатный) сотрудник на дохлом проекте |
|||
|
||||
| lildare |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 11.2.2011 Репутация: нет Всего: нет |
кстати на другом форуме меня натолкнули на : http://community.livejournal.com/coin3d_ru/
что вы по этому поводу думаете? |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
но за бесплатно лучше, конечно, не работать
хотя гораздо лучше работать, но не бесплатно Добавлено через 3 минуты и 27 секунд c coin3d не сталкивался, но при беглом взгляде - не то. это машиностроение, а не строительство (и не civil) и даже с мега-библиотеками проект не становится менее масштабным. потомучто подгрузить 3D модель и покрутить её не слишком сложная задача... Добавлено через 6 минут и 29 секунд а вот если грамотно разбить работу на этапы, включив туда фазу проектирования, можно что-то и сдельно заработать. разрабатывая структуру данных, концепции взаимодействия с пользователем и т.д. до программирования тут еще далеко |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
||||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |