Самоучитель по 3dsmax 7

         

После чего использовать палитру получившейся картинки, а в качестве таблицы (colorTable) будет...


После чего использовать палитру получившейся картинки, а в качестве таблицы (colorTable) будет сама получившаяся картинка:

outputColor = colorTable[intensity][color].

Метод 2: если нас устроит использовать немного цветов и градаций освещения, то тогда в палитру можно впихнуть все возможные градации всех используемых цветов. Тогда определение нужного индекса в палитре - это одно умножение, а лучше - сдвиг, и одно сложение. Пример: пусть у нас есть 8 цветов и 32 градации освещенности. Палитру заполняем так: 32 градации первого цвета, второго, ..., восьмого. Тогда (для этого примера)

outputColor = (color

5.6.2. 24/32-битные режимы

Здесь все делается теми же самыми таблицами. Только таблица переводит не цвет в цвет, а компоненту цвета в компоненту цвета. То есть, создаем таблицы redTable[numShades], greenTable[numShades], blueTable[numShades], а потом для каждой компоненты каждого пиксела и нужной градации освещенности по этой таблице определяем выходное значение компоненты:

r = redTable[intensity],
g = greenTable[intensity],
b = blueTable[intensity].

Каждая компонента в этих режимах - это отдельный байт, поэтому никаких проблем не возникает.

5.6.3. 15/16-битные режимы

Метод 1: тупой, но действенный.



Содержание раздела