Готовый перевод Game Programming Patterns / Паттерны программирования в играх: 5.2 Dirty Flag

Цель

Избегать работы до тех пор, пока ее результат не потребуется.

Мотивация

"Флаг" и "бит" синонимы в программировании: они оба означают микрон данных, который может быть в одном из двух состояний.

Мы называем их "правда (true)" и "ложь (false)", или, иногда, "установить (set)" и "очистить (cleared)". Я буду использовать их по очереди.

"Грязный бит" - это эквивалентное название для данного паттерна, но я решил использовать название, которое не выглядит пошлым.

Модераторы Википедии не имеют моего самоконтроля и поэтому используют название грязный бит.

Расположение судна в море

Многие игры имеют что-то, называемое граф сцен.

Это большая структура данных, которая содержит в себе все объекты мира.

Графический движок использует ее для определения, где на экране необходимо отрисовать предметы.

В самом простом случае граф сцен - это просто плоский список объектов.

Каждый объект имеет модель или другой графический приметив, а так же трансформацию.

Трансформация описывает положение объекта, поворот и масштаб в мире.

Перемещая или поворачивая объект мы просто изменяем его трансформацию.

Механизм хранения трансформации и взаимодействия с ней к сожалению не попал в рамки данной книги.

Очень коротко и обобщенно: это матрица 4 на 4.

Вы можете сделать одну трансформацию, которая включает в себя две трансформации - например, преобразовать и повернуть объект - умножив две матрицы.

Как и почему это работает останется в качестве упражнения для читателя.

Когда отрисовщик отрисовывает объект, он берет объектную модель, применяет к ней трансформацию и затем отрисовывает ее в мире.

К примеру, представьте, что в нашем игровом мире существует пиратский корабль, находящийся в море.

На вершине мачты корабля воронье гнездо.

Переведено на Нотабеноиде
http://notabenoid.org/book/51192/215231

Переводчики: RS8, Qeruim

Настройки

Готово:

6.28% КП = 1.0

Непереведённые фрагменты будут пропущены.