Войти
IrrlichtФорум

IrrLicht (для новичков) - тупые вопросы (10 стр)

Страницы: 19 10 11 1236 Следующая »
#135
19:23, 6 фев 2009

не будет он медленным, если правильно написать :)
если свой класс есть - кинь мне, я допишу что надо, благо год назад писал похожую тему :)

#136
19:45, 6 фев 2009

Nup

Пока ничего нету :(

>>я допишу что надо

ну так ты, и игру за меня напишеш :)
сначало сам попробую, будут сложности обращусь :)
по поводу графики - я использую квады, и на них накладываю текстуры (вобщем как в HGE)
правилен ли подход или лудше использовать draw2DImage
просто в первом случае гибкость,хотя заморочек тоже хватает.

зы: Irrlicht использую как 2d движок.

#137
0:11, 7 фев 2009

Rip
Угу, я тоже использовал как 2D в свое время xD

All
1. Если у кого проблемы с тенями от динамических объектов (преимущественно SkinnedMesh) -- пишите, я пофиксил))
SkinnedMesh при рисовании есть проверка:

        if (RenderFromIdentity)
          driver->setTransform(video::ETS_WORLD, core::matrix4() );
        else if (Mesh->getMeshType() == EAMT_SKINNED)
          driver->setTransform(video::ETS_WORLD, AbsoluteTransformation * ((SSkinMeshBuffer*)mb)->Transformation);

Однако, при создании теней эта дополнительная матрица совершено не учитывается:
т.е. тень получатся не то что от статичного объекта, а от бесформенно ("нулевого") скопления ручек ножек вашей модельки (если повезет -- руки из плечей будут торчать)
(это я и пофиксил -- теперь матрица учитывается).

Еще была проблема с BoundingBox. Для SkinnedMesh он вообще не считался, при том что как таковой, необходимый функционал для расчета существовал.
(это я тоже пофисксил -- я молодец)


2. Итак, по-прежнему, лучше всех с анимацией дружит директХ-овский формат. Хотя конечно у меня все равно траблы с анимацией, как только я пытаюсь создать что-то более-менее серьезное. Итак, группы сглаживания не работали из-за "нормальной оптимизации" при экспорте (есть еще "сильная оптимизация"). Если всю "оптимизацию" отключить -- грузится норм. Текстуры прописывает аккуратно, ну итп. Да, с прозрачностью че-то не загрузил все таки.

Я уж молчу, про материал с динамическими параметрами. Даже коробка с меняющейся "шириной" не корректно выводится в иррлихте (здесь и далее: мб еще при экспорте пропадает инфа -- хз). Куда уж до таких прелестей, как скажем материал с меняющейся со временем прозрачностью. Да, а еще не получилось создать полоску (Loft линии) с меняющейся со временем толщиной (толщина неодинакова и по длине), точнее она создалась в 3DSMax, но наотрез отказалась выводиться в irrlicht.

Ну а еще неудобно, что когда юзаешь "клоны" (затем экспорт в любом формате, и: ) -- выводится в результате (в иррлихте) только изначальный экземпляр. Это не критично, но все же нездорово(

#138
2:48, 7 фев 2009

constructor_

>>Угу, я тоже использовал как 2D в свое время xD

скажи как ты юзал графику, квадами или draw2dImage?

#139
8:43, 7 фев 2009

Rip
draw2dImage + alphaChannel

#140
14:40, 7 фев 2009

constructor_
спасибо за пояснения, думаю, в скором времени как раз скелеткой буду заниматься - гляну что там и как с анимацией

#141
16:18, 7 фев 2009

Привет всем. Не знаю, насколько тупой вопрос задаю, но все же: как заставить свой собственный элемент унаследованый от IGUIElement обрабатывать все сообщения и при любых обстоятельствах(т.е чтобы OnEvent вызывалась всегда), а не только когда на элементе установлен фокус?
Спасибо заранее.

#142
12:49, 8 фев 2009

в обработке "глобального" ресивера просто передаешь ему сообщения, что-то типа:

MyGUIElement::OnEvent( const SEvent &  event  )
{...}
MyEventReceiver::OnEvent (const SEvent &event)
{MyElement->OnEvent(event);
...}
#143
15:09, 8 фев 2009

Nup
Да, я так и думал, но если объект моего класса не создан, то MyElement->OnEvent(event) приведет к крэшу программы...
Ну раз мне советуют только этот способ, то видно другого нету, значит нужно делать OnEvent в своем классе статическим и потом каждым элементом выбирать то, что нужно конкретно ему... но все равно спасибо.

#144
16:53, 8 фев 2009

Evilguc
1) проверку на валидность объекта не так сложно поставить:)
2) а какой другой способ нужен и зачем? что значит OnEvent статическим? (последнюю фразу я вообще не понял, можно уточнить постановку задачи?)

#145
17:04, 11 фев 2009

Может кто-нибудь сможет мне объяснить, почему 5 текстур, в общем весящие ~5Mb, натянутые на соответственно 5 шаров, отъедают ~100Mb оперативной памяти?

#146
17:32, 11 фев 2009

Evilguc
5 МБ они где весят? На диске?

Учти, что в ОЗУ, а тем более в видеопамяти текстуры занимают очень приличное место. Кто-то вообще говорил, что текстура жрет 16 байт на тексель. В любом случае не меньше 4 байт. Так что текстура скажем 1024х1024, жрущая на диске 200КБ скажем, в памяти будем занимать 4МБ -- как раз в ~20 раз больше

#147
18:29, 11 фев 2009

constructor_
Нет, я конечно понимаю все, но все же на мой взгляд это многовато... тогда другой вопрос: какие-нибудь способы для уменьшения расхода памяти, кроме динамической подгрузки/выгрузки текстур есть? просто часто объекты на экране настолько малы, что текстура в высоком разрешении там в принципе ни к чему

#148
23:05, 11 фев 2009

Большая память в видеокартах (последних лет) -- это не просто рекламный ход. Плохие текстуры сильно портят картинку, стало быть нужно много и хороших -- а для них нужна память.

Используй маленькие текстуры. А чем выгрузка/подгрузка плоха? Если ты можешь выгрузить лишние текстуры из видеопамяти -- разве это плохо?

#149
6:55, 12 фев 2009

constructor_
А как в Irrlicht выгружать текстуры? Помню, в свое время бился над этим вопросом.

Страницы: 19 10 11 1236 Следующая »
IrrlichtФорум

Тема в архиве.