forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   Exotic Engine (http://forum.boolean.name/showthread.php?t=11826)

Igor' 05.02.2010 18:57

Ответ: HxEngine
 
Вобще директор требует в движке возможность генерации лайтмепов,так что сейчас буду заниматся этим.

Igor' 06.02.2010 11:56

Ответ: HxEngine
 
Делаю лайтмаппер,теперь у Surface есть функция


Код:


struct BakeConfig
{
        int textureSizeW;
        int textureSizeH;
        int pixelsPerUnit;

        bool bakeDirectIllumination;
        bool bakeGlobalIllumination;
        bool bakeAmbientOcclusion;
};

Texture* bakeTexture( const BakeConfig& bake_cfg );

Кст в сдк который я уже выложил есть экзешник HxTest.exe,там загружена модель Sponza Atrium,можно раставлять источники света на пробел( сначало надо выбрать цвет источника 1,2,3,4 ).

BlackOut 06.02.2010 19:49

Ответ: HxEngine
 
Вложений: 2
Цитата:

Кст в сдк который я уже выложил есть экзешник HxTest.exe,там загружена модель Sponza Atrium,можно раставлять источники света на пробел( сначало надо выбрать цвет источника 1,2,3,4 ).
Кстати этого я увидить не могу

П.С. понимаю что видюха дряхлая (да и весь комп в целом) но все же, хотябы цивильную ошибку о моем говнявом железе...знаю, это сделать трудно

Система:OS M$ XP SP3; intel Celeron 2.27ГГц; 768 Мб RAM; nvidia GeForce FX 5200 (и таких динозавров, поверь еще много =) встречал хуже...)

Igor' 06.02.2010 21:33

Ответ: HxEngine
 
Цитата:

Сообщение от BlackOut (Сообщение 136340)
Кстати этого я увидить не могу

П.С. понимаю что видюха дряхлая (да и весь комп в целом) но все же, хотябы цивильную ошибку о моем говнявом железе...знаю, это сделать трудно

Система:OS M$ XP SP3; intel Celeron 2.27ГГц; 768 Мб RAM; nvidia GeForce FX 5200 (и таких динозавров, поверь еще много =) встречал хуже...)

Вай :),ну будет и Forward рендер.

Igor' 07.02.2010 00:31

Ответ: HxEngine
 
Вобщем по лайтмеперу,будет генерится для каждого сурфейса тексту сама лайтмепа(RGB),и текстура для нормал маппинга(R) с направлением пришедше света.

Пока готова генерация только лайтмепы,с запеканием Direct Illumination.

moka 07.02.2010 00:46

Ответ: HxEngine
 
Движок сам делает развёртку, и сохраняет для геометрии во второй слой UV?

Igor' 07.02.2010 01:12

Ответ: HxEngine
 
Цитата:

Сообщение от MoKa (Сообщение 136396)
Движок сам делает развёртку, и сохраняет для геометрии во второй слой UV?

Пока только в максе,потом может быть нарою алгоритм,и сделаю своё.

BlackOut 07.02.2010 01:15

Ответ: HxEngine
 
Igor' от куда знания черпаешь? и так как это будет MMORPG, какие у тебя мысли в плане сетевого движка?

Igor' 07.02.2010 01:17

Ответ: HxEngine
 
Цитата:

Сообщение от BlackOut (Сообщение 136402)
Igor' от куда знания черпаешь?

Вобще если постаратся то гугл многое может расказать :).

Цитата:

Сообщение от BlackOut (Сообщение 136402)
Igor' и так как это будет MMORPG, какие у тебя мысли в плане сетевого движка?

Ну вобще с этим я не замарачиваюсь,у нас есть серверный программист,он этим будет заниматься =)

Igor' 07.02.2010 05:32

Ответ: HxEngine
 
Вобщем лайтмепер юзается так:

Код:

if( engine->keyHit( OIS::KC_Q ) ){
                        for( int i = 0; i < ground->getNumSurface(); i++ ){
                                Surface* s = ground->getSurface(i);
                                BakeConfig config;
                                config.bakeDirectIllumination = true; // запеч направленое освещение
                                config.bakeAmbientOcclusion = false; // запеч амбиент окклюижн
                                config.bakeGlobalIllumination = false; // запеч не направленое освещение
                                config.causticPhotonMap = 0; // фотоная карта для каустики
                                config.globalPhotonMap = 0; // фотоная карта для GI
                                config.pixelsPerUnit = 16; // кол-во пикселей на метр
                                config.textureSize = 128; // изначальное разрешение текстуры
                                config.marge_range = 8; // бордюрка в 16 пикселей
                                config.marge_smooth = 0.0f; // сглаживание бордюрки
                                char name[128];
                                sprintf(name,"lightmaps\\ground_surface_%d.jpg",i);
                                strcpy(config.output_file,name); // имя файла текстуры если нужна сохранить лайтмапу в файл.
                                Texture* lm = s->bakeTexture(config);
                                s->getMaterial()->setTexture(1,lm);
                        }
                        Engine::getInstance().message("baked %d lights!",ground->getRootWorld()->getLightList().size());
                }

Есть ещё флаги bakeMask( запись маски UV в файл )\bakeUV( запись UV в файл ).

moka 07.02.2010 05:40

Ответ: HxEngine
 
Не терпится посмотреть на скрины результатов рендера лайтмап.

IGR 07.02.2010 14:25

Ответ: HxEngine
 
Цитата:

Сообщение от MoKa (Сообщение 136425)
Не терпится посмотреть на скрины результатов рендера лайтмап.

+1 !! Охота взглянуть на результат !!
Т.к. У меня то жифорс ФХ 5200 !! :)

Igor' 08.02.2010 01:06

Ответ: HxEngine
 
Цитата:

Сообщение от MoKa (Сообщение 136425)
Не терпится посмотреть на скрины результатов рендера лайтмап.

В ближайшем времени,я щас делаю оптимизацию трасировки лучей,ибо слишком тормозно работает просчёт лайтмепов из за этого...
Так же мб добавлю стримминг текстур,хотя это ещё не факт.

Кст за место Newton буду юзать Bullet,скорей всего.

moka 08.02.2010 04:04

Ответ: HxEngine
 
Bullet? Он вообще не коммерческий ведь.. Да и не потдерживается более?
Что мешает юзать PhysX?

Igor' 08.02.2010 04:24

Ответ: HxEngine
 
Цитата:

Сообщение от MoKa (Сообщение 136556)
Bullet? Он вообще не коммерческий ведь.. Да и не потдерживается более?
Что мешает юзать PhysX?

Bullet бесплатный и опенсурсный,потдерживается и ещё как,на гуглкод была размещена новая версия 20 часов назад,он держит оптимизацию на CUDA,в нем есть SoftBodies,Cloth. А физикс теперь менее доступный,да и возможно вобще скоро платный будет,и закрытый. Выводы делай сам =)

Сегодня сделал оптимизацию геометрии под кеш,вроде буст заметный.


Часовой пояс GMT +4, время: 04:48.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot