Отображение смещения - PullRequest
       20

Отображение смещения

1 голос
/ 17 января 2011

Каковы преимущества карт смещения? Действительно ли они вообще ускоряют рендеринг полисов с большим числом, или это просто изящная хитрость для художников и инструментов в движке, чтобы временно уменьшить число поли? Единственная реальная вещь, которую я мог использовать, это алгоритмы уровня детализации, но только на гораздо больших расстояниях.

1 Ответ

3 голосов
/ 17 января 2011

Ну, это может обеспечить более компактную структуру для рендеринга моделей с высоким поли. Карта смещения может содержать всего 1 байт на пиксель. Если вы тесселяете это для отображения смещения, то вы экономите ОГРОМНОЕ количество пропускной способности памяти на GPU.

Изображение на секунду простой вершинной структуры.

struct Vert
{
    float x, y, z;
    float nx, ny, nz;
    float u, v;
};

Эта структура имеет размер 32 байта. Так что, если вы представите, что можете разделить число вершин на четверти (и вы должны иметь возможность сделать АД гораздо большего) и заменить все остальные вершины картой высот в 1 байт, то у вас израсходуется объем используемой памяти. следующим образом:

100,000 poly object = 3,200,000 bytes using vertex struct alone.
25,000 polys + 100,000 entry height map = 900,000 bytes.

т.е. отображение смещения предоставляет вам те же данные в 28% памяти. ВЫИГРАТЬ! : D

Если вы сохраняете карту нормалей и используете компонент w / a для высоты, то вы используете 400 000 байт для текстуры, и теперь у вас есть 1 200 000 байтов в размере, что составляет ЕЩЕ 37,5% от размера. ПЛЮС, теперь вы можете удалить 12 байт для обычного хранения, и вы действительно получите тот же показатель в 900 000 байт.

Вы должны быть в состоянии получить значительно более высокие уровни сжатия геометрии, чем это. Таким образом, в итоге вы получите более привлекательную модель для части данных хранилища.

В качестве дополнительного бонуса, используя систему карт нормалей / карт высот, вы также можете легко масштабировать, чтобы менее мощные машины просто использовали данные нормалей, и вы по-прежнему получали достаточно хорошие результаты.

...