Selective rendering of objects
AssigneePixar
InventorJosh Jenny
Life of this patent
Estimating the term…
Abstract
An animation scene including a group of objects is rendered by dividing the group into multiple clipping regions based on object location. The objects are sorted based on the depth extent of each object relative to a camera position. The objects are then assigned to a clipping region such that each clipping region includes about the same number of objects. Each clipping region is then rendered independently and in parallel to reduce processor and memory load.
Claims25
A method for rendering an image of objects using a computing device comprising at least a processor and memory having portions of scene descriptors stored thereon, the method comprising:
- receiving a description of a scene, wherein the description includes a location for each of a plurality of objects in the scene and a camera position, wherein the location and camera position are in a three-dimensional space;
- determining a depth extent of each of the plurality of objects relative to the camera position, the depth extent corresponding to a distance in the three-dimensional space;
- determining a number of clipping regions to be used in rendering the plurality of objects, each clipping region corresponding to a different layer to be rendered separately;
- analyzing the determined depth extents to generate the clipping regions, wherein a clipping region partitions the three-dimensional space and includes a portion of the plurality of objects;
- assigning objects of the plurality of objects to the clipping regions based on the depth extent of each object relative to the camera position, wherein an assigned object is assigned to one or more clipping regions;
- and
- separately rendering a layer for each clipping region, the layer being of the objects in the clipping region.
A method for rendering an image of objects in an animation scene using a computing device comprising at least a processor and memory having portions of scene descriptors stored thereon, the method comprising:
- receiving a value of a number of clipping regions associated with an animation scene, wherein a clipping region partitions a three-dimensional space, each clipping region associated with a different layer to be rendered independently;
- analyzing a depth extent of each of a plurality of objects in the animation scene relative to a camera position to generate the clipping regions, wherein the plurality of objects have locations in the three-dimensional space and the camera position is located in the three-dimensional space;
- assigning each of the plurality of objects to a clipping region of the clipping regions based on the depth extent of the assigned object, wherein an assigned object is assigned to one or more clipping regions;
- and
- creating a plurality of layers, each renderable independently, wherein each layer comprises the objects assigned to the layer's associated clipping region.
A method for rendering an image of objects in an animation scene using a computing device comprising at least a processor and memory having portions of scene descriptors stored thereon, the method comprising:
- identifying a depth extent of each of a plurality of objects in an animation scene relative to a camera position, wherein the plurality of objects have locations in a three-dimensional space and the camera position is located in the three-dimensional space;
- analyzing the depth extent of each of the plurality of objects in the animation scene to generate a plurality of clipping regions, wherein clipping regions partition the three-dimensional space, each clipping region corresponding to a different layer to be rendered separately;
- assigning each of the plurality of objects to one or more of the plurality of clipping regions based on the identified depth extent of each of the plurality of objects;
- and
- separately rendering a layer for each clipping region, the layer being of the objects in the clipping region.
A non-transitory tangible storage medium storing a set of executable code modules, which when executed by a processor of a computer system, cause the processor to render an image of objects, the non-transitory tangible storage medium comprising:
- code executable by the processor for receiving a description of a scene, wherein the description includes a location for each of a plurality of objects in the scene and a camera position, wherein the location and camera position are in a three-dimensional space;
- code executable by the processor for determining a depth extent of each of the plurality of objects relative to the camera position, the depth extent corresponding to a distance in the three-dimensional space;
- code executable by the processor for determining a number of clipping regions to be used in rendering the plurality of objects, each clipping region corresponding to a different layer to be rendered separately;
- code executable by the processor for analyzing the determined depth extents to generate the clipping regions, wherein a clipping region partitions the three-dimensional space and includes a portion of the plurality of objects;
- code executable by the processor for assigning objects of the plurality of objects to the clipping regions based on the depth extent of each object relative to the camera position, wherein an assigned object is assigned to one or more clipping regions;
- and
- code executable by the processor for separately rendering a layer for each clipping region, the layer being of the objects in the clipping region.
Dependencies are inferred from the claim text.