![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
[GLScene] Кто нибудь использовал Octree для больших карт ?
Octree © (2005-03-26 02:45:00)Состоящих из большого количества 3ds-файлов. Чтобы грузить только те файлы, которые рядом с героем, и удалять из сцены дальние.
Может у кого есть пример, как это делается ?
Домовенок (2005-03-27 14:29:00) [1]Большое человеческое спасибо! Попробую разобраться :)
DeadMeat (2005-03-27 03:41:00) [2]А в принципе вот и он:
http://glygrik2.hotbox.ru/Download/Occlusion.zip
http://glygrik2.hotbox.ru/Download/GLUT32.ZIP
Это библиотека.. На случай если нету.
---
...Death Is Only The Begining...
Домовенок (2005-03-26 23:46:00) [3]> DeadMeat (26.03.05 19:23) [6]
> Извини.. Ты просто все время попадал, когда за компом
не я сижу..
Да ничего страшного, бывает... ;)
> У меня есть тольк один пример (впрочем больше я и не искал)
по использованию расширений...
А где его можно утянуть или посмотреть? Буду очень благодарен :) У меня сейчас вопрос максимальной оптимизации :)
DeadMeat (2005-03-26 19:23:00) [4]Вот блин..
Вот я дурак..
Извини.. Ты просто все время попадал, когда за компом не я сижу..
А отвечать забывал.. Извини.. Аж не ловко както.
Вообще я не знаю.
У меня есть тольк один пример (впрочем больше я и не искал) по использованию расширений GL_NV_occlusion_query и GL_HP_occlusion_test.
Я этим вопросом пока плотно не занимался...
---
...Death Is Only The Begining...
Домовенок (2005-03-26 16:13:00) [5]> DeadMeat (26.03.05 15:16) [4]
А вот кстати... Где можно почитать или посмотреть на Occlusion Culling? :)
DeadMeat (2005-03-26 15:16:00) [6]К этой демке добавить еще Occlusion Culling и будет вообще супер...
---
...Death Is Only The Begining...
Домовенок (2005-03-26 15:00:00) [7]> Octree (26.03.05 04:45) [2]
>Однако авторов Вайс Сити твой довод не убедил. Можеш им
> посоветовать другое решение ?
А почему ты решил, что они удаляют модели полностью и подгружают их потом вновь с нуля?
В той демке, на которую я тебе привел условную ссылку, спрайты ведь совсем не удаляются, хоть их и не видно, и не создаются вновь, когда попадают в кадр. Если пошевелить код этой демки то можно добиться такого же эффекта как в GTA.
> Да смотрел я. Только не понял. Ты можешь объяснить её ?
А что не понял? Приводится два примера "обрезания" тех объектов, которые не попадают в кадр, к тому же можно сравнить производительность обоих методов. Есть стандартное свойство VisiblyCulling которое можно выставлять как к любой кубышке (DummyCube), так и ко всей сцене (GLScene). А есть немного другой метод. Если на простом языке, то когда создаются объекты в сцене, то они заносятся в отдельный список. И делаются все невидимыми. Потом во время рендера проверяется, попадают ли они в кадр (SceneViewer) или нет. Если попадают то рендерятся. Если нет, то так и остаются скрытными.
> И тормозная она.
Ну это наверное уже зависит от производительности твоего компьютера. В этой демке создается ~6500 спрайтов.
Octree (2005-03-26 04:45:00) [8]
> Домовенок (26.03.05 03:21) [1]
> Подгружать и удалять из сцены модели во время игры не есть
> хороший способ оптимизации.
Однако авторов Вайс Сити твой довод не убедил. Можеш им посоветовать другое решение ?
> Смотри демку прилагающеюся к GLScene в ...GLScene\Demos\rendering\quadtreevisculling
> -
Да смотрел я. Только не понял. Ты можешь объяснить её ?
И тормозная она.
Домовенок (2005-03-26 03:21:00) [9]Подгружать и удалять из сцены модели во время игры не есть хороший способ оптимизации. Дело в том, что на подгрузку даже небольшой модели нужно некоторое время. Если ты будешь подгружать, к примеру, раз в 10-20 секунд модель с 10-50 полигонами, то это еще будет терпимо, но если, к примеру, игрок будет перемешаться быстро, то тут ты столкнешься с неимоверными тормозами.
Смотри демку прилагающеюся к GLScene в ...GLScene\Demos\rendering\quadtreevisculling - там два варианта наиболее верного отсечения тех объектов, которые не попадают в кадр.