1.Покраска и отделка объектов


Стремление к реализму требует серьезной работы с материалами. Напомним, что объекты в POV Ray имеют невидимый каркас. Видимость возникает только после нанесения материала или текстуры на поверхность каркаса. За покраску и отделку отвечает структура

texture {
    pigment {MyPigment}
    normal {MyNormal}
    finish {MyFinish}
        scale Matshad
        rotate Ugol
        translate Distance
}
Блок pigment является обязательным и отвечает за покраску. Остальные - за отделку. Блок normal позволяет вносить видимость деформации (начиная от мелкомасштабной) формы объекта на стадии рендеринга. Блок finish управляет пространственными характеристиками отраженного света. Необходимо понимать, что процедура обсчета отраженных лучей чрезвычайно трудоемка. Оттого параметры блоков используют те или иные способы снижения трудоемкости. В структуре могут использоваться стандартные модификаторы scale, rotate, translate.

2. Pigment


Цветовой рисунок объекта задается блоком pigment. Естественно, самая простая покраска - это одноцветная. Вот пример texture {pigment { color Red }}
Следующий этап - использование набора цветов. Для размещения цветов необходим трафарет или узор. Узор может быть детерминированным или хаотичным. Или быть их смесью. Имеются детерминированные узоры: brick, checker, gradient, hexagon, boxed, cylindrical, cells, onion, planar, quilted, radial, spiral1, spiral2, wood, tiling. Узор, как правило, имеет набор параметров. Очень часто используются параметры frequency(частота), turbulence(хаотичность). Работают и стандартные модификаторы. Вот пример
pigment {
      gradient x       //идентификатор
      color_map {      // список членов с указанием диапозона
        [0.1  color Red]
        [0.3  color Yellow]
        [0.5  color Blue]
        [0.6  color Green]
        [0.8  color Cyan]
      }}
Структура содержит идентификатор узора и список цветов, формирующих покраску. Набор цветов в зависимости от идентификатора распределяется по поверхности по разным правилам. В случае gradient наблюдается плавный переход одного цвета в другой при достижении границ диапазонов. Внешне это выглядит как набор параллельных цветовых полосок.
А вот доступные хаотичные узоры:
Agate(агат), bozo(пятнистый), bumps(вмятина), crackle(трещиноватость), dents(вмятина), facets(ограненность), granite(гранит), marble(мрамор), ripples(рябь), waves(волны), wrinkles (морщина). Перевод, естественно, условный и дает лишь намек на структуру. По прежнему действуют общие и специфические модификаторы. К этой же категории можно отнести псевдохаотические узоры на основе фракталов. Это mandel, julia, magnet . Кроме того, можно самостоятельно создавать узоры на основе тех или иных математических функций. Наконец для покраски может использоваться обычный рисунок в формате Jpeg, Png и др..
Впрочем необязательно заниматься конструированием собственных покрасок. В POV-Ray имеются встроенные готовые пигменты и текстуры. Следует отметить, что текстура отличается от пигмента наличием блоков normal и finish. Вот пример.
Название пигмента нанесено непосредственно на сферы. Встроенные пигменты могут использоваться для создания новых пигментов. Например допустима структура:
pigment {
      gradient x     //идентификатор структуры
      pigment_map {  // список членов с указанием диапазона
        [0.1 wood scale 0.2]
        [0.3 Jade]
        [0.6 Jade]
        [0.9 marble turbulence 1]
      }}

3. Normal


Реальные предметы редко бывают гладкими. С помощью normal поверхности можно придать негладкую форму. И здесь проходит схема, используемая при покраске объектов. Только цветовая структура узора пересчитываются в изменение формы объекта. По этой причине структура блока normal очень похожа на структуру блока pigment. Чтобы придать поверхности неровный вид достаточно в текстуре объекта вставить
normal { bumps}.. Узор можно усложнить , как показано ниже
normal {
      gradient x     // идентификатор узора
      normal_map {
        [ 0.0 bumps 1 scale .1]
        [ 0.5 dents 1 scale .1]
        [ 1.0 ripples 1 scale .2]
      }    }
Следует ожидать, что поверхность объекта будет покрыта полосками с разной структурой вмятин.

4.Finish


По умолчанию точки объекта отражают свет равномерно по всем направлениям. Это не отвечает реалиям. Металлические предметы и ткань по разному выглядят при солнечном и при рассеянном освещении. В физике отражающие характеристики поверхности определяются индикатрисой рассеяния света. Она определяет отражающие характеристики поверхности в зависимости от угла падения и спектрального состава света. Чтобы не вникать в тонкости отражения, придуманы некоторые интегральные характеристики отражения. Это параметры ambient, diffuse, reflection с соответствующими числовыми параметрами. Ambient - определяет долю рассеянного света, приходящегося от других объектов сцены. Diffuse - определяет долю света, приходящейся на диффузное, равномерное рассеяние света. . Reflection определяет долю света, приходящуюся на зеркальную составляющую. Но это относительно грубые настройки. Более тонкая настройка выполняется с помощью так называемых Highlights или бликов. Наиболее известный прием - так называемое затенение по phong. А вот пример:
finish { phong 0.9 phong_size 60 }

Комментариев нет:

Отправить комментарий