|
Техник
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
|
|
Библиотека для работы с 3D графикой27.05.2011, 13:05. Показов 17902. Ответов 62
Метки нет (Все метки)
Доброго времени суток. Посоветуйте какой ни будь инструмент для работы с 3D графикой в Билдере... на подобии GLScene если кто знает такой. Очень надо. Заранее спасибо!
0
|
|
| 27.05.2011, 13:05 | |
|
Ответы с готовыми решениями:
62
Библиотека для быстрой работы с графикой Библиотека для работы с графикой и текстом С++ Написать пакет классов для работы с деловой графикой, предназначенный для работы в среде Windows |
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
||||||||||||||||||
| 01.06.2011, 11:37 | ||||||||||||||||||
0
|
||||||||||||||||||
|
Техник
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
|
|
| 01.06.2011, 12:53 [ТС] | |
|
А можно пример откомпилированый? ) посмотреть как это выглядит... мне просто пока что кажется что это не совсем то, что нужно... но могу и ошибаться
0
|
|
|
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 18
|
|
| 03.02.2013, 12:37 | |
|
Вроде все разжевано, все скачал, все подключил - не компилится зараза, даже последний пример с самолетами.
Выдает длинный список однотипных ругательств начиная с: [ILINK32 Error] Error: Unresolved external '_bbBeginBlitz3D' referenced from C:\ПАЛЕАНТОЛОГИЯ\DCORSAIR\BP002\DEBUG\WI N32\TEST.OBJ У меня RAD Studio XE, может с этим связано? Добавлено через 11 часов 37 минут Подключил lib непосредственно в проект, перестал ругаться теми словами, осталось ругательство одно - китайское [ILINK32 Error] Fatal: Unable to open file 'W抸W眥ꗻ眦��曑桶ȵ뉦E.OBJ' ![]() Добавлено через 1 час 39 минут собственно, проблема локализовалась в голове. Формулирую: - скачал blitz3d 1.94, разобрался. - скачал с торрента blitz3dsdk v 1.02 - запустил инсталлятор - тот сообщил, что уронил b3d.dll в system32 - создал VCL проект в билдере - создал "Xplayer.h" и "Xplayer.cpp", залил в них содержимое - рядом приложил blitz3dsdk.lib и blitz3dsdk.h, подключил к проекту через ADD - на всякий пожарный в папку компиляции к потенциальному exe b3d.dll и папку media (в случае с другими примерами) - в основной форме кнопка, обработчик заполнил по образцу. Вроде все? запускаем и.. [ILINK32 Error] Fatal: Unable to open file 'Z搘Z眥ꗻ眦ꊾ敵檒Ȍ뉦E.OBJ' что-то где-то криво Добавлено через 51 минуту В общем, если присоединить lib к проекту через Add, то пишет зюки, если отсоединить - не видит к нему пути, даже если он в папке билдера/lib Добавлено через 9 минут Прогресс ![]() блиц не хавает русские шрифты со всеми отсюда вытекающими проблемами. сменил имена папок на латиницу - матюги обновились ))))[ILINK32 Error] Error: 'C:\PAL\DCORSAIR\BP003\BLITZ3DSDK.LIB' contains invalid OMF record, type 0x21 (possibly COFF) Добавлено через 1 час 15 минут поборол. причины были 2: - кириллица в пути к файлам недопустима - lib из sdk (во всяком случае того, что я скачал) не подходит, работает только из примера Maluda Библиотека для работы с 3D графикой Кстати, Maluda, не объяснишь почему?
0
|
|
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
||
| 04.02.2013, 11:44 | ||
|
Это SDK сделано для Visual Studio, поэтому, чтобы затащить её в C++ Builder необходимо конвертировать библиотеку утилитой COFF2OMF.EXE или использовать уже отконвертированную. Я так понял её ты и взял.
1
|
||
|
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 18
|
|
| 05.02.2013, 20:30 | |
|
точно так. В оригинале SDK dll весил 81 кажется метр, а твоя конверченная 31м. Сначала поставил из SDK - ноль эффекта, потом твою из примера - все заработало.
Добавлено через 3 часа 25 минут [QUOTE=Maluda;4091038] Просвети, если можешь, блиц с билдером дружат окнами? Имеется в виду следующее: делал 2д РПГ, исчерпал возможности, но рабочее окно сейчас в билдере с кучей панелей, которые в игре нужны. Мне переписывать все на этот страшный незнакомый язык с созданием в нем все по новой (панелей), или можно вписать окно блица в билдеровскую форму?
0
|
|
|
|
|
| 05.02.2013, 23:57 | |
|
0
|
|
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
||||||||
| 06.02.2013, 00:30 | ||||||||
Сообщение было отмечено как решение
Решение
3
|
||||||||
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|
| 06.02.2013, 00:37 | |
|
П.С. Blitz приводил как пример. А вообще, если в формочке какую-нибудь 3Д модельку надо покрутить, то, наверное удобнее будет пользоваться движком DXScene, он именно под Билдер заточен.
0
|
|
|
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 18
|
||||||||||||
| 06.02.2013, 17:08 | ||||||||||||
|
Добавлено через 2 часа 57 минут есть интересная штука в блице: bbSetBlitz3DHWND(), на которую надежды возлагаю, но пока не смог посмотреть - что она делает. Она почему-то в качестве родителя int запрашивает, а я не знаю как его из окна выдоить ![]() Добавлено через 1 час 6 минут Получилось, но пока криво ![]()
и теперь надо его делать недвижимым и без рамки Добавлено через 1 час 15 минут Проблемы следующие: - Окно блица живет своей жизнью: встает только посередине табшита, к углу не привязывается, - Окно его с рамкой, двигается мышкой, а должно фиксироваться - Пока блиц активен - неактивна форма на которой он висит, что делает все бессмысленным. Добавлено через 21 минуту - если окно блица неактивно, то вся работа на нем становится на паузу - это его непреодолимое свойство? Добавлено через 5 часов 44 минуты Deimon, Со звуком все просто:
0
|
||||||||||||
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|||||||
| 06.02.2013, 17:17 | |||||||
|
Вчера не мог потестить на блитц, так как на Windows 7 у меня не пашет. Проверил на XP, оказывается всё намного проще, есть специальная функция bbBeginBlitz3DEx. То есть при инициализации движка передаёшь родительский handle и дальше отрисовка в нём будет происходить.
Даже забавно получается. Например:
1
|
|||||||
|
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 18
|
|
| 07.02.2013, 15:22 | |
|
Вау! Супер, побежал пробовать
))Добавлено через 1 час 8 минут чуть моск не сломал - у меня SDK 1.02, а bbBeginBlitz3DEx добавлен похоже в 1.04 )) Надо ставить поновее. Добавлено через 15 минут Ага, теперь вопрос - а lib от какой версии был? Добавлено через 16 секунд не заводицца Добавлено через 9 минут https://www.cyberforum.ru/blog... og478.html это для XP видимо... в семерке не понимаю как сделать конвертацию Добавлено через 34 минуты Пардоньте-с, разобрался. Добавлено через 10 часов 39 минут Не смог вывести изображение. - поставил SDK 1.05 - конвертировал lib форма включается, обработка блица идет (музыку включает пр.) но на форме пусто. Предполагаю что-то не то с привязкой к форме по x-y, или несовпадение разрешения... Добавлено через 3 часа 21 минуту Заработало, только это полный залип - ни блиц ни форма не реагируют на нажатие. Как кино и все. Добавлено через 3 часа 18 минут А может это потому, что я не поток подключил, а просто cpp+h как в примере с самолетом?
0
|
|
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|||||||
| 07.02.2013, 16:54 | |||||||
|
Здесь ты входишь в цикл рендера, пока не будет нажата клавиша Esc. Поэтому или выноси в отдельный поток, или выноси рендер в таймер, или вставляй ProcessMessages
Работа движка в твоей программе должна быть организована след. образом: - инициализация движка (установить размеры окна, порядок отрисовки) - построение сцены (загрузка 3Д моделей и т.д.) - запуск рендера (его необходимо организовать так, чтобы он не блокировал основную нить)
0
|
|||||||
|
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 18
|
|
| 07.02.2013, 18:22 | |
|
угу
Добавлено через 12 минут У меня сейчас 2д программа анимирует окно по таймеру, при этом не блокируются кнопки. Здесь же даже окно подцепить и передвинуть нельзя, понимаешь? На эскейп не реагирует, который должен прерывать исполнение. Это значит, что неактивна и та форма на которую изображение идет и блицевское окно стало не окном, а его изображением и тоже неактивно. У тебя не так? Добавлено через 8 минут т.е. если блиц исполняется - он блокирует главную форму, это я вчера еще понял , но он же сам на форме не живьем, а как изображение телевизора - наслаждайся изображением, но даже прервать цикл эскейпом не можешь.Я предполагаю, что тут тоже что-то из-за того, что не трэдом запущено, но я даже не знаю - полноценно ли у тебя работает все, или тоже кто-то из двоих неактивен? Добавлено через 1 минуту Типа есть к чему стремиться?
0
|
|
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|
| 07.02.2013, 19:13 | |
|
Если встроил в форму, тогда тебе необходимо обрабатывать уже OnKeyDown формы,
то есть bbKeyDown работать не будет. Или можешь if (bbKeyDown(KEY_RIGHT)) заменить на if (GetAsyncKeyState(VK_RIGHT)), тоже работать будет. А вообще, если 3Д встраиваешь в какой-то контрол в Билдере, то лучше использовать DXScene!!!
1
|
|
|
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 18
|
|
| 08.02.2013, 12:42 | |
|
добил прогу до состояния твоего примера, т.е. подключил трэд и через него пустил. Кнопки на форме заработали. Блиц при этом как телек, проигрывающий клип, на кнопки не реагирует. Игрушку из него уже не сделаешь
![]() Добавлено через 2 минуты а DXScene такой же игровой движок как и Blitz3D или это просто 3d управляемое из Билдера? Малуда, до меня твои советы доходят после того как ответ напишу ))) Пасиб, попробую еще помучить прогу ))) все ясно, можно выжать желаемое, похоже Добавлено через 7 минут т.е. далее вся обработка клавы и мыши та же, но в билдеровской системе, что даже проще для меня)) Блиц нифига не описан толком. Сегодня уперся в тривиальную команду Delite и не нашел нигде ее описания, а методом научного тыка исчерпал варианты. В блице просто Delite sp и сфере кердык, пробовал всяко типа bbDelite sp с вариациями, скобками и пр. - фигу, не знаю говорит команды... Добавлено через 38 минут Есть, кнопки передает. Теперь с мышой разобраться и будет полное понимание дальнейшего направления работы Добавлено через 15 часов 33 минуты а и вправду, что это за язык, который с bb начинается? это не то, что в блице и не c++, где б синтаксис его посмотреть?
0
|
|
|
3 / 5 / 0
Регистрация: 09.12.2012
Сообщений: 104
|
|
| 17.02.2013, 11:12 | |
|
Я в свое время игры создавал небольшие на Blitz3D, указанные выше команды в билдере, начинающиеся на bb это команды в Blitz3D, но с приставкой bb.
0
|
|
|
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 18
|
|
| 18.02.2013, 12:36 | |
|
Да, спасибо, я уже понял примерный принцип.
BB при создании объектов, bb для команд. А команда Delete в принципе по блицевскому языку описана только в разделе 2d и применимо к типам, а я пытался просто кокнуть сферу
0
|
|
|
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 18
|
|||||||||||
| 23.02.2013, 14:06 | |||||||||||
|
Возник вопрос.
Делаю игру на основе примера от Maluda с самолетиком. Потенциально сразу закладываю возможности мультиплэя с широкими возможностями. При этом сцена по сути размеры приобретает большие, близкие к бесконечным Такие объекты как небо с различными текстурами дневными и ночными, а так же солнце, вижу только привязанными к наблюдателю и мигрирующими по карте вместе с камерой. Иначе до солнца быстро долетим и стукнемся о небесную твердь лбом. Либо размеры сцены и дальность видимости камеры делать нереально огромными. И как это дело в синглплэе будет - все понятно, но в сетевой... Если, к примеру, это авиасимулятор и игроки находятся на значительном удалении друг от друга в рамках одной карты, получается, что у каждой камеры должно быть небо и солнце, видимое только из нее и невидимое соседним игроком. Как это можно осуществить? Добавлено через 18 часов 11 минут Мысль посетила такая: делаю отдельный элемент Sky, в него все сую, что должно к камере привязаться, потом через CreatePlayer и UpdatePlayer привязывать к камере, после того, как налажу сетевую. Добавлено через 4 часа 25 минут Кривой все же язык и не документированный. Код работает в блице на ура, в билдере тупит:
Добавлено через 27 минут Тоже разобрался. bbEntityAlpha (sunnyS,0); некорректная команда. Ошибки на стыке языков проявляются неожиданным образом, не знаешь где искать )) Добавлено через 3 минуты Странно, что эта команда так глюкнула. В блице прозрачность меняется от 0 до 1, в билдере заработало только от 0.1, нулевое значение не принято. Как так, если это все один и тот же язык?
0
|
|||||||||||
|
3 / 5 / 0
Регистрация: 09.12.2012
Сообщений: 104
|
|
| 07.11.2013, 00:09 | |
|
Ахаха ... я пробывал прикрутить open gl к билдеру - толку ноль, теперь и с блитцем тоже самое ... мож кто-нибудь поделится проектом, хоть рисующим кубик, но лишь бы в таком виде, чтобы билдером можно было открыть этот проект ...
А то я уже свою 3д графику сделал ...
0
|
|
| 07.11.2013, 00:09 | |
|
Помогаю со студенческими работами здесь
60
Для работы с графикой приложение, для работы с графикой Настольный ПК для работы с графикой Компьютер для работы с графикой Конфигурация для работы с графикой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|