Prosecution Insights
Last updated: August 17, 2026
Application No. 18/971,672

QUERY-SPECIFIC BEHAVIORAL MODIFICATION OF TREE TRAVERSAL

Non-Final OA §103§DOUBLEPATENT
Filed
Dec 06, 2024
Priority
Aug 10, 2018 — continuation of 10/867,429 +3 more
Examiner
LE, MICHAEL
Art Unit
2611
Tech Center
2600 — Communications
Assignee
NVIDIA Corporation
OA Round
1 (Non-Final)
66%
Grant Probability
Favorable
1-2
OA Rounds
1y 7m
Est. Remaining
88%
With Interview

Examiner Intelligence

Grants 66% — above average
66%
Career Allowance Rate
584 granted / 889 resolved
+3.7% vs TC avg
Strong +22% interview lift
Without
With
+22.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
37 currently pending
Career history
940
Total Applications
across all art units

Statute-Specific Performance

§101
11.8%
-28.2% vs TC avg
§103
54.4%
+14.4% vs TC avg
§102
14.1%
-25.9% vs TC avg
§112
15.1%
-24.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 889 resolved cases

Office Action

§103 §DOUBLEPATENT
DETAILED ACTION Notice of Pre-AIA or AIA Status 1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . 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 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. Information Disclosure Statement 2. The information disclosure statements (IDS) submitted on the following dates are in compliance with the provisions of 37 CFR 1.97 and are being considered by the Examiner: 12/06/2024. Claim Objections 3. Claim 16 is objected to because of the following informalities: the claim does not end with a period. See MPEP 608.01 (m). Appropriate correction is required. Double Patenting 4. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp. 5. Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over Claims 1-19 of U.S. Patent No. 12198255B2. Although the claims at issue are not identical, they are not patentably distinct from each other because the instant claims are similar to the claims in the patent to meet the limitations claimed in the patent. Table 1: Comparison of claims in instant application 18971672 vs. claims in US12198255B2. Instant Application (18971672) US12198255B2 A method of ray tracing, comprising: traversing an acceleration data structure in accordance with a ray, wherein the ray including at least an opcode representing an arithmetic or logical operation, and wherein the traversing includes: performing for at least one node in the acceleration data structure an intersection test based upon geometric attributes of the ray and the acceleration data structure and an auxiliary ray operation test based on the opcode; and based on results of the intersection test and the auxiliary ray operation test, performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray; and providing output data from the traversing to a rendering process for rendering at least a portion of the scene. 1. A method of ray tracing, comprising: accessing ray data corresponding to a ray and an acceleration data structure corresponding to a scene, wherein the accessed ray data includes at least an opcode representing an arithmetic or logical operation, a first set of one or more mode flags associated with a first type of intersection test and a second set of one or more mode flags associated with a second type of intersection test; traversing the acceleration data structure in accordance with the ray data; during the traversing, performing for at least one node in the acceleration data structure an intersection test based upon geometric attributes of the ray and the acceleration data structure and an auxiliary ray operation test based on the opcode; based on results of the intersection test and the auxiliary ray operation test, during the traversing, selecting a mode flag from one of the first set or the second set based on whether the performed intersection test is of the first type or of the second type, and performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray based at least on the selected mode flag; and providing output data from the traversing to a rendering process for rendering at least a portion of the scene. 2. The method according to claim 1, wherein the traversing further includes selecting a mode flag from one of a first set of one or more mode flags associated with a first type of intersection test or a second set of one or more mode flags associated with a second type of intersection test based on whether the performed intersection test is of the first type or of the second type, and wherein the performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray is based at least on the selected mode flag. (Claim 1) based on results of the intersection test and the auxiliary ray operation test, during the traversing, selecting a mode flag from one of the first set or the second set based on whether the performed intersection test is of the first type or of the second type, and performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray based at least on the selected mode flag; 3. The method according to claim 2, wherein the first type of intersection test is a ray-complet intersection test, and the second type of intersection test is a ray-primitive intersection test. 2. The method according to claim 1, wherein the first type of intersection test is a ray-complet intersection test, and the second type of intersection test is a ray-primitive intersection test. 4. The method according to claim 2, wherein the first type of intersection test is performed in a first hardware circuit in a coprocessor and the second type of intersection test is performed in a second hardware circuit, different from the first hardware circuit, in the coprocessor. 3. The method according to claim 1, wherein the first type of intersection test is performed in a first hardware circuit in a coprocessor and the second type of intersection test is performed in a second hardware circuit, different from the first hardware circuit, in the coprocessor. 5. The method according to claim 4, wherein the first set of one or more mode flags and the second set of one or more mode flags are accessed are accessed in a memory on the coprocessor. 4. The method according to claim 3, wherein the first set of one or more mode flags and the second set of one or more mode flags are accessed are accessed in a memory on the coprocessor. 6. The method according to claim 4, wherein said mode flag is selected further based on a node type of the at least one node. 5. The method according to claim 3, wherein said mode flag is selected further based on a node type of the at least one node. 7. The method according to claim 1, wherein the performing an intersection test and an auxiliary ray operation test comprises selecting the auxiliary ray operation test based upon the opcode. 6. The method according to claim 1, wherein the performing an intersection test and an auxiliary ray operation test comprises selecting the auxiliary ray operation test based upon the opcode. 8. The method according to claim 7, wherein the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based upon at least one parameter each from the ray data and the at least one node. 7. The method according to claim 6, wherein the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based upon at least one parameter each from the ray data and the at least one node. 9. The method according to claim 8, wherein the at least one parameter from the ray data is configurable per ray and the at least one parameter from the at least one node is configurable per node. 8. The method according to claim 7, wherein the at least one parameter from the ray data is configurable per ray and the at least one parameter from the at least one node is configurable per node. 10. The method according to claim 8, wherein the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based on non-geometric attributes of the ray and the acceleration data structure. 9. The method according to claim 7, wherein the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based on non-geometric attributes of the ray and the acceleration data structure. 11. The method according to claim 7, wherein the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based upon one parameter from the at least one node and the opcode. 10. The method according to claim 6, wherein the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based upon one parameter from the at least one node and the opcode. 12. The method according to claim 7, wherein the perform at least one of changing a state of the traversing or selecting an output data further comprises changing, based on said one or more mode flags, an order in which respective nodes in the accelerated data structure are traversed during said traversing. 11. The method according to claim 6, wherein the perform at least one of changing a state of the traversing or selecting an output data further comprises changing, based on said one or more mode flags, an order in which respective nodes in the accelerated data structure are traversed during said traversing. 13. The method according to claim 7, wherein said mode flag is selected further based on a node type of the at least one node. 12. The method according to claim 6, wherein said mode flag is selected further based on a node type of the at least one node. 14. The method according to claim 7, wherein the perform at least one of changing a state of the traversing or selecting an output data further comprises dynamically changing, based on one or more said mode flags, a structure of the accelerated data structure by culling a portion of the accelerated data structure. 13. The method according to claim 6, wherein the perform at least one of changing a state of the traversing or selecting an output data further comprises dynamically changing, based on one or more said mode flags, a structure of the accelerated data structure by culling a portion of the accelerated data structure. 15. A system comprising a traversal coprocessor comprising hardware processing circuitry for traversing acceleration data structures, configured to: traverse an acceleration data structure in accordance with a ray, wherein the ray including at least an opcode representing an arithmetic or logical operation, and wherein the traversing includes: performing for at least one node in the acceleration data structure an intersection test based upon geometric attributes of the ray and the acceleration data structure and an auxiliary ray operation test based on the opcode; and based on results of the intersection test and the auxiliary ray operation test, performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray; and provide output data from the traversing to a rendering process for rendering at least a portion of the scene. 14. A system comprising a traversal coprocessor comprising hardware processing circuitry for traversing acceleration data structures, configured to: access ray data corresponding to a ray and an acceleration data structure corresponding to a scene, wherein the accessed ray data includes at least an opcode representing an arithmetic or logical operation, a first set of one or more mode flags associated with a first type of intersection test and a second set of one or more mode flags associated with a second type of intersection test; traverse the acceleration data structure in accordance with the ray data; during the traversing, perform for at least one node in the acceleration data structure an intersection test based upon geometric attributes of the ray and the acceleration data structure and an auxiliary ray operation test based on the opcode; based on results of the intersection test and the auxiliary ray operation test, during the traversing, select a mode flag from one of the first set or the second set based on whether the performed intersection test is of the first type or of the second type, and perform at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray based at least on the selected mode flag; and provide output data form the traversing to a rendering process for rendering at least a portion of the scene. 16. The system according to claim 15, wherein the traversing further includes selecting a mode flag from one of a first set of one or more mode flags associated with a first type of intersection test or a second set of one or more mode flags associated with a second type of intersection test based on whether the performed intersection test is of the first type or of the second type, and wherein the performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray is based at least on the selected mode flag (Claim 14) based on results of the intersection test and the auxiliary ray operation test, during the traversing, select a mode flag from one of the first set or the second set based on whether the performed intersection test is of the first type or of the second type, and perform at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray based at least on the selected mode flag; 17. The system according to claim 16, wherein the first type of intersection test is a ray-complet intersection test, and the second type of intersection test is a ray-primitive intersection test. 15. The system according to claim 14, wherein the first type of intersection test is a ray-complet intersection test, and the second type of intersection test is a ray-primitive intersection test. 18. The system according to claim 16, wherein the first type of intersection test is performed in a first hardware circuit in the traversal coprocessor and the second type of intersection test is performed in a second hardware circuit, different from the first hardware circuit, in the traversal coprocessor. 16. The system according to claim 14, wherein the first type of intersection test is performed in a first hardware circuit in the traversal coprocessor and the second type of intersection test is performed in a second hardware circuit, different from the first hardware circuit, in the traversal coprocessor. 19. The system according to claim 18, wherein the first set of one or more mode flags and the second set of one or more mode flags are accessed are accessed in a memory on the traversal coprocessor. 17. The system according to claim 16, wherein the first set of one or more mode flags and the second set of one or more mode flags are accessed are accessed in a memory on the traversal coprocessor. 20. The system according to claim 18, wherein said mode flag is selected further based on a node type of the at least one node. 18. The system according to claim 16, wherein said mode flag is selected further based on a node type of the at least one node. 19. The system according to claim 14, wherein the performing an intersection test and an auxiliary ray operation test comprises selecting the auxiliary ray operation test based upon the opcode. 6. Although the claims at issue are not identical, they are not patentably distinct from each other. For example, claim 1 of the present application recites “traversing an acceleration data structure in accordance with a ray, wherein the ray including at least an opcode representing an arithmetic or logical operation, and wherein the traversing includes: “ “performing for at least one node in the acceleration data structure an intersection test based upon geometric attributes of the ray and the acceleration data structure and an auxiliary ray operation test based on the opcode; and” “based on results of the intersection test and the auxiliary ray operation test, performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray; and” “providing output data from the traversing to a rendering process for rendering at least a portion of the scene.” while claim 1 of U.S. Patent 12198255B2 discloses “accessing ray data corresponding to a ray and an acceleration data structure corresponding to a scene, wherein the accessed ray data includes at least an opcode representing an arithmetic or logical operation, a first set of one or more mode flags associated with a first type of intersection test and a second set of one or more mode flags associated with a second type of intersection test;” “traversing the acceleration data structure in accordance with the ray data;” “during the traversing, performing for at least one node in the acceleration data structure an intersection test based upon geometric attributes of the ray and the acceleration data structure and an auxiliary ray operation test based on the opcode;” “based on results of the intersection test and the auxiliary ray operation test, during the traversing, selecting a mode flag from one of the first set or the second set based on whether the performed intersection test is of the first type or of the second type, and performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray based at least on the selected mode flag; and” “providing output data from the traversing to a rendering process for rendering at least a portion of the scene.” The “accessing ray data corresponding to a ray and an acceleration data structure corresponding to a scene, wherein the accessed ray data includes at least an opcode representing an arithmetic or logical operation, a first set of one or more mode flags associated with a first type of intersection test and a second set of one or more mode flags associated with a second type of intersection test;” “traversing the acceleration data structure in accordance with the ray data;” “during the traversing, performing for at least one node in the acceleration data structure an intersection test based upon geometric attributes of the ray and the acceleration data structure and an auxiliary ray operation test based on the opcode;” “based on results of the intersection test and the auxiliary ray operation test, during the traversing, selecting a mode flag from one of the first set or the second set based on whether the performed intersection test is of the first type or of the second type, and performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray based at least on the selected mode flag; and” “providing output data from the traversing to a rendering process for rendering at least a portion of the scene.” would be corresponding to “traversing an acceleration data structure in accordance with a ray, wherein the ray including at least an opcode representing an arithmetic or logical operation, and wherein the traversing includes: “ “performing for at least one node in the acceleration data structure an intersection test based upon geometric attributes of the ray and the acceleration data structure and an auxiliary ray operation test based on the opcode; and” “based on results of the intersection test and the auxiliary ray operation test, performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray; and” “providing output data from the traversing to a rendering process for rendering at least a portion of the scene.” 7. Regarding Claim 15, the claim is rejected under obviousness double patenting for the same rational described as above. ___________________________________________________________________________ 8. Claim 1 is rejected on the ground of nonstatutory double patenting as being unpatentable over Claims 1, 12, 17, 18 of U.S. Patent No. 11189075B2 in view of Mejdrich (US-2011/0316855-A1), further in view of Clohset et al. (US-2015/0089156-A1). Although the claims at issue are not identical, they are not patentably distinct from each other because the instant claims are similar to the claims in the patent to meet the limitations claimed in the patent. As per claim 1 in the instant invention, the following is a claim analysis chart comparison for the first step: Instant Application (18971672) Claim 1 US11189075B2 Claim 1 1. A method of ray tracing, comprising: traversing an acceleration data structure in accordance with a ray, wherein the ray including at least an opcode representing an arithmetic or logical operation, and wherein the traversing includes: 1. Hardware for traversing an acceleration data structure, comprising: interface circuitry configured to receive a query data structure, a node of the acceleration data structure, and a query command …; and acceleration data structure traversal circuitry… changing, based upon the result, either a traversing of the acceleration data structure in accordance with the query data structure or one or more outputs returned 9. In regards to "traversing" step in claim 1 in the instant invention, claim 1 in US Patent 11189075 makes mention of some similar features. For example, claim 1 in the instant invention claims traversing "an acceleration data structure in accordance with a ray". Claim 1 in US Patent 11,189,075 refers to "acceleration data structure traversal circuitry" as well as receiving a "node of the acceleration data structure". In addition, claim 11 in US Patent 11,189,075 refers to receiving ray data per se, e.g. it mentions " ... a ray corresponding to the query data structure" where the query data structure is received in claim 1 of US Patent 11,189,075. Thus, the data traversed as part of the query is data in accordance with a ray (or ray data). 10. The following is a claim analysis chart comparison for the claimed "performing ... an intersection test" step in claim 1 in the instant invention. Instant Application (18971672) Claim 1 US11189075B2 Claim 1 performing for at least one node in the acceleration data structure an intersection test based upon geometric attributes of the ray and the acceleration data structure and an auxiliary ray operation test acceleration data structure traversal circuitry … configured to: … determine a result of testing including (A) a first test based upon the one or more geometric parameters and the node of the acceleration data structure, and (B) a second test based upon a programmable logical and/or arithmetic operation parameter of the one or more other parameters and the node; Claim 1 in the instant invention above refers "an intersection test" and "an auxiliary ray operation test". These features correspond to the claimed "a first test" and "a second test", respectively, in claim 1 of US Patent 11,189,075. This is taught in claim 10 of US Patent 11,189,075 where they ref er to:" ... wherein the first test is an intersection test and the second test is an auxiliary test performed following the intersection test" 11. The following is a claim analysis chart comparison for the "performing at least one of changing a state" step in claim 1 in the instant invention. Instant Application (18971672) Claim 1 US11189075B2 Claim 1 based on results of the intersection test and the auxiliary ray operation test, performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray determine a result of testing includin (A) a first test ... and (B) a second test ... ; and changing, based upon the result, either a traversing of the acceleration data structure in accordance with the query data structure or one or more outputs returned; 12. The additional features recited by claim 1 in the instant application includes: “performing an auxiliary ray operation test based on the opcode” and "providing output data from the traversing to a rendering process for rendering at least a portion of the scene". Claims 1, 12, 17 or 18 of US Patent 11,189,075 do not recite this claimed feature. However, Mejdrich discloses providing output data from the traversing to a rendering process for rendering at least a portion of the scene (Mejdrich- ¶0050, at least discloses "When the object 5 2 is translucent or transparent, the light source 6 6 may illuminate the object 52 at the point where the original ray 56 struck the object 52. The total contribution of color and light of all secondary rays ( e.g., shadow rays, transmitted rays, reflected rays, etc.) may contribute to the final color of the pixel through which the original ray passes" According to this passage, the total contribution of color and light of all traversing secondary rays is provided for output for rendering the final color of the pixels in the scene). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to provide the output data to a rendering process as taught by Mejdrich with the claims of US Patent 11,189,075. This is because often traversing an acceleration structure with rays is used for a ray tracing process which aids in rendering scenes for computer graphics processing. Thus, the ray traversal of an acceleration structure is very commonly used to find intersections for rendering surfaces and lighting effects within a scene from a given vantage point. Thus, it would have been obvious to provide the output data from the ray traversal in the acceleration structure to a rendering process. The prior art does not explicitly disclose, but Clohset discloses performing an auxiliary ray operation test based on the opcode (Clohset- ¶0064, at least discloses “thread can generate test operations, represented by operation codes, to be performed by ray tester 120. Such test operations can specify that a ray is to be tested for intersection with an identified shape or group of shapes, for example. In one specific example, as with FIG. 1, a pre-determined set of operations can be represented by a set of operation codes. In the context of 3-D rendering, these operations can include operations to test a single ray with a single shape, to test multiple rays with a single shape, to test multiple shapes with a single ray, multiple rays with multiple shapes ... "and Clohset at the end of [0019] where it refers to "reading the buffered operation code and performing the operation specified by the operation code for the ray". According to these passages from Clohset, the operation code (opcode) is used to select which ray operation test to perform. Clohset in paragraph [0064] lists several different ray operation test, to perform including: to test a single ray with a single shape, to test multiple rays with a single shape, and to test multiple shapes with a single ray). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to select a ray operation test based upon an opcode in the ray data as taught by Clohset with the system of Mejdrich. This helps organize and control the desired behavior by the ray tracing traversal system. For example, the opcodes provide a commands to control aspect of the ray tracing intersection processing while also keeping the command data size small for efficient storage and processing. ____________________________________________________________________ 13. Claim 1 is rejected on the ground of nonstatutory double patenting as being unpatentable over Claims 1, 16 of U.S. Patent No. 10,867,429B2. Although the claims at issue are not identical, they are not patentably distinct from each other because the instant claims are similar to the claims in the patent to meet the limitations claimed in the patent Instant Application (18971672) US10867429B2 A method of ray tracing, comprising: traversing an acceleration data structure in accordance with a ray, wherein the ray including at least an opcode representing an arithmetic or logical operation, and wherein the traversing includes: --------------- based on results of the intersection test and the auxiliary ray operation test, performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray; and providing output data from the traversing to a rendering process for rendering at least a portion of the scene. 1. A method of ray tracing, comprising: accessing ray data corresponding to a ray and an acceleration data structure corresponding to a scene, wherein the accessed ray data includes (a) a ray parameter, (b) an opcode and (c) one or more mode flags; traversing the acceleration data structure in accordance with the ray data including performing for at least one node in the acceleration data structure (a) an intersection test based upon geometric attributes of the ray and the acceleration data structure and (b) an auxiliary ray operation test comprising: ---- the traversing further comprising, based on results of the intersection test and the auxiliary ray operation test, performing at least one of changing a state of the traversing or selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray based on the selected at least one mode flag; and providing output data from the traversing to a rendering process for rendering at least a portion of the scene. Thus, the claimed invention in claims 1 and 16 in US Patent 10,867,429 is an obvious variation of the claimed invention as recited in claim 1 in the instant invention. Claim Rejections - 35 USC § 103 14. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention. 15. Claims 1, 7-11 and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Mejdrich et al., (“Mejdrich”) [US-2011/0316855-A1] in view of Clohset et al., (“Clohset”) [US- 2015/0089156-A1] Regarding claim 1, Mejdrich discloses a method of ray tracing (Mejdrich- ¶0005, at least discloses method includes partially traversing a spatial data structure that represents a three-dimensional image to identify an internal node of the spatial data structure), comprising: traversing an acceleration data structure in accordance with a ray (Mejdrich- ¶0035, at least discloses "The workload managers 14-15 may traverse an accelerated data structure (ADS) with a ray issued by the system 10. The ADS is a spatial index that may be implemented as a tree type data structure and is used to represent a three-dimensional image that is divided into bounding volumes''), wherein the ray including an arithmetic or logical operation (Mejdrich- ¶0051, at least discloses “A ray data structure representation of a transmitted ray may be created by the image system 10 when the object 52 intersected by the original ray has transparent or translucent properties” [Wingdings font/0xE0] suggests the claimed "an auxiliary ray operation test" corresponds to a test to see whether or not the original ray intersects an object that has transparent or translucent properties. The examiner is interpreting the claimed terms "an auxiliary ray operation test" to mean an arithmetic or logic test to suppress, override, or allow storage of an intersection with respect to the ray collisions with surfaces in Mejdrich. This interpretation of the claimed terms is consistent with how it is used in Applicant's disclosure, e.g. see in paragraph [0130] where it refers to "an auxiliary arithmetic and/or logical test to suppress, override, and/or allow storage of an intersection"), and wherein the traversing includes: performing for at least one node in the acceleration data structure an intersection test based upon geometric attributes of the ray and the acceleration data structure (Mejdrich- ¶0017, at least discloses “A ray may originate at a point in space described by a position vector and may travel along a direction vector. In ray tracing, to determine visibility, the ray may be sent from the origin along a line of sight described by the direction vector. The ray may be tested for intersection against objects within a three-dimensional image to determine the nearest visible object along that line of sight” [Wingdings font/0xE0] suggests the ray origin, position, and direction of travel each correspond to geometric attributes of the ray that are used for intersection testing; ¶0024, at least discloses “At any given level of the kd-tree, a data representation of the ray may be evaluated against the nodes (i.e., bounding volumes) to determine whether the ray misses, hits, refracts and/or reflects from an object. Rays may be tested for intersection with portions of the objects in the three-dimensional image by testing the corresponding ray data structures for intersection with leaf nodes of the spatial data structure” [Wingdings font/0xE0] the "spatial data structure" corresponds to the claimed "acceleration data structure". Also, see ¶0019, at least discloses "The spatial data structure may be referred to as an accelerated data structure (ADS)") and an auxiliary ray operation test (Mejdrich- ¶0051, at least discloses “A ray data structure representation of a transmitted ray may be created by the image system 10 when the object 52 intersected by the original ray has transparent or translucent properties” [Wingdings font/0xE0] suggests the claimed "an auxiliary ray operation test" corresponds to a test to see whether or not the original ray intersects an object that has transparent or translucent properties. The examiner is interpreting the claimed terms "an auxiliary ray operation test" to mean an arithmetic or logic test to suppress, override, or allow storage of an intersection with respect to the ray collisions with surfaces in Mejdrich. This interpretation of the claimed terms is consistent with how it is used in Applicant's disclosure, e.g. see in paragraph [0130] where it refers to "an auxiliary arithmetic and/or logical test to suppress, override, and/or allow storage of an intersection". When Mejdrich in paragraph [0051] states "A ray data structure representation of a transmitted ray may be created by the image system 10 when the object 52 intersected by the original ray has transparent or translucent properties" this corresponds to a test to see whether storage should be allow for the transmitted ray. This test determines whether or not storage is allowed for this transmitted ray because the ray data structure for the transmitted ray is only created when the object intersected by the original ray has transparent or translucent properties); and based on results of the intersection test and the auxiliary ray operation test, performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray (Mejdrich- ¶0051, at least discloses “A second type of secondary ray may be a transmitted ray. A transmitted ray may be used to determine what color light may be transmitted through the body of the object 52. A ray data structure representation of a transmitted ray may be created by the image system 10 when the object 52 intersected by the original ray has transparent or translucent properties. For instance, when the object includes colored glass, a transmitted ray intersecting the glass may be colored based on the color of the glass at the point at which the transmitted ray emerges from the colored glass. A transmitted ray may traverse through the object 52 at an angle relative to the angle at which the original ray struck the object 52” [Wingdings font/0xE0] suggests based upon the results of the intersection test (intersection of the original ray hitting an object) and the results of the auxiliary ray operation test (determination that the object hit by the original ray is either transparent or translucent), the system performs changing a state of the traversing. This is because based on results of the intersection test and the auxiliary ray operation test, a new secondary transmitted ray is created. This new secondary transmitted ray is traversed through the object 52 at an angle relative to the angle at which the original ray struck the object 52. Thus, the state of the traversing has changed because now a new secondary ray is traversed through the object 52 at an angle relative to the angle at which the original ray struck the object. In addition, using color based upon the colored grass intersected by the ray in a given node in the ADS corresponds to the claimed "selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray"); and providing output data from the traversing to a rendering process for rendering at least a portion of the scene (Mejdrich- ¶0050, at least discloses “When the object 52 is translucent or transparent, the light source 66 may illuminate the object 52 at the point where the original ray 56 struck the object 52. The total contribution of color and light of all secondary rays (e.g., shadow rays, transmitted rays, reflected rays, etc.) may contribute to the final color of the pixel through which the original ray passes” [Wingdings font/0xE0] suggests the total contribution of color and light of all traversing secondary rays is provided for output for rendering the final color of the pixels in the scene). Mejdrich does not explicitly disclose the ray including at least an opcode; an auxiliary ray operation test based on the opcode. However, Clohset discloses the ray including at least an opcode (Clohset- ¶0064, at least discloses “a thread can generate test operations, represented by operation codes, to be performed by ray tester 120. Such test operations can specify that a ray is to be tested for intersection with an identified shape or group of shapes, for example. In one specific example, as with FIG. 1, a pre-determined set of operations can be represented by a set of operation codes. In the context of 3-D rendering, these operations can include operations to test a single ray with a single shape, to test multiple rays with a single shape, to test multiple shapes with a single ray, multiple rays with multiple shapes ... " and Clohset at the end of [0019] where it refers to "reading the buffered operation code and performing the operation specified by the operation code for the ray". According to these passages from Clohset, the operation code (opcode) is used to select which ray operation test to perform. Clohset in paragraph [0064] lists several different ray operation test, to perform including: to test a single ray with a single shape, to test multiple rays with a single shape, and to test multiple shapes with a single ray); performing an auxiliary ray operation test based on the opcode performing an auxiliary ray operation test based on the opcode (Clohset- ¶0064, at least discloses “a thread can generate test operations, represented by operation codes, to be performed by ray tester 120. Such test operations can specify that a ray is to be tested for intersection with an identified shape or group of shapes, for example. In one specific example, as with FIG. 1, a pre-determined set of operations can be represented by a set of operation codes. In the context of 3-D rendering, these operations can include operations to test a single ray with a single shape, to test multiple rays with a single shape, to test multiple shapes with a single ray, multiple rays with multiple shapes ... " and Clohset at the end of [0019] where it refers to "reading the buffered operation code and performing the operation specified by the operation code for the ray". According to these passages from Clohset, the operation code (opcode) is used to select which ray operation test to perform. Clohset in paragraph [0064] lists several different ray operation test, to perform including: to test a single ray with a single shape, to test multiple rays with a single shape, and to test multiple shapes with a single ray). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to select a ray operation test based upon an opcode in the ray data as taught by Clohset with the system of Mejdrich. This helps organize and control the desired behavior by the ray tracing traversal system. For example, the opcodes provide a commands to control aspect of the ray tracing intersection processing while also keeping the command data size small for efficient storage and processing. Regarding claim 7, Mejdrich in view of Clohset, discloses the method according to claim 1, and further discloses wherein the performing an intersection test and an auxiliary ray operation test (see Claim 1 rejection for detailed analysis) comprises selecting the auxiliary ray operation test based upon the opcode (Clohset- ¶0064, at least discloses “a thread can generate test operations, represented by operation codes, to be performed by ray tester 120. Such test operations can specify that a ray is to be tested for intersection with an identified shape or group of shapes, for example. In one specific example, as with FIG. 1, a pre-determined set of operations can be represented by a set of operation codes. In the context of 3-D rendering, these operations can include operations to test a single ray with a single shape, to test multiple rays with a single shape, to test multiple shapes with a single ray, multiple rays with multiple shapes ... " and Clohset at the end of [0019] where it refers to "reading the buffered operation code and performing the operation specified by the operation code for the ray". According to these passages from Clohset, the operation code (opcode) is used to select which ray operation test to perform. Clohset in paragraph [0064] lists several different ray operation test, to perform including: to test a single ray with a single shape, to test multiple rays with a single shape, and to test multiple shapes with a single ray). It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Mejdrich to incorporate the teachings of Clohset, to select a ray operation test based upon an opcode in the ray data into the Mejdrich’s teachings for selecting the auxiliary ray operation test based upon the opcode. Doing so would the ray parameters allow more flexibility for different types of tests, e.g. the ability to test a ray or multiple rays at a time. The node parameter lets the system make sure that primitives are present in that node before any intersection testing is performed. Regarding claim 8, Mejdrich in view of Clohset, discloses the method according to claim 7, and further discloses wherein the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based upon at least one parameter each from the ray data and the at least one node (Clohset- ¶0071, at least discloses “Then, a ‘HasPrimitives’ determination can be made. In an example, this determination is implemented as a function call that executes on the programmable processor. This test would be implemented to determine whether a box is a leaf node that bounds primitives or not. If the box has primitives then, a PrimTestList instruction is reached, which generates an operation code to cause the referenced ray to be tested against a set of primitives referenced for Box A (e.g., stored in a memory location determinable from a location of Box A definition data.”; ¶0064, at least discloses “a thread can generate test operations, represented by operation codes, […] these operations can include operations to test a single ray with a single shape, to test multiple rays with a single shape, to test multiple shapes with a single ray, multiple rays with multiple shapes” [Wingdings font/0xE0] suggests the selected ray operation test (Opcode) is based upon whether the node (leaf node) bounds primitives or not. Whether a given leaf node contains primitives or not corresponds to the claimed "one parameter each from the at least one node.“ The selected ray operation (Opcode) is based on the number of rays (one parameter from the ray data). For example, certain selected ray operation tests are based on one ray while others are based on multiple rays). It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Mejdrich to incorporate the teachings of Clohset, and perform the selected ray operation test based upon at least one parameter each from the ray data and the at least one node into the Mejdrich’s teachings. The ray parameters allow more flexibility for different types of tests, e.g. the ability to test a ray or multiple rays at a time. The node parameter lets the system make sure that primitives are present in that node before any intersection testing is performed. Doing so would avoid unnecessary processing of any empty nodes for possible ray-primitive intersections. Regarding claim 9, Mejdrich in view of Clohset, discloses the method according to claim 8, and further discloses wherein the at least one parameter from the ray data is configurable per ray (Clohset- ¶0064, at least discloses “a thread can generate test operations, represented by operation codes […] these operations can include operations to test a single ray with a single shape, to test multiple rays with a single shape, to test multiple shapes with a single ray, multiple rays with multiple shapes” [Wingdings font/0xE0] suggests the command opcode is able to configure each ray to either be tested individually or have that ray included in a group with other rays for testing with one or more shapes) and the at least one parameter from the at least one node is configurable per node (Clohset- ¶0071, at least discloses “Then, a ‘HasPrimitives’ determination can be made. In an example, this determination is implemented as a function call that executes on the programmable processor. This test would be implemented to determine whether a box is a leaf node that bounds primitives or not. If the box has primitives then, a PrimTestList instruction is reached, which generates an operation code to cause the referenced ray to be tested against a set of primitives referenced for Box A (e.g., stored in a memory location determinable from a location of Box A definition data.”). In this passage, whether a given leaf node contains primitives or not corresponds to the claimed "the at least one parameter from the at least one node". This is configurable based upon how the 3D scene is setup and based upon how the nodes are designated to cover each area in the scene). It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Mejdrich to incorporate the teachings of Clohset, and the ray and node parameters to be configurable into the Mejdrich’s teachings in order at least one parameter from the ray data is configurable per ray and the at least one parameter from the at least one node is configurable per node. Doing so would allow the system to have greater flexibility in how ray testing is performed and greater flexibility in how the nodes are designated to cover and define each portion of the 3D scene Regarding claim 10, Mejdrich in view of Clohset, discloses the method according to claim 8, and further discloses wherein the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based on non- of the ray (Clohset- ¶0064, at least discloses “In one specific example, as with FIG. 1, a pre-determined set of operations can be represented by a set of operation codes. In the context of 3-D rendering, these operations can include operations to test a single ray with a single shape, to test multiple rays with a single shape, to test multiple shapes with a single ray, multiple rays with multiple shapes, queries of a database of light records, such as identifying the k nearest light records to a locus may be provided” [Wingdings font/0xE0] suggests the select ray operation test (the set operation code) is based upon nongeometric attributes such as whether to test one or multiple rays at the same time or queries to a database of light records) and the acceleration data structure (Mejdrich- ¶0051, at least discloses “A second type of secondary ray may be a transmitted ray. A transmitted ray may be used to determine what color light may be transmitted through the body of the object 52. A ray data structure representation of a transmitted ray may be created by the image system 10 when the object 52 intersected by the original ray has transparent or translucent properties. For instance, when the object includes colored glass, a transmitted ray intersecting the glass may be colored based on the color of the glass at the point at which the transmitted ray emerges from the colored glass. A transmitted ray may traverse through the object 52 at an angle relative to the angle at which the original ray struck the object 52” [Wingdings font/0xE0] suggests performing the selected ray operation test for the transmitted ray is based on non-geometric attributes of the object 52 contained in a given node in the ADS. In this passage, whether the object 52 is opaque, transparent, or translucent corresponds to the claimed "non-geometric attributes". Since, the object is contained in a given node in the ADS, the non-geometric attributes of the object 52 contained in that portion of the ADS also corresponds to "non-geometric attributes of the ADS"). It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Mejdrich to incorporate the teachings of Clohset, and performing the selected ray operation test based on nongeometric attributes of the ray into the Mejdrich’s teachings in order the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based on non-geometric attributes of the ray and the acceleration data structure. Doing so the non-geometric attribute of the ray allows more flexibility for different types of tests, e.g. the ability to test I ray or multiple rays at a time. Regarding claim 11, Mejdrich in view of Clohset, discloses the method according to claim 7, and further discloses wherein the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based upon one parameter from the at least one node (Clohset- ¶0071, at least discloses "Then, a 'HasPrimitives' determination can be made. In an example, this determination is implemented as a function call that executes on the programmable processor. This test would be implemented to determine whether a box is a leaf node that bounds primitives or not. If the box has primitives then, a PrimTestList instruction is reached, which generates an operation code to cause the referenced ray to be tested against a set of primitives referenced for Box A […] Otherwise, BoxTestList instruction is reached, which will generate an operation code to cause the referenced ray to be tested against a set of child acceleration structure elements of Box A" [Wingdings font/0xE0] suggests the selected ray operation corresponds to whether to ray test against primitives in the leaf node or whether to test against a set of child acceleration structure elements of Box A is based whether the leaf node contains primitives or not. Whether the leaf node contains primitives or not corresponds to the claimed "one parameter from the at least one node") and the opcode (Clohset- ¶0064, at least discloses “In a particular example, a thread can generate test operations, represented by operation codes, to be performed by ray tester 120. Such test operations can specify that a ray is to be tested for intersection with an identified shape or group of shapes, for example. In one specific example, as with FIG. 1, a predetermined set of operations can be represented by a set of operation codes. In the context of 3-D rendering, these operations can include operations to test a single ray with a single shape, to test multiple rays with a single shape, to test multiple shapes with a single ray, multiple rays with multiple shapes ...” [Wingdings font/0xE0] suggests the operation code (opcode) is used to select which ray operation test to perform. Clohset in paragraph [0064] lists several different ray operation tests to perform including: to test a single ray with a single shape, to test multiple rays with a single shape, and to test multiple shapes with a single ray). It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Mejdrich to incorporate the teachings of Clohset, and select the ray operation test based upon one parameter from the at least one node and the opcode into the Mejdrich’s teachings in order the performing an intersection test and an auxiliary ray operation test further comprises performing the selected ray operation test based upon one parameter from the at least one node and the opcode. Doing so would help organize and control the desired behavior by the ray tracing traversal system. For example, the opcodes provide a commands to control aspect of the ray tracing intersection processing while also keeping the command data size small for efficient storage and processing. Regarding claim 15, Mejdrich in view of Clohset, discloses a system (Mejdrich- Fig. 10 and ¶0026, at least disclose the system 10 includes a computer 30 coupled to a network 38) comprising a traversal coprocessor comprising hardware processing circuitry for traversing acceleration data structures (Mejdrich- Fig. 10 and ¶0026-0031, at least disclose The system 10 includes a computer 30 coupled to a network 38 […] The computer 30 may include at least one processor 12 coupled to a memory 32. The processor 12 may represent one or more processors (e.g., central processing units, microprocessors). The processor 12 of FIG. 1 may include a multiple core processing element. The memory 32 may include static random access memory (SRAM) devices, the main storage 42 of the computer 30, and supplemental levels of non-transitory memory, e.g., cache memories, non-volatile or backup memories (e.g., programmable or flash memories), read-only memories, etc […] The computer 30 may execute various computer software and hardware applications, components, programs, and modules. In FIG. 1, the system 10 may include a culling algorithm 41, a main memory storage 42, an image rendering algorithm 43, a ray tracing program 44, an accelerated data structure (ADS) construction algorithm 45, a distance determination program 46, a graphics card program code 47, and a physics engine 48), configured to perform the method of claim 1. 16. Claim 12 is rejected under 35 U.S.C. 103 as being unpatentable over Mejdrich in view of Clohset, further in view of Park et al., (“Park”) [US-2012/0050289-A1] Regarding claim 12, Mejdrich in view of Clohset, discloses the method according to claim 7, and does not explicitly disclose, but Park discloses wherein the perform at least one of changing a state of the traversing or selecting an output data (see Claim 1 rejection for detailed analysis) further comprises changing, based on said one or more mode flags, an order in which respective nodes in the accelerated data structure are traversed during said traversing (Park- ¶0089-0090, at least disclose “an order of a child node may be modified as according to an ordered DFL (ODFL) using a visit probability of a ray with respect to each node […] For example, a node determined as having a relatively high visit probability is set as the left child node and a node determined as having a relatively low visit probability is set as the right child node. As described above, since the spatial locality exists between the parent node and the left child node in the DLF, the cache efficiency may be increased by changing the order as above, which is described above with reference to FIG. 3 through FIG. 5.”; ¶0091, at least discloses “The tree traversal using the ODFL with respect to the generated acceleration structure is nearly similar to a general tree traversal. However, to visit each node in a front-to-back order, the inverse flag of a single bit set by the flag setting unit 130 when generating the tree may be used”). It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Mejdrich/Clohset to incorporate the teachings of Park, and changing, based on said one or more mode flags, an order in which respective nodes in the accelerated data structure are traversed during said traversing into the Mejdrich/Clohset’s teachings in order the perform at least one of changing a state of the traversing or selecting an output data further comprises changing, based on said one or more mode flags, an order in which respective nodes in the accelerated data structure are traversed during said traversing. Doing so would improve cache efficiency. 17. Claim 13 is rejected under 35 U.S.C. 103 as being unpatentable over Mejdrich in view of Clohset, further in view of Fuetterling et al., (“Fuetterling”) [US-2019/0035138-A1] Regarding claim 13, Mejdrich in view of Clohset, discloses the method according to claim 7, and does not explicitly disclose, but Fuetterling discloses wherein said mode flag is selected further based on a node type of the at least one node (Fuetterling- ¶0127, at least discloses " ... the node data, which may includes a flag to indicate an inner node or a leaf" [Wingdings font/0xE0] suggests a mode flag is selected based upon whether the node is an inner node type or a leaf node type). It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Mejdrich/Clohset to incorporate the teachings of Fuetterling, and changing, based on said one or more mode flags, an order in which respective nodes in the accelerated data structure are traversed during said traversing into the Mejdrich/Clohset’s teachings in order the perform at least one of changing a state of the traversing or selecting an output data further comprises changing, based on said one or more mode flags, an order in which respective nodes in the accelerated data structure are traversed during said traversing. Doing so would quickly determine whether the node is an inner node or leaf node type when rays are traversing the ADS for scene rendering. 18. Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Mejdrich in view of Clohset, further in view of Fowler et al., (“Fowler”) [US-2008/0192054-A1] Regarding claim 14, Mejdrich in view of Clohset, discloses the method according to claim 7, and does not explicitly disclose, but Fowler discloses wherein the perform at least one of changing a state of the traversing or selecting an output data further comprises dynamically changing, based on one or more said mode flags, a structure of the accelerated data structure by culling a portion of the accelerated data structure (Fowler- Figs. 10-11 show culling a portion of the accelerated data structure. For example, in figure 10 of Fowler, a truck node object 6101 moves from bounding volume BV1 to BV4 in the bounding volumes that are part of the accelerated data structure. Figure 11 of Fowler shows that in response to this movement, a portion of the accelerated data structure from BV2 is culled to reflect this movement. This dynamic changing is based upon one or more mode flags because these flags are used to mark object nodes for the physics engine; ¶0100, at least discloses "In order for a physics engine 505 or an image processing system to determine if a node corresponds to an object or to a bounding volume, each node within the integrated acceleration data structure may contain an object node flag or bit. The object node bit may be a single bit located within the memory space which defines a node within the integrated acceleration data structure 900. According to one embodiment of the invention, if a node within the spatial index is an object node, the object node bit may be asserted”). It would have been obvious to one of ordinary in the art before the effective filing date of the claimed invention to have modified Mejdrich/Clohset to incorporate the teachings of Fowler, to dynamically change, based on said one or more mode flags, a structure of the accelerated data structure by culling a portion of the accelerated data structure into the Mejdrich/Clohset’s teachings in order the perform at least one of changing a state of the traversing or selecting an output data further comprises dynamically changing, based on one or more said mode flags, a structure of the accelerated data structure by culling a portion of the accelerated data structure. Doing so the ADS may be updated accurately in order to reflect dynamic movement of objects within the scene between rendered frames. Allowable Subject Matter 19. Claims 2-6 and 16-20 are 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. 20. The following is a statement of reasons for the indication of allowable subject matter: Regarding Claim 2, the combination of prior arts teaches the method of Claim 1. However in the context of claim 1 and 2 as a whole, the combination of prior arts does not teach selecting a mode flag from one of a first set of one or more mode flags associated with a first type of intersection test or a second set of one or more mode flags associated with a second type of intersection test based on whether the performed intersection test is of the first type or of the second type, and wherein the performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray is based at least on the selected mode flag. Therefore, Claim 2 in the context of claim 1 as a whole does comprise allowable subject matter. The dependent claims 3-6 depends directly or indirectly from claim 2, and therefore also contain allowable subject matter. Regarding Claim 16, the combination of prior arts teaches the method of Claim 15. However in the context of claim 15 and 16 as a whole, the combination of prior arts does not teach selecting a mode flag from one of a first set of one or more mode flags associated with a first type of intersection test or a second set of one or more mode flags associated with a second type of intersection test based on whether the performed intersection test is of the first type or of the second type, and wherein the performing at least one of changing a state of the traversing and selecting an output data corresponding to one or more nodes of the acceleration data structure intersected by the ray is based at least on the selected mode flag. Therefore, Claim 16 in the context of claim 15 as a whole does comprise allowable subject matter. The dependent claims 17-20 depends directly or indirectly from claim 16, and therefore also contain allowable subject matter. Conclusion 21. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. They are as recited in the attached PTO-892 form. 22. Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHAEL LE whose telephone number is (571)272-5330. The examiner can normally be reached 9am-5pm. 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, Kent Chang can be reached at (571) 272-7667. 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. /MICHAEL LE/Primary Examiner, Art Unit 2614
Read full office action

Prosecution Timeline

Dec 06, 2024
Application Filed
Jul 20, 2026
Non-Final Rejection mailed — §103, §DOUBLEPATENT (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12675922
SYSTEMS AND METHODS FOR TRANSFERRING MARKINGS
2y 5m to grant Granted Jul 07, 2026
Patent 12675647
IMAGE INPAINTING USING A CONTENT PRESERVATION VALUE
2y 10m to grant Granted Jul 07, 2026
Patent 12675944
Passthrough Pipeline
2y 1m to grant Granted Jul 07, 2026
Patent 12675840
LATE WARPING TO MINIMIZE LATENCY OF MOVING OBJECTS
1y 12m to grant Granted Jul 07, 2026
Patent 12670653
System and Method for the 3D Thermal Imaging Capturing and Visualization
2y 9m to grant Granted Jun 30, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
66%
Grant Probability
88%
With Interview (+22.0%)
3y 3m (~1y 7m remaining)
Median Time to Grant
Low
PTA Risk
Based on 889 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month