Главная страница
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.47 MB
Время: 0.053 c
1-1099910426
Змей
2004-11-08 13:40
2004.11.21
Манифест


1-1099464207
Дима
2004-11-03 09:43
2004.11.21
Excel сохранение


8-1092507702
k-sergey
2004-08-14 22:21
2004.11.21
Как поменять шрифт Hint-ов?


14-1099641414
kein
2004-11-05 10:56
2004.11.21
Как поменять загрузчик


4-1097580318
Lera
2004-10-12 15:25
2004.11.21
Обмен между приложениями.