Текущий архив: 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.47 MB
Время: 0.073 c