О translate принимает три параметра: компоненты х, у, z вектора, посредством которого осуществляется данное смещение. Например, в результате выполнения команд

scale 2 1.3 -5.33 translate 4-5 6 rotate 45 0 1 О

будут соответственно созданы следующие матрицы:

'2 0 0 0") (I 0 0 44) ( 0,707 0 0,707 0"

0 1,3 0 0 ^ 0 10-5 п 0 1 0 0

Se = , Tr = , Rot =
0 0 -5,33 0 0 0 1 6 -0,707 0 -0,707 0

оо о ij [oooij [о 0 0 1^ Каждая из этих команд умножает СТ справа на ее матрицу и помещает результат обратно в СТ.

Стек аффинных преобразований Матрица текущего преобразования СТ находится на самом верху стека матриц. Этот стек управляется с помощью слов push и pop: О push делает копию СТ и проталкивает ее в стек (после чего в нем находятся два идентичных элемента); О pop выталкивает СТ из стека и отбрасывает его. Та матрица, которая находилась в стеке сразу за верхней, становится СТ. Если же за верхним элементом нет никаких элементов, то команда pop не делает ничего.

Д1. Синтаксис SDL

1041

Управление свойствами материалов При создании каждого объекта в нем создается запись свойств его материала, именуемая текущими материалами (current materials - СМ). Эта запись состоит из следующих полей: О четыре поля цвета, каждый в форме RGB-триады: ambient, diffuse, specular, emissive; О шесть скалярных полей: specularExponent, specularFraction, surfaceRoughness, speedOfLight, transparency, reflectivity (последние пять из них используются при трассировке лучей); О три поля для описания текстурных свойств объекта: textureType определяет, какая текстура применяется к объекту, numParams - число параметров, задаваемых для объекта, а массив param[] содержит 10 значений параметров.

Изменения текущих материалов СМ осуществляются с помощью следующих ключевых слов SDL, причем за каждым из них может следовать одно или несколько чисел в формате float:

ambient <r> <g> <b>
diffuse <r> <g> <b>

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