Geometry instancing
From Wikipedia, the free encyclopedia
In real-time computer graphics, geometry instancing refers to the practice of rendering multiple copies of the same mesh in a scene at once. This technique is primarily used for objects such as trees, grass, or buildings which can be represented as repeated geometry without appearing unduly repetitive, but may also be used for characters. Although vertex data is duplicated across all instanced meshes, each instance may have other differentiating parameters (such as color, or skeletal animation pose) changed in order to reduce the appearance of repetition. By factoring out common data between instances to achieve lower memory usage, this technique is an example of the flyweight design pattern.
Contents |
[edit] API support for Geometry Instancing
Starting in Direct3D version 9, Microsoft included support for geometry instancing. This method improves the potential runtime performance of rendering instanced geometry by explicitly allowing multiple copies of a mesh to be rendered sequentially by specifying the differentiating parameters for each in a separate stream. The same functionality is exposed in OpenGL using the GL_EXT_draw_instanced extension.
[edit] Geometry Instancing in Offline Rendering
Geometry instancing in Maya usually involves mapping a pre-animated object or geometry to particles, which can then be rendered in any renderer. Geometry instancing in Maya is useful for creating things like swarms of bees or wasps, in which each one can be detailed, but still behaves in a realisitic way that does not have to be determined by the animator. Because instancing geometry in Maya or any other 3D package only references the original object, file sizes are kept very small and changing the original changes all of the instances.
[edit] Video Cards that support geometry instancing
- GeForce 6000 and up (NV40 GPU or later)
- ATI Radeon 9500 and up (R300 GPU or later). No OpenGL support for geometry instancing.