Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1099584984
uses-mind.dll
2004-11-04 19:16
2004.11.21
уничтожение динамически созданных объектов


6-1095054706
Alexis
2004-09-13 09:51
2004.11.21
отсутствуют ф-ции WSACreateEvent, WSAEventSelect в Winsock.pas


14-1099894188
тихий вовочка
2004-11-08 09:09
2004.11.21
как же нам не стыдно


14-1099658179
ОлегЪ
2004-11-05 15:36
2004.11.21
Сайт


1-1099653712
Алеся
2004-11-05 14:21
2004.11.21
Ввод из текстового файла через Pchar




   Наверх