Geometry Instancing
Geometry Instancing (рус. дублирование геометрии) — программная техника (методика) в трёхмерной компьютерной графике преимущественно реального времени. Суть Geometry Instancing состоит в визуализации множества копий одной полигональной сетки в трёхмерной сцене за один подход. Эта методика используется, как правило, для множества однотипных объектов на сцене, которые расположены достаточно далеко от виртуальной камеры: деревьев, кустов, травы, одинаковых сооружениях и предметах.
Geometry Instancing является прежде всего оптимизационной методикой, то есть он предназначен прежде всего для увеличения скорости визуализации без уменьшения качества.
Описание
При использовании стандартного подхода к рендерингу сцены и всех её объектов за один вызов Direct3D формируется только один объект (по вершинам, освещенности и т.д.), будь то персонаж на переднем плане или сотня одинаковых кустов на дальнем. До геометрического инстансинга дальние одинаковые объекты можно было рендерить в качестве спрайтов, т.е. двухмерных текстур. Однако при приближении к таким двухмерным объектам и изменении точки зрения наблюдателя их двухмерная природа станет видна. Geometry Instancing позволяет решить эту проблему. При его использовании можно сразу за один вызов Direct3D отрендерить геометрию всех подобных одинаковых объектов. Это позволит сэкономить ресурсы системы и повысить реалистичность сцены в целом, по сравнению со спрайтами.[1] Несмотря на то, что данные о геометрии при дублировании одинаковы, каждая копия может иметь различными другие параметры, такие как цвет или поза скелетной анимации. Благодаря этому можно уменьшить видимость повторяющихся объектов в сцене.
Microsoft впервые добавила Geometry Instancing в Direct3D 9. В OpenGL поддержка геометрического инстансинга была добавлена несколько позже в расширении EXT_draw_instanced, которое было выпущено в ноябре 2006 года.[2]
Первыми графическими картами (видеокартами), которые поддерживали аппаратный инстансинг, стали nVidia GeForce 6800 (NV40) и ATI Radeon 9500 (R300) с драйвером ATI Catalyst 4.8. Все последующие модели также поддерживают геометрический инстансинг аппаратно.[3] Одним из самых первых игровых движков, графическая подсистема которого активно использовала геометрический инстансинг, стал CryEngine от компании Crytek, который использовался в шутере от первого лица Far Cry 2004 года выпуска.[1]
См. также
- Спрайт (компьютерная графика) — более ранняя методика, имеющая схожую с Geometry Instancing цель.
- True Impostors — ещё одна методика с очень схожими целями, при этом более близкая к спрайтам, чем к Geometry Instancing.
Примечания
- ↑ 1 2 Андрей Воробьев. Тестирование FarCry версии 1.3. iXBT.com (11 ноября 2004). Дата обращения: 8 февраля 2010. Архивировано 9 мая 2012 года.
- ↑ Michael Gold. EXT_draw_instanced (англ.) (TXT). Официальный сайт OpenGL (май 2008). Дата обращения: 8 февраля 2010. Архивировано 17 апреля 2012 года.
- ↑ fin. Демонстрация/бенчмарк работы функции Geometry Instancing. Overclockers (сайт) (23 августа 2004). Дата обращения: 8 февраля 2010. Архивировано 7 января 2010 года.
Внешние ссылки
- Geometry Instancing. GameDev.ru (20 августа 2005). Дата обращения: 8 февраля 2010.
- Francesco Carucci, Lionhead Studios. Chapter 3. Inside Geometry Instancing (англ.). GPU Gems 2 (апрель 2005). Дата обращения: 8 февраля 2010. Архивировано 17 апреля 2012 года.
- Efficiently Drawing Multiple Instances of Geometry (Direct3D 9) (англ.). MSDN. Дата обращения: 8 февраля 2010. Архивировано 17 апреля 2012 года.
- Anu Kalra. Rendering grass with Instancing in DirectX 10 (англ.). Intel Software Network (апрель 2009). Дата обращения: 8 февраля 2010. Архивировано 17 апреля 2012 года.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.