Geometry instancing
Encyclopedia
In real-time computer graphics
, geometry instancing is 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.
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 EXT_draw_instanced extension.
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.
Real-time computer graphics
Real-time computer graphics is the subfield of computer graphics focused on producing and analyzing images in real time. The term is most often used in reference to interactive 3D computer graphics, typically using a GPU, with video games the most noticeable users...
, geometry instancing is the practice of rendering
Rendering (computer graphics)
Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...
multiple copies of the same mesh
Polygon mesh
A polygon mesh or unstructured grid is a collection of vertices, edges and faces that defines the shape of a polyhedral object in 3D computer graphics and solid modeling...
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
Pose (computer vision)
In computer vision and in robotics, a typical task is to identify specific objects in an image and to determine each object's position and orientation relative to some coordinate system. This information can then be used, for example, to allow a robot to manipulate an object or to avoid moving...
) changed in order to reduce the appearance of repetition.
API support for geometry instancing
Starting in Direct3DDirect3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...
version 9, Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
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 EXT_draw_instanced extension.
Geometry instancing in offline rendering
Geometry instancing in MayaMaya (software)
Autodesk Maya , commonly shortened to Maya, is 3D computer graphics software that runs on Microsoft Windows, Mac OS and Linux, originally developed by Alias Systems Corporation and currently owned and developed by Autodesk, Inc. It is used to create interactive 3D applications, including video...
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.
Video cards that support geometry instancing
- GeForceGeForceGeForce is a brand of graphics processing units designed by Nvidia. , there have been eleven iterations of the design. The first GeForce products were discrete GPUs designed for use on add-on graphics boards, intended for the high-margin PC gaming market...
6000 and up (NV40 GPU or later) - ATI RadeonRadeonRadeon is a brand of graphics processing units and random access memory produced by Advanced Micro Devices , first launched in 2000 by ATI Technologies, which was acquired by AMD in 2006. Radeon is the successor to the Rage line. There are four different groups, which can be differentiated by...
9500 and up (R300 GPU or later).