A-tit indd



Download 3,35 Mb.
Pdf ko'rish
bet34/313
Sana05.06.2022
Hajmi3,35 Mb.
#638392
1   ...   30   31   32   33   34   35   36   37   ...   313
Bog'liq
Nistrem R. Patterni programmirovaniya igr-1

 Лес для деревьев
Я могу описать обширную лесистую местность всего не-
сколькими предложениями, но ее 
реализация
в настоящей 
игре — совсем другая история. Когда у вас есть целый лес 
уникальных деревьев, заполняющих весь экран, все, что 
видит графический разработчик, — это миллионы поли-
гонов, которые ему придется каким-то образом обрабаты-
вать на графическом процессоре шестьдесят раз в секунду.
Речь идет о тысячах деревьев! Каждое содержит детали-
зированную геометрию и насчитывает тысячи полигонов. 
Глава 3


48
Приспособленец (Flyweight) — 
Паттерны программирования игр
Даже если у вас достаточно 
памяти
для описания всего 
леса, чтобы визуализировать его, данные нужно передать 
по шине от центрального процессора к графическому.
Каждое дерево содержит целую кучу бит, описываю-
щих его:
• полигональная сетка (меш), которая определяют 
форму ствола, ветвей и зелени;
• текстуры коры и листьев;
• позиция дерева в лесу и его ориентация в простран-
стве;
• индивидуальные параметры, такие как размер 
и оттенок, чтобы каждое дерево чем-то отличалось 
от остальных.
Если попробовать кратко описать это в коде, полу-
чится нечто подобное:
class Tree
{
private:
Mesh mesh_;
Texture bark_;
Texture leaves_;
Vector position_;
double height_;
double thickness_;
Color barkTint_;
Color leafTint_;
};
Это достаточно большой объем данных, а меш и тек-
стуры занимают особенно много места. Целый лес объ-
ектов — это слишком много, чтобы отправлять графиче-
скому процессору за один кадр. К счастью, для решения 
проблемы есть небольшой трюк, проверенный време-
нем.
Его ключевая особенность такова: хотя лес может 
состоять из тысячи деревьев, они в основном выгля-
дят похоже. Скорее всего, они будут использовать один 
Нужно быть сумасшед-
шим или миллиардером, 
чтобы оплатить худож-
никам уникальные мо-
дели для каждого де-
рева во всем лесу.



Download 3,35 Mb.

Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   ...   313




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish