A-tit indd


Паттерны программирования игр



Download 3,35 Mb.
Pdf ko'rish
bet107/313
Sana05.06.2022
Hajmi3,35 Mb.
#638392
1   ...   103   104   105   106   107   108   109   110   ...   313
Bog'liq
Nistrem R. Patterni programmirovaniya igr-1

Паттерны программирования игр
— Паттерны очередности
145
Невероятными умственными усилиями мы находим 
решение: мы сделаем 
две
сцены, и зрители смогут их ви-
деть одновременно. Но у каждой сцены будет отдельное 
освещение. Назовем их сцена А и сцена В. Первое дей-
ствие происходит на сцене А. В это время свет на сцене В 
выключен и работники подготавливают ее. Когда пер-
вое действие завершается, мы выключаем свет на сце-
не А и включаем на сцене В. Зрители смотрят туда —
и второе действие начинается без задержки.
В это самое время наши работники перемещают-
ся на сцену А, убирают старые декорации и готовят ее 
к 
третьему 
действию. Как только заканчивает второе 
действие, мы снова включаем свет на сцене А. И продол-
жаем подготавливать ту сцену, где выключен свет, для 
следующего действия, вплоть до окончания постановки. 
При смене действий мы просто переключаем свет с од-
ной сцены на другую. А зрители могут видеть целост-
ную постановку без временных разрывов. И они не ви-
дят происходящего за кулисами.
Вернемся к графике
Точно так же работает двойная буферизация, и этот про-
цесс лежит в основе любой системы рендеринга почти 
каждой игры, с которой вам приходилось сталкиваться. 
Вместо одного кадрового буфера по факту используется 
два
. Один из них представляет текущий кадр, сцену А из 
нашего примера — буфер, откуда видеодрайвер произво-
дит считывание. Графический процессор может произво-
дить из него считывание сколько угодно и когда угодно.
В то же время наш код, ответственный за рендеринг, 
заполняет 
второй
буфер. Это наша сцена В без света. 
Когда код заканчивает свою работу, он переключает 
свет, 
меняя
буферы местами. Таким образом мы сооб-
щаем видеодрайверу: пора считывать из другого буфера. 
До тех пор пока смена буферов происходит в последний 
момент обновления, мы не столкнемся с эффектом раз-
рыва, так как все изображение появится сразу.
С помощью полупро-
зрачного зеркала при 
правильном расположе-
нии сцен мы можем до-
биться того, что зрите-
лям будет казаться, 
будто две сцены нахо-
дятся в одном 
месте

Как только свет пере-
ключится, они увидят 
другую сцену, но им 
даже не придется куда-
либо переводить взгляд. 
Реализацию идеи 
оставлю читателям в ка-
честве дополнительного 
задания.
Хотя не 
все
игры и кон-
соли работают именно 
так. Более старые вер-
сии, память которых 
ограничена, тщательно 
синхронизируют про-
цессы записи и чтения. 
Не самая простая задача.



Download 3,35 Mb.

Do'stlaringiz bilan baham:
1   ...   103   104   105   106   107   108   109   110   ...   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