В этом примере разБерем как добавить для объектов отражение, поглащение света и прозрачность.
Используем стандартное начало.
#include "colors.inc"
#include "textures.inc"
camera {
location <-11, 8,0>
look_at <-2, 4, 4>
}
light_source { <-3, 8,4> White}
Нарисуем небольшую комнату. Состоящую из пола и 3 стен с ипользованием plane
plane { z, 30 // Дальняя стена
pigment { brick } // Параметр-brick создает рисунок кирпичной стены.
}
plane { x, 15 // Правая стена
pigment { brick }
}
plane { x,-25 // Левая стена
pigment { brick }
}
plane{ y,-10 // Пол
pigment { checker White,Blue scale 3 }
}
Получаем следующую сцену.
Нарисуем столик, состоящий из 5 параллелепипедов.
box { <0, 0, 0>, < 10, 1, 16> // столешниа
pigment { wood } // wood - рисунок дерева.
}
box { <9, -10, 0>, < 10, 0, 1>
pigment { wood }
}
box { <0, -10, 0>, < 1, 0, 1>
pigment { wood }
}
box { <0, -10, 15>, < 1, 0, 16>
pigment { wood }
}
box { < 9, -10, 15>, <10, 0, 16>
pigment { wood }
}
Поставим на стол белый зеркальный шар
sphere { <4,2,7>, 1
texture { pigment { color White }
finish { // Новая команда. Ее назначение - определение физических свойств объекта.
reflection 1 // reflection -отражение света.Значение
} // равное 1 - максимальное, ну а 0 - минимальное.
}
}
Добавим полупрозрачный цилиндр отражающий свет
cylinder {
<4, 1, 3>,
<4, 3, 3 >,
0.5
texture { pigment
{ color Green filter 0.8}
// filter - определяет прозрачность. Количество
// пропускаемого света 1- максимально
//(предмет полностью прозрачен)
// 0 - минимально.
finish {
diffuse 1 //Новая команда. diffuse-количество рассеянного
// света 1 - максимальное, 0 - минимальное.
} //Завершение описания физических свойств.
} //Завершение описания свойств texture.
}
Получаем в итоге следующую сцену
Полный листинг скрипта урока 3.
#include "colors.inc"
#include "textures.inc"
camera {
location <-11, 8,0>
look_at <-2, 4, 4>
}
light_source { <-3, 8,4> White}
plane { z, 30
pigment { brick }
}
plane { x, 15
pigment { brick }
}
plane { x,-25
pigment { brick }
}
plane{ y,-10
pigment { checker White,Blue scale 3 }
}
box { <0, 0, 0>, < 10, 1, 16>
pigment { wood }
}
box { <9, -10, 0>, < 10, 0, 1>
pigment { wood }
}
box { <0, -10, 0>, < 1, 0, 1>
pigment { wood }
}
box { <0, -10, 15>, < 1, 0, 16>
pigment { wood }
}
box { < 9, -10, 15>, <10, 0, 16>
pigment { wood }
}
sphere { <4,2,7>, 1
texture { pigment { color White }
finish {
reflection 1
}
}
}
cylinder { <4, 1, 3>,
<4, 3, 3 >,
0.5
texture { pigment
{ color Green filter 0.8}
finish {
diffuse 1
}
}
}