×
Меню
Индекс

NiPalette примечания

 
Примечание.
Num Entries - кол-во точек входа в палитру.
The number of palette entries. Always = 256.
Как пишут, всегда = 256.
Palette - собственно сами записи.
со значениями по RGB+alpha.
От нуля, до 255.
Создать что-то осмысленное с нуля в Нифскопе - сомнительно.
 
Примечание.
Довольное редкое явление, которое было найдено всего в нескольких моделях игры Lokki (см. к примеру Eric_BloodAxe.nif) и Dark Age of Cameloth.
Формат ниф файлов 10ый.
Также Palette был найден в одном старом плагине к МВ.
(с автоматом Калашникова внезапно)
 
Примечание.
Для NiPalette (палитр) используются (только) 8-битные текстуры.
BMP, либо ДДС, сохраненные в режиме Palette 8-бит.
Текстуры могут быть любого размера.
 
Примечание.
8-битные БМП файлы создаются в 2д редакторе для текстур обрабатываемых в режиме Index Color.
Тогда при сохранении появится опция 8-bit.
Используя такие файлы в качестве текстур для моделей, при использовании  ФФЕ модуля с режимом сохранения  текстуры внутри ниф файла и, получаются niPalette. 
Далее сохранить в режиме palette:
Либо как .bmp 8-bit.
 
Примечание.
Основная польза от использования, сокращения объема ниф файла.
Косвенная - нифскоп (1.1.3 и 2.0 версий) не умеет извлекать (пока что) такие текстуры из тела ниф файла.
Либо, это может пригодиться для управления эффектами на моделях средствами МВСЕ 2.0.
 
Примечание.
Capostrophic из команды ОпМВ писал:
В палитре обозначаются 256 (или 16) 32-битных цветов, 8-битные индексы которых используются вместо полноценных 32-битных цветов в NiPixelData с пиксельным форматом PAL8.
Но ниф все равно жирный будет.
Лучше как обычно внешние текстуры сохранять и не страдать таким.
 
NiPalette (палитра) содержит до 256 32-хбитных цветов. В NiPixelData, данных внутренней текстуры модели, которая может быть назначена на NiSourceTexture, может использоваться специальный формат данных (2 палеттизированных пиксельных формата), при котором каждый пиксель означает не цвет, а индекс цвета в палитре. При этом каждый индекс 8-битный, а цвет 32-хбитный - или 24-хбитный, если формат или палитра отбрасывает альфу. То есть при правильно сделанной палитре можно обойтись 256 цветами и заметно сэкономить в памяти и в размере модели, если уж в неё запихали текстуры.

Выдержки из официальных руководств и справок.
 
Maximmerse help (4.2)
Those slightly old school 256 color palates save us lots of memory space. You can get an 8 bit, 128-pixel square texture for the same memory as a 32 bit, 64-pixel square. Since all images don’t have to share the same palette, the color reduction is hardly ever noticed if done in Debabelizer or another competent color reduction program.  Having less then 8 palettes in one scene is desirable but not necessary. In MadLab, there are around 25 palettes for all the images.
 
Выдержка из оригинальной справки. (NDL Gamebryo 1.1)
NiPalette objects represent mappings from 8-bit indices to 24-bit RGB or 32-bit RGBA colors. These mappings are generally known as "palettes", "color look-up tables", or "CLUTs" for short. Each NiPalette contains a set of 256 ordered PaletteEntrys, which are each RGBA values (8 bits per color). If the palette has no alpha values, the alpha component in each palette entry is ignored, and assumed to be 255 (fully opaque). As children of NiObject, palettes may be shared between multiple NiPixelData objects (which are the objects that generally refer to NiPalettes). Such behavior is known as "palette sharing". Palette entries may be changed on the fly (see below) as desired.
 
Attaches an NiPalette to the object – the NiPixelData object should have a palettized format if this value is non-NULL. If the object already had a palette, the existing palette will have its reference count decremented.

ссылка на палитру, если она есть.
При этом палитра это только часть текстуры!
Хотя, если она есть, то некоторые значения PixelData остаются пустыми.
The color palette.