Graphics renderer and method for rendering 3D scene in computer graphics using object pointers and depth values
First Claim
1. A graphics renderer for rendering a scene having an image plane divided into a set of one or more tiles, the renderer comprising:
- a tiling unit configured to;
receive data for a plurality of objects,calculate the tiles overlapped by each object,derive a depth range for each object, andwrite for each object an object pointer into per-tile lists stored in a memory only for tiles that are overlapped by the object, each object pointer containing information on the depth range of the object;
a fetch unit configured to;
read the object pointers for objects identified in the tile list for a tile being rendered,perform a depth range test for each object identified for the tile being rendered to compare the depth range of the object with a received depth range for the tile, andread, from a memory, parameter data only for objects that pass the depth range test;
a rendering processor configured to render each tile of the set of one or more tiles using the object pointers and parameter data fetched by the fetch unit for each tile to render the scene, wherein the rendering processor is configured to calculate per-pixel depth values for each object rendered as part of rendering a tile; and
a range generation unit configured to compute a depth range for a tile being rendered by the rendering processor that represents the range of depth values for objects that have been processed for that tile, and to feed back computed depth ranges to the fetch unit for the tile being rendered by the rendering processor for use in depth range tests for objects identified in the tile list for that tile.
0 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and a method for generating 3-dimensional computer graphic images. The image is first sub-divided into a plurality of rectangular areas. A display list memory is loaded with object data for each rectangular area. The image and shading data for each picture element of each rectangular area are derived from the object data in the image synthesis processor and a texturizing and shading processor. A depth range generator derives a depth range for each rectangular area from the object data as the imaging and shading data is derived. This is compared with the depth of each new object to be provided to the image synthesis processor and the object may be prevented from being provided to the image synthesis processor independence on the result of the comparison.
-
Citations
20 Claims
-
1. A graphics renderer for rendering a scene having an image plane divided into a set of one or more tiles, the renderer comprising:
-
a tiling unit configured to; receive data for a plurality of objects, calculate the tiles overlapped by each object, derive a depth range for each object, and write for each object an object pointer into per-tile lists stored in a memory only for tiles that are overlapped by the object, each object pointer containing information on the depth range of the object; a fetch unit configured to; read the object pointers for objects identified in the tile list for a tile being rendered, perform a depth range test for each object identified for the tile being rendered to compare the depth range of the object with a received depth range for the tile, and read, from a memory, parameter data only for objects that pass the depth range test; a rendering processor configured to render each tile of the set of one or more tiles using the object pointers and parameter data fetched by the fetch unit for each tile to render the scene, wherein the rendering processor is configured to calculate per-pixel depth values for each object rendered as part of rendering a tile; and a range generation unit configured to compute a depth range for a tile being rendered by the rendering processor that represents the range of depth values for objects that have been processed for that tile, and to feed back computed depth ranges to the fetch unit for the tile being rendered by the rendering processor for use in depth range tests for objects identified in the tile list for that tile. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A graphics rendering method for a scene having an image plane divided into a set of one or more tiles, the method comprising:
-
receiving data for a plurality of objects at a tiling unit; calculating the tiles overlapped by each object at the tiling unit; deriving a depth range for each object at the tiling unit and writing for each object an object pointer into per-tile lists stored in a memory only for tiles that are overlapped by the object, each object pointer containing information on the depth range of the object; reading at a fetch unit object pointers for objects identified in the tile list for a tile being rendered; performing at the fetch unit a depth range test for each object identified for the tile being rendered to compare the depth range of the object with a received depth range for the tile and reading, from a memory, parameter data only for objects that pass the depth range test; rendering each tile of the set of one or more tiles at a rendering processor using the object pointers and parameter data fetched by the fetch unit for each tile to render the scene, comprising calculating per-pixel depth values for each object rendered as part of rendering a tile; and computing a depth range for a tile being rendered by the rendering processor that represents the range of depth values for objects that have been processed for that tile, and feeding back computed depth ranges to the fetch unit for the the being rendered by the rendering processor for use in depth range tests for objects identified in the tile list for that tile. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification