В компьютерной графике реального времени , геометрическое инстансирование — это практика рендеринга нескольких копий одной и той же сетки в сцене одновременно. Этот метод в основном используется для таких объектов, как деревья, трава или здания, которые могут быть представлены как повторяющаяся геометрия без появления излишне повторяющихся, но может также использоваться для персонажей. Хотя данные вершин дублируются во всех инстансированных сетках, каждый экземпляр может иметь другие различающиеся параметры (например, цвет или позу скелетной анимации ), измененные для уменьшения видимости повторения.
Начиная с Direct3D версии 9, Microsoft включила поддержку экземпляров геометрии. Этот метод повышает потенциальную производительность времени выполнения рендеринга экземплярной геометрии, явно разрешая последовательную визуализацию нескольких копий сетки путем указания дифференцирующих параметров для каждой в отдельном потоке. Та же функциональность доступна в ядре Vulkan и ядре OpenGL в версиях 3.1 и выше, но может быть доступна в некоторых более ранних реализациях с помощью расширения EXT_draw_instanced
.
Экземпляр геометрии в Houdini , Maya или других 3D-пакетах обычно включает в себя отображение статического или предварительно анимированного объекта или геометрии на частицы или произвольные точки в пространстве, которые затем могут быть визуализированы практически любым автономным рендерером. Экземпляр геометрии в автономном рендеринге полезен для создания таких вещей, как рои насекомых, в которых каждое из них может быть детализировано, но при этом ведет себя реалистично, что не обязательно должно определяться аниматором. Большинство пакетов допускают изменение материала или параметров материала на основе каждого экземпляра, что помогает гарантировать, что экземпляры не будут выглядеть точными копиями друг друга. В Houdini многие атрибуты уровня объекта (например, такие как масштаб) также могут изменяться на основе каждого экземпляра. Поскольку в большинстве 3D-пакетов экземпляр геометрии ссылается только на исходный объект, размеры файлов остаются очень маленькими, а изменение оригинала изменяет все экземпляры.
Во многих офлайн-рендерах, таких как Pixar's PhotoRealistic RenderMan , создание экземпляров достигается с помощью отложенной загрузки процедур рендеринга, чтобы загружать геометрию только тогда, когда контейнер, содержащий экземпляр, фактически рендерится. Это означает, что геометрия для всех экземпляров не обязательно должна быть в памяти одновременно.