Visibility information modification
AssigneeQUALCOMM Incorporated
InventorsVineet Goel, Ruijin Wu, Young In Yeo
Life of this patent
Estimating the term…
Abstract
In an example, a method for rendering a 3-D scene of graphical data into a 2-D scene may include dividing 2-D space used to represent the 3-D scene from a viewpoint into a plurality of tiles. The 3-D scene may include a plurality of primitives. The method may include generating visibility information for a first tile of the plurality of tiles. The method may include modifying the visibility information for the first tile to generate modified visibility information for the first tile. The method may include generating the 2-D scene using the modified visibility information for the first tile.
Claims18
A method for rendering a 3-D scene of graphical data into a 2-D scene, the method comprising:
- dividing a 2-D space used to represent the 3-D scene from a viewpoint into a plurality of tiles, wherein the 3-D scene includes a plurality of primitives;
- rasterizing, during a first rasterization pass, only position data of a first tile of the plurality of tiles according to a first rasterization pixel granularity level to generate a first rasterized first tile;
- performing a first visibility test using the first rasterized first tile generated by the first rasterization pass;
- generating visibility information for the first tile of the plurality of tiles based on the first visibility test, wherein the visibility information for the first tile includes a value for each primitive of the plurality of primitives, wherein the value for each primitive is either a first value or a second value, and wherein the first value indicates a primitive with which the first value is associated is not to be rendered, and the second value indicates a primitive with which the second value is associated is to be rendered;
- rasterizing, during a second rasterization pass, only position data of primitives of the first tile identified as being visible by the visibility information according to a second rasterization pixel granularity level to generate a second rasterized first tile, wherein the second rasterization pixel granularity level is less than or equal to the first rasterization pixel granularity level;
- generating second visibility information for a second tile of the plurality of tiles while rasterizing the first tile according to the second rasterization pixel granularity level;
- performing a second visibility test using the second rasterized first tile generated by the second rasterization pass;
- modifying the visibility information for the first tile to generate modified visibility information for the first tile based on the second visibility test;
- and
- rendering position data and color data of primitives of the first tile identified as being visible by the modified visibility information for the first tile.
A device comprising:
- a memory for storing rendered graphical data;
- and
- one or more processors configured to:
- divide a 2-D space used to represent a 3-D scene from a viewpoint into a plurality of tiles, wherein the 3-D scene includes a plurality of primitives;
- rasterize, during a first rasterization pass, only position data of a first tile of the plurality of tiles according to a first rasterization pixel granularity level to generate a first rasterized first tile;
- perform a first visibility test using the first rasterized first tile generated by the first rasterization pass;
- generate visibility information for the first tile of the plurality of tiles based on the first visibility test, wherein the visibility information for the first tile includes a value for each primitive of the plurality of primitives, wherein the value for each primitive is either a first value or a second value, and wherein the first value indicates a primitive with which the first value is associated is not to be rendered, and the second value indicates a primitive with which the second value is associated is to be rendered;
- rasterize, during a second rasterization pass, only position data of primitives of the first tile identified as being visible by the visibility information according to a second rasterization pixel granularity level to generate a second rasterized first tile, wherein the second rasterization pixel granularity level is less than or equal to the first rasterization pixel granularity level;
- generate second visibility information for a second tile of the plurality of tiles while rasterizing the first tile according to the second rasterization pixel granularity level;
- perform a second visibility test using the second rasterized first tile generated by the second rasterization pass;
- modify the visibility information for the first tile to generate modified visibility information for the first tile based on the second visibility test;
- render position data and color data of primitives of the first tile identified as being visible by the modified visibility information for the first tile;
- and
- store the 2-D scene in the memory.
An apparatus comprising:
- means for dividing a 2-D space used to represent a 3-D scene from a viewpoint into a plurality of tiles, wherein the 3-D scene includes a plurality of primitives;
- means for rasterizing, during a first rasterization pass, only position data of a first tile of the plurality of tiles according to a first rasterization pixel granularity level to generate a first rasterized first tile;
- means for performing a first visibility test using the first rasterized first tile generated by the first rasterization pass;
- means for generating visibility information for the first tile of the plurality of tiles based on the first visibility test, wherein the visibility information for the first tile includes a value for each primitive of the plurality of primitives, wherein the value for each primitive is either a first value or a second value, and wherein the first value indicates a primitive with which the first value is associated is not to be rendered, and the second value indicates a primitive with which the second value is associated is to be rendered;
- means for rasterizing, during a second rasterization pass, only position data of primitives of the first tile identified as being visible by the visibility information according to a second rasterization pixel granularity level to generate a second rasterized first tile, wherein the second rasterization pixel granularity level is less than or equal to the first rasterization pixel granularity level;
- means for generating second visibility information for a second tile of the plurality of tiles while rasterizing the first tile according to the second rasterization pixel granularity level;
- means for performing a second visibility test using the second rasterized first tile generated by the second rasterization pass;
- means for modifying the visibility information for the first tile to generate modified visibility information for the first tile based on the second visibility test;
- and
- means for rendering position data and color data of primitives of the first tile identified as being visible by the modified visibility information for the first tile.
A non-transitory computer-readable storage medium having instructions stored thereon that, when executed, cause one or more processors to:
- divide a 2-D space used to represent a 3-D scene from a viewpoint into a plurality of tiles, wherein the 3-D scene includes a plurality of primitives;
- rasterize, during a first rasterization pass, only position data of a first tile of the plurality of tiles according to a first rasterization pixel granularity level to generate a first rasterized first tile;
- perform a first visibility test using the first rasterized first tile generated by the first rasterization pass;
- generate visibility information for the first tile of the plurality of tiles based on the first visibility test, wherein the visibility information for the first tile includes a value for each primitive of the plurality of primitives, wherein the value for each primitive is either a first value or a second value, and wherein the first value indicates a primitive with which the first value is associated is not to be rendered, and the second value indicates a primitive with which the second value is associated is to be rendered;
- rasterize, during a second rasterization pass, only position data of primitives of the first tile identified as being visible by the visibility information according to a second rasterization pixel granularity level to generate a second rasterized first tile, wherein the second rasterization pixel granularity level is less than or equal to the first rasterization pixel granularity level;
- generate second visibility information for a second tile of the plurality of tiles while rasterizing the first tile according to the second rasterization pixel granularity level;
- perform a second visibility test using the second rasterized first tile generated by the second rasterization pass;
- modify the visibility information for the first tile to generate modified visibility information for the first tile based on the second visibility test;
- and
- render position data and color data of primitives of the first tile identified as being visible by the modified visibility information for the first tile.
Dependencies are inferred from the claim text.