Главная страница
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.027 c
14-1099375468
YurikGL
2004-11-02 09:04
2004.11.21
Измерение пропускной способности сети.


14-1099564515
Ozone
2004-11-04 13:35
2004.11.21
Учимся писать документацию


3-1098877132
FenixGold
2004-10-27 15:38
2004.11.21
работа с таблицами


3-1098438800
*Pavel
2004-10-22 13:53
2004.11.21
Какой из MSSQL серверов выбрать ?


9-1090683899
cyborg
2004-07-24 19:44
2004.11.21
Быстрые функции