Legal claims defining the scope of protection, as filed with the USPTO.
1. A method performed by a graphics processing unit (GPU), the method comprising: determining coordinates of a primitive in a first coordinate domain, wherein the primitive is part of a scene to be rendered by the GPU using multi-sample anti-aliasing; rotating the coordinates of the primitive based on a 45 degree angle, wherein rotating the coordinates of the primitive generates coordinates of the primitive in a first rotated coordinate domain, the first rotated coordinate domain being different than the first coordinate domain; determining coordinates of a first bounding box in the first rotated coordinate domain based on the coordinates of the primitive in the first rotated coordinate domain; determining a first plurality of parallel scanlines in the first rotated coordinate domain; determining a second plurality of parallel scanlines in the first rotated coordinate domain, wherein the second plurality of parallel scanlines is perpendicular to the first plurality of parallel scanlines; determining whether the first bounding box coordinates in the first rotated coordinate domain are located within a first two adjacent scanlines of the first plurality of scanlines or within a second two adjacent scanlines of the second plurality of scanlines; responsive to determining that the first bounding box coordinates are located within the first two adjacent scanlines or the second two adjacent scanlines: removing the primitive from the scene such that subsequent rasterization computations for the primitive are not performed; rotating the coordinates of the primitive based on a 63.5 degree angle, wherein rotating the coordinates of the primitive generates coordinates of the primitive in a second rotated coordinate domain, the second rotated coordinate domain being different than the first coordinate domain; determining coordinates of a second bounding box in the second rotated coordinate domain based on the coordinates of the primitive in the second rotated coordinate domain; determining a third plurality of parallel scanlines in the second rotated coordinate domain; determining a fourth plurality of parallel scanlines in the second rotated coordinate domain, wherein the fourth plurality of parallel scanlines is perpendicular to the third plurality of parallel scanlines; determining whether the second bounding box coordinates in the second rotated coordinate domain are located within a first two adjacent scanlines of the third plurality of scanlines or within a second two adjacent scanlines of the fourth plurality of scanlines; and responsive to determining that the second bounding box coordinates are located within the first two adjacent scanlines of the third plurality of scanlines or the second two adjacent scanlines of the fourth plurality of scanlines: removing the primitive from the scene such that subsequent rasterization computations for the primitive are not performed.
2. The method of claim 1 , wherein rotating the primitive further comprises: rotating the primitive coordinates according to the transformation matrix: [ u v ] = [ cos θ - sin θ sin θ cos θ ] [ x y ] , wherein u and v are coordinates of a point in the rotated coordinate domain, and wherein θ is the 45 degree angle.
3. The method of claim 2 , wherein determining that the first bounding box coordinates are located within the first two adjacent scanlines or the second two adjacent scanlines comprises: determining an absolute value of a difference between a maximum u-coordinate of the first bounding box and a minimum u-coordinate of the first bounding box; determining an absolute value of a difference between a maximum v-coordinate of the first bounding box and a minimum v-coordinate of the first bounding box; and responsive to determining that the absolute value of the difference between the maximum u-coordinate and the minimum v-coordinate value is less than one unit in the first rotated coordinate domain, or that the absolute value of the difference between the maximum u-coordinate and the minimum u-coordinate is less than one unit in the first rotated coordinate domain: determining that the first bounding box coordinates are located within the first two adjacent scanlines or within the second two adjacent scanlines; and removing the primitive from the scene such that the subsequent rasterization computations for the primitive are not performed.
4. The method of claim 1 , wherein intersections of the first plurality of parallel scanlines and the second plurality of parallel scanlines correspond to pixels in the scene.
5. The method of claim 1 , further comprising: multisampling pixels of the primitive, wherein intersections of the first plurality of parallel scanlines and the second plurality of parallel scanlines intersect at multisampled pixels of the primitive.
6. The method of claim 1 , wherein the primitive coordinates in the first coordinate domain comprise x-y Cartesian coordinates.
7. An apparatus comprising: a memory; and a graphics processing unit (GPU) in communication with the memory, the GPU configured to: determine coordinates of a primitive in a first coordinate domain, wherein the primitive is part of a scene to be rendered by the GPU using multi-sample anti-aliasing; rotate the coordinates of the primitive based on a 45 degree angle, wherein to rotate the coordinates of the primitive, the GPU is configured to generate coordinates of the primitive in a first rotated coordinate domain, the first rotated coordinate domain being different than the first coordinate domain; determine coordinates of a first bounding box in the first rotated coordinate domain based on the coordinates of the primitive in the first rotated coordinate domain; determine a first plurality of parallel scanlines in the first rotated coordinate domain; determine a second plurality of parallel scanlines in the first rotated coordinate domain, wherein the second plurality of parallel scanlines is perpendicular to the first plurality of parallel scanlines; determine whether the first bounding box coordinates in the first rotated coordinate domain are located within a first two adjacent scanlines of the first plurality of scanlines or within a second two adjacent scanlines of the second plurality of scanlines; responsive to determining that the first bounding box coordinates are located within the first two adjacent scanlines or the second two adjacent scanlines: remove the primitive from the scene such that subsequent rasterization computations for the primitive are not performed; rotate the coordinates of the primitive based on a 63.5 degree angle, wherein to rotate the coordinates of the primitive, the GPU is configured to generate coordinates of the primitive in a second rotated coordinate domain, the second rotated coordinate domain being different than the first coordinate domain; determine coordinates of a second bounding box in the second rotated coordinate domain based on the coordinates of the primitive in the second rotated coordinate domain; determine a third plurality of parallel scanlines in the second rotated coordinate domain; determine a fourth plurality of parallel scanlines in the second rotated coordinate domain, wherein the fourth plurality of parallel scanlines is perpendicular to the third plurality of parallel scanlines; determine whether the second bounding box coordinates in the second rotated coordinate domain are located within a first two adjacent scanlines of the third plurality of scanlines or within a second two adjacent scanlines of the fourth plurality of scanlines; and responsive to determining that the second bounding box coordinates are located within the first two adjacent scanlines of the third plurality of scanlines or the second two adjacent scanlines of the fourth plurality of scanlines: remove the primitive from the scene such that subsequent rasterization computations for the primitive are not performed.
8. The apparatus of claim 7 , wherein the GPU comprises a triangle setup engine.
9. The apparatus of claim 7 , further comprising: a central processing unit (CPU); and a display, wherein the apparatus comprises a mobile computing device.
10. The apparatus of claim 7 , wherein to rotate the primitive, the GPU is further configured to: rotate the primitive coordinates according to the transformation matrix: [ u v ] = [ cos θ - sin θ sin θ cos θ ] [ x y ] , wherein u and v are coordinates of a point in the rotated coordinate domain, and wherein θ is the 45 degree angle.
11. The apparatus of claim 10 , wherein to determine that the first bounding box coordinates are located within the first two adjacent scanlines or the second two adjacent scanlines, the GPU is further configured to: determine an absolute value of a difference between a maximum u-coordinate of the bounding box and a minimum u-coordinate of the first bounding box; determine an absolute value of a difference between a maximum v-coordinate of the first bounding box and a minimum v-coordinate of the first bounding box; and responsive to determining that the absolute value of the difference between the maximum u-coordinate and the minimum v-coordinate value is less than one unit in the first rotated coordinate domain, or that the absolute value of the difference between the maximum u-coordinate and the minimum u-coordinate is less than one unit in the first rotated coordinate domain: determine that the first bounding box coordinates are located within the first two adjacent scanlines or within the second two adjacent scanlines; and remove the primitive from the scene such that the subsequent rasterization computations for the primitive are not performed.
12. The apparatus of claim 7 , wherein intersections of the first plurality of parallel scanlines and the second plurality of parallel scanlines correspond to pixels in the scene.
13. The apparatus of claim 7 , wherein the GPU is further configured to: multisample pixels of the primitive, wherein intersections of the first plurality of parallel scanlines and the second plurality of parallel scanlines intersect at multisampled pixels of the primitive.
14. The apparatus of claim 7 , wherein the primitive coordinates in the first coordinate domain comprise x-y Cartesian coordinates.
15. An apparatus comprising: means for determining coordinates of a primitive in a first coordinate domain, wherein the primitive is part of a scene to be rendered using multi-sample anti-aliasing; means for rotating the coordinates of the primitive based on a 45 degree angle, wherein the means for rotating the coordinates of the primitive comprises means for generating coordinates of the primitive in a first rotated coordinate domain, the first rotated coordinate domain being different than the first coordinate domain; means for determining coordinates of a first bounding box in the first rotated coordinate domain based on the coordinates of the primitive in the first rotated coordinate domain; means for determining a first plurality of parallel scanlines in the first rotated coordinate domain; means for determining a second plurality of parallel scanlines in the first rotated coordinate domain, wherein the second plurality of parallel scanlines is perpendicular to the first plurality of parallel scanlines; means for determining whether the first bounding box coordinates in the first rotated coordinate domain are located within a first two adjacent scanlines of the first plurality of scanlines or within a second two adjacent scanlines of the second plurality of scanlines; means for removing the primitive from the scene, such that subsequent rasterization computations for the primitive are not performed, responsive to determining that the first bounding box coordinates are located within the first two adjacent scanlines or the second two adjacent scanlines; means for rotating the coordinates of the primitive based on a 63.5 degree angle, wherein the means for rotating the coordinates of the primitive generates coordinates of the primitive in a second rotated coordinate domain, the second rotated coordinate domain being different than the first coordinate domain; means for determining coordinates of a second bounding box in the second rotated coordinate domain based on the coordinates of the primitive in the second rotated coordinate domain; means for determining a third plurality of parallel scanlines in the second rotated coordinate domain; means for determining a fourth plurality of parallel scanlines in the second rotated coordinate domain, wherein the fourth plurality of parallel scanlines is perpendicular to the third plurality of parallel scanlines; means for determining whether the second bounding box coordinates in the second rotated coordinate domain are located within a first two adjacent scanlines of the third plurality of scanlines or within a second two adjacent scanlines of the fourth plurality of scanlines; and means for removing the primitive from the scene, such that subsequent rasterization computations for the primitive are not performed, responsive to determining that the second bounding box coordinates are located within the first two adjacent scanlines of the third plurality of scanlines or the second two adjacent scanlines of the fourth plurality of scanlines.
16. The apparatus of claim 15 , wherein the means for rotating the primitive further comprises: means for rotating the primitive coordinates according to the transformation matrix: [ u v ] = [ cos θ - sin θ sin θ cos θ ] [ x y ] , wherein u and v are coordinates of a point in the rotated coordinate domain, and wherein θ is the 45 degree angle.
17. The apparatus of claim 16 , wherein the means for determining that the first bounding box coordinates are located within the first two adjacent scanlines or the second two adjacent scanlines comprises: means for determining an absolute value of a difference between a maximum u-coordinate of the first bounding box and a minimum u-coordinate of the first bounding box; means for determining an absolute value of a difference between a maximum v-coordinate of the first bounding box and a minimum v-coordinate of the first bounding box; means for determining that the first bounding box coordinates are located within the first two adjacent scanlines or within the second two adjacent scanlines responsive to determining that the absolute value of the difference between the maximum u-coordinate and the minimum v-coordinate value is less than one unit in the first rotated coordinate domain, or that the absolute value of the difference between the maximum u-coordinate and the minimum u-coordinate is less than one unit in the first rotated coordinate domain; and means for removing the primitive from the scene such that the subsequent rasterization computations for the primitive are not performed.
18. The apparatus of claim 15 , further comprising: means for multisampling pixels of the primitive, wherein intersections of the first plurality of parallel scanlines and the second plurality of parallel scanlines intersect at multisampled pixels of the primitive.
19. A non-transitory computer-readable storage medium having instructions stored thereon that, when executed, cause at least one processor to: determine coordinates of a primitive in a first coordinate domain, wherein the primitive is part of a scene to be rendered by the at least one processor using multi-sample anti-aliasing; rotate the coordinates of the primitive based on a 45 degree angle, wherein the instructions that cause the at least one processor to rotate the coordinates of the primitive cause the at least one processor to generate coordinates of the primitive in a first rotated coordinate domain, the first rotated coordinate domain being different than the first coordinate domain; determine coordinates of a first bounding box in the first rotated coordinate domain based on the coordinates of the primitive in the first rotated coordinate domain; determine a first plurality of parallel scanlines in the first rotated coordinate domain; determine a second plurality of parallel scanlines in the first rotated coordinate domain, wherein the second plurality of parallel scanlines is perpendicular to the first plurality of parallel scanlines; determine whether the first bounding box coordinates in the first rotated coordinate domain are located within a first two adjacent scanlines of the first plurality of scanlines or within a second two adjacent scanlines of the second two adjacent scanlines; responsive to determining that the first bounding box coordinates are located within the first two adjacent scanlines or the second plurality of adjacent scanlines: remove the primitive from the scene such that subsequent rasterization computations for the primitive are not performed; rotate the coordinates of the primitive based on a 63.5 degree angle, wherein rotating the coordinates of the primitive generates coordinates of the primitive in a second rotated coordinate domain, the second rotated coordinate domain being different than the first coordinate domain; determining coordinates of a second bounding box in the second rotated coordinate domain based on the coordinates of the primitive in the second rotated coordinate domain; determine a third plurality of parallel scanlines in the second rotated coordinate domain; determine a fourth plurality of parallel scanlines in the second rotated coordinate domain, wherein the fourth plurality of parallel scanlines is perpendicular to the third plurality of parallel scanlines; determine whether the second bounding box coordinates in the second rotated coordinate domain are located within a first two adjacent scanlines of the third plurality of scanlines or within a second two adjacent scanlines of the fourth plurality of scanlines; and responsive to determining that the second bounding box coordinates are located within the first two adjacent scanlines of the third plurality of scanlines or the second two adjacent scanlines of the fourth plurality of scanlines: remove the primitive from the scene such that subsequent rasterization computations for the primitive are not performed.
20. The non-transitory computer-readable storage medium of claim 19 , wherein instructions further cause the at least one processor to: rotate the primitive coordinates according to the transformation matrix: [ u v ] = [ cos θ - sin θ sin θ cos θ ] [ x y ] , wherein u and v are coordinates of a point in the rotated coordinate domain, and wherein θ is the 45 degree angle.
21. The non-transitory computer-readable storage medium of claim 20 , wherein instructions further cause the at least one processor to: determine an absolute value of a difference between a maximum u-coordinate of the first bounding box and a minimum u-coordinate of the first bounding box; determine an absolute value of a difference between a maximum v-coordinate of the first bounding box and a minimum v-coordinate of the first bounding box; determine that the bounding box coordinates are located within the first two adjacent scanlines or within the second two adjacent scanlines responsive to determining that the absolute value of the difference between the maximum u-coordinate and the minimum v-coordinate value is less than one unit in the first rotated coordinate domain, or that the absolute value of the difference between the maximum u-coordinate and the minimum u-coordinate is less than one unit in the first rotated coordinate domain; and remove the primitive from the scene such that the subsequent rasterization computations for the primitive are not performed.
22. The non-transitory computer-readable storage medium of claim 19 , wherein instructions further cause the at least one processor to: multisample pixels of the primitive, wherein intersections of the first plurality of parallel scanlines and the second plurality of parallel scanlines intersect at multisampled pixels of the primitive.
Unknown
May 1, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.