DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application is being examined under the pre-AIA first to invent provisions.
Comments
The potential ODP rejections are avoided due to the filing the TD on 02/04/2026.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of pre-AIA 35 U.S.C. 103(a) which forms the basis for all obviousness rejections set forth in this Office action:
(a) A patent may not be obtained though the invention is not identically disclosed or described as set forth in section 102, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim 1-7, 9-20 is/are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Brown (US 8072452 B1) in view of Moreton et al. (US 7324105 B1).
Regarding claim 1, Brown teaches:
A method for rendering a computer generated image, (col. 2, lines 49-52, disclosing systems, methods, and computer-readable storage media for rendering computer-generated image such as paths with path segments and curves;) comprising:
for an arbitrary closed polygonal contour having N vertices, each vertex having a vertex index,( col. 4, line 66 - col. 5, line 2, receiving vertex input including polygonal geometric objects comprising a plurality of vertices; Fig. 1B, showing an example of an arbitrary closed polygonal contour, col. 6, .lines 25-35, showing an algorithm of triangulation of polygons, the number of vertices on the polygon is shown as num(polypoints), indicating the polygonal geometric object can include an arbitrary closed polygonal contour having num(polypoints) as N vertices indexed as vertices 1 to N.)
applying an algorithm to divide the arbitrary closed polygonal contour into primitives; (Fig. 1B, dividing the arbitrary closed polygonal contour into primitives)
rendering the primitives to produce a computer generated image.( col. 10, lines 55-56, using a stencil buffer for rendering the triangles to produce a computer-generated image).
However, Brown does not, but Moreton teaches:
for an arbitrary closed polygonal contour having N vertices, each vertex having a vertex index, adding, modulo N, an offset value to each of the vertex indices;(col. 9, “
PNG
media_image1.png
855
329
media_image1.png
Greyscale
”)
Brown teaches a polygon division method, but does not explicitly teach how the vertex index is defined in the division process. Moreton explicitly teaches an index method of adding offset value to polygon vertex index.
It would have been obvious at the time the invention was made to a person having ordinary skill in the art to have combined the teaching of Brown with the specific teachings of Moreton to assure that the vertices within a primitive are accessed in a consistent order.(Moreton, col. 8, middle).
Regarding claim 2, Brown in view of Moreton teaches:
The method according to claim 1, further comprising generating said offset value prior to adding the offset value to each of the vertex indices. (Moreton col. 9 cited above teaches generating offset first, and then adding offset to index.)
Regarding claim 3, Brown in view of Moreton teaches:
The method of claim 1, wherein the offset value is random or pseudorandom. (Moreton col. 9 cited above teaches how the offset value is pseudorandom generated.)
Regarding claim 4, Brown in view of Moreton teaches:
The method according to claim 1, wherein the algorithm comprises a triangulation algorithm. ( Brown col. 2, upper: “The polygon may then be tessellated using conventional polygon triangulation techniques such as Siedel, Watson, Delaunay, etc., to produce a set of triangles.”)
Regarding claim 5, Brown in view of Moreton teaches:
The method according to claim 1, wherein the algorithm comprises an ear clipping triangulation algorithm. (Brown, col. 8, bottom: “FIG. 4 is a block diagram illustrating the triangulation 70 of an object using a plurality of "cuts" according to one embodiment. For the example object shown in FIG. 4, cuts 1 through 21 may be generated using the following techniques. In one embodiment, for each original segment in the path that defines the boundary of the object (e.g., each Bezier curve), the original path is initially "cut" along the line connecting the starting point of the segment to the endpoint of the segment. The cut may be performed in a manner similar to the technique of "earlopping." The initial cuts (e.g., cut 1, cut 8, and cut 15) may generate the following regions or pieces: a flat-edged interior region resulting from all the initial cuts, and, on the exterior side of each initial cut, an "edge" piece with one new flat edge and the other edge (e.g., curve segment) provided by the original segment. Because of the theorem discussed above, the initial cuts will not affect the interior points, regardless of the complexity of the segment. Thus, in one embodiment, the techniques illustrated in FIGS. 4 and 5 may be applied to convex paths, paths with holes, and multi-component paths as well as simple paths.”)
Regarding claim 6, Brown in view of Moreton teaches:
The method according to claim 1, wherein the algorithm comprises one of Seidel's method, Meister's ear cutting method, Held's method, a triangle fan method, a triangle strip method, and silhouette clipping. ( Brown col. 2, upper: “The polygon may then be tessellated using conventional polygon triangulation techniques such as Siedel, Watson, Delaunay, etc., to produce a set of triangles.”)
Regarding claim 7, Brown in view of Moreton teaches:
The method according to claim 1, wherein rendering comprises performing one or more of colour and texturing processes. (Brown col. 10, bottom: “The triangles in the triangulation may be rendered into a stencil buffer of the GPU as follows. The stencil buffer may comprise a multisampled buffer. For the even/odd rule, the stencil operation may be set to INVERT. For the winding rule, the stencil operation may be set to INC for forward-facing triangles and DEC for reverse-facing triangles (e.g., by using two rendering passes, one culling forward and the other backward, or by selecting the operation based upon the triangles' facing). Once the stencil buffer is filled in, a rectangle is built that contains the entire original path. The rectangle may comprise two triangles. The colors of the path are established (e.g., by using one or more pixel shaders), and the path is rendered with the stencil test turned on. Because the pixel shaders may be invoked only on these two triangles, performance concerns about spiky triangulations may be minimized. Multiple coverage of pixels by triangles may also be minimized to generate further shading efficiency.”)
Regarding claim 9, Brown in view of Moreton teaches:
The method according to claim 1, wherein substantially all primitives are triangles. (Brown FIG. 6)
Regarding claim 10, Brown in view of Moreton teaches:
The method according to claim 1, wherein the primitives are not triangles. (Moreton, fig, 6A-6D)
Regarding claim 11, Brown in view of Fournier teaches:
An apparatus for rendering a computer generated image comprising:a hardware logic circuit ,and a buffer (Brown FIG. 7, computer system 900, includes 950; 910, 956; and memory 920.) The rest of claim 11 recites similar limitations of claim 1, thus are rejected using the same rejection rationale.
Regarding claim 12, Brown in view of Moreton teaches:
The apparatus according to claim 11, further comprising an offset generator hardware circuit (Brown, FIG 6, 910, 956) The rest of claim 12 recites similar limitations of claim 2, thus are rejected using the same rejection rationale.
Regarding claim 13, Brown in view of Moreton teaches:
The apparatus according to claim 11, further comprising an offset input (Brown, FIG 6, 910, 956) The rest of claim 13 recites similar limitations of claim 3, thus are rejected using the same rejection rationale.
Regarding claim 18, Brown in view of Moreton teaches:
The apparatus according to claim 11, wherein the dividing the arbitrary closed polygonal contour into primitives is performed (Brown, col. 6:
“
PNG
media_image2.png
435
508
media_image2.png
Greyscale
”) using:
a vertex stack comprising first and second portions, the first portion containing P stack entries, the vertex stack configured to allow pushing and popping of stack data between the first and second portions; (Brown, col 6, upper:” In one embodiment, a geometric object (e.g., a polygon or path) to be triangulated may comprise an ordered set of points that describe the path of the exterior boundary. Each point may comprise a vertex of the path. In triangulating a polygon, as each point is received, the point may be pushed onto a stack. After pushing the new point onto the stack, the current depth of the stack may be determined. If the prime factorization of the current depth includes 2 (i.e., if the current depth is even), then at least one new triangle may be generated. In one embodiment, the number of new triangles generated at this stage is the same as the exponent of 2 in the factorization (e.g., the prime factorization) of the current depth. In other words, if the factorization of the current depth includes the factor 2.sup.n, then n new triangles may be generated after pushing the new point onto the stack. In one embodiment, the generation of a triangle includes popping three points (a, b, c) from the stack, defining a new triangle based on the points (a, b, c), and pushing two of the points (e.g., a and c) back onto the stack.” For example, in this case, the three points (a, b, c) can correspond to the first portion; the two points (a and c) can correspond to the second portion.)
a primitive output, coupled to the first portion of the vertex stack means and to the state machine control hardware circuit, for outputting primitives from the data on the first portion of the vertex stack; (Brown. Col, 6 “In one embodiment, the generation of a triangle includes popping three points (a, b, c) from the stack, defining a new triangle based on the points (a, b, c),”)
wherein the state machine control hardware circuit, is coupled to the vertex stack, and is configured to manage the data on the first and second portions of the vertex stack to provide interleaving of primitive levels in the output of the primitive output. (Brown, col. 6 teaches the algorithm of dividing a polygon into interleaving primitives by popping out the first portion of vertex from stack to create a primitive and pushing the second portion into stack until all the vertices have been looped through. The output can be shown in FIG. 4.
“
PNG
media_image2.png
435
508
media_image2.png
Greyscale
”)
Claims 14, 15, 16, 17, 19-20 recite similar limitations of 4-7, 9 and 3 respectively, thus are rejected using the same rejection rationale respectively.
Allowable Subject Matter
Claim 8 is objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The following is a statement of reasons for the indication of allowable subject matter: none of the references along or in combination teaches the limitations of “the algorithm comprises: i) selecting a vertex of the arbitrary closed polygonal contour as a first index vertex and setting a source contour as the arbitrary closed polygonal contour; ii) outputting a primitive of Q vertices using the index vertex and (Q-1) contiguous vertices of the source contour; iii) forming a reduced source contour by removing from the source contour the (Q-2) vertices between the index vertex and an end vertex of the outputted primitive; iv) setting the end vertex of the outputted primitive as the index vertex; v) repeating steps (ii) to (iv) until all vertices of the source contour have been included in at least one of the generated primitives; vi) selecting a vertex of the reduced source contour as an index vertex and setting the source contour as the reduced source contour; vii) repeating steps (ii) to (v) until either the reduced source contour is outputted as a primitive or until the reduced source contour has trivially zero area.” recited in claim 8.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to YANNA WU whose telephone number is (571)270-0725. The examiner can normally be reached Monday-Thursday 8:00-5:30 ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Alicia Harrington can be reached at 5712722330. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/YANNA WU/Primary Examiner, Art Unit 2615