Abstract: Multiple instances of a single object are aggregated and submitted collectively to a graphics API for rendering. Vertices of the object are replicated into a large buffer and are modified so as to be bound to different transformation matrices in a matrix palette. An index buffer of the object is similarly replicated. Each replicated index buffer is modified to refer to vertices of a different, respective set of replicated vertices. Thus, the large vertex and index buffers are initialized to contain multiple, distinct, and independent copies of the object. Instancing logic aggregates matrix palettes of individual instances of the same object into an aggregated matrix palette and sends the aggregated vertex and index buffers of the object along with the accumulated aggregated matrix palette to the graphics API for rendering.
Type:
Grant
Filed:
January 7, 2005
Date of Patent:
April 24, 2007
Assignee:
Electronic Arts
Inventors:
Paul Keet, Jason Quinn Gregory, Mark Evan Dochtermann