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

Вниз

GLScene: техника массовых сцен   Найти похожие ветки 

 
miek ©   (2004-08-24 22:39) [0]

Если мне в сцене нужно показать 10000 одинаковых, скажем, орков (в кадре не более 100), то было бы нерационально создавать и держать в памяти 10000 экземпляров FreeForm. Хотелось бы создать 10000 ссылок на один объект, хранящий mesh. Это делается с помощью Proxy? MultiProxy? Или как?


 
DeadMeat ©   (2004-08-24 23:33) [1]

Proxy для этого и создан...
MultiProxy сделан для использования LOD в сцене... Там надо задавать расстояние (вот только не помню от чего), при котором он выбирает какой из мешей показывать... Есть демка на эту тему... Там куча шаров рисуется и с расстоянием меняется их "плотность" (количество полигонов в каждом).
Но у этого есть один серьезный недостаток - кадры анимации у всех будут одинаковыми. Т.е. если один орк пошевелил рукой, то и другие тоже будут...
Как вариант можно создать 10000 FreeFrom, но выводить только нужные (IsVolumeClipped)... Хотя конечно работать будет не очень... Я как то делал около 3 тыс. спрайтов, и на разных машинах (мощных) результат был разный - либо вся винда уходила в перезагрузку (видимо BSOD выскакивал) либо запускалась прога минут 5-пять...

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


 
DeadMeat ©   (2004-08-24 23:34) [2]

Можно ещё так (правда не проверял). Насоздавать кучу проксей, а перед рендерингом каждой менять кадр на нужный для этой прокси... Хз, может сработает...

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


 
miek ©   (2004-08-25 19:09) [3]

То есть, если я создаю объекты через прокси, то это гарантирует, что они ссылаются на мастера, а не копируют его?


 
DeadMeat ©   (2004-08-25 20:27) [4]

Вроде так и есть... Попробуй демку замутить.
Создай один FreeForm с грибом, из ..\media\. Потом насоздавай 1000 FreeForm-ов, и сделай их одинаково похожим на первый... Замерь время создания и фпс.
Затем сделай тоже самое, но с ProxyObject... Увидишь разницу...

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



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
3-1098863725
Alena
2004-10-27 11:55
2004.11.21
DBEdit не post-иться поле


1-1099657876
msguns
2004-11-05 15:31
2004.11.21
"Параметр задан неверно"


1-1100015551
Dema-X
2004-11-09 18:52
2004.11.21
}{афман и его адаптивный метод кодирования


1-1099664180
Cosinus
2004-11-05 17:16
2004.11.21
Runtime create PoupMemu Items... Не разберусь с OnDrawItem...


1-1100084188
Артем К.
2004-11-10 13:56
2004.11.21
Баг в Меню?