logo search
Как использовать все возможности mental ray в р

Группа операторов Frame Buffer Control

Эта группа операторов аналогов в интерфейсе рендеринга 3ds max не имеет.

Оператор colorclip rgb|alpha|raw (-colorclip rgb|alpha|raw)

определяет способ сжатия рассчитанного цвета в диапазон значений [0,1], который соответствует обычному диапазону оттенков [0, 255] одного канала RGB-модели представления цвета, перед его записью в целочисленный 8-битный frame buffer или файл с 8 битами на канал. Фактически - это оператор, преобразующий внутреннее представление рассчитанного mental ray цвета в модель RGB. Параметр rgb принят по умолчанию. В этом режиме цвет сначала сжимается в дискретный диапазон [0,1] и затем альфа канал сжимается в диапазон [ max (R, G, B), 1]. Используется в тех случаях, когда цвет важнее точности альфа-канала. Если указан параметр alpha, в [0,1] сжимается сначала альфа-канал, а потом цвет сжимается в диапазон [0, максимальное значение альфа-канала]. Используется в тех случаях, когда точное значение альфа канала важнее цвета, например, при композиции рендер-слоев для точного представления прозрачности. При указании параметра raw цвет и альфа-канал сжимаются в диапазон [0, 1] независимо друг от друга. Этот режим нельзя использовать, если будет выполняться композиция рендер-слоев в одно изображение, режим также автоматически включает оператор premultiply в режим "on". Во всех режимах цвет сжимается с учетом используемого режима оператора desaturate.

Оператор desaturate on|off (-desaturate on|off)

используется для вывода цвета во frame buffer, не обладающего 32-битной точностью представления цвета, если значение цвета лежит вне заданного диапазона [0, max], значение max определяется режимом оператора colorclip. Если desaturation используется с параметром "off", цвет просто сжимается к заданному диапазону. В режиме "on" mental ray пытается изменить яркость, смещая значение цвета вниз по оси grayscale цветового куба, пока цвет не окажется в пределах заданного диапазона. По умолчанию desaturation используется в режиме "off ".

Оператор premultiply on|off (-premultiply on|off)

используется для масштабирования (premultiplication) значений цветовых каналов R, G, B умножением их на значение альфа-канала для соответствующего пиксела. Например, при 10% непрозрачности цвет хранится не в формате (1, 1, 1, 0.1),а в виде (0.1, 0.1, 0.1, 0.1). Единственная причина такого представления в том, чтобы значения R, G и B никогда не превысили значения альфа-канала. mental ray всегда использует масштабирование цвета во внутренних вычислениях и при передаче цвета шейдерам. В режиме premultiply off оператор инструктирует mental ray выполнить операцию, обратную масштабированию (то есть делит цвет на альфа-канал). Оператор игнорируется при использовании colorclip raw.

Оператор dither on|off (-dither on|off)

включает "шум" при сохранении цвета в 8-битный фреймбуфер. Внутренние вычисления цвета mental ray выполняет с использованием чисел с плавающей запятой, и может выводить результаты расчетов во фреймбуфер с поддержкой 32- , 16- и 8- бит на канал. Поскольку 8-битное представление (стандартная модель RGB с 256 дискретными оттенками на канал) и 16 -битное представление точных внутренних вычислений приводят к появлению ошибок округления и, как следствие, к проявлению эффекта полос, используется оператор dither, который зашумлением маскирует "полосатость" цвета. По умолчанию оператор отключен ("off").

Оператор gamma gamma_factor (-gamma gamma_factor)

выполняет гамма-коррекцию 8-битных фреймбуферов для компенсации нелинейности устройств вывода (мониторов, например). Не работает с буферами в 16- и 32-битном представлении. По умолчанию значение gamma_factor = 1, что равносильно отключению гамма-коррекции. В 3ds max предусмотрена гамма-коррекция, но транслятор настройки гаммы игнорирует.

Оператор frame buffer n [ " type "]

определяет или удаляет пользовательский фрейм-буфер с номером n. Начиная с версии mental ray 3.4, число пользовательских буферов неограниченно (в более ранних версиях разрешалось использовать не более 8 буферов). Параметр "type" может определять любой из стандартных типов изображений, разрешенных для оператора output камеры, например, rgba или z. Если параметру предшествует знак "+", сэмплы будут интерполироваться, " -" сэмплы интерполироваться не будут (принято по умолчанию). После того, как буфер определен оператором frame buffer n, он может использоваться в качестве параметра оператора fb вывода данных для камеры: fb n. Несмотря на определение, пользовательский фреймбуфер будет реально создан только в том случае, если он упоминается хотя бы одним оператором вывода.