logo search
Компьютерная графика / МАШ_ГРАФИКА

§ 3. Текстуры

Текстуры позволяют придавать граням объектов более реалистичный вид за счёт цветовой раскраски, прозрачности, рельефности. Это достигается за счёт мультитекстурирования – одновременного наложения нескольких текстур на одну поверхность. Рассмотрим раскраску и прозрачность. Фор-матом представления называется возможность придания пик-селю изображения определённых цветов, а также про-зрачности.

Наиболее применимы форматы представления RGB (Red, Green, Blue) – для непрозрачных объектов и RGBA (Red, Green, Blue, Alpha Channel) - для прозрачных. Здесь Red, Green, Blue - красный, зелёный и синий цвета; Alpha Channel - канал, задающий прозрачность поверхности.

Каждый цвет, а также прозрачность имеют несколько градаций (уровней глубины). Формат представления RGB, у которого для задания градаций каждого цвета отводится по 8 бит, обозначается (8,8,8). В 8-ми битах можно указать в двоичной форме числа от 0 до 28– 1 = 255. Поэтому для каждого цвета в этом формате можно задать 28 = 256 уровней глубины. В сумме задание цвета каждого пикселя занимает 24 бита, поэтому такая текстура называется 24-битной.

Соответствующий формат представления RGBA (8,8,8,8) является 32-битным. В нём добавлено 256 градаций для обозначения прозрачности. 24-х и 32-х битные форматы текс-тур являются наиболее полными. Для сокращения памяти, отводимой под текстуры, применяют 16-ти битные форматы – например, (4,4,4,4), (5,5,5,1)- для RGBA, (5,6,5)- для RGB. Для мелких деталей применяют также 8-ми битные текстуры.

188

Поскольку большой объём памяти, занимаемый цветовыми текстурами, значительно замедляет обработку и, в особен-ности, передачу графической информации, то на практике их сжимают. При этом выделяют блоки х пикселя и для них выбирают 2 основных и 2 дополнительных цвета. Такой приём позволяет использовать более полные текстуры в системах реального времени, хотя при этом цветовая гамма несколько искажается.

Рельеф поверхности задаётся при помощи отдельной текстуры. Она может иметь вид карты высот (bumpmap), указывающей высоту точек относительно некоторой исходной поверхности. Также поверхность может дробиться на треугольники в зависимости от относительной высоты участков над поверхностью. Наиболее применим метод, по которому видимость рельефа обеспечивается картой теней и смещением текстур в зависимости от освещённости участков поверхности и направления взгляда наблюдателя.