В чем преимущества карт смещения? На самом деле они ускоряют рендеринг более высоких графов, или это всего лишь отличный трюк для художников и встроенных инструментов, чтобы временно снизить количество полисов? Единственная реальная вещь, которую я мог видеть в ней, это, возможно, уровень алгоритмов детализации, но только на гораздо больших расстояниях.Смещение карты
ответ
Ну, это может обеспечить более компактную структуру для рендеринга высокополигональных моделей. Карта перемещения может содержать всего 1 байт на пиксель. Если вы настроили это для отображения смещения, вы сохраняете ОГРОМНЫЙ объем полосы пропускания памяти на графическом процессоре.
Изображение на секунду простая структура вершин.
struct Vert
{
float x, y, z;
float nx, ny, nz;
float u, v;
};
Эта структура имеет размер 32 байт. Итак, если вы представляете себе, что можете округлить число вершин (и вы должны иметь возможность сделать HELL намного больше), и заменить все остальные вершины на 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 байт, а теперь вы занимаете 1200 000 байт, размер которого равен STILL 37,5%. PLUS теперь вы можете удалить 12 байт для нормального хранения, и вы действительно достигли того же показателя в 900 000 байт.
Вы должны получить ЗНАЧИТЕЛЬНО более высокие коэффициенты сжатия геометрии, чем это. Итак, в общем, вы получаете более привлекательную модель для части данных хранилища.
В качестве дополнительного бонуса, используя обычную карту карты/карты высот, вы также можете легко масштабировать, чтобы менее мощные машины просто использовали обычные данные, и вы по-прежнему получаете достаточно хорошие результаты.
- 1. Циклическое смещение цветовой карты
- 2. Смещение текстуры карты окружения в three.js
- 3. Смещение центра карты Google с panby
- 4. Смещение карты на основе 3d-эффекта на iPhone
- 5. листовка карты с пользовательской плиткой Увеличить смещение х
- 6. Three.js: Fresnel Shader - смешение цвета или смещение карты env
- 7. Как добавить смещение и смещение
- 8. Смещение вычислений на GPU
- 9. Смещение округления ArcGIS - FME
- 10. Смещение маркера Google Map
- 11. Undefined смещение на массив, но смещение существует
- 12. Недопустимое смещение строки Неопределенное смещение: 2
- 13. Офтальмологическое смещение позиционирования
- 14. Смещение гибернации
- 15. Undefined смещение
- 16. Смещение матрицы
- 17. Смещение вращения
- 18. указатель смещение?
- 19. Побитовое смещение
- 20. Смещение массива
- 21. Смещение сущности?
- 22. как смещение формы в VB
- 23. codeigniter - Неинициализированное смещение строки: 0 и смещение смещенной строки
- 24. JavaScript Zero Побитовое смещение влево и правостороннее смещение в Python?
- 25. смещение влево, а затем сразу же смещение вправо в asm?
- 26. Смещение содержимого содержимого UIScrollView
- 27. Автоматическое смещение в колонке
- 28. CollectionView имеет небольшое смещение
- 29. Определить смещение изображения
- 30. Смещение с Waypoint.Inview()
Спасибо! Раньше я об этом не думал. Кроме того, было бы неправильно предполагать, что скорость может быть немного быстрее, учитывая, что вы читаете текстуру и генерируете ее на gpu, а не передаете все данные вершин по шине? O.o – sringer
@sringer: Это полностью зависит от того, где ваши ограничения происходят. Если вы ограничены в ЦП, то, очевидно, никакой скорости на GPU не будет иметь никакого значения. Точно так же, если вы ограничены шейдером, скорее всего, смещение будет еще хуже. С другой стороны, если у вас ограниченная пропускная способность памяти, это, скорее всего, будет иметь большое значение. Как всегда, профиль, чтобы вы знали, что ваши «оптимизации» на самом деле повлияют на что угодно. – Goz