Хонич А.
Как самому создать трехмерную игру
стр. 64

правый нижний угол, предварительно запомнив под ним информацию Перед выходом из функции rcadlump осуществляется вызов функции ClearDisk. которая после вышеупомянутой проверки переменной VgaSet производит восстановление информации, на которую накладывался диск. Тут следует отметить, что все операции по выводу данного значка должны быть очень быстрыми, чтобы не тормозить обмен с винчестером, по возможности без циклов и без использования стандартных универсальных функций вывода графики. Вместо изображения диска можно использовать все, что угодно, например, песочные часы. И необязательно в углу экрана; можно и в середине. В данном случае все зависит только от вашего воображения.

А теперь несколько слов посвятим работе с многостраничным режимом VGA. Зачем нужен многостраничный режим? Почему не пользоваться одной страницей? Ведь это намного проще. А все дело в том, что запись в видеопамять осуществляется в десятки раз медленнее, чем в обычную память. В результате при выводе картинки на экран видна прорисовка. Особенно это заметно, когда предыдущая картинка сильно отличается от теку щей, выводимой. При этом наблюдается эффект как бы расслоения экрана. Все сказанное характерно прежде всего для медленных видеоадаптеров (Тrident, Realtek и др.), но бывает и на быстрых акселераторах. И в данном случае это никак от программиста не зависит, не зависит от того, насколько оптимальный алгоритм вывода он использу ет (чаще всего используется команда: rep movsd). Это все аппаратные издержки. Чтобы такого не произошло, используется многостраничный режим, который в двух словах можно охарактеризовать так: изображение сначала выводится в невидимую часть экрана, а после того, как формирование изображения закончено, производится переключение страницы, и невидимое становится видимым. Затем цикл повторяется сначала, т.е. изображение готовится в противоположной странице и затем сиова - переключение страницы. Переключение страницы происходит настолько быстро (ведь это обычная запись в порт), что глаз ие в состоянии это заметить, и вы никогда не увидите перерисовки на экране, каким бы медленным ни был ваш компьютер. Функция FlipPage, осуществляющая переключение активной страницы, выглядит так:

Переменная AdVga (если вы помните, мы ее установили в функции InitGraph) всегда указывает на адрес следующей невидимой страницы. Мы сказали: следу ющей, т.к. всего этих страниц - 3, и необходимо три раза пройти



Новости
В 2018 году выйдет игра о затонувшей подлодке «Курск»
Польская студия Jujubee после двух лет работы над компьютерной игрой о гибели подводной лодки «Курск», затонувшей в 2000 году, объявила, что завершит проект в 2018 году.
Подтвердились слухи о разработке Resident Evil 2 Remake
Сотрудники компании Capcom тоже активно подливали масла в огонь, заявляя о том, что ремастеринг уже находится в разработке и скоро увидит свет.