vertex (5 0 5)
vertex (3 0 5)
vertex (3 2 5)
}
polygon rightl {
texture "..\Textures\Oakqrtrt.jpg"
mapping (0 0 -1.390625) 0 (0 -1 0) 0
vertex (5 2 -3)
vertex (5 2 -5)
vertex (5 0 -5)
vertex (5 0 -3)
}

Пишем портальныйрендерер (часть I)

portal right2 {
connect name00_l
vertex (5 2-1), (0,0) vertex (5 2-3), (0,0) vertex (5 0-3), (0,0) vertex (5 0-1), (0,0)
}
}

Как видно, это текстовый файл (следовательно, он может быть создан и изменен в любом текстовом редакторе), имеющий построчную структуру- каждая команда занимает одну строку, пустые строки и пробелы игнорируются. Текст, следующий за символами '#" и ДО конца строки считается комментарием и также игнорируется.

Команда camera задает начальное положение камеры в пространстве и ее ориентацию (при помощи углов Эйлера). В начале идут координаты положения игрока (трехмерный вектор - (х, у, z), далее идут 3 утла Эйлера (yaw, pitch, roll), задающие ориентацию:

camera position ( х, у, z ) angles ( yaw, pitch, roll )

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

Описания комнат следуют одно за другим, вложенность комнат друг в друга не допускается.

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

Грань описывается при помощи команд texture, color и vertex.

Команда color задает цвет грани в формате RGB А, каждая компонента цвета принимает значение от 0 до 1. Команда имеет вид

color (г, д, Ь, alpha)

Команда texture служит для задания текстуры грани и закона соответствия текстурных координат вершинам грани. Она имеет вид

texture "texture-name"

А. В. Боресков. Гиафика трехмерной компьютерной игры


⇐ Предыдущая| |Следующая ⇒