Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.11;
Скачать: CL | DM;

Вниз

[GLScene] Кто нибудь использовал Octree для больших карт ?   Найти похожие ветки 

 
Octree   (2005-03-26 02:45) [0]

Состоящих из большого количества 3ds-файлов. Чтобы грузить только те файлы, которые рядом с героем, и удалять из сцены дальние.
Может у кого есть пример, как это делается ?


 
Домовенок   (2005-03-26 03:21) [1]

Подгружать и удалять из сцены модели во время игры не есть хороший способ оптимизации. Дело в том, что на подгрузку даже небольшой модели нужно некоторое время. Если ты будешь подгружать, к примеру, раз в 10-20 секунд модель с 10-50 полигонами, то это еще будет терпимо, но если, к примеру, игрок будет перемешаться быстро, то тут ты столкнешься с неимоверными тормозами.

Смотри демку прилагающеюся к GLScene в ...GLScene\Demos\rendering\quadtreevisculling - там два варианта наиболее верного отсечения тех объектов, которые не попадают в кадр.


 
Octree   (2005-03-26 04:45) [2]


> Домовенок   (26.03.05 03:21) [1]
> Подгружать и удалять из сцены модели во время игры не есть
> хороший способ оптимизации.

Однако авторов Вайс Сити твой довод не убедил. Можеш им посоветовать другое решение ?


> Смотри демку прилагающеюся к GLScene в ...GLScene\Demos\rendering\quadtreevisculling
> -

Да смотрел я. Только не понял. Ты можешь объяснить её ?
И тормозная она.


 
Домовенок   (2005-03-26 15:00) [3]

> Octree (26.03.05 04:45) [2]
>Однако авторов Вайс Сити твой довод не убедил. Можеш им
> посоветовать другое решение ?


А почему ты решил, что они удаляют модели полностью и подгружают их потом вновь с нуля?

В той демке, на которую я тебе привел условную ссылку, спрайты ведь совсем не удаляются, хоть их и не видно, и не создаются вновь, когда попадают в кадр. Если пошевелить код этой демки то можно добиться такого же эффекта как в GTA.

> Да смотрел я. Только не понял. Ты можешь объяснить её ?

А что не понял? Приводится два примера "обрезания" тех объектов, которые не попадают в кадр, к тому же можно сравнить производительность обоих методов. Есть стандартное свойство VisiblyCulling которое можно выставлять как к любой кубышке (DummyCube), так и ко всей сцене (GLScene). А есть немного другой метод. Если на простом языке, то когда создаются объекты в сцене, то они заносятся в отдельный список. И делаются все невидимыми. Потом во время рендера проверяется, попадают ли они в кадр (SceneViewer) или нет. Если попадают то рендерятся. Если нет, то так и остаются скрытными.

> И тормозная она.

Ну это наверное уже зависит от производительности твоего компьютера. В этой демке создается ~6500 спрайтов.


 
DeadMeat ©   (2005-03-26 15:16) [4]

К этой демке добавить еще Occlusion Culling и будет вообще супер...

---
...Death Is Only The Begining...


 
Домовенок   (2005-03-26 16:13) [5]

> DeadMeat (26.03.05 15:16) [4]

А вот кстати... Где можно почитать или посмотреть на  Occlusion Culling? :)


 
DeadMeat ©   (2005-03-26 19:23) [6]

Вот блин..
Вот я дурак..
Извини.. Ты просто все время попадал, когда за компом не я сижу..
А отвечать забывал.. Извини.. Аж не ловко както.

Вообще я не знаю.
У меня есть тольк один пример (впрочем больше я и не искал) по использованию расширений GL_NV_occlusion_query и GL_HP_occlusion_test.
Я этим вопросом пока плотно не занимался...

---
...Death Is Only The Begining...


 
Домовенок   (2005-03-26 23:46) [7]

> DeadMeat (26.03.05 19:23) [6]

> Извини.. Ты просто все время попадал, когда за компом
не я сижу..


Да ничего страшного, бывает... ;)

> У меня есть тольк один пример (впрочем больше я и не искал)
по использованию расширений...


А где его можно утянуть или посмотреть? Буду очень благодарен :) У меня сейчас вопрос максимальной оптимизации :)


 
DeadMeat ©   (2005-03-27 03:41) [8]

А в принципе вот и он:
http://glygrik2.hotbox.ru/Download/Occlusion.zip
http://glygrik2.hotbox.ru/Download/GLUT32.ZIP
Это библиотека.. На случай если нету.

---
...Death Is Only The Begining...


 
Домовенок   (2005-03-27 14:29) [9]

Большое человеческое спасибо! Попробую разобраться :)



Страницы: 1 вся ветка

Текущий архив: 2005.07.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.091 c
10-1095085130
k_il
2004-09-13 18:18
2005.07.11
Версии интерфейсов


3-1117211527
MadAngel
2005-05-27 20:32
2005.07.11
Фильтраци по дате


1-1118746336
Define
2005-06-14 14:52
2005.07.11
Можно ли программно сделать DragDrop объекта


14-1118226776
YurikGL
2005-06-08 14:32
2005.07.11
USB-разъем под обжимку. Как обжать?


14-1118050027
diwww
2005-06-06 13:27
2005.07.11
отследить, куда пишутся временные файлы