Game Programming Patterns / Паттерны программирования в играх: 5.2 Dirty Flag
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Цель RS8 30.04.14 в 17:52 |
|
|
Избегать работы до тех пор, пока ее результат не потребуется. RS8 30.04.14 в 17:53 |
||
|
Мотивация RS8 30.04.14 в 17:53 |
||
|
"Флаг" и "бит" синонимы в программировании: они оба означают микрон данных, который может быть в одном из двух состояний. RS8 30.04.14 в 17:55 |
||
|
Мы называем их "правда (true)" и "ложь (false)", или, иногда, "установить (set)" и "очистить (cleared)". Я буду использовать их по очереди. RS8 30.04.14 в 17:58 |
||
|
"Грязный бит" - это эквивалентное название для данного паттерна, но я решил использовать название, которое не выглядит пошлым. RS8 30.04.14 в 18:00 |
||
|
Модераторы Википедии не имеют моего самоконтроля и поэтому используют название грязный бит. RS8 30.04.14 в 18:01 |
||
|
Расположение судна в море RS8 30.04.14 в 18:02 |
||
|
Многие игры имеют что-то, называемое граф сцен. RS8 30.04.14 в 18:02 |
||
|
Это большая структура данных, которая содержит в себе все объекты мира. RS8 30.04.14 в 18:03 |
||
|
Графический движок использует ее для определения, где на экране необходимо отрисовать предметы. RS8 30.04.14 в 18:04 |
||
|
В самом простом случае граф сцен - это просто плоский список объектов. RS8 30.04.14 в 18:05 |
||
|
Каждый объект имеет модель или другой графический приметив, а так же трансформацию. RS8 30.04.14 в 18:06 |
||
|
Трансформация описывает положение объекта, поворот и масштаб в мире. RS8 30.04.14 в 18:07 |
||
|
Перемещая или поворачивая объект мы просто изменяем его трансформацию. RS8 30.04.14 в 18:07 |
||
|
Механизм хранения трансформации и взаимодействия с ней к сожалению не попал в рамки данной книги. RS8 30.04.14 в 18:09 |
||
|
Очень коротко и обобщенно: это матрица 4 на 4. RS8 30.04.14 в 18:10 |
||
|
Вы можете сделать одну трансформацию, которая включает в себя две трансформации - например, преобразовать и повернуть объект - умножив две матрицы. RS8 30.04.14 в 18:11 |
||
|
Как и почему это работает останется в качестве упражнения для читателя. RS8 30.04.14 в 18:13 |
||
|
Когда отрисовщик отрисовывает объект, он берет объектную модель, применяет к ней трансформацию и затем отрисовывает ее в мире. RS8 30.04.14 в 18:14 |
||
|
К примеру, представьте, что в нашем игровом мире существует пиратский корабль, находящийся в море. Qeruim 01.05.14 в 11:10 |
||
|
На вершине мачты корабля воронье гнездо. Qeruim 01.05.14 в 11:12 |
||
