DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
The amendment filed March 3, 2026 has been entered. Claims 1-5, 7-14, and 16-22 remain pending in the application. Applicant’s amendments to the Specification and Claims have overcome objections previously set forth in the Non-Final Office Action mailed December 3, 2025.
Response to Arguments
Applicant’s arguments, see Pages 15-16 of Remarks, filed March 3, 2026, with respect to the rejection(s) of claim(s) 1, 10, and 19 under 35 USC 102(a)(1) have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Moreau et al. (Dynamic Many-Light Sampling for Real-Time Ray Tracing).
Specification
The disclosure is objected to because of the following informalities:
In paragraph 0024, Fig. 12 is described as a flowchart, but Fig. 12 is not a flowchart.
Appropriate correction is required.
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 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.
Claims 1-2, 5, 8, 10-11, 14, 17, 19-20, and 22 are rejected under 35 U.S.C. 103 as being unpatentable over Zhou et al. (CN 114549730 A) in view of Moreau et al. (Dynamic Many-Light Sampling for Real-Time Ray Tracing), and Vegdahl (Light Trees and The Many Lights Problem), hereinafter Zhou, Moreau, and Vegdahl respectively.
Regarding claim 1, Zhou teaches a virtual scene rendering method performed by a computer device (Paragraph 0045, 0047, 0056 – “The method for determining the light source sampling weights for multi-light source scene rendering provided in this application embodiment can be executed by an electronic device…electronic device 10 may include processor 101 and memory 102. The processor 101 may include a central processing unit (CPU) and a graphics processing unit (GPU)…Figure 2 is a flowchart illustrating a method for determining the light source sampling weights in multi-light source scene rendering”), the method comprising:
determining a target light source type among a plurality of candidate light source types for a target point in a virtual scene (Paragraph 0091, 0095, 0097 – “The processor determines the light source sampling weight corresponding to each light source under the target rendering viewpoint based on the irradiance information in each first rendered image…the irradiance information of each first rendered image obtained after single-source ray tracing rendering of each light source is used to determine the light source sampling weight corresponding to each light source. This light source sampling weight can increase the probability of selecting the light source with a larger light source sampling weight during multi-source ray tracing rendering… The virtual rendering camera emits a target rendering ray into the scene to be rendered. The point where the target rendering ray intersects with any object in the scene is the target intersection point on the surface of that object. From the perspective of target rendering, multiple light samples are taken from each light source based on the target intersection point to obtain the irradiance of the target intersection point under each light sample”; Note: the target light source type consists of light sources with larger sampling weights, and each light source is a candidate light source);
performing light source sampling on the target point to obtain a target light source that matches the target light source type (Paragraph 0091, 0095, 0102 – “The processor determines the light source sampling weight corresponding to each light source under the target rendering viewpoint based on the irradiance information in each first rendered image… a more suitable light source can be selected during the multi-light source ray tracing rendering process…the processor eliminates each light source by setting a preset threshold. For example, if the preset threshold is 0.3, then light sources with a sampling weight of no more than 0.3 (such as light source 1 in Table 3) are not within the light source selection range for ray tracing rendering, that is, light source 1 does not participate in the ray tracing rendering calculation”; Note: light source sampling is performed to obtain light sources within the light source selection range, which is equivalent to the target light source type);
and rendering the target point based on the target light source (Paragraph 0096-0097 – “based on the light source sampling weights corresponding to each light source under the target rendering view obtained in step S203, the processor can perform multi-light source ray tracing rendering of the scene to be rendered under the target rendering view to obtain the second rendering image of the scene to be rendered under multi-light source illumination…The processor obtains the second irradiance of the target intersection point, which is projected onto the second rendered image by the target rendering ray in each lighting sample”).
Zhou does not teach wherein the plurality of candidate light source types include a virtual light source type and a luminous object light source type; determining a light source bounding volume hierarchy pre-constructed for the target light source type, a node in the light source bounding volume hierarchy being used for recording light sources in the virtual scene that match the target light source type; nor the target light source type being at least one of the virtual light source type and the luminous object light source type. However, Moreau teaches wherein the plurality of candidate light source types include a virtual light source type and a luminous object light source type (Paragraph 4 in 2nd Col. of Page 2, Paragraph 3 in 1st Col. of Page 3, Fig. 3 Caption – “This algorithm can be applied to point or area lights, as well as emissive triangles…We have found that storing each emissive mesh in its own BLAS generally gives a good balance. Figure 3 shows an example from one of our test scenes… Each yellow box is the root node of a bottom-level acceleration structure (BLAS), here shown for the Bistro scene. Notice that both static light sources, e.g., the street lights and hanging light bulbs, and dynamic emissive objects are each represented by one or more BLASes”; Note: there is a virtual light source type, such as point lights like light bulbs, and a luminous object light source type (emissive objects)); determining a light source bounding volume hierarchy pre-constructed for the target light source type, a node in the light source bounding volume hierarchy being used for recording light sources in the virtual scene that match the target light source type (Paragraph 3-4 in 1st Col. of Page 3 – “We have found that storing each emissive mesh in its own BLAS generally gives a good balance. Figure 3 shows an example from one of our test scenes… We sample our two-level light BVH by first traversing the TLAS down to a leaf node by evaluating an importance function [CEK18] for each of the current node’s children and stochastically selecting one of them. Each leaf node points to a BLAS, and the same technique is used to select a light in it. The overall probability of sampling a light is the product of the probability of sampling the BLAS it is in and the probability of sampling it in its BLAS”; Note: the BLAS is equivalent to the light source bounding volume hierarchy pre-constructed for an emissive mesh, which is the target light source type (luminous object type). Light that is sampled from the BLAS matches the light source type since it contains emissive/luminous object light); and the target light source type being at least one of the virtual light source type and the luminous object light source type (Paragraph 3 in 1st Col. of Page 3, Fig. 3 Caption – “We have found that storing each emissive mesh in its own BLAS generally gives a good balance. Figure 3 shows an example from one of our test scenes… Each yellow box is the root node of a bottom-level acceleration structure (BLAS), here shown for the Bistro scene. Notice that both static light sources, e.g., the street lights and hanging light bulbs, and dynamic emissive objects are each represented by one or more BLASes”; Note: the emissive objects are equivalent to luminous object light sources, and in this case, the target light source type is the luminous object light source type). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to have the candidate and target light source type include a virtual light source type and a luminous object light source type because there are a finite number of light source types, which include virtual and luminous object types. One of ordinary skill in the art could have used either a virtual or luminous object light source type in the sampling process with a reasonable expectation of success and would have done so for the benefit of determining the important light sources of a specific type within a scene. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to determine a light source bounding volume hierarchy pre-constructed for a target light source type because “The cost of hierarchy updates is kept low if static geometry is stored separately from dynamic objects. With light BVHs, that partitioning is not ideal for static lights as it would lead to large BVH nodes and therefore poor estimates of node contributions due to having many emissive primitives and high uncertainty regarding their positions and orientations within the node. Other strategies such as sorting based on material can similarly be counterproductive; see Figure 2. We have found that storing each emissive mesh in its own BLAS generally gives a good balance” (Moreau: paragraph 2-3 in 1st Col. of Page 3). In other words, having a BVH contain only a specific light source type, like emissive object type, allows for efficient BVH updates and rendering, especially when the light may change in the scene. Additionally, BVHs are beneficial for determining which light sources are important, which makes rendering scenes with many light sources more efficient.
Zhou modified by Moreau still does not teach using a root node of the light source bounding volume hierarchy as a target node of a current-round node sampling; determining a node sampling weight range of each sub-node under the target node to the target point; obtaining a node sampling random number for the current-round node sampling; determining a sampled node of the current-round node sampling among sub- nodes under the target node when the node sampling random number falls into the node sampling weight range; and using the sampled node as the target node of the current-round node sampling for a next-round node sampling; iteratively performing the operations of determining a node sampling weight range of each sub-node under the target node and obtaining a node sampling random number for the next-round node sampling until a node sampling iteration stop condition is satisfied, wherein the node sampling iteration stop condition is that the sampled node determined in a final iteration is a leaf node of the light source bounding volume hierarchy, or a quantity of node sampling iterations reaches a preset quantity of node samplings; and determining, from light sources of the sampled node determined in the final iteration, the target light source that match the target light source type. However, Vegdahl teaches
using a root node of the light source bounding volume hierarchy as a target node of a current-round node sampling (Paragraph 7 on Page 8 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child”; Note: sampling starts by checking the root node, which initially makes it the target node);
determining a node sampling weight range of each sub-node under the target node to the target point (Paragraph 7 on Page 8, Paragraph 2 on Page 9, Paragraph 1 on Page 11 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node…This particular render uses a pretty simple weighting function: it assumes the shading point is lambert, treats the node as a spherical light, and just uses the analytic formula for lambert shading from a spherical light”; Note: the modified screenshot of the code below shows the weight range in the if-else statement. The weight ranges are from 0 to child_1_p and child_1_p to 1. “child_1_p” is calculated from the weight of the first child node);
obtaining a node sampling random number for the current-round node sampling (Paragraph 4 on Page 9, Code on Page 10 – “our light selection process is the following pseudocode, where tree_root is the root node of the light tree, shading_point is the data of the point we're shading, and n is a random number in the range [0, 1)”; Note: the code shows how a random number is used for node sampling in the current round; see modified screenshot of the code below);
determining a sampled node of the current-round node sampling among sub- nodes under the target node when the node sampling random number falls into the node sampling weight range (Paragraph 7 on Page 8, Paragraph 2 and 4 on Page 9, Paragraph 1 on Page 11, Code on Page 10 – “1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node… our light selection process is the following pseudocode, where tree_root is the root node of the light tree, shading_point is the data of the point we're shading, and n is a random number in the range [0, 1)…This particular render uses a pretty simple weighting function: it assumes the shading point is lambert, treats the node as a spherical light, and just uses the analytic formula for lambert shading from a spherical light”; Note: the child that is selected for traversal is equivalent to the sampled node. It is selected based on which weight range the random number falls into; see if-else statement in Code below);
and using the sampled node as the target node of the current-round node sampling for a next-round node sampling (Paragraph 7 on Page 8 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child”; Note: the child that is selected for traversal is equivalent to the sampled node);
iteratively performing the operations of determining a node sampling weight range of each sub-node under the target node and obtaining a node sampling random number for the next-round node sampling until a node sampling iteration stop condition is satisfied (Paragraph 7 on Page 8, Paragraph 1 on Page 9 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node”; Note: step 1 of determining the node sampling weight is repeated until a leaf is reached. The modified screenshot of code shown below demonstrates how the random number is set for the next-round for each loop iteration),
wherein the node sampling iteration stop condition is that the sampled node determined in a final iteration is a leaf node of the light source bounding volume hierarchy (Paragraph 7 on Page 8 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child”; Note: step 3 has the stop condition, where the process stops if the node is a leaf);
and determining, from light sources of the sampled node determined in the final iteration, the target light source that match the target light source type (Paragraph 7 on Page 8, Paragraph 1 on Page 9 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node”; Note: in the final round when the selected child is a leaf, the light sources in the node are returned/sampled. The light sources match the target light source type since the selection is based on a weight of contribution).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Vegdahl to have a light source bounding volume hierarchy for the benefit of noise reduction and efficient rendering (Vegdahl: Page 4-5). Specifically, the bounding volume hierarchy assists in sampling light sources by approximating light measurements (Vegdahl: Paragraph 1 on Page 9) and avoiding less important light sources during traversal; it is a common data structure used in rendering light. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Vegdahl to determine a sampled node based on whether a random number falls into a weight range and iteratively performing sampling because the random number helps to reduce bias and the weight range helps to indicate the more important light sources. Additionally, the hierarchy is traversed until a leaf is obtained for the benefit of finding the light source that best represents the target given the conditions.
PNG
media_image1.png
663
868
media_image1.png
Greyscale
Modified Screenshot of Code (taken from Vegdahl)
Regarding claim 2, Zhou in view of Moreau and Vegdahl teaches the method according to claim 1. Zhou further teaches wherein the determining a target light source type among a plurality of candidate light source types comprises: determining a light source sampling mode corresponding to the virtual scene (Paragraph 0102 – “the sampling weight of each target light source in the target rendering view is greater than a preset threshold. In other words, the processor eliminates each light source by setting a preset threshold. For example, if the preset threshold is 0.3, then light sources with a sampling weight of no more than 0.3 (such as light source 1 in Table 3) are not within the light source selection range for ray tracing rendering, that is, light source 1 does not participate in the ray tracing rendering calculation”; Note: the light source sampling mode is determined by choosing the threshold. If the threshold is extremely low or at zero, then full sampling will occur. Otherwise, partial sampling will occur); and selecting a corresponding subset of the plurality of candidate light source types as a target light source type when the light source sampling mode is a first sampling mode (Paragraph 0102 – “the sampling weight of each target light source in the target rendering view is greater than a preset threshold. In other words, the processor eliminates each light source by setting a preset threshold. For example, if the preset threshold is 0.3, then light sources with a sampling weight of no more than 0.3 (such as light source 1 in Table 3) are not within the light source selection range for ray tracing rendering, that is, light source 1 does not participate in the ray tracing rendering calculation”; Note: a subset of candidate light sources are selected when there is a threshold. When there is a threshold, partial sampling occurs, which is equivalent to a first sampling mode).
Regarding claim 5, Zhou in view of Moreau and Vegdahl teaches the method according to claim 1. Zhou does not teach wherein the performing light source sampling on the target point to obtain a target light source that matches the target light source type comprises: when the target light source type comprises a luminous object light source type, sampling luminous object light sources in the virtual scene based on a luminous object light source bounding volume hierarchy pre-constructed for the luminous object light sources to obtain the target light source that matches the target light source type, the luminous object light sources being light sources in the virtual scene that match the luminous object light source type, and a node in the luminous object light source bounding volume hierarchy being used for recording the luminous object light sources in the virtual scene. However, Moreau teaches when the target light source type comprises a luminous object light source type, sampling luminous object light sources in the virtual scene based on a luminous object light source bounding volume hierarchy pre-constructed for the luminous object light sources to obtain the target light source that matches the target light source type (Fig. 1 Caption on Page 2, Paragraph 3-4 in 1st Col. of Page 3, Fig. 3 – “Light sources are stored in a bounding volume hierarchy (illustrated in 2D on the left, and as a tree on the right). To sample a light at a shading point x, the tree is stochastically traversed by estimating the contributions from the two children (light clusters) at each node. Important clusters are given a higher priority and a random decision is made about which branch to follow… Figure 3 shows an example from one of our test scenes… We sample our two-level light BVH by first traversing the TLAS down to a leaf node by evaluating an importance function [CEK18] for each of the current node’s children and stochastically selecting one of them. Each leaf node points to a BLAS, and the same technique is used to select a light in it. The overall probability of sampling a light is the product of the probability of sampling the BLAS it is in and the probability of sampling it in its BLAS”; Note: Fig. 3 shows luminous object light sources. The luminous object light sources are sampled using a bounding volume hierarchy; see screenshots of Fig. 1 and 3 below), the luminous object light sources being light sources in the virtual scene that match the luminous object light source type (Paragraph 3-4 in 1st Col. of Page 3, Fig. 3 Caption – “Figure 3 shows an example from one of our test scenes… Each yellow box is the root node of a bottom-level acceleration structure (BLAS), here shown for the Bistro scene. Notice that both static light sources, e.g., the street lights and hanging light bulbs, and dynamic emissive objects are each represented by one or more BLASes, here in total 142 for the full scene”; Note: Fig. 3 shows a virtual scene with luminous object light sources, and thus, the light sources are of the luminous object light source type), and a node in the luminous object light source bounding volume hierarchy being used for recording the luminous object light sources in the virtual scene (Fig. 1 Caption on Page 2, Paragraph 3-4 in 1st Col. of Page 3, Fig. 3 – “Light sources are stored in a bounding volume hierarchy (illustrated in 2D on the left, and as a tree on the right). To sample a light at a shading point x, the tree is stochastically traversed by estimating the contributions from the two children (light clusters) at each node. Important clusters are given a higher priority and a random decision is made about which branch to follow… Figure 3 shows an example from one of our test scenes…Each leaf node points to a BLAS, and the same technique is used to select a light in it”; Note: the node in the BVH stores light sources, and Fig. 3 shows examples of the luminous light sources). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to use a bounding volume hierarchy to sample luminous object light sources because “The BVH allows hierarchical approximation of these quantities, reducing the per-sample complexity from O(n) to O(logn) and making it feasible to perform these computations at every shading point” (Moreau: Paragraph 4 in 2nd Col. of Page 2). In other words, bounding volume hierarchies are useful for efficient sampling since they approximate the light measurements, rather than having to calculate them exactly every time. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to record the luminous object light sources as nodes in the bounding volume hierarchy because luminous objects may be in various locations within a scene, can have multiple parts, and can have varying sizes; the bounding volume hierarchy makes it easier to categorize the objects and understand where the lights are coming from, where they are located in the scene, and how much they affect the scene.
PNG
media_image2.png
179
519
media_image2.png
Greyscale
Screenshot of Fig. 1 (taken from Moreau)
PNG
media_image3.png
432
474
media_image3.png
Greyscale
Screenshot of Fig. 3 (taken from Moreau)
Regarding claim 8, Zhou in view of Moreau and Vegdahl teaches the method according to claim 1. Zhou further teaches wherein the rendering the target point based on the target light sources obtained by respective light source samplings comprises: sampling, for each target light source, at least one light source point from the target light source (Paragraph 0097 – “The virtual rendering camera emits a target rendering ray into the scene to be rendered. The point where the target rendering ray intersects with any object in the scene is the target intersection point on the surface of that object. From the perspective of target rendering, multiple light samples are taken from each light source based on the target intersection point to obtain the irradiance of the target intersection point under each light sample”; Note: the light samples are equivalent to the light source points); and rendering the target point based on the light source points respectively corresponding to the target light sources (Paragraph 0096, 0102, 0137 – “based on the light source sampling weights corresponding to each light source under the target rendering view obtained in step S203, the processor can perform multi-light source ray tracing rendering of the scene to be rendered under the target rendering view to obtain the second rendering image of the scene to be rendered under multi-light source illumination… the processor eliminates each light source by setting a preset threshold. For example, if the preset threshold is 0.3, then light sources with a sampling weight of no more than 0.3 (such as light source 1 in Table 3) are not within the light source selection range for ray tracing rendering, that is, light source 1 does not participate in the ray tracing rendering calculation…The determination module 1502 is also used to determine the rendering display information of the target intersection point under multi-source lighting based on the second irradiance of the target intersection point under multiple lighting samples and the object attributes of the object where the target intersection point is located”; Note: the target point is rendered based on lighting samples, which are light source points corresponding to the target light sources. The target light sources are the ones that meet the selection range).
Regarding claim 10, Zhou teaches a computer device, comprising a memory and one or more processors, the memory having computer-readable instructions stored therein, and the computer-readable instructions, when executed by the processor, causing the computer device to perform a virtual scene rendering method (Paragraph 0047, 0050, 0054, 0141 – “electronic device 10 may include processor 101 and memory 102… the processor can be used to execute the method for determining the light source sampling weights for multi-light source scene rendering provided in the embodiments of this application…The memory 102 is used to store instructions and rendering data…The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments”) including:
determining a target light source type among a plurality of candidate light source types for a target point in a virtual scene (Paragraph 0091, 0095, 0097 – “The processor determines the light source sampling weight corresponding to each light source under the target rendering viewpoint based on the irradiance information in each first rendered image…the irradiance information of each first rendered image obtained after single-source ray tracing rendering of each light source is used to determine the light source sampling weight corresponding to each light source. This light source sampling weight can increase the probability of selecting the light source with a larger light source sampling weight during multi-source ray tracing rendering… The virtual rendering camera emits a target rendering ray into the scene to be rendered. The point where the target rendering ray intersects with any object in the scene is the target intersection point on the surface of that object. From the perspective of target rendering, multiple light samples are taken from each light source based on the target intersection point to obtain the irradiance of the target intersection point under each light sample”; Note: the target light source type consists of light sources with larger sampling weights, and each light source is a candidate light source);
performing light source sampling on the target point to obtain a target light source that matches the target light source type (Paragraph 0091, 0095, 0102 – “The processor determines the light source sampling weight corresponding to each light source under the target rendering viewpoint based on the irradiance information in each first rendered image… a more suitable light source can be selected during the multi-light source ray tracing rendering process…the processor eliminates each light source by setting a preset threshold. For example, if the preset threshold is 0.3, then light sources with a sampling weight of no more than 0.3 (such as light source 1 in Table 3) are not within the light source selection range for ray tracing rendering, that is, light source 1 does not participate in the ray tracing rendering calculation”; Note: light source sampling is performed to obtain light sources within the light source selection range, which is equivalent to the target light source type);
and rendering the target point based on the target light source (Paragraph 0096-0097 – “based on the light source sampling weights corresponding to each light source under the target rendering view obtained in step S203, the processor can perform multi-light source ray tracing rendering of the scene to be rendered under the target rendering view to obtain the second rendering image of the scene to be rendered under multi-light source illumination…The processor obtains the second irradiance of the target intersection point, which is projected onto the second rendered image by the target rendering ray in each lighting sample”).
Zhou does not teach wherein the plurality of candidate light source types include a virtual light source type and a luminous object light source type; determining a light source bounding volume hierarchy pre-constructed for the target light source type, a node in the light source bounding volume hierarchy being used for recording light sources in the virtual scene that match the target light source type; nor the target light source type being at least one of the virtual light source type and the luminous object light source type. However, Moreau teaches wherein the plurality of candidate light source types include a virtual light source type and a luminous object light source type (Paragraph 4 in 2nd Col. of Page 2, Paragraph 3 in 1st Col. of Page 3, Fig. 3 Caption – “This algorithm can be applied to point or area lights, as well as emissive triangles…We have found that storing each emissive mesh in its own BLAS generally gives a good balance. Figure 3 shows an example from one of our test scenes… Each yellow box is the root node of a bottom-level acceleration structure (BLAS), here shown for the Bistro scene. Notice that both static light sources, e.g., the street lights and hanging light bulbs, and dynamic emissive objects are each represented by one or more BLASes”; Note: there is a virtual light source type, such as point lights like light bulbs, and a luminous object light source type (emissive objects)); determining a light source bounding volume hierarchy pre-constructed for the target light source type, a node in the light source bounding volume hierarchy being used for recording light sources in the virtual scene that match the target light source type (Paragraph 3-4 in 1st Col. of Page 3 – “We have found that storing each emissive mesh in its own BLAS generally gives a good balance. Figure 3 shows an example from one of our test scenes… We sample our two-level light BVH by first traversing the TLAS down to a leaf node by evaluating an importance function [CEK18] for each of the current node’s children and stochastically selecting one of them. Each leaf node points to a BLAS, and the same technique is used to select a light in it. The overall probability of sampling a light is the product of the probability of sampling the BLAS it is in and the probability of sampling it in its BLAS”; Note: the BLAS is equivalent to the light source bounding volume hierarchy pre-constructed for an emissive mesh, which is the target light source type (luminous object type). Light that is sampled from the BLAS matches the light source type since it contains emissive/luminous object light); and the target light source type being at least one of the virtual light source type and the luminous object light source type (Paragraph 3 in 1st Col. of Page 3, Fig. 3 Caption – “We have found that storing each emissive mesh in its own BLAS generally gives a good balance. Figure 3 shows an example from one of our test scenes… Each yellow box is the root node of a bottom-level acceleration structure (BLAS), here shown for the Bistro scene. Notice that both static light sources, e.g., the street lights and hanging light bulbs, and dynamic emissive objects are each represented by one or more BLASes”; Note: the emissive objects are equivalent to luminous object light sources, and in this case, the target light source type is the luminous object light source type). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to have the candidate and target light source type include a virtual light source type and a luminous object light source type because there are a finite number of light source types, which include virtual and luminous object types. One of ordinary skill in the art could have used either a virtual or luminous object light source type in the sampling process with a reasonable expectation of success and would have done so for the benefit of determining the important light sources of a specific type within a scene. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to determine a light source bounding volume hierarchy pre-constructed for a target light source type because “The cost of hierarchy updates is kept low if static geometry is stored separately from dynamic objects. With light BVHs, that partitioning is not ideal for static lights as it would lead to large BVH nodes and therefore poor estimates of node contributions due to having many emissive primitives and high uncertainty regarding their positions and orientations within the node. Other strategies such as sorting based on material can similarly be counterproductive; see Figure 2. We have found that storing each emissive mesh in its own BLAS generally gives a good balance” (Moreau: paragraph 2-3 in 1st Col. of Page 3). In other words, having a BVH contain only a specific light source type, like emissive object type, allows for efficient BVH updates and rendering, especially when the light may change in the scene. Additionally, BVHs are beneficial for determining which light sources are important, which makes rendering scenes with many light sources more efficient.
Zhou modified by Moreau still does not teach using a root node of the light source bounding volume hierarchy as a target node of a current-round node sampling; determining a node sampling weight range of each sub-node under the target node to the target point; obtaining a node sampling random number for the current-round node sampling; determining a sampled node of the current-round node sampling among sub- nodes under the target node when the node sampling random number falls into the node sampling weight range; and using the sampled node as the target node of the current-round node sampling for a next-round node sampling; iteratively performing the operations of determining a node sampling weight range of each sub-node under the target node and obtaining a node sampling random number for the next-round node sampling until a node sampling iteration stop condition is satisfied, wherein the node sampling iteration stop condition is that the sampled node determined in a final iteration is a leaf node of the light source bounding volume hierarchy, or a quantity of node sampling iterations reaches a preset quantity of node samplings; and determining, from light sources of the sampled node determined in the final iteration, the target light source that match the target light source type. However, Vegdahl teaches
using a root node of the light source bounding volume hierarchy as a target node of a current-round node sampling (Paragraph 7 on Page 8 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child”; Note: sampling starts by checking the root node, which initially makes it the target node);
determining a node sampling weight range of each sub-node under the target node to the target point (Paragraph 7 on Page 8, Paragraph 2 on Page 9, Paragraph 1 on Page 11 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node…This particular render uses a pretty simple weighting function: it assumes the shading point is lambert, treats the node as a spherical light, and just uses the analytic formula for lambert shading from a spherical light”; Note: the modified screenshot of the code below shows the weight range in the if-else statement. The weight ranges are from 0 to child_1_p and child_1_p to 1. “child_1_p” is calculated from the weight of the first child node);
obtaining a node sampling random number for the current-round node sampling (Paragraph 4 on Page 9, Code on Page 10 – “our light selection process is the following pseudocode, where tree_root is the root node of the light tree, shading_point is the data of the point we're shading, and n is a random number in the range [0, 1)”; Note: the code shows how a random number is used for node sampling in the current round; see modified screenshot of the code above);
determining a sampled node of the current-round node sampling among sub- nodes under the target node when the node sampling random number falls into the node sampling weight range (Paragraph 7 on Page 8, Paragraph 2 and 4 on Page 9, Paragraph 1 on Page 11, Code on Page 10 – “1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node… our light selection process is the following pseudocode, where tree_root is the root node of the light tree, shading_point is the data of the point we're shading, and n is a random number in the range [0, 1)…This particular render uses a pretty simple weighting function: it assumes the shading point is lambert, treats the node as a spherical light, and just uses the analytic formula for lambert shading from a spherical light”; Note: the child that is selected for traversal is equivalent to the sampled node. It is selected based on which weight range the random number falls into; see if-else statement in screenshot of Code above);
and using the sampled node as the target node of the current-round node sampling for a next-round node sampling (Paragraph 7 on Page 8 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child”; Note: the child that is selected for traversal is equivalent to the sampled node);
iteratively performing the operations of determining a node sampling weight range of each sub-node under the target node and obtaining a node sampling random number for the next-round node sampling until a node sampling iteration stop condition is satisfied (Paragraph 7 on Page 8, Paragraph 1 on Page 9 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node”; Note: step 1 of determining the node sampling weight is repeated until a leaf is reached. The modified screenshot of code shown above demonstrates how the random number is set for the next-round for each loop iteration),
wherein the node sampling iteration stop condition is that the sampled node determined in a final iteration is a leaf node of the light source bounding volume hierarchy (Paragraph 7 on Page 8 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child”; Note: step 3 has the stop condition, where the process stops if the node is a leaf);
and determining, from light sources of the sampled node determined in the final iteration, the target light source that match the target light source type (Paragraph 7 on Page 8, Paragraph 1 on Page 9 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node”; Note: in the final round when the selected child is a leaf, the light sources in the node are returned/sampled. The light sources match the target light source type since the selection is based on a weight of contribution).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Vegdahl to have a light source bounding volume hierarchy for the benefit of noise reduction and efficient rendering (Vegdahl: Page 4-5). Specifically, the bounding volume hierarchy assists in sampling light sources by approximating light measurements (Vegdahl: Paragraph 1 on Page 9) and avoiding less important light sources during traversal; it is a common data structure used in rendering light. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Vegdahl to determine a sampled node based on whether a random number falls into a weight range and iteratively performing sampling because the random number helps to reduce bias and the weight range helps to indicate the more important light sources. Additionally, the hierarchy is traversed until a leaf is obtained for the benefit of finding the light source that best represents the target given the conditions.
Regarding claim 11, Zhou in view of Moreau and Vegdahl teaches the computer device according to claim 10. Zhou further teaches wherein the determining a target light source type among a plurality of candidate light source types comprises: determining a light source sampling mode corresponding to the virtual scene (Paragraph 0102 – “the sampling weight of each target light source in the target rendering view is greater than a preset threshold. In other words, the processor eliminates each light source by setting a preset threshold. For example, if the preset threshold is 0.3, then light sources with a sampling weight of no more than 0.3 (such as light source 1 in Table 3) are not within the light source selection range for ray tracing rendering, that is, light source 1 does not participate in the ray tracing rendering calculation”; Note: the light source sampling mode is determined by choosing the threshold. If the threshold is extremely low or at zero, then full sampling will occur. Otherwise, partial sampling will occur); and selecting a corresponding subset of the plurality of candidate light source types as a target light source type when the light source sampling mode is a first sampling mode (Paragraph 0102 – “the sampling weight of each target light source in the target rendering view is greater than a preset threshold. In other words, the processor eliminates each light source by setting a preset threshold. For example, if the preset threshold is 0.3, then light sources with a sampling weight of no more than 0.3 (such as light source 1 in Table 3) are not within the light source selection range for ray tracing rendering, that is, light source 1 does not participate in the ray tracing rendering calculation”; Note: a subset of candidate light sources are selected when there is a threshold. When there is a threshold, partial sampling occurs, which is equivalent to a first sampling mode).
Regarding claim 14, Zhou in view of Moreau and Vegdahl teaches the computer device according to claim 10. Zhou does not teach wherein the performing light source sampling on the target point to obtain a target light source that matches the target light source type comprises: when the target light source type comprises a luminous object light source type, sampling luminous object light sources in the virtual scene based on a luminous object light source bounding volume hierarchy pre-constructed for the luminous object light sources to obtain the target light source that matches the target light source type, the luminous object light sources being light sources in the virtual scene that match the luminous object light source type, and a node in the luminous object light source bounding volume hierarchy being used for recording the luminous object light sources in the virtual scene. However, Moreau teaches when the target light source type comprises a luminous object light source type, sampling luminous object light sources in the virtual scene based on a luminous object light source bounding volume hierarchy pre-constructed for the luminous object light sources to obtain the target light source that matches the target light source type (Fig. 1 Caption on Page 2, Paragraph 3-4 in 1st Col. of Page 3, Fig. 3 – “Light sources are stored in a bounding volume hierarchy (illustrated in 2D on the left, and as a tree on the right). To sample a light at a shading point x, the tree is stochastically traversed by estimating the contributions from the two children (light clusters) at each node. Important clusters are given a higher priority and a random decision is made about which branch to follow… Figure 3 shows an example from one of our test scenes… We sample our two-level light BVH by first traversing the TLAS down to a leaf node by evaluating an importance function [CEK18] for each of the current node’s children and stochastically selecting one of them. Each leaf node points to a BLAS, and the same technique is used to select a light in it. The overall probability of sampling a light is the product of the probability of sampling the BLAS it is in and the probability of sampling it in its BLAS”; Note: Fig. 3 shows luminous object light sources. The luminous object light sources are sampled using a bounding volume hierarchy; see screenshots of Fig. 1 and 3 above), the luminous object light sources being light sources in the virtual scene that match the luminous object light source type (Paragraph 3-4 in 1st Col. of Page 3, Fig. 3 Caption – “Figure 3 shows an example from one of our test scenes… Each yellow box is the root node of a bottom-level acceleration structure (BLAS), here shown for the Bistro scene. Notice that both static light sources, e.g., the street lights and hanging light bulbs, and dynamic emissive objects are each represented by one or more BLASes, here in total 142 for the full scene”; Note: Fig. 3 shows a virtual scene with luminous object light sources, and thus, the light sources are of the luminous object light source type), and a node in the luminous object light source bounding volume hierarchy being used for recording the luminous object light sources in the virtual scene (Fig. 1 Caption on Page 2, Paragraph 3-4 in 1st Col. of Page 3, Fig. 3 – “Light sources are stored in a bounding volume hierarchy (illustrated in 2D on the left, and as a tree on the right). To sample a light at a shading point x, the tree is stochastically traversed by estimating the contributions from the two children (light clusters) at each node. Important clusters are given a higher priority and a random decision is made about which branch to follow… Figure 3 shows an example from one of our test scenes…Each leaf node points to a BLAS, and the same technique is used to select a light in it”; Note: the node in the BVH stores light sources, and Fig. 3 shows examples of the luminous light sources). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to use a bounding volume hierarchy to sample luminous object light sources because “The BVH allows hierarchical approximation of these quantities, reducing the per-sample complexity from O(n) to O(logn) and making it feasible to perform these computations at every shading point” (Moreau: Paragraph 4 in 2nd Col. of Page 2). In other words, bounding volume hierarchies are useful for efficient sampling since they approximate the light measurements, rather than having to calculate them exactly every time. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to record the luminous object light sources as nodes in the bounding volume hierarchy because luminous objects may be in various locations within a scene, can have multiple parts, and can have varying sizes; the bounding volume hierarchy makes it easier to categorize the objects and understand where the lights are coming from, where they are located in the scene, and how much they affect the scene.
Regarding claim 17, Zhou in view of Moreau and Vegdahl teaches the computer device according to claim 10. Zhou further teaches wherein the rendering the target point based on the target light sources obtained by respective light source samplings comprises: sampling, for each target light source, at least one light source point from the target light source (Paragraph 0097 – “The virtual rendering camera emits a target rendering ray into the scene to be rendered. The point where the target rendering ray intersects with any object in the scene is the target intersection point on the surface of that object. From the perspective of target rendering, multiple light samples are taken from each light source based on the target intersection point to obtain the irradiance of the target intersection point under each light sample”; Note: the light samples are equivalent to the light source points); and rendering the target point based on the light source points respectively corresponding to the target light sources (Paragraph 0096, 0102, 0137 – “based on the light source sampling weights corresponding to each light source under the target rendering view obtained in step S203, the processor can perform multi-light source ray tracing rendering of the scene to be rendered under the target rendering view to obtain the second rendering image of the scene to be rendered under multi-light source illumination… the processor eliminates each light source by setting a preset threshold. For example, if the preset threshold is 0.3, then light sources with a sampling weight of no more than 0.3 (such as light source 1 in Table 3) are not within the light source selection range for ray tracing rendering, that is, light source 1 does not participate in the ray tracing rendering calculation…The determination module 1502 is also used to determine the rendering display information of the target intersection point under multi-source lighting based on the second irradiance of the target intersection point under multiple lighting samples and the object attributes of the object where the target intersection point is located”; Note: the target point is rendered based on lighting samples, which are light source points corresponding to the target light sources. The target light sources are the ones that meet the selection range).
Regarding claim 19, Zhou teaches one or more non-transitory computer-readable storage media, having computer-readable instructions stored thereon, the computer-readable instructions, when being executed by one or more processors of a computer device, causing the computer device to perform a virtual scene rendering method (Paragraph 0047, 0050, 0141 – “electronic device 10 may include processor 101 and memory 102. The processor 101 may include a central processing unit (CPU) and a graphics processing unit (GPU)…the processor can be used to execute the method for determining the light source sampling weights for multi-light source scene rendering provided in the embodiments of this application…The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks”; Note: magnetic and optical disks are non-transitory) including:
determining a target light source type among a plurality of candidate light source types for a target point in a virtual scene (Paragraph 0091, 0095, 0097 – “The processor determines the light source sampling weight corresponding to each light source under the target rendering viewpoint based on the irradiance information in each first rendered image…the irradiance information of each first rendered image obtained after single-source ray tracing rendering of each light source is used to determine the light source sampling weight corresponding to each light source. This light source sampling weight can increase the probability of selecting the light source with a larger light source sampling weight during multi-source ray tracing rendering… The virtual rendering camera emits a target rendering ray into the scene to be rendered. The point where the target rendering ray intersects with any object in the scene is the target intersection point on the surface of that object. From the perspective of target rendering, multiple light samples are taken from each light source based on the target intersection point to obtain the irradiance of the target intersection point under each light sample”; Note: the target light source type consists of light sources with larger sampling weights, and each light source is a candidate light source);
performing light source sampling on the target point to obtain a target light source that matches the target light source type (Paragraph 0091, 0095, 0102 – “The processor determines the light source sampling weight corresponding to each light source under the target rendering viewpoint based on the irradiance information in each first rendered image… a more suitable light source can be selected during the multi-light source ray tracing rendering process…the processor eliminates each light source by setting a preset threshold. For example, if the preset threshold is 0.3, then light sources with a sampling weight of no more than 0.3 (such as light source 1 in Table 3) are not within the light source selection range for ray tracing rendering, that is, light source 1 does not participate in the ray tracing rendering calculation”; Note: light source sampling is performed to obtain light sources within the light source selection range, which is equivalent to the target light source type);
and rendering the target point based on the target light source (Paragraph 0096-0097 – “based on the light source sampling weights corresponding to each light source under the target rendering view obtained in step S203, the processor can perform multi-light source ray tracing rendering of the scene to be rendered under the target rendering view to obtain the second rendering image of the scene to be rendered under multi-light source illumination…The processor obtains the second irradiance of the target intersection point, which is projected onto the second rendered image by the target rendering ray in each lighting sample”).
Zhou does not teach wherein the plurality of candidate light source types include a virtual light source type and a luminous object light source type; determining a light source bounding volume hierarchy pre-constructed for the target light source type, a node in the light source bounding volume hierarchy being used for recording light sources in the virtual scene that match the target light source type; nor the target light source type being at least one of the virtual light source type and the luminous object light source type. However, Moreau teaches wherein the plurality of candidate light source types include a virtual light source type and a luminous object light source type (Paragraph 4 in 2nd Col. of Page 2, Paragraph 3 in 1st Col. of Page 3, Fig. 3 Caption – “This algorithm can be applied to point or area lights, as well as emissive triangles…We have found that storing each emissive mesh in its own BLAS generally gives a good balance. Figure 3 shows an example from one of our test scenes… Each yellow box is the root node of a bottom-level acceleration structure (BLAS), here shown for the Bistro scene. Notice that both static light sources, e.g., the street lights and hanging light bulbs, and dynamic emissive objects are each represented by one or more BLASes”; Note: there is a virtual light source type, such as point lights like light bulbs, and a luminous object light source type (emissive objects)); determining a light source bounding volume hierarchy pre-constructed for the target light source type, a node in the light source bounding volume hierarchy being used for recording light sources in the virtual scene that match the target light source type (Paragraph 3-4 in 1st Col. of Page 3 – “We have found that storing each emissive mesh in its own BLAS generally gives a good balance. Figure 3 shows an example from one of our test scenes… We sample our two-level light BVH by first traversing the TLAS down to a leaf node by evaluating an importance function [CEK18] for each of the current node’s children and stochastically selecting one of them. Each leaf node points to a BLAS, and the same technique is used to select a light in it. The overall probability of sampling a light is the product of the probability of sampling the BLAS it is in and the probability of sampling it in its BLAS”; Note: the BLAS is equivalent to the light source bounding volume hierarchy pre-constructed for an emissive mesh, which is the target light source type (luminous object type). Light that is sampled from the BLAS matches the light source type since it contains emissive/luminous object light); and the target light source type being at least one of the virtual light source type and the luminous object light source type (Paragraph 3 in 1st Col. of Page 3, Fig. 3 Caption – “We have found that storing each emissive mesh in its own BLAS generally gives a good balance. Figure 3 shows an example from one of our test scenes… Each yellow box is the root node of a bottom-level acceleration structure (BLAS), here shown for the Bistro scene. Notice that both static light sources, e.g., the street lights and hanging light bulbs, and dynamic emissive objects are each represented by one or more BLASes”; Note: the emissive objects are equivalent to luminous object light sources, and in this case, the target light source type is the luminous object light source type). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to have the candidate and target light source type include a virtual light source type and a luminous object light source type because there are a finite number of light source types, which include virtual and luminous object types. One of ordinary skill in the art could have used either a virtual or luminous object light source type in the sampling process with a reasonable expectation of success and would have done so for the benefit of determining the important light sources of a specific type within a scene. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to determine a light source bounding volume hierarchy pre-constructed for a target light source type because “The cost of hierarchy updates is kept low if static geometry is stored separately from dynamic objects. With light BVHs, that partitioning is not ideal for static lights as it would lead to large BVH nodes and therefore poor estimates of node contributions due to having many emissive primitives and high uncertainty regarding their positions and orientations within the node. Other strategies such as sorting based on material can similarly be counterproductive; see Figure 2. We have found that storing each emissive mesh in its own BLAS generally gives a good balance” (Moreau: paragraph 2-3 in 1st Col. of Page 3). In other words, having a BVH contain only a specific light source type, like emissive object type, allows for efficient BVH updates and rendering, especially when the light may change in the scene. Additionally, BVHs are beneficial for determining which light sources are important, which makes rendering scenes with many light sources more efficient.
Zhou modified by Moreau still does not teach using a root node of the light source bounding volume hierarchy as a target node of a current-round node sampling; determining a node sampling weight range of each sub-node under the target node to the target point; obtaining a node sampling random number for the current-round node sampling; determining a sampled node of the current-round node sampling among sub- nodes under the target node when the node sampling random number falls into the node sampling weight range; and using the sampled node as the target node of the current-round node sampling for a next-round node sampling; iteratively performing the operations of determining a node sampling weight range of each sub-node under the target node and obtaining a node sampling random number for the next-round node sampling until a node sampling iteration stop condition is satisfied, wherein the node sampling iteration stop condition is that the sampled node determined in a final iteration is a leaf node of the light source bounding volume hierarchy, or a quantity of node sampling iterations reaches a preset quantity of node samplings; and determining, from light sources of the sampled node determined in the final iteration, the target light source that match the target light source type. However, Vegdahl teaches
using a root node of the light source bounding volume hierarchy as a target node of a current-round node sampling (Paragraph 7 on Page 8 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child”; Note: sampling starts by checking the root node, which initially makes it the target node);
determining a node sampling weight range of each sub-node under the target node to the target point (Paragraph 7 on Page 8, Paragraph 2 on Page 9, Paragraph 1 on Page 11 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node…This particular render uses a pretty simple weighting function: it assumes the shading point is lambert, treats the node as a spherical light, and just uses the analytic formula for lambert shading from a spherical light”; Note: the modified screenshot of the code below shows the weight range in the if-else statement. The weight ranges are from 0 to child_1_p and child_1_p to 1. “child_1_p” is calculated from the weight of the first child node);
obtaining a node sampling random number for the current-round node sampling (Paragraph 4 on Page 9, Code on Page 10 – “our light selection process is the following pseudocode, where tree_root is the root node of the light tree, shading_point is the data of the point we're shading, and n is a random number in the range [0, 1)”; Note: the code shows how a random number is used for node sampling in the current round; see modified screenshot of the code above);
determining a sampled node of the current-round node sampling among sub- nodes under the target node when the node sampling random number falls into the node sampling weight range (Paragraph 7 on Page 8, Paragraph 2 and 4 on Page 9, Paragraph 1 on Page 11, Code on Page 10 – “1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node… our light selection process is the following pseudocode, where tree_root is the root node of the light tree, shading_point is the data of the point we're shading, and n is a random number in the range [0, 1)…This particular render uses a pretty simple weighting function: it assumes the shading point is lambert, treats the node as a spherical light, and just uses the analytic formula for lambert shading from a spherical light”; Note: the child that is selected for traversal is equivalent to the sampled node. It is selected based on which weight range the random number falls into; see if-else statement in screenshot of Code above);
and using the sampled node as the target node of the current-round node sampling for a next-round node sampling (Paragraph 7 on Page 8 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child”; Note: the child that is selected for traversal is equivalent to the sampled node);
iteratively performing the operations of determining a node sampling weight range of each sub-node under the target node and obtaining a node sampling random number for the next-round node sampling until a node sampling iteration stop condition is satisfied (Paragraph 7 on Page 8, Paragraph 1 on Page 9 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node”; Note: step 1 of determining the node sampling weight is repeated until a leaf is reached. The modified screenshot of code shown above demonstrates how the random number is set for the next-round for each loop iteration),
wherein the node sampling iteration stop condition is that the sampled node determined in a final iteration is a leaf node of the light source bounding volume hierarchy (Paragraph 7 on Page 8 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child”; Note: step 3 has the stop condition, where the process stops if the node is a leaf);
and determining, from light sources of the sampled node determined in the final iteration, the target light source that match the target light source type (Paragraph 7 on Page 8, Paragraph 1 on Page 9 – “Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node”; Note: in the final round when the selected child is a leaf, the light sources in the node are returned/sampled. The light sources match the target light source type since the selection is based on a weight of contribution).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Vegdahl to have a light source bounding volume hierarchy for the benefit of noise reduction and efficient rendering (Vegdahl: Page 4-5). Specifically, the bounding volume hierarchy assists in sampling light sources by approximating light measurements (Vegdahl: Paragraph 1 on Page 9) and avoiding less important light sources during traversal; it is a common data structure used in rendering light. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Vegdahl to determine a sampled node based on whether a random number falls into a weight range and iteratively performing sampling because the random number helps to reduce bias and the weight range helps to indicate the more important light sources. Additionally, the hierarchy is traversed until a leaf is obtained for the benefit of finding the light source that best represents the target given the conditions.
Regarding claim 20, Zhou in view of Moreau and Vegdahl teaches the non-transitory computer-readable storage media according to claim 19. Zhou further teaches wherein the rendering the target point based on the target light sources obtained by respective light source samplings comprises: sampling, for each target light source, at least one light source point from the target light source (Paragraph 0097 – “The virtual rendering camera emits a target rendering ray into the scene to be rendered. The point where the target rendering ray intersects with any object in the scene is the target intersection point on the surface of that object. From the perspective of target rendering, multiple light samples are taken from each light source based on the target intersection point to obtain the irradiance of the target intersection point under each light sample”; Note: the light samples are equivalent to the light source points); and rendering the target point based on the light source points respectively corresponding to the target light sources (Paragraph 0096, 0102, 0137 – “based on the light source sampling weights corresponding to each light source under the target rendering view obtained in step S203, the processor can perform multi-light source ray tracing rendering of the scene to be rendered under the target rendering view to obtain the second rendering image of the scene to be rendered under multi-light source illumination… the processor eliminates each light source by setting a preset threshold. For example, if the preset threshold is 0.3, then light sources with a sampling weight of no more than 0.3 (such as light source 1 in Table 3) are not within the light source selection range for ray tracing rendering, that is, light source 1 does not participate in the ray tracing rendering calculation…The determination module 1502 is also used to determine the rendering display information of the target intersection point under multi-source lighting based on the second irradiance of the target intersection point under multiple lighting samples and the object attributes of the object where the target intersection point is located”; Note: the target point is rendered based on lighting samples, which are light source points corresponding to the target light sources. The target light sources are the ones that meet the selection range).
Regarding claim 22, Zhou in view of Moreau and Vegdahl teaches the non-transitory computer-readable storage media according to claim 19. Zhou does not teach wherein the performing light source sampling on the target point to obtain a target light source that matches the target light source type comprises: when the target light source type comprises a luminous object light source type, sampling luminous object light sources in the virtual scene based on a luminous object light source bounding volume hierarchy pre-constructed for the luminous object light sources to obtain the target light source that matches the target light source type, the luminous object light sources being light sources in the virtual scene that match the luminous object light source type, and a node in the luminous object light source bounding volume hierarchy being used for recording the luminous object light sources in the virtual scene. However, Moreau teaches when the target light source type comprises a luminous object light source type, sampling luminous object light sources in the virtual scene based on a luminous object light source bounding volume hierarchy pre-constructed for the luminous object light sources to obtain the target light source that matches the target light source type (Fig. 1 Caption on Page 2, Paragraph 3-4 in 1st Col. of Page 3, Fig. 3 – “Light sources are stored in a bounding volume hierarchy (illustrated in 2D on the left, and as a tree on the right). To sample a light at a shading point x, the tree is stochastically traversed by estimating the contributions from the two children (light clusters) at each node. Important clusters are given a higher priority and a random decision is made about which branch to follow… Figure 3 shows an example from one of our test scenes… We sample our two-level light BVH by first traversing the TLAS down to a leaf node by evaluating an importance function [CEK18] for each of the current node’s children and stochastically selecting one of them. Each leaf node points to a BLAS, and the same technique is used to select a light in it. The overall probability of sampling a light is the product of the probability of sampling the BLAS it is in and the probability of sampling it in its BLAS”; Note: Fig. 3 shows luminous object light sources. The luminous object light sources are sampled using a bounding volume hierarchy; see screenshots of Fig. 1 and 3 above), the luminous object light sources being light sources in the virtual scene that match the luminous object light source type (Paragraph 3-4 in 1st Col. of Page 3, Fig. 3 Caption – “Figure 3 shows an example from one of our test scenes… Each yellow box is the root node of a bottom-level acceleration structure (BLAS), here shown for the Bistro scene. Notice that both static light sources, e.g., the street lights and hanging light bulbs, and dynamic emissive objects are each represented by one or more BLASes, here in total 142 for the full scene”; Note: Fig. 3 shows a virtual scene with luminous object light sources, and thus, the light sources are of the luminous object light source type), and a node in the luminous object light source bounding volume hierarchy being used for recording the luminous object light sources in the virtual scene (Fig. 1 Caption on Page 2, Paragraph 3-4 in 1st Col. of Page 3, Fig. 3 – “Light sources are stored in a bounding volume hierarchy (illustrated in 2D on the left, and as a tree on the right). To sample a light at a shading point x, the tree is stochastically traversed by estimating the contributions from the two children (light clusters) at each node. Important clusters are given a higher priority and a random decision is made about which branch to follow… Figure 3 shows an example from one of our test scenes…Each leaf node points to a BLAS, and the same technique is used to select a light in it”; Note: the node in the BVH stores light sources, and Fig. 3 shows examples of the luminous light sources). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to use a bounding volume hierarchy to sample luminous object light sources because “The BVH allows hierarchical approximation of these quantities, reducing the per-sample complexity from O(n) to O(logn) and making it feasible to perform these computations at every shading point” (Moreau: Paragraph 4 in 2nd Col. of Page 2). In other words, bounding volume hierarchies are useful for efficient sampling since they approximate the light measurements, rather than having to calculate them exactly every time. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Moreau to record the luminous object light sources as nodes in the bounding volume hierarchy because luminous objects may be in various locations within a scene, can have multiple parts, and can have varying sizes; the bounding volume hierarchy makes it easier to categorize the objects and understand where the lights are coming from, where they are located in the scene, and how much they affect the scene.
Claims 3 and 12 are rejected under 35 U.S.C. 103 as being unpatentable over Zhou in view of Moreau, Vegdahl, Simonian et al. (US 9572231 B2), and Stanford Computer Graphics (Multiple Importance Sampling), hereinafter Simonian and Stanford.
Regarding claim 3, Zhou in view of Moreau and Vegdahl teaches the method according to claim 2. Zhou does not teach wherein the selecting a corresponding subset of the plurality of candidate light source types as a target light source type when the light source sampling mode is a first sampling mode comprises: determining total luminous flux of each of the plurality of candidate light source types; and determining the target light source type among the plurality of candidate light source types based on a type sampling random number and the total luminous flux of each light source type. However, Simonian teaches determining total luminous flux of each of the plurality of candidate light source types (Col. 9 lines 60-62 – “luminous flux and a color point in a particular two-dimensional color space, of the candidate illumination is constrained to those of the target illumination”; Note: because the candidate illumination can only match the target illumination based on a measure of luminous flux and color point, it is implied that the luminous flux of the candidate lights are determined); and determining the target light source type among the plurality of candidate light source types based on random selection and the total luminous flux of each light source type (Col. 9 lines 60-62, Col. 12 lines 27-32 – “luminous flux and a color point in a particular two-dimensional color space, of the candidate illumination is constrained to those of the target illumination… Each new candidate selected in block 630 may be selected by systematically or randomly stepping through the possible illuminations that the available luminaire system can produce, e.g., by stepping through settings of drive signals of the light channels of the luminaire system”; Note: candidate light sources are selected randomly and constrained by luminous flux, which leads to obtaining a target illumination, which is the target light source type). A person of ordinary skill in the art before the effective filing date of the claimed invention would have recognized that the irradiance of Zhou could have been substituted for the luminous flux of Simonian because both the irradiance and luminous flux serve the purpose of representing the importance of light sources for a target in a scene. Furthermore, a person of ordinary skill in the art would have been able to carry out the substitution. Finally, the substitution achieves the predictable result of sampling light based on a weight. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to substitute the irradiance of Zhou for the luminous flux of Simonian according to known methods to yield the predictable result of using a measure of light to sample light sources. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Simonian to determine the target light source type based on random selection and total luminous flux for the benefit of having “candidate illuminations that in some manner match a target illumination” (Simonian: Col. 9 lines 48-49). The random selection helps reduce bias, and the measure of luminous flux helps with identifying the light sources that are the most visible and best represent the scene. Zhou modified by Simonian still does not teach the “type sampling random number” from the limitation: “determining the target light source type among the plurality of candidate light source types based on a type sampling random number and the total luminous flux of each light source type”. However, Stanford teaches a type sampling random number (Paragraph 1 on Page 10 – “To estimate the integral, several samples are generated using each of the given techniques…We assume that the number of samples from each technique is fixed in advance, before any samples are taken…The samples from technique i are denoted Xi,j , for j = 1, …, ni. All samples are assumed to be independent, i.e. new random bits are generated to control the selection of each one”; Note: the random bits are equivalent to the type sampling random number. It is used to determine acceptable samples). Since Simonian already teaches random selection of candidate light sources, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Stanford to determine the target light source type based on a type sampling random number for the benefit of reducing bias in the sampling process.
Regarding claim 12, Zhou in view of Moreau and Vegdahl teaches the computer device according to claim 11. Zhou does not teach wherein the selecting a corresponding subset of the plurality of candidate light source types as a target light source type when the light source sampling mode is a first sampling mode comprises: determining total luminous flux of each of the plurality of candidate light source types; and determining the target light source type among the plurality of candidate light source types based on a type sampling random number and the total luminous flux of each light source type. However, Simonian teaches determining total luminous flux of each of the plurality of candidate light source types (Col. 9 lines 60-62 – “luminous flux and a color point in a particular two-dimensional color space, of the candidate illumination is constrained to those of the target illumination”; Note: because the candidate illumination can only match the target illumination based on a measure of luminous flux and color point, it is implied that the luminous flux of the candidate lights are determined); and determining the target light source type among the plurality of candidate light source types based on random selection and the total luminous flux of each light source type (Col. 9 lines 60-62, Col. 12 lines 27-32 – “luminous flux and a color point in a particular two-dimensional color space, of the candidate illumination is constrained to those of the target illumination… Each new candidate selected in block 630 may be selected by systematically or randomly stepping through the possible illuminations that the available luminaire system can produce, e.g., by stepping through settings of drive signals of the light channels of the luminaire system”; Note: candidate light sources are selected randomly and constrained by luminous flux, which leads to obtaining a target illumination, which is the target light source type). A person of ordinary skill in the art before the effective filing date of the claimed invention would have recognized that the irradiance of Zhou could have been substituted for the luminous flux of Simonian because both the irradiance and luminous flux serve the purpose of representing the importance of light sources for a target in a scene. Furthermore, a person of ordinary skill in the art would have been able to carry out the substitution. Finally, the substitution achieves the predictable result of sampling light based on a weight. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to substitute the irradiance of Zhou for the luminous flux of Simonian according to known methods to yield the predictable result of using a measure of light to sample light sources. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Simonian to determine the target light source type based on random selection and total luminous flux for the benefit of having “candidate illuminations that in some manner match a target illumination” (Simonian: Col. 9 lines 48-49). The random selection helps reduce bias, and the measure of luminous flux helps with identifying the light sources that are the most visible and best represent the scene. Zhou modified by Simonian still does not teach the “type sampling random number” from the limitation: “determining the target light source type among the plurality of candidate light source types based on a type sampling random number and the total luminous flux of each light source type”. However, Stanford teaches a type sampling random number (Paragraph 1 on Page 10 – “To estimate the integral, several samples are generated using each of the given techniques…We assume that the number of samples from each technique is fixed in advance, before any samples are taken…The samples from technique i are denoted Xi,j , for j = 1, …, ni. All samples are assumed to be independent, i.e. new random bits are generated to control the selection of each one”; Note: the random bits are equivalent to the type sampling random number. It is used to determine acceptable samples). Since Simonian already teaches random selection of candidate light sources, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Stanford to determine the target light source type based on a type sampling random number for the benefit of reducing bias in the sampling process.
Claims 4, 13, and 21 are rejected under 35 U.S.C. 103 as being unpatentable over Zhou in view of Moreau, Vegdahl, and Martins et al. (US 20180365886 A1), hereinafter Martins.
Regarding claim 4, Zhou in view of Moreau and Vegdahl teaches the method according to claim 1. Zhou does not teach wherein the performing light source sampling on the target point to obtain a target light source that matches the target light source type comprises: when the target light source type comprises a virtual light source type, determining a target spatial grid to which the target point belongs among candidate spatial grids pre-constructed for virtual light sources, the virtual light sources being light sources in the virtual scene that match the virtual light source type; and sampling virtual light sources in the target spatial grid to obtain the target light source that matches the target light source type. However, Martins teaches when the target light source type comprises a virtual light source type, determining a target spatial grid to which the target point belongs among candidate spatial grids pre-constructed for virtual light sources (Paragraph 0084-0085 – “the electronic device 100 may divide a 3D virtual scene 200 by using a plurality of grids 240. In operation 820, the electronic device 100 may acquire location information about a plurality of first points 320 at which a plurality of rays 310 originating from a light source 210 are incident on one or more objects 220 and 230 located within the 3D virtual scene 200”; Note: the grids where light hits a point on the objects are equivalent to the target spatial grids. The light source type is virtual, since they are within a virtual scene and are incident on objects. The determination of target spatial grids occur when virtual light sources are detected), the virtual light sources being light sources in the virtual scene that match the virtual light source type (Paragraph 0085 – “In operation 820, the electronic device 100 may acquire location information about a plurality of first points 320 at which a plurality of rays 310 originating from a light source 210 are incident on one or more objects 220 and 230 located within the 3D virtual scene 200”; Note: the light source is of a virtual light source type since they are within a virtual scene and are incident on objects); and sampling virtual light sources in the target spatial grid to obtain the target light source that matches the target light source type (Paragraph 0087, 0089 – “the electronic device 100 may determine the illumination of each of the plurality of grids based on the location information about the plurality of first grids 410… the electronic device 100 may render the 3D virtual scene 200 based on the determined illumination of each of the plurality of grids”; Note: the virtual light sources are sampled based on the target grids, which are the first grids). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Martins to determine a target spatial grid and sample virtual light sources in the target spatial grid because doing so would make it easier to capture indirect light influence in a 3d virtual scene (Martins: Paragraph 0002). The grid helps narrow down which light sources affect the scene the most, which makes rendering more efficient since only those lights in the target grids need to be rendered.
Regarding claim 13, Zhou in view of Moreau and Vegdahl teaches the computer device according to claim 10. Zhou does not teach wherein the performing light source sampling on the target point to obtain a target light source that matches the target light source type comprises: when the target light source type comprises a virtual light source type, determining a target spatial grid to which the target point belongs among candidate spatial grids pre-constructed for virtual light sources, the virtual light sources being light sources in the virtual scene that match the virtual light source type; and sampling virtual light sources in the target spatial grid to obtain the target light source that matches the target light source type. However, Martins teaches when the target light source type comprises a virtual light source type, determining a target spatial grid to which the target point belongs among candidate spatial grids pre-constructed for virtual light sources (Paragraph 0084-0085 – “the electronic device 100 may divide a 3D virtual scene 200 by using a plurality of grids 240. In operation 820, the electronic device 100 may acquire location information about a plurality of first points 320 at which a plurality of rays 310 originating from a light source 210 are incident on one or more objects 220 and 230 located within the 3D virtual scene 200”; Note: the grids where light hits a point on the objects are equivalent to the target spatial grids. The light source type is virtual, since they are within a virtual scene and are incident on objects. The determination of target spatial grids occur when virtual light sources are detected), the virtual light sources being light sources in the virtual scene that match the virtual light source type (Paragraph 0085 – “In operation 820, the electronic device 100 may acquire location information about a plurality of first points 320 at which a plurality of rays 310 originating from a light source 210 are incident on one or more objects 220 and 230 located within the 3D virtual scene 200”; Note: the light source is of a virtual light source type since they are within a virtual scene and are incident on objects); and sampling virtual light sources in the target spatial grid to obtain the target light source that matches the target light source type (Paragraph 0087, 0089 – “the electronic device 100 may determine the illumination of each of the plurality of grids based on the location information about the plurality of first grids 410… the electronic device 100 may render the 3D virtual scene 200 based on the determined illumination of each of the plurality of grids”; Note: the virtual light sources are sampled based on the target grids, which are the first grids). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Martins to determine a target spatial grid and sample virtual light sources in the target spatial grid because doing so would make it easier to capture indirect light influence in a 3d virtual scene (Martins: Paragraph 0002). The grid helps narrow down which light sources affect the scene the most, which makes rendering more efficient since only those lights in the target grids need to be rendered.
Regarding claim 21, Zhou in view of Moreau and Vegdahl teaches the non-transitory computer-readable storage media according to claim 19. Zhou does not teach wherein the performing light source sampling on the target point to obtain a target light source that matches the target light source type comprises: when the target light source type comprises a virtual light source type, determining a target spatial grid to which the target point belongs among candidate spatial grids pre-constructed for virtual light sources, the virtual light sources being light sources in the virtual scene that match the virtual light source type; and sampling virtual light sources in the target spatial grid to obtain the target light source that matches the target light source type. However, Martins teaches when the target light source type comprises a virtual light source type, determining a target spatial grid to which the target point belongs among candidate spatial grids pre-constructed for virtual light sources (Paragraph 0084-0085 – “the electronic device 100 may divide a 3D virtual scene 200 by using a plurality of grids 240. In operation 820, the electronic device 100 may acquire location information about a plurality of first points 320 at which a plurality of rays 310 originating from a light source 210 are incident on one or more objects 220 and 230 located within the 3D virtual scene 200”; Note: the grids where light hits a point on the objects are equivalent to the target spatial grids. The light source type is virtual, since they are within a virtual scene and are incident on objects. The determination of target spatial grids occur when virtual light sources are detected), the virtual light sources being light sources in the virtual scene that match the virtual light source type (Paragraph 0085 – “In operation 820, the electronic device 100 may acquire location information about a plurality of first points 320 at which a plurality of rays 310 originating from a light source 210 are incident on one or more objects 220 and 230 located within the 3D virtual scene 200”; Note: the light source is of a virtual light source type since they are within a virtual scene and are incident on objects); and sampling virtual light sources in the target spatial grid to obtain the target light source that matches the target light source type (Paragraph 0087, 0089 – “the electronic device 100 may determine the illumination of each of the plurality of grids based on the location information about the plurality of first grids 410… the electronic device 100 may render the 3D virtual scene 200 based on the determined illumination of each of the plurality of grids”; Note: the virtual light sources are sampled based on the target grids, which are the first grids). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Martins to determine a target spatial grid and sample virtual light sources in the target spatial grid because doing so would make it easier to capture indirect light influence in a 3d virtual scene (Martins: Paragraph 0002). The grid helps narrow down which light sources affect the scene the most, which makes rendering more efficient since only those lights in the target grids need to be rendered.
Claims 7 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Zhou in view of Moreau, Vegdahl, and Meister et al. (A Survey on Bounding Volume Hierarchies for Ray Tracing), hereinafter Meister.
Regarding claim 7, Zhou in view of Moreau and Vegdahl teaches the method according to claim 1. Zhou does not teach wherein the target light source is obtained by sampling based on the light source bounding volume hierarchy pre-constructed for the target light source type; and the method further comprises: constructing a second spatial bounding volume based on volumes of light sources in the virtual scene that match a same light source type, the second spatial bounding volume enclosing the light sources that match the same light source type; using the second spatial bounding volume as a target bounding volume in current-round partitioning, and determining a partitioning plane for the target bounding volume in the current-round partitioning; partitioning the target bounding volume into a left bounding volume and a right bounding volume based on the partitioning plane; and using the left bounding volume and the right bounding volume separately as the target bounding volume in the current-round partitioning, considering next-round partitioning as the current-round partitioning, and iteratively performing the operation of determining a partitioning plane for the target bounding volume in the current-round partitioning until a partitioning iteration stop condition is satisfied to obtain the light source bounding volume hierarchy. However, Vegdahl teaches wherein the target light source is obtained by sampling based on the light source bounding volume hierarchy pre-constructed for the target light source type (Paragraph 3 and 7 on Page 8, Paragraph 1 on Page 9 – “A light tree is a pretty straightforward data structure: it's just a BVH of the lights in the scene, where each node in the BVH acts as an approximation of the lights under it…Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node”; Note: the tree is a bounding volume hierarchy. In the final round when the selected child is a leaf, the light sources in the node are returned/sampled. The returned light source is the target light source); and the method further comprises: constructing a second spatial bounding volume based on volumes of light sources in the virtual scene that match a same light source type, the second spatial bounding volume enclosing the light sources that match the same light source type (Paragraph 4 on Page 7, Paragraph 3-5 on Page 8 – “our goal is to select a light from all lights in the scene according to their contributions to the current shading point…A light tree is a pretty straightforward data structure: it's just a BVH of the lights in the scene, where each node in the BVH acts as an approximation of the lights under it. For it to be an effective approximation, that means we also need to store some extra data at each node. The simplest kind of light tree would simply store the total energy of all the lights under each node. You could then treat each node as a light with the same size as the spatial bounds of the node, and emitting the same energy as the lights under it. I'm going to use that simple light tree variant to illustrate the technique”; Note: a BVH is determined, which implies that bounding volumes within the BVH are constructed since they cannot exist otherwise. The bounding volumes in it each encompass a matching light source type from the scene, the root bounding volume being equivalent to the second spatial bounding volume). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Vegdahl to have a light source bounding volume hierarchy for the benefit of noise reduction and efficient rendering (Vegdahl: Page 4-5). Specifically, the bounding volume hierarchy assists in sampling light sources by approximating light measurements (Vegdahl: Paragraph 1 on Page 9) and avoiding less important light sources during traversal; it is a common data structure used in rendering light. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Vegdahl to have a bounding volume that encloses matching light sources because by definition, bounding volume hierarchies contain bounding volumes. Logically, light bounding volume hierarchies contain light bounding volumes, which represent light sources of the same type.
Furthermore, Zhou modified by Vegdahl still does not teach using the second spatial bounding volume as a target bounding volume in current-round partitioning, and determining a partitioning plane for the target bounding volume in the current-round partitioning; partitioning the target bounding volume into a left bounding volume and a right bounding volume based on the partitioning plane; and using the left bounding volume and the right bounding volume separately as the target bounding volume in the current-round partitioning, considering next-round partitioning as the current-round partitioning, and iteratively performing the operation of determining a partitioning plane for the target bounding volume in the current-round partitioning until a partitioning iteration stop condition is satisfied to obtain the light source bounding volume hierarchy. However, Meister teaches
using the second spatial bounding volume as a target bounding volume in current-round partitioning, and determining a partitioning plane for the target bounding volume in the current-round partitioning (Paragraph 5 in 2nd Col. of Page 4, Paragraph 2 in 1st Col. of Page 5 – “we approximate scene primitives by a single point (e.g., a centroid of the bounding box), which always lies only on one side of the splitting plane. First, we select a splitting axis. We can test all three splitting axes and choose the best one, or we can use heuristics such as round-robin or the largest extent. Given the splitting axis, we can sample the splitting planes. There are three basic approaches for how we can split the node: spatial median split, object median split, or a split based on a cost model. The spatial median split cuts the bounding boxes in the middle. The object median split sorts scene primitives along a splitting axis, and splits them into two halves containing roughly the same number of scene primitives…To select the splitting plane, for the given axis, we can evaluate all |N| − 1 splitting planes, i.e., planes between scene primitives”; Note: the bounding box, which is equivalent to the second spatial bounding volume, is implied to be used as the target bounding volume in the current round because it is the one being split. The splitting plane is equivalent to the partitioning plane);
partitioning the target bounding volume into a left bounding volume and a right bounding volume based on the partitioning plane (Paragraph 5 in 2nd Col. of Page 4 – “we approximate scene primitives by a single point (e.g., a centroid of the bounding box), which always lies only on one side of the splitting plane. First, we select a splitting axis. We can test all three splitting axes and choose the best one, or we can use heuristics such as round-robin or the largest extent. Given the splitting axis, we can sample the splitting planes. There are three basic approaches for how we can split the node: spatial median split, object median split, or a split based on a cost model. The spatial median split cuts the bounding boxes in the middle. The object median split sorts scene primitives along a splitting axis, and splits them into two halves containing roughly the same number of scene primitives”; Note: it is implied that when a bounding box is split, it will result in a right and left bounding volume since it is split into two parts);
and using the left bounding volume and the right bounding volume separately as the target bounding volume in the current-round partitioning, considering next-round partitioning as the current-round partitioning (Paragraph 3 in 2nd Col. of Page 4 – “We start with the root node containing all scene primitives. In each step, we split scene primitives into two disjoint subsets that correspond to the node’s two children, which are further processed recursively. The recursion continues until one of the termination criteria is met”; Note: the two disjoint subsets are the left and right bounding volumes, and they are handled recursively),
and iteratively performing the operation of determining a partitioning plane for the target bounding volume in the current-round partitioning until a partitioning iteration stop condition is satisfied to obtain the light source bounding volume hierarchy (Paragraph 3 in 2nd Col. of Page 4 – “We start with the root node containing all scene primitives. In each step, we split scene primitives into two disjoint subsets that correspond to the node’s two children… To select the splitting plane, for the given axis, we can evaluate all |N| − 1 splitting planes, i.e., planes between scene primitives. Evaluating all splitting planes is known as sweeping”; Note: determining the splitting plane is performed iteratively since all planes are evaluated, and it is implied that the iteration stops after all planes are evaluated).
Since Vegdahl already teaches a bounding volume hierarchy and bounding volumes, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Meister to repeatedly partition bounding volumes into left and right bounding volumes based on a partitioning plane because it is a common top-down technique in bounding volume hierarchy construction, and partitioning helps determine how the measurements of the light sources can be approximated. As expressed by Vegdahl, it is beneficial to construct a bounding volume hierarchy because it can lead to noise reduction and efficient rendering (Vegdahl: Page 4-5). Specifically, the bounding volume hierarchy assists in sampling light sources by approximating light measurements (Vegdahl: Paragraph 1 on Page 9) and avoiding less important light sources during traversal.
Regarding claim 16, Zhou in view of Moreau and Vegdahl teaches the computer device according to claim 10. Zhou does not teach wherein the target light source is obtained by sampling based on the light source bounding volume hierarchy pre-constructed for the target light source type; and the method further comprises: constructing a second spatial bounding volume based on volumes of light sources in the virtual scene that match a same light source type, the second spatial bounding volume enclosing the light sources that match the same light source type; using the second spatial bounding volume as a target bounding volume in current-round partitioning, and determining a partitioning plane for the target bounding volume in the current-round partitioning; partitioning the target bounding volume into a left bounding volume and a right bounding volume based on the partitioning plane; and using the left bounding volume and the right bounding volume separately as the target bounding volume in the current-round partitioning, considering next-round partitioning as the current-round partitioning, and iteratively performing the operation of determining a partitioning plane for the target bounding volume in the current-round partitioning until a partitioning iteration stop condition is satisfied to obtain the light source bounding volume hierarchy. However, Vegdahl teaches wherein the target light source is obtained by sampling based on the light source bounding volume hierarchy pre-constructed for the target light source type (Paragraph 3 and 7 on Page 8, Paragraph 1 on Page 9 – “A light tree is a pretty straightforward data structure: it's just a BVH of the lights in the scene, where each node in the BVH acts as an approximation of the lights under it…Starting from the root of the tree, we: 1. Calculate the lighting (or an approximation thereof) from each of the child nodes. 2. Take those lighting results and select which child to traverse into based on them. For example, if the left node contributes twice as much light, then we'll be twice as likely to traverse into it. 3. If the selected child is a leaf, return the actual light under it. Otherwise, go back to step 1 with the selected child…We need a good "approximate lighting" function to use in step 1. Incidentally, I like to call this the "weighting" function, because we only use it to determine the weighted probability of traversing into each node”; Note: the tree is a bounding volume hierarchy. In the final round when the selected child is a leaf, the light sources in the node are returned/sampled. The returned light source is the target light source); and the method further comprises: constructing a second spatial bounding volume based on volumes of light sources in the virtual scene that match a same light source type, the second spatial bounding volume enclosing the light sources that match the same light source type (Paragraph 4 on Page 7, Paragraph 3-5 on Page 8 – “our goal is to select a light from all lights in the scene according to their contributions to the current shading point…A light tree is a pretty straightforward data structure: it's just a BVH of the lights in the scene, where each node in the BVH acts as an approximation of the lights under it. For it to be an effective approximation, that means we also need to store some extra data at each node. The simplest kind of light tree would simply store the total energy of all the lights under each node. You could then treat each node as a light with the same size as the spatial bounds of the node, and emitting the same energy as the lights under it. I'm going to use that simple light tree variant to illustrate the technique”; Note: a BVH is determined, which implies that bounding volumes within the BVH are constructed since they cannot exist otherwise. The bounding volumes in it each encompass a matching light source type from the scene, the root bounding volume being equivalent to the second spatial bounding volume). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Vegdahl to have a light source bounding volume hierarchy for the benefit of noise reduction and efficient rendering (Vegdahl: Page 4-5). Specifically, the bounding volume hierarchy assists in sampling light sources by approximating light measurements (Vegdahl: Paragraph 1 on Page 9) and avoiding less important light sources during traversal; it is a common data structure used in rendering light. It also would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Vegdahl to have a bounding volume that encloses matching light sources because by definition, bounding volume hierarchies contain bounding volumes. Logically, light bounding volume hierarchies contain light bounding volumes, which represent light sources of the same type.
Furthermore, Zhou modified by Vegdahl still does not teach using the second spatial bounding volume as a target bounding volume in current-round partitioning, and determining a partitioning plane for the target bounding volume in the current-round partitioning; partitioning the target bounding volume into a left bounding volume and a right bounding volume based on the partitioning plane; and using the left bounding volume and the right bounding volume separately as the target bounding volume in the current-round partitioning, considering next-round partitioning as the current-round partitioning, and iteratively performing the operation of determining a partitioning plane for the target bounding volume in the current-round partitioning until a partitioning iteration stop condition is satisfied to obtain the light source bounding volume hierarchy. However, Meister teaches
using the second spatial bounding volume as a target bounding volume in current-round partitioning, and determining a partitioning plane for the target bounding volume in the current-round partitioning (Paragraph 5 in 2nd Col. of Page 4, Paragraph 2 in 1st Col. of Page 5 – “we approximate scene primitives by a single point (e.g., a centroid of the bounding box), which always lies only on one side of the splitting plane. First, we select a splitting axis. We can test all three splitting axes and choose the best one, or we can use heuristics such as round-robin or the largest extent. Given the splitting axis, we can sample the splitting planes. There are three basic approaches for how we can split the node: spatial median split, object median split, or a split based on a cost model. The spatial median split cuts the bounding boxes in the middle. The object median split sorts scene primitives along a splitting axis, and splits them into two halves containing roughly the same number of scene primitives…To select the splitting plane, for the given axis, we can evaluate all |N| − 1 splitting planes, i.e., planes between scene primitives”; Note: the bounding box, which is equivalent to the second spatial bounding volume, is implied to be used as the target bounding volume in the current round because it is the one being split. The splitting plane is equivalent to the partitioning plane);
partitioning the target bounding volume into a left bounding volume and a right bounding volume based on the partitioning plane (Paragraph 5 in 2nd Col. of Page 4 – “we approximate scene primitives by a single point (e.g., a centroid of the bounding box), which always lies only on one side of the splitting plane. First, we select a splitting axis. We can test all three splitting axes and choose the best one, or we can use heuristics such as round-robin or the largest extent. Given the splitting axis, we can sample the splitting planes. There are three basic approaches for how we can split the node: spatial median split, object median split, or a split based on a cost model. The spatial median split cuts the bounding boxes in the middle. The object median split sorts scene primitives along a splitting axis, and splits them into two halves containing roughly the same number of scene primitives”; Note: it is implied that when a bounding box is split, it will result in a right and left bounding volume since it is split into two parts);
and using the left bounding volume and the right bounding volume separately as the target bounding volume in the current-round partitioning, considering next-round partitioning as the current-round partitioning (Paragraph 3 in 2nd Col. of Page 4 – “We start with the root node containing all scene primitives. In each step, we split scene primitives into two disjoint subsets that correspond to the node’s two children, which are further processed recursively. The recursion continues until one of the termination criteria is met”; Note: the two disjoint subsets are the left and right bounding volumes, and they are handled recursively),
and iteratively performing the operation of determining a partitioning plane for the target bounding volume in the current-round partitioning until a partitioning iteration stop condition is satisfied to obtain the light source bounding volume hierarchy (Paragraph 3 in 2nd Col. of Page 4 – “We start with the root node containing all scene primitives. In each step, we split scene primitives into two disjoint subsets that correspond to the node’s two children… To select the splitting plane, for the given axis, we can evaluate all |N| − 1 splitting planes, i.e., planes between scene primitives. Evaluating all splitting planes is known as sweeping”; Note: determining the splitting plane is performed iteratively since all planes are evaluated, and it is implied that the iteration stops after all planes are evaluated).
Since Vegdahl already teaches a bounding volume hierarchy and bounding volumes, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Meister to repeatedly partition bounding volumes into left and right bounding volumes based on a partitioning plane because it is a common top-down technique in bounding volume hierarchy construction, and partitioning helps determine how the measurements of the light sources can be approximated. As expressed by Vegdahl, it is beneficial to construct a bounding volume hierarchy because it can lead to noise reduction and efficient rendering (Vegdahl: Page 4-5). Specifically, the bounding volume hierarchy assists in sampling light sources by approximating light measurements (Vegdahl: Paragraph 1 on Page 9) and avoiding less important light sources during traversal.
Claims 9 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Zhou in view of Moreau, Vegdahl, Cai et al. (CN 112396684 A), and Yang (CN 103813580 A), hereinafter Cai and Yang respectively.
Regarding claim 9, Zhou in view of Moreau and Vegdahl teaches the method according to claim 8. Zhou does not teach wherein the rendering the target point based on the light source points respectively corresponding to the target light sources comprises: determining a color of emergent light of the target point based on an emissive light color of each light source point, a material parameter corresponding to a surface material of the target point, a direction vector of incident light, and a surface normal vector of the target point, the incident light referring to light rays that reach the target point, and the emergent light referring to light rays emitted from the target point; and rendering the target point based on the color of the emergent light. However, Cai teaches determining a color of emergent light of the target point based on a material parameter corresponding to a surface material of the target point, a direction vector of incident light, and a surface normal vector of the target point, the incident light referring to light rays that reach the target point, and the emergent light referring to light rays emitted from the target point (Paragraph 0014, 0053 – “calculating a color value at the intersection point based on a PBR material, the determined normal direction, incident direction, and outgoing direction…The color equation of a light source, also known as the emissivity equation, represents the total energy radiated by a light source with a radiant flux Φ over a unit area A and a unit solid angle ω. If we consider the solid angle ω and the area A to be infinitesimal, then we can use emissivity to represent the flux of a single beam of light passing through a point in space. In this way, we can calculate the emissivity of a single ray acting on a single (fragment) point”; Note: the color value at the intersection point, which is equivalent to the color of light of a target point, is determined based on material, incident direction, and normal direction); and rendering the target point based on the color of the emergent light (Paragraph 0078 – “To render a scene, assuming there is a specified light source, we use the light emitted by it to describe the transmission process of light energy. After we calculate the light energy information in the entire scene, we collect this information and convert it into the brightness and color of the pixels”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Cai to determine the color of the emergent light of the target point based on material, incident light direction, and normal direction for the benefit of accurately representing the appearance of the target by using the available light information. Material, incident light direction, and normal direction are all important in determining how the color of a light will appear to a viewer. Zhou modified by Cai still does not teach “determining a color of emergent light of the target point based on an emissive light color of each light source point” from the limitation: “determining a color of emergent light of the target point based on an emissive light color of each light source point, a material parameter corresponding to a surface material of the target point, a direction vector of incident light, and a surface normal vector of the target point, the incident light referring to light rays that reach the target point, and the emergent light referring to light rays emitted from the target point”. However, Yang teaches determining a color of emergent light of the target point based on an emissive light color of each light source point (Paragraph 0012 – “This invention provides a method for adjusting the color coordinates of emitted light from a light source. The light source includes a first light-emitting element, a second light-emitting element, and a third light-emitting element, and the emitted light is a mixture of the three”; Note: the color of the emitted light, which is equivalent to the emergent light, is determined based on the emissive light of each light-emitting element, which is equivalent to the light source points). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Yang to determine the color of the emergent light of the target point based on an emissive light color of each light source point because the appearance of the light of the target may be affected by multiple light sources and thus, in order to accurately represent the color of the light of the target, the light color of each light source point should be taken into account. This would result in a more realistic appearance after rendering the target for the viewer.
Regarding claim 18, Zhou in view of Moreau and Vegdahl teaches the computer device according to claim 17. Zhou does not teach wherein the rendering the target point based on the light source points respectively corresponding to the target light sources comprises: determining a color of emergent light of the target point based on an emissive light color of each light source point, a material parameter corresponding to a surface material of the target point, a direction vector of incident light, and a surface normal vector of the target point, the incident light referring to light rays that reach the target point, and the emergent light referring to light rays emitted from the target point; and rendering the target point based on the color of the emergent light. However, Cai teaches determining a color of emergent light of the target point based on a material parameter corresponding to a surface material of the target point, a direction vector of incident light, and a surface normal vector of the target point, the incident light referring to light rays that reach the target point, and the emergent light referring to light rays emitted from the target point (Paragraph 0014, 0053 – “calculating a color value at the intersection point based on a PBR material, the determined normal direction, incident direction, and outgoing direction…The color equation of a light source, also known as the emissivity equation, represents the total energy radiated by a light source with a radiant flux Φ over a unit area A and a unit solid angle ω. If we consider the solid angle ω and the area A to be infinitesimal, then we can use emissivity to represent the flux of a single beam of light passing through a point in space. In this way, we can calculate the emissivity of a single ray acting on a single (fragment) point”; Note: the color value at the intersection point, which is equivalent to the color of light of a target point, is determined based on material, incident direction, and normal direction); and rendering the target point based on the color of the emergent light (Paragraph 0078 – “To render a scene, assuming there is a specified light source, we use the light emitted by it to describe the transmission process of light energy. After we calculate the light energy information in the entire scene, we collect this information and convert it into the brightness and color of the pixels”). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Cai to determine the color of the emergent light of the target point based on material, incident light direction, and normal direction for the benefit of accurately representing the appearance of the target by using the available light information. Material, incident light direction, and normal direction are all important in determining how the color of a light will appear to a viewer. Zhou modified by Cai still does not teach “determining a color of emergent light of the target point based on an emissive light color of each light source point” from the limitation: “determining a color of emergent light of the target point based on am emissive light color of each light source point, a material parameter corresponding to a surface material of the target point, a direction vector of incident light, and a surface normal vector of the target point, the incident light referring to light rays that reach the target point, and the emergent light referring to light rays emitted from the target point”. However, Yang teaches determining a color of emergent light of the target point based on an emissive light color of each light source point (Paragraph 0012 – “This invention provides a method for adjusting the color coordinates of emitted light from a light source. The light source includes a first light-emitting element, a second light-emitting element, and a third light-emitting element, and the emitted light is a mixture of the three”; Note: the color of the emitted light, which is equivalent to the emergent light, is determined based on the emissive light of each light-emitting element, which is equivalent to the light source points). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Zhou to incorporate the teachings of Yang to determine the color of the emergent light of the target point based on the emissive light color of each light source point because the appearance of the light of the target may be affected by multiple light sources and thus, in order to accurately represent the color of the light of the target, the light color of each light source point should be taken into account. This would result in a more realistic appearance after rendering the target for the viewer.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Nishimura (Grid-induced bounding volume hierarchy for ray tracing dynamic scenes) teaches a method of using a hierarchical grid tree and a bounding volume hierarchy tree to represent an animated scene. Tokuyoshi (JP 6466004 B1) teaches a method of determining light sources that influence a shading point in a scene by using a bounding volume hierarchy.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MICHELLE HAU MA whose telephone number is (571)272-2187. The examiner can normally be reached M-Th 7-5:30.
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, King Poon can be reached at (571) 270-0728. 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.
/MICHELLE HAU MA/ Examiner, Art Unit 2617
/KING Y POON/Supervisory Patent Examiner, Art Unit 2617