Single-pass bounding box calculation
First Claim
1. A system, comprising:
- a plurality of rendering components to render one or more target images to a 2-dimensional screen space based on a set of geometry primitives, the plurality of rendering components including a vertex shader, a rasterizer, a geometry shader, and a pixel shader, the one or more target images including a first target image;
a duplicate rendering component to command the vertex shader render a second target image to the 2-dimensional screen space, the second target image including at least six pixels;
a vertex transformation component to command the vertex shader to produce transformed vertices for the set of geometry primitives of a polygon model to be projected onto the 2-dimensional screen space;
a point generation component to command the geometry shader to generate at least six new points for each of the transformed vertices of the set of geometry primitives;
a point rendering component to command the geometry shader to render the at least six new points generated for each of the transformed vertices to a corresponding pixel from the at least six pixels of the second target image, each rendering to a corresponding pixel producing an initial third coordinate value for the corresponding pixel;
a point rasterization component to command the rasterizer to rasterize the at least six new points rendered to each corresponding pixel for each corresponding pixel, each rasterization to a corresponding producing a post-rasterization third-coordinate value for the corresponding pixel;
a comparison component to store a greater value of the initial third coordinate value and the post-rasterization third coordinate value for each pixel; and
a computation component to compute the bound box information for the set of geometry primitives based on the stored greater values for the at least six pixels.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments for single-pass bounding box calculation are disclosed. In accordance with one embodiment, the single-pass bounding box calculation includes rendering a first target to a 2-dimensional screen space, whereby the first target includes at least six pixels. The calculation further includes producing transformed vertices in a set of geometry primitives based on an application-specified transformation. The calculation also includes generating six new points for each transformed vertex in the set of geometry primitives. The calculation additionally includes producing an initial third coordinate value for each pixel by rendering the at least six new points generate for each pixel to each corresponding pixel. The calculation further includes producing a post-rasterization value for each pixel by rasterizing the at least six new points rendered to each pixel with each corresponding pixel. Finally, the calculation includes computing bounding box information for the set of geometry primitives based on the produced third coordinate values.
21 Citations
20 Claims
-
1. A system, comprising:
-
a plurality of rendering components to render one or more target images to a 2-dimensional screen space based on a set of geometry primitives, the plurality of rendering components including a vertex shader, a rasterizer, a geometry shader, and a pixel shader, the one or more target images including a first target image; a duplicate rendering component to command the vertex shader render a second target image to the 2-dimensional screen space, the second target image including at least six pixels; a vertex transformation component to command the vertex shader to produce transformed vertices for the set of geometry primitives of a polygon model to be projected onto the 2-dimensional screen space; a point generation component to command the geometry shader to generate at least six new points for each of the transformed vertices of the set of geometry primitives; a point rendering component to command the geometry shader to render the at least six new points generated for each of the transformed vertices to a corresponding pixel from the at least six pixels of the second target image, each rendering to a corresponding pixel producing an initial third coordinate value for the corresponding pixel; a point rasterization component to command the rasterizer to rasterize the at least six new points rendered to each corresponding pixel for each corresponding pixel, each rasterization to a corresponding producing a post-rasterization third-coordinate value for the corresponding pixel; a comparison component to store a greater value of the initial third coordinate value and the post-rasterization third coordinate value for each pixel; and a computation component to compute the bound box information for the set of geometry primitives based on the stored greater values for the at least six pixels. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method, comprising:
-
rendering a target image to a 2-dimensional screen space, the first target image including at least six pixels; producing transformed vertices in a set of geometry primitives based on an application-specified transformation; generating at least six new points for each of the transformed vertices in the set of geometry primitives; producing an initial third coordinate value for each pixel by rendering the at least six new points generate for each pixel to each corresponding pixel of the at least six pixels of the target image; producing a post-rasterization value for each pixel by rasterizing the at least six new points rendered to each pixel with each corresponding pixel; storing a greater value of the initial third coordinate value and the post-rasterization third coordinate value for each pixel; and computing bounding box information for the set of geometry primitives based on the stored greater values for the at least six pixels. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer readable memory storing computer-executable instructions that, when executed, cause one or more processors to perform acts comprising:
-
rendering a target image to a 2-dimensional screen space, the first target image including at least six pixels; producing transformed vertices in a set of geometry primitives based on an application-specified transformation; generating at least six new points for each transformed vertex in the set of geometry primitives; producing an initial third coordinate value for each pixel by rendering the at least six new points generate for each pixel to each corresponding pixel of the at least six pixels of the target image; storing the initial third coordinate value for each pixel in a buffer; producing a post-rasterization value for each pixel by rasterizing the at least six new points rendered to each pixel with each corresponding pixel; replacing the initial third coordinate value of one or more pixels stored in the buffer if the post-rasterization third coordinate value of each of the one or more pixels is greater than its corresponding initial third coordinate value; and computing bounding box information for the set of geometry primitives based on the third coordinate values stored in the buffer for the at least six pixels. - View Dependent Claims (17, 18, 19, 20)
-
Specification