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"
А. В. Боресков. Гиафика трехмерной компьютерной игры