Prosecution Insights
Last updated: August 17, 2026
Application No. 19/052,070

SHADOW RENDERING METHOD AND APPARATUS, COMPUTER DEVICE, AND STORAGE MEDIUM

Non-Final OA §103
Filed
Feb 12, 2025
Priority
Mar 08, 2023 — CN 202310258041.X +1 more
Examiner
LIU, GORDON G
Art Unit
Tech Center
Assignee
Tencent Technology (Shenzhen) Company Limited
OA Round
1 (Non-Final)
83%
Grant Probability
Favorable
1-2
OA Rounds
8m
Est. Remaining
98%
With Interview

Examiner Intelligence

Grants 83% — above average
83%
Career Allowance Rate
574 granted / 692 resolved
+22.9% vs TC avg
Moderate +15% lift
Without
With
+15.0%
Interview Lift
resolved cases with interview
Fast prosecutor
2y 2m
Avg Prosecution
36 currently pending
Career history
717
Total Applications
across all art units

Statute-Specific Performance

§101
7.2%
-32.8% vs TC avg
§103
77.3%
+37.3% vs TC avg
§102
3.5%
-36.5% vs TC avg
§112
2.6%
-37.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 692 resolved cases

Office Action

§103
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claims 1-20 are pending under this Office action. Claim Rejections - 35 USC § 103 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, 8, and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Phillips, etc. (US 8872824 B1) in view of Bakalash (US 20140375641 A1). Regarding claim 1, Phillips teaches that a shadow rendering method performed by a computer device, the method (See Phillips: Fig. 5, and Col. 6 Lines 44-51, “FIG. 5 illustrates an exemplary system 500 in which the various architecture and/or functionality of the various previous embodiments may be implemented. As shown, a system 500 is provided including at least one host processor 501 which is connected to a communication bus 502. The system 500 also includes a main memory 504. Control logic (software) and data are stored in the main memory 504 which may take the form of random access memory (RAM)”) comprising: obtaining a world space location of a pixel point of a screen space in a world space in which a virtual scene is located (See Phillips: Fig. 1, and Col. 1 Lines 13-25, “Current real-time renderers use a rasterization technique known as shadow mapping to produce fast shadows. During shadow mapping, the scene is rendered from the point of view of the light source and a depth value is saved at each pixel that indicates the distance to the closest piece of geometry visible to that pixel. When the scene is rendered from the point of view of the camera, each screen pixel is projected into the shadow map and the distance from that point to the light source computed. A depth comparison with the value stored in the shadow map determines if the screen pixel is the closest point visible to the light source and thus whether the screen pixel is considered to be in shadow or not)”; and Col. 2 Line 55-62, “In yet another embodiment, determining the low confidence pixels may include utilizing screen space derivatives to determine a size of projected areas of screen space pixels and shadow texels into a scene. In this case, if the projected areas are different, pixels associated with the projected areas may be determined to be low confidence pixels. As an option, a threshold may be applied to determine if the projected areas are different”. Note that the screen space is mapped to the world space, and the pixel is projected to the screen space is mapped to obtain the world space location of the pixel point); determining, from a plurality of light sources in the virtual scene, a target light source whose illumination area comprises the world space location of the pixel point (See Phillips: Fig. 1, and Col. 2 Line 7-13, “FIG. 1 shows a method 100 for performing shadowing utilizing shadow maps and ray tracing, in accordance with one embodiment. As shown, one or more shadow maps are rendered for at least one light source. See operation 102. In the context of the present description, a shadow map refers to any map or structure for storing a depth of a surface that is capable of being seen by a light source”; and Col. 3 Lines 7-12, “As an option, soft shadows may be rendered utilizing the method 100. In the context of the present description, soft shadows refer to shadows resulting from a light source that is represented by an area. For example, the light source may include an area represented by a plurality of point sources distributed on the area”. Note that the lights are processed to determine which lights affect each pixels based on the projection area, precomputes the visibility of lights, and select relevant lights per spatial regions, and this teaching is mapped to the selecting the target light sources for shadow rendering); obtaining a world space location of the target light source in the world space (See Phillips: Fig. 3, and Col. 4 Lines 49-51, “As shown, a light source is represented as a plurality of point sources. See operation 302. Multiple shadow maps are then created for the light source. See operation 304”, and Col. 5 Lines 4-10, “Thus, the techniques described above may be implemented to produce soft shadows by first creating multiple shadow maps per light source. These shadow maps may, for example, be rendered from the extremities of the light source, such as the corners of a square light source. However, it should be noted that the maps may be rendered for any position on the light source”); performing ray tracing based on the world space location of the target light source and the world space location of the pixel point (See Phillips: Figs. 3-4, and Col. 4 Lines 41-48, “FIG. 3 shows a method 300 for performing shadowing utilizing shadow maps and ray tracing, in accordance with another embodiment. As an option, the present method 300 may be implemented in the context of the functionality and architecture of FIGS. 1-2. Of course, however, the method 300 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description”; and Col. 5 Lines 18-26, “FIG. 4 shows an example 400 of using multiple shadow maps for a light source for performing shadowing utilizing shadow maps and ray tracing, in accordance with one embodiment. As an option, the present example 400 may be implemented in the context of the functionality and architecture of FIGS. 1-3. Of course, however, the example 400 may be implemented in any desired environment. Once again, the aforementioned definitions may apply during the present description”), to obtain light source access information of the target light source for the pixel point; and performing shadow rendering on the virtual scene based on the light source access information (See Phillips: Fig. 3, and Col. 4 Lines 52-56, “The shadow maps are then queried for shadow values. See operation 306. It is then determined whether all of the shadow values agree. See operation 308. If the shadow values do not agree, one or more shadow rays are traced to determine the correct shading value. See operation 310”; and Col. 4 Lines 57-62, “In this way, the method 300 may be utilized to render soft shadows. In general, soft shadows are much more expensive to render accurately with either rasterization or ray tracing. Ray tracing typically achieves soft shadows by tracing multiple shadow rays toward different points on a light source in order to estimate the amount of light illuminating a point”). However, Phillips fails to explicitly disclose that to obtain light source access information of the target light source for the pixel point. However, Bakalash teaches that, to obtain light source access information of the target light source for the pixel point (See Bakalash: Figs. 4A-H, and [0161], “Ray shooting. In general, solving for visibility of local objects from the view point is conditioned by having known the setup parameters (view point, screen location, and cell location), disrupting objects on the way to the cell, and local objects in the cell. In prior art, visibility is solved per ray, which passes multiple cells and multiple data subsets when seeking for intersection, so there is no process locality. What is needed for process locality, aka the capability to solve visibility from inside the cell, is to provide each cell with the information of (i) setup parameters, (ii) local object data, and (iii) earlier obscuring objects. The setup parameters and local object data are up priory known at each cell. The information on obscuring non-local objects is cached in the shooting stencils makes the process locality at primary ray shooting possible”; and [0162], “Shadowing. In order to locally solve for shadowing in a cell we need to know: (i) light source(s), (ii) objects located between the light source and the cell, casting shadows on the cell, and (iii) local objects. All these are known: the list of light sources is accessible to all cells, the list of local objects is known to each cell, and the shadows casted by non-local objects are cached in shadow stencils”. Note that the visibility and occlusion information is mapped to the light source access information). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was effectively filed to modify Phillips to have to obtain light source access information of the target light source for the pixel point as taught by Bakalash in order to enable efficient tracing of rays and cut down the high traversal and construction costs of the prior art accelerating structures (See Bakalash: Fig. 1, and [0013], “In our stencil based ray tracing we use data structure based on a uniform grid of cells and stencils, enabling efficient tracing of rays and cut down the high traversal and construction costs of the prior art accelerating structures. The stencil based ray tracing comprises two distinct parts: preprocessing and runtime, while the runtime further breaks down to primary and secondary stages”). Phillips teaches a method and system that may perform shadowing by utilizing ray tracing and shadow maps rendered for at least one light source, determine the low confidence pixels associated with the shadow maps, and ray trace is performed for the low confidence pixels; while Bakalash teaches a system and method that may provide ray shooting for shadowing by processing the lights through stencils/grids, determining which lights affect each cell/pixel by precomputing visibility from light, and selecting relevant lights per spatial region. Therefore, it is obvious to one of ordinary skill in the art to modify Phillips by Bakalash to access the visibility or light source access information and select the relevant light source for shadow rendering to improve rendering efficiency. The motivation to modify Phillips by Bakalash is “Use of known technique to improve similar devices (methods, or products) in the same way”. Regarding claim 8, Phillips and Bakalash teach all the features with respect to claim 1 as outlined above. Further, Phillips and Bakalash teach that 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 shadow rendering method (See Phillips: Fig. 5, and Col. 6 Lines 44-51, “FIG. 5 illustrates an exemplary system 500 in which the various architecture and/or functionality of the various previous embodiments may be implemented. As shown, a system 500 is provided including at least one host processor 501 which is connected to a communication bus 502. The system 500 also includes a main memory 504. Control logic (software) and data are stored in the main memory 504 which may take the form of random access memory (RAM)”) including: obtaining a world space location of a pixel point of a screen space in a world space in which a virtual scene is located (See Phillips: Fig. 1, and Col. 1 Lines 13-25, “Current real-time renderers use a rasterization technique known as shadow mapping to produce fast shadows. During shadow mapping, the scene is rendered from the point of view of the light source and a depth value is saved at each pixel that indicates the distance to the closest piece of geometry visible to that pixel. When the scene is rendered from the point of view of the camera, each screen pixel is projected into the shadow map and the distance from that point to the light source computed. A depth comparison with the value stored in the shadow map determines if the screen pixel is the closest point visible to the light source and thus whether the screen pixel is considered to be in shadow or not)”; and Col. 2 Line 55-62, “In yet another embodiment, determining the low confidence pixels may include utilizing screen space derivatives to determine a size of projected areas of screen space pixels and shadow texels into a scene. In this case, if the projected areas are different, pixels associated with the projected areas may be determined to be low confidence pixels. As an option, a threshold may be applied to determine if the projected areas are different”. Note that the screen space is mapped to the world space, and the pixel is projected to the screen space is mapped to obtain the world space location of the pixel point); determining, from a plurality of light sources in the virtual scene, a target light source whose illumination area comprises the world space location of the pixel point (See Phillips: Fig. 1, and Col. 2 Line 7-13, “FIG. 1 shows a method 100 for performing shadowing utilizing shadow maps and ray tracing, in accordance with one embodiment. As shown, one or more shadow maps are rendered for at least one light source. See operation 102. In the context of the present description, a shadow map refers to any map or structure for storing a depth of a surface that is capable of being seen by a light source”; and Col. 3 Lines 7-12, “As an option, soft shadows may be rendered utilizing the method 100. In the context of the present description, soft shadows refer to shadows resulting from a light source that is represented by an area. For example, the light source may include an area represented by a plurality of point sources distributed on the area”. Note that the lights are processed to determine which lights affect each pixels based on the projection area, precomputes the visibility of lights, and select relevant lights per spatial regions, and this teaching is mapped to the selecting the target light sources for shadow rendering); obtaining a world space location of the target light source in the world space (See Phillips: Fig. 3, and Col. 4 Lines 49-51, “As shown, a light source is represented as a plurality of point sources. See operation 302. Multiple shadow maps are then created for the light source. See operation 304”, and Col. 5 Lines 4-10, “Thus, the techniques described above may be implemented to produce soft shadows by first creating multiple shadow maps per light source. These shadow maps may, for example, be rendered from the extremities of the light source, such as the corners of a square light source. However, it should be noted that the maps may be rendered for any position on the light source”); performing ray tracing based on the world space location of the target light source and the world space location of the pixel point (See Phillips: Figs. 3-4, and Col. 4 Lines 41-48, “FIG. 3 shows a method 300 for performing shadowing utilizing shadow maps and ray tracing, in accordance with another embodiment. As an option, the present method 300 may be implemented in the context of the functionality and architecture of FIGS. 1-2. Of course, however, the method 300 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description”; and Col. 5 Lines 18-26, “FIG. 4 shows an example 400 of using multiple shadow maps for a light source for performing shadowing utilizing shadow maps and ray tracing, in accordance with one embodiment. As an option, the present example 400 may be implemented in the context of the functionality and architecture of FIGS. 1-3. Of course, however, the example 400 may be implemented in any desired environment. Once again, the aforementioned definitions may apply during the present description”), to obtain light source access information of the target light source for the pixel point (See Bakalash: Figs. 4A-H, and [0161], “Ray shooting. In general, solving for visibility of local objects from the view point is conditioned by having known the setup parameters (view point, screen location, and cell location), disrupting objects on the way to the cell, and local objects in the cell. In prior art, visibility is solved per ray, which passes multiple cells and multiple data subsets when seeking for intersection, so there is no process locality. What is needed for process locality, aka the capability to solve visibility from inside the cell, is to provide each cell with the information of (i) setup parameters, (ii) local object data, and (iii) earlier obscuring objects. The setup parameters and local object data are up priory known at each cell. The information on obscuring non-local objects is cached in the shooting stencils makes the process locality at primary ray shooting possible”; and [0162], “Shadowing. In order to locally solve for shadowing in a cell we need to know: (i) light source(s), (ii) objects located between the light source and the cell, casting shadows on the cell, and (iii) local objects. All these are known: the list of light sources is accessible to all cells, the list of local objects is known to each cell, and the shadows casted by non-local objects are cached in shadow stencils”. Note that the visibility and occlusion information is mapped to the light source access information); and performing shadow rendering on the virtual scene based on the light source access information (See Phillips: Fig. 3, and Col. 4 Lines 52-56, “The shadow maps are then queried for shadow values. See operation 306. It is then determined whether all of the shadow values agree. See operation 308. If the shadow values do not agree, one or more shadow rays are traced to determine the correct shading value. See operation 310”; and Col. 4 Lines 57-62, “In this way, the method 300 may be utilized to render soft shadows. In general, soft shadows are much more expensive to render accurately with either rasterization or ray tracing. Ray tracing typically achieves soft shadows by tracing multiple shadow rays toward different points on a light source in order to estimate the amount of light illuminating a point”). Regarding claim 15, Phillips and Bakalash teach all the features with respect to claim 1 as outlined above. Further, Phillips and Bakalash teach that one or more non-transitory computer-readable storage media, having computer-readable instructions stored therein, the computer-readable instructions, when executed by a processor of a computer device, causing the computer device to perform a shadow rendering method (See Phillips: Fig. 5, and Col. 6 Lines 44-51, “FIG. 5 illustrates an exemplary system 500 in which the various architecture and/or functionality of the various previous embodiments may be implemented. As shown, a system 500 is provided including at least one host processor 501 which is connected to a communication bus 502. The system 500 also includes a main memory 504. Control logic (software) and data are stored in the main memory 504 which may take the form of random access memory (RAM)”) including: obtaining a world space location of a pixel point of a screen space in a world space in which a virtual scene is located (See Phillips: Fig. 1, and Col. 1 Lines 13-25, “Current real-time renderers use a rasterization technique known as shadow mapping to produce fast shadows. During shadow mapping, the scene is rendered from the point of view of the light source and a depth value is saved at each pixel that indicates the distance to the closest piece of geometry visible to that pixel. When the scene is rendered from the point of view of the camera, each screen pixel is projected into the shadow map and the distance from that point to the light source computed. A depth comparison with the value stored in the shadow map determines if the screen pixel is the closest point visible to the light source and thus whether the screen pixel is considered to be in shadow or not)”; and Col. 2 Line 55-62, “In yet another embodiment, determining the low confidence pixels may include utilizing screen space derivatives to determine a size of projected areas of screen space pixels and shadow texels into a scene. In this case, if the projected areas are different, pixels associated with the projected areas may be determined to be low confidence pixels. As an option, a threshold may be applied to determine if the projected areas are different”. Note that the screen space is mapped to the world space, and the pixel is projected to the screen space is mapped to obtain the world space location of the pixel point); determining, from a plurality of light sources in the virtual scene, a target light source whose illumination area comprises the world space location of the pixel point (See Phillips: Fig. 1, and Col. 2 Line 7-13, “FIG. 1 shows a method 100 for performing shadowing utilizing shadow maps and ray tracing, in accordance with one embodiment. As shown, one or more shadow maps are rendered for at least one light source. See operation 102. In the context of the present description, a shadow map refers to any map or structure for storing a depth of a surface that is capable of being seen by a light source”; and Col. 3 Lines 7-12, “As an option, soft shadows may be rendered utilizing the method 100. In the context of the present description, soft shadows refer to shadows resulting from a light source that is represented by an area. For example, the light source may include an area represented by a plurality of point sources distributed on the area”. Note that the lights are processed to determine which lights affect each pixels based on the projection area, precomputes the visibility of lights, and select relevant lights per spatial regions, and this teaching is mapped to the selecting the target light sources for shadow rendering); obtaining a world space location of the target light source in the world space (See Phillips: Fig. 3, and Col. 4 Lines 49-51, “As shown, a light source is represented as a plurality of point sources. See operation 302. Multiple shadow maps are then created for the light source. See operation 304”, and Col. 5 Lines 4-10, “Thus, the techniques described above may be implemented to produce soft shadows by first creating multiple shadow maps per light source. These shadow maps may, for example, be rendered from the extremities of the light source, such as the corners of a square light source. However, it should be noted that the maps may be rendered for any position on the light source”); performing ray tracing based on the world space location of the target light source and the world space location of the pixel point (See Phillips: Figs. 3-4, and Col. 4 Lines 41-48, “FIG. 3 shows a method 300 for performing shadowing utilizing shadow maps and ray tracing, in accordance with another embodiment. As an option, the present method 300 may be implemented in the context of the functionality and architecture of FIGS. 1-2. Of course, however, the method 300 may be carried out in any desired environment. Again, the aforementioned definitions may apply during the present description”; and Col. 5 Lines 18-26, “FIG. 4 shows an example 400 of using multiple shadow maps for a light source for performing shadowing utilizing shadow maps and ray tracing, in accordance with one embodiment. As an option, the present example 400 may be implemented in the context of the functionality and architecture of FIGS. 1-3. Of course, however, the example 400 may be implemented in any desired environment. Once again, the aforementioned definitions may apply during the present description”), to obtain light source access information of the target light source for the pixel point (See Bakalash: Figs. 4A-H, and [0161], “Ray shooting. In general, solving for visibility of local objects from the view point is conditioned by having known the setup parameters (view point, screen location, and cell location), disrupting objects on the way to the cell, and local objects in the cell. In prior art, visibility is solved per ray, which passes multiple cells and multiple data subsets when seeking for intersection, so there is no process locality. What is needed for process locality, aka the capability to solve visibility from inside the cell, is to provide each cell with the information of (i) setup parameters, (ii) local object data, and (iii) earlier obscuring objects. The setup parameters and local object data are up priory known at each cell. The information on obscuring non-local objects is cached in the shooting stencils makes the process locality at primary ray shooting possible”; and [0162], “Shadowing. In order to locally solve for shadowing in a cell we need to know: (i) light source(s), (ii) objects located between the light source and the cell, casting shadows on the cell, and (iii) local objects. All these are known: the list of light sources is accessible to all cells, the list of local objects is known to each cell, and the shadows casted by non-local objects are cached in shadow stencils”. Note that the visibility and occlusion information is mapped to the light source access information); and performing shadow rendering on the virtual scene based on the light source access information (See Phillips: Fig. 3, and Col. 4 Lines 52-56, “The shadow maps are then queried for shadow values. See operation 306. It is then determined whether all of the shadow values agree. See operation 308. If the shadow values do not agree, one or more shadow rays are traced to determine the correct shading value. See operation 310”; and Col. 4 Lines 57-62, “In this way, the method 300 may be utilized to render soft shadows. In general, soft shadows are much more expensive to render accurately with either rasterization or ray tracing. Ray tracing typically achieves soft shadows by tracing multiple shadow rays toward different points on a light source in order to estimate the amount of light illuminating a point”). Claims 2-3, 9-10, and 16-17 are rejected under 35 U.S.C. 103 as being unpatentable over Phillips, etc. (US 8872824 B1) in view of Bakalash (US 20140375641 A1), further in view of Kulla (US 20120212496 A1). Regarding claim 2, Phillips and Bakalash teach all the features with respect to claim 1 as outlined above. However, Phillips, modified by Bakalash, fails to explicitly disclose that the method according to claim 1, wherein the performing ray tracing based on the world space location of the target light source and the world space location of the pixel point, to obtain light source access information of the target light source for the pixel point comprises: determining a ray tracing start location and a ray tracing end location based on the world space location of the target light source and the world space location of the pixel point; determining a ray tracing step quantity based on the ray tracing start location and the ray tracing end location; and performing ray tracing based on the ray tracing step quantity, to obtain the light source access information of the target light source for the pixel point. However, Kulla teaches that the method according to claim 1, wherein the performing ray tracing based on the world space location of the target light source and the world space location of the pixel point, to obtain light source access information of the target light source for the pixel point comprises: determining a ray tracing start location and a ray tracing end location based on the world space location of the target light source and the world space location of the pixel point (See Kulla: fig. 1, and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that ray tracing from the pixel point (the start point) to the light source (end point)); determining a ray tracing step quantity based on the ray tracing start location and the ray tracing end location (See Kulla: Fig. 1, and [0015], “In one implementation, a first step is to march down the ray in fixed or adaptive steps, forming a series of segments. A random sample point within the segment of each step is chosen and a volume shader is run on the point. The volume properties .sigma..sub.s and .sigma..sub.a are determined and stored, e.g., are recorded into an array, from which a probability density function may be constructed. In one implementation, the probability density function is piecewise linear or piecewise constant and proportional to .sigma..sub.s(t).tau.(t). The light sampling loop can then draw samples along the ray using this probability density function. In this way, the light sampling loop is outside of or decoupled from the ray marching loop, i.e., the .tau.(t) estimate is decoupled from the number of lighting samples. In addition, lighting samples are focused on areas where .sigma..sub.s(t)>0. For each light sample, shadow rays are traced to the light sources. In this way, the transmission term of Equation (1) is evaluated in a convenient manner. In addition, as the lighting calculations are decoupled, indirect lighting may also be evaluated recursively at a reduced computational cost”. Note that the marching down steps is mapped to the ray tracing step quantity); and performing ray tracing based on the ray tracing step quantity, to obtain the light source access information of the target light source for the pixel point (See Kulla: fig. 1, and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was effectively filed to modify Phillips to have the method according to claim 1, wherein the performing ray tracing based on the world space location of the target light source and the world space location of the pixel point, to obtain light source access information of the target light source for the pixel point comprises: determining a ray tracing start location and a ray tracing end location based on the world space location of the target light source and the world space location of the pixel point; determining a ray tracing step quantity based on the ray tracing start location and the ray tracing end location; and performing ray tracing based on the ray tracing step quantity, to obtain the light source access information of the target light source for the pixel point as taught by Kulla in order to ensure simple and improved methods (See Kulla: Fig. 1, and [0022], “In yet another aspect, the invention is directed towards, in a production ray tracer, an unbiased method of performing ray marching for rendering of a volume in homogeneous participating media, including steps of: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of homogeneous participating media; for at least one segment, sampling a value of .sigma..sub.s and .sigma..sub.a; from the sampled value of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling one point along the virtual ray using the developed probability density function; for the sampled point, tracing shadow rays to a light source and calculating a contribution to a point on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”). Phillips teaches a method and system that may perform shadowing by utilizing ray tracing and shadow maps rendered for at least one light source, determine the low confidence pixels associated with the shadow maps, and ray trace is performed for the low confidence pixels; while Kulla teaches a system and method that may perform ray marching for production ray tracing in inhomogeneous participating media by defining a virtual ray extending from a point or pixel on a virtual viewing plane marching down to the light sources, dividing the ray into multiple segments, and sampling for each segment associated with respective local volume. Therefore, it is obvious to one of ordinary skill in the art to modify Phillips by Kulla to perform ray tracing by defining the ray from a start point to an end point, divide the ray into segments, and sample each segment accordingly. The motivation to modify Phillips by Kulla is “Use of known technique to improve similar devices (methods, or products) in the same way”. Regarding claim 3, Phillips, Bakalash, and Kulla teach all the features with respect to claim 2 as outlined above. Further, Kulla teaches that the method according to claim 2, wherein the determining a ray tracing start location and a ray tracing end location based on the world space location of the target light source and the world space location of the pixel point comprises: determining a ray tracing direction pointing from the world space location of the pixel point to the world space location of the target light source (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; [0015], “In one implementation, a first step is to march down the ray in fixed or adaptive steps, forming a series of segments. A random sample point within the segment of each step is chosen and a volume shader is run on the point. The volume properties .sigma..sub.s and .sigma..sub.a are determined and stored, e.g., are recorded into an array, from which a probability density function may be constructed. In one implementation, the probability density function is piecewise linear or piecewise constant and proportional to .sigma..sub.s(t).tau.(t). The light sampling loop can then draw samples along the ray using this probability density function. In this way, the light sampling loop is outside of or decoupled from the ray marching loop, i.e., the .tau.(t) estimate is decoupled from the number of lighting samples. In addition, lighting samples are focused on areas where .sigma..sub.s(t)>0. For each light sample, shadow rays are traced to the light sources. In this way, the transmission term of Equation (1) is evaluated in a convenient manner. In addition, as the lighting calculations are decoupled, indirect lighting may also be evaluated recursively at a reduced computational cost”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that marching down from the pixel point location to the light source location is mapped to the ray tracing direction, and the start location is ay the pixel location); determining the world space location of the pixel point as the ray tracing start location (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that marching down from the pixel point location to the light source location is mapped to the ray tracing direction, and the start location is at the pixel location); and determining the ray tracing end location based on the ray tracing direction and a preset tracing distance (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that marching down from the pixel point location to the light source location is mapped to the ray tracing direction, and the ray tracing end location is at the light source location). Regarding claim 9, Phillips and Bakalash teach all the features with respect to claim 8 as outlined above. Further, Kulla teaches that the computer device according to claim 8, wherein the performing ray tracing based on the world space location of the target light source and the world space location of the pixel point, to obtain light source access information of the target light source for the pixel point comprises: determining a ray tracing start location and a ray tracing end location based on the world space location of the target light source and the world space location of the pixel point (See Kulla: fig. 1, and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that ray tracing from the pixel point (the start point) to the light source (end point)); determining a ray tracing step quantity based on the ray tracing start location and the ray tracing end location (See Kulla: Fig. 1, and [0015], “In one implementation, a first step is to march down the ray in fixed or adaptive steps, forming a series of segments. A random sample point within the segment of each step is chosen and a volume shader is run on the point. The volume properties .sigma..sub.s and .sigma..sub.a are determined and stored, e.g., are recorded into an array, from which a probability density function may be constructed. In one implementation, the probability density function is piecewise linear or piecewise constant and proportional to .sigma..sub.s(t).tau.(t). The light sampling loop can then draw samples along the ray using this probability density function. In this way, the light sampling loop is outside of or decoupled from the ray marching loop, i.e., the .tau.(t) estimate is decoupled from the number of lighting samples. In addition, lighting samples are focused on areas where .sigma..sub.s(t)>0. For each light sample, shadow rays are traced to the light sources. In this way, the transmission term of Equation (1) is evaluated in a convenient manner. In addition, as the lighting calculations are decoupled, indirect lighting may also be evaluated recursively at a reduced computational cost”. Note that the marching down steps is mapped to the ray tracing step quantity); and performing ray tracing based on the ray tracing step quantity, to obtain the light source access information of the target light source for the pixel point (See Kulla: fig. 1, and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”). Regarding claim 10, Phillips, Bakalash, and Kulla teach all the features with respect to claim 9 as outlined above. Further, Kulla teaches that the computer device according to claim 9, wherein the determining a ray tracing start location and a ray tracing end location based on the world space location of the target light source and the world space location of the pixel point comprises: determining a ray tracing direction pointing from the world space location of the pixel point to the world space location of the target light source (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; [0015], “In one implementation, a first step is to march down the ray in fixed or adaptive steps, forming a series of segments. A random sample point within the segment of each step is chosen and a volume shader is run on the point. The volume properties .sigma..sub.s and .sigma..sub.a are determined and stored, e.g., are recorded into an array, from which a probability density function may be constructed. In one implementation, the probability density function is piecewise linear or piecewise constant and proportional to .sigma..sub.s(t).tau.(t). The light sampling loop can then draw samples along the ray using this probability density function. In this way, the light sampling loop is outside of or decoupled from the ray marching loop, i.e., the .tau.(t) estimate is decoupled from the number of lighting samples. In addition, lighting samples are focused on areas where .sigma..sub.s(t)>0. For each light sample, shadow rays are traced to the light sources. In this way, the transmission term of Equation (1) is evaluated in a convenient manner. In addition, as the lighting calculations are decoupled, indirect lighting may also be evaluated recursively at a reduced computational cost”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that marching down from the pixel point location to the light source location is mapped to the ray tracing direction, and the start location is ay the pixel location); determining the world space location of the pixel point as the ray tracing start location (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that marching down from the pixel point location to the light source location is mapped to the ray tracing direction, and the start location is at the pixel location); and determining the ray tracing end location based on the ray tracing direction and a preset tracing distance (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that marching down from the pixel point location to the light source location is mapped to the ray tracing direction, and the ray tracing end location is at the light source location). Regarding claim 16, Phillips and Bakalash teach all the features with respect to claim 15 as outlined above. Further, Kulla teaches that the computer-readable storage media according to claim 15, wherein the performing ray tracing based on the world space location of the target light source and the world space location of the pixel point, to obtain light source access information of the target light source for the pixel point comprises: determining a ray tracing start location and a ray tracing end location based on the world space location of the target light source and the world space location of the pixel point (See Kulla: fig. 1, and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that ray tracing from the pixel point (the start point) to the light source (end point); determining a ray tracing step quantity based on the ray tracing start location and the ray tracing end location(See Kulla: Fig. 1, and [0015], “In one implementation, a first step is to march down the ray in fixed or adaptive steps, forming a series of segments. A random sample point within the segment of each step is chosen and a volume shader is run on the point. The volume properties .sigma..sub.s and .sigma..sub.a are determined and stored, e.g., are recorded into an array, from which a probability density function may be constructed. In one implementation, the probability density function is piecewise linear or piecewise constant and proportional to .sigma..sub.s(t).tau.(t). The light sampling loop can then draw samples along the ray using this probability density function. In this way, the light sampling loop is outside of or decoupled from the ray marching loop, i.e., the .tau.(t) estimate is decoupled from the number of lighting samples. In addition, lighting samples are focused on areas where .sigma..sub.s(t)>0. For each light sample, shadow rays are traced to the light sources. In this way, the transmission term of Equation (1) is evaluated in a convenient manner. In addition, as the lighting calculations are decoupled, indirect lighting may also be evaluated recursively at a reduced computational cost”. Note that the marching down steps is mapped to the ray tracing step quantity) ; and performing ray tracing based on the ray tracing step quantity, to obtain the light source access information of the target light source for the pixel point (See Kulla: fig. 1, and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”). Regarding claim 17, Phillips, Bakalash, and Kulla teach all the features with respect to claim 16 as outlined above. Further, Kulla teaches that the computer-readable storage media according to claim 16, wherein the determining a ray tracing start location and a ray tracing end location based on the world space location of the target light source and the world space location of the pixel point comprises: determining a ray tracing direction pointing from the world space location of the pixel point to the world space location of the target light source (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; [0015], “In one implementation, a first step is to march down the ray in fixed or adaptive steps, forming a series of segments. A random sample point within the segment of each step is chosen and a volume shader is run on the point. The volume properties .sigma..sub.s and .sigma..sub.a are determined and stored, e.g., are recorded into an array, from which a probability density function may be constructed. In one implementation, the probability density function is piecewise linear or piecewise constant and proportional to .sigma..sub.s(t).tau.(t). The light sampling loop can then draw samples along the ray using this probability density function. In this way, the light sampling loop is outside of or decoupled from the ray marching loop, i.e., the .tau.(t) estimate is decoupled from the number of lighting samples. In addition, lighting samples are focused on areas where .sigma..sub.s(t)>0. For each light sample, shadow rays are traced to the light sources. In this way, the transmission term of Equation (1) is evaluated in a convenient manner. In addition, as the lighting calculations are decoupled, indirect lighting may also be evaluated recursively at a reduced computational cost”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that marching down from the pixel point location to the light source location is mapped to the ray tracing direction, and the start location is ay the pixel location); determining the world space location of the pixel point as the ray tracing start location (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that marching down from the pixel point location to the light source location is mapped to the ray tracing direction, and the start location is at the pixel location); and determining the ray tracing end location based on the ray tracing direction and a preset tracing distance (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”. Note that marching down from the pixel point location to the light source location is mapped to the ray tracing direction, and the ray tracing end location is at the light source location).. Claims 4, 7, 11, 14, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Phillips, etc. (US 8872824 B1) in view of Bakalash (US 20140375641 A1), further in view of Kulla (US 20120212496 A1) and McGuire. etc. (US 20140176575 A1). Regarding claim 4, Phillips, Bakalash, and Kulla teach all the features with respect to claim 3 as outlined above. Further, Phillips and Kulla teach that the method according to claim 3, wherein the performing ray tracing based on the ray tracing step quantity, to obtain the light source access information of the target light source for the pixel point comprises: determining a ray tracing step length based on the preset tracing distance and the ray tracing step quantity (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; and [0061], “In other variations, the step size may be automated using ray differentials. Even more, numerous ways of calculating or estimating step size may be used: step size may vary if more or less detail was needed along the line. The system may be employed to calculate illumination from within volumes in an efficient manner, e.g., where fire is a light source. The system and method may accommodate out-of-core data sets. The system and method may employ the inhomogeneity of the volume to determine the size, distribution, and/or number of segments. In other variations, instead of employing coefficients of scattering and absorption, mathematically equivalent quantities such as extinction and albedo may be used”); performing sampling from the world space location of the pixel point at intervals of the ray tracing step length in the ray tracing direction, to obtain a plurality of sampling locations (See Kulla: Fig. 1, and [0015], “In one implementation, a first step is to march down the ray in fixed or adaptive steps, forming a series of segments. A random sample point within the segment of each step is chosen and a volume shader is run on the point. The volume properties .sigma..sub.s and .sigma..sub.a are determined and stored, e.g., are recorded into an array, from which a probability density function may be constructed. In one implementation, the probability density function is piecewise linear or piecewise constant and proportional to .sigma..sub.s(t).tau.(t). The light sampling loop can then draw samples along the ray using this probability density function. In this way, the light sampling loop is outside of or decoupled from the ray marching loop, i.e., the .tau.(t) estimate is decoupled from the number of lighting samples. In addition, lighting samples are focused on areas where .sigma..sub.s(t)>0. For each light sample, shadow rays are traced to the light sources. In this way, the transmission term of Equation (1) is evaluated in a convenient manner. In addition, as the lighting calculations are decoupled, indirect lighting may also be evaluated recursively at a reduced computational cost”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”); obtaining a depth value of each sampling location (See Phillips: Fig. 1, and Col. 1 Lines 13-25, “Current real-time renderers use a rasterization technique known as shadow mapping to produce fast shadows. During shadow mapping, the scene is rendered from the point of view of the light source and a depth value is saved at each pixel that indicates the distance to the closest piece of geometry visible to that pixel. When the scene is rendered from the point of view of the camera, each screen pixel is projected into the shadow map and the distance from that point to the light source computed. A depth comparison with the value stored in the shadow map determines if the screen pixel is the closest point visible to the light source and thus whether the screen pixel is considered to be in shadow or not”); obtaining a depth value of a screen space location corresponding to each sampling location; for each sampling location, determining a difference between the depth value of the sampling location and the depth value of the corresponding screen space location, to obtain a depth difference of the sampling location; and obtaining the light source access information of the target light source for the pixel point based on a depth difference of each sampling location. However, Phillips, modified by Bakalash and Kulla, fails to explicitly disclose that obtaining a depth value of a screen space location corresponding to each sampling location; for each sampling location, determining a difference between the depth value of the sampling location and the depth value of the corresponding screen space location, to obtain a depth difference of the sampling location; and obtaining the light source access information of the target light source for the pixel point based on a depth difference of each sampling location. However, McGuire teaches that obtaining a depth value of a screen space location corresponding to each sampling location (See McGuire: Fig. 4A-B, and [0050], “As shown in operation 460, a copy of (or a pointer to) each photon is placed in each screen-space tile that would contain the projection of its effect sphere, and photons that do not intersect the depth range of the scene within a tile are culled. Further, as shown in operation 470, iterations are performed over the pixels in each tile in chunks and a subset of the photons in the tile is chosen from which to compute shading. Additionally, smooth shading is reconstructed at each pixel from the values at its neighbors, as shown in operation 480”); for each sampling location, determining a difference between the depth value of the sampling location and the depth value of the corresponding screen space location, to obtain a depth difference of the sampling location (See McGuire: Fig. 1, and [0018], “Further, in one embodiment, one or more chunks of photons associated with the screen-space tiles may be identified for processing. For example, in the case that there are more photons in a tile than fit in memory, multiple passes over a tile may be implemented, processing chunks of the photons in the tile in each pass. Additionally, in one embodiment, photons associated with the plurality of screen-space tiles that do not intersect a predefined depth range associated the plurality of screen-space tiles may be culled. For example, in one embodiment, during the process of categorizing the photons into tiles, a tiled algorithm may function to cull photons that do not intersect the depth range of the scene within a tile”); and obtaining the light source access information of the target light source for the pixel point based on a depth difference of each sampling location (See McGuire: Fig. 1, and [0005], “Photon mapping includes two steps: tracing photons along rays from light sources and estimating radiance due to those photons scattering off visible surfaces (i.e., "shading"). Efficient parallel ray tracing hardware and software systems are capable of tracing hundreds of millions of rays per second and the process may be amortized over multiple frames. Thus, existing systems meet the performance needed for photon tracing. Net performance of these systems typically hinge on efficient photon shading”; and [0015], “FIG. 1 illustrates a flowchart of a method 100 for tiled deferred shading, in accordance with one embodiment. As shown in operation 110, a plurality of photons associated with at least one scene are identified. In one embodiment, the plurality of photons associated with the at least one scene may be associated with a photon mapping process. For example, the photons may be part of a process that includes tracing photons along rays from one or more light sources and estimating radiance due to those photons scattering off visible surfaces”. Note that the shading is computed utilizing the selected photons, and this is mapped to the current cited limitation of “obtaining the light source access information of the target light source”). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filling date of the claimed invention was effectively filed to modify Phillips to have obtaining a depth value of a screen space location corresponding to each sampling location; for each sampling location, determining a difference between the depth value of the sampling location and the depth value of the corresponding screen space location, to obtain a depth difference of the sampling location; and obtaining the light source access information of the target light source for the pixel point based on a depth difference of each sampling location as taught by McGuire in order to ensure simple and improved methods (See McGuire: Fig. 1, and [0005], “Photon mapping includes two steps: tracing photons along rays from light sources and estimating radiance due to those photons scattering off visible surfaces (i.e., "shading"). Efficient parallel ray tracing hardware and software systems are capable of tracing hundreds of millions of rays per second and the process may be amortized over multiple frames. Thus, existing systems meet the performance needed for photon tracing. Net performance of these systems typically hinge on efficient photon shading”). Phillips teaches a method and system that may perform shadowing by utilizing ray tracing and shadow maps rendered for at least one light source, determine the low confidence pixels associated with the shadow maps, and ray trace is performed for the low confidence pixels; while McGuire teaches a system and method that may perform shade rendering with depth information to cull tiles not visible to improve the tile shade rendering efficiency. Therefore, it is obvious to one of ordinary skill in the art to modify Phillips by McGuire to obtain the depth value information to improve shade rendering efficiency. The motivation to modify Phillips by McGuire is “Use of known technique to improve similar devices (methods, or products) in the same way”. Regarding claim 7, Phillips and Bakalash teach all the features with respect to claim 1 as outlined above. Further, Phillips, Bakalash, and McGuire teach that the method according to claim 1, further comprising: forming cluster access information of the pixel point by using light source access information of each light source in the matching light source cluster of the pixel point for the pixel point (See Bakalash: Figs. 4A-I, and [0074], “FIG. 4H shows generation of primary shooting stencils in the preprocessing stage, and FIG. 4I depicts using these stencils in runtime. In the preprocessing stage the stencil 4802 is cast by object 4801 in the first cell, and the stencil 4804 is the local part of a combined stencil cast by the external object 4801 and the local object 4903 in the second cell. At runtime, FIG. 4I, each of the two exemplary cells is processed autonomously, based on cell-local information with no need of any external data. At a cell all local segments of shooting rays passing through the cell are calculated and tested for hitting the stencil. In cell 4805 only one cluster of these rays is shown, between 4904 and 4905, all hitting the stencil. Each of these rays is tested for intersection, resulting in a point of intersection with the object. 4901 are the bunch of points of primary intersection in cell 4805. In cell 4906 two clusters of shooting rays are shown. Although all rays of the cluster 4906-4907, are passing through the object 4803, but they do not hit the stencil due to their earlier intersections in cell 4905. Rays belonging to the cluster 4907-4908 hit the stencil, defining a bunch of points 4903 of primary intersection”); determining each light source participating in shadow rendering during rendering (See Bakalash: Figs. 7A-E, and [0082], “However, hitting solely a local component of stencil is ambiguous, and has to be solved by local intersection test. This is evident from the three primary intersection points 737-739. The first point 737 relates to the stencil segment 734, casted by an external object, therefore this point is certainly shadowed. The two intersection points 738 and 739 fall exclusively on locally casted stencils. The first point 738 is illuminated while the second 739 is shadowed. This ambiguity excludes the use of local stencils, and instead, local intersection tests must be conducted after all global-stencil related intersection points are solved. This is shown in FIG. 7D. Global stencil only is used. All intersection points are tested first against the global stencil 734 and sorted for shadowed and non-shadowed. The shadowed intersection points are stored in RIPP (record of intersected primary points), while the non-shadowed primary intersection points are further processed for intersection with local objects. A primary intersection point tested for shadowing by local objects is considered shadowed if an intersection between its associated shadow ray segment and a local objects occurs between the light source and the primary intersection point. If no intersection occurs, or it occurs behind the primary intersection point (relatively to the light source), than the point is considered as non shadowed”; and Figs. 6A-B, and [0077], “The flowchart of a runtime ray shooting in a data filled cell is given in FIG. 6B. All the primary rays originated at POV, passing through the image area and entering the cell, are considered. For each such cell a local segment is calculated 621; its entry point and departure point. If the departure point coincides with the shoot-stencil, the ray becomes a subject for intersection tests 622. These intersection tests with local objects are conducted utilizing local KD-tree. Once an intersection is found, the tests are discontinued”. The influence area and the ray hitting point is mapped to the light source participating shadow rendering); for each pixel point in the screen space, when the matching light source cluster of the pixel point comprises at least one light source participating in shadow rendering, obtaining light source access information of the at least one light source participating in shadow rendering for the pixel point from the cluster access information of the pixel point (See McGuire: Fig. 1, and [0021], “As shown in operation 150, shading is computed for the at least one scene utilizing the selected subset of photons. In one embodiment, computing the shading may include reconstructing smooth shading at each pixel associated with the at least one scene. Further, in one embodiment, computing the shading may include reconstructing smooth shading at each pixel associated with the at least one scene from neighbor pixel values”); and performing shadow rendering based on the light source access information of the at least one light source participating in shadow rendering for the pixel point, to obtain the shadow rendering result (See McGuire: Figs. 4A-B, and [0050], “As shown in operation 460, a copy of (or a pointer to) each photon is placed in each screen-space tile that would contain the projection of its effect sphere, and photons that do not intersect the depth range of the scene within a tile are culled. Further, as shown in operation 470, iterations are performed over the pixels in each tile in chunks and a subset of the photons in the tile is chosen from which to compute shading. Additionally, smooth shading is reconstructed at each pixel from the values at its neighbors, as shown in operation 480”). Regarding claim 11, Phillips and Bakalash teach all the features with respect to claim 10 as outlined above. Further, Phillips, Kulla, and McGuire teach that the computer device according to claim 10, wherein the performing ray tracing based on the ray tracing step quantity, to obtain the light source access information of the target light source for the pixel point comprises: determining a ray tracing step length based on the preset tracing distance and the ray tracing step quantity (See Kulla: Fig. 1, and [0005], “The volume equation is solved by "marching down the ray" in fixed or adaptive steps, evaluating the lighting at each sample point 18. Unfortunately, for each lighting call, shadow rays must themselves be ray marched, shown in FIG. 1 by points 22. The volume is sampled and lighting computed at each of these points as well, leading to a quadratic number n.sup.2 of evaluations. In other words, just a single camera ray requires many samples as each additional step adds on the order of n samples. Such evaluations are generally performed by the shader, which is a computer program employed to calculate rendering effects, usually through a graphical processing unit”; and [0061], “In other variations, the step size may be automated using ray differentials. Even more, numerous ways of calculating or estimating step size may be used: step size may vary if more or less detail was needed along the line. The system may be employed to calculate illumination from within volumes in an efficient manner, e.g., where fire is a light source. The system and method may accommodate out-of-core data sets. The system and method may employ the inhomogeneity of the volume to determine the size, distribution, and/or number of segments. In other variations, instead of employing coefficients of scattering and absorption, mathematically equivalent quantities such as extinction and albedo may be used”); performing sampling from the world space location of the pixel point at intervals of the ray tracing step length in the ray tracing direction, to obtain a plurality of sampling locations(See Kulla: Fig. 1, and [0015], “In one implementation, a first step is to march down the ray in fixed or adaptive steps, forming a series of segments. A random sample point within the segment of each step is chosen and a volume shader is run on the point. The volume properties .sigma..sub.s and .sigma..sub.a are determined and stored, e.g., are recorded into an array, from which a probability density function may be constructed. In one implementation, the probability density function is piecewise linear or piecewise constant and proportional to .sigma..sub.s(t).tau.(t). The light sampling loop can then draw samples along the ray using this probability density function. In this way, the light sampling loop is outside of or decoupled from the ray marching loop, i.e., the .tau.(t) estimate is decoupled from the number of lighting samples. In addition, lighting samples are focused on areas where .sigma..sub.s(t)>0. For each light sample, shadow rays are traced to the light sources. In this way, the transmission term of Equation (1) is evaluated in a convenient manner. In addition, as the lighting calculations are decoupled, indirect lighting may also be evaluated recursively at a reduced computational cost”; and [0019], “In one aspect, the invention is directed to, in a production ray tracer, a biased method of performing ray marching for rendering of a volume of inhomogeneous participating media. Steps of the method include: defining a virtual ray extending from a point or pixel on a virtual viewing plane; dividing the virtual ray into a plurality of segments, each segment associated with at least a local volume of inhomogeneous participating media; for each segment, sampling a local value of .sigma..sub.s and .sigma..sub.a associated with the respective local volume; from the sampled values of .sigma..sub.s and .sigma..sub.a, developing a probability density function proportional to a transmission term multiplied by a local scattering coefficient; sampling a point within each segment along the virtual ray using the developed probability density function; for each sampled point, tracing shadow rays to a light source and calculating a contribution to the point or pixel on the virtual viewing plane using the traced rays; and coloring the point according to the contribution”) ; obtaining a depth value of each sampling location (See Phillips: Fig. 1, and Col. 1 Lines 13-25, “Current real-time renderers use a rasterization technique known as shadow mapping to produce fast shadows. During shadow mapping, the scene is rendered from the point of view of the light source and a depth value is saved at each pixel that indicates the distance to the closest piece of geometry visible to that pixel. When the scene is rendered from the point of view of the camera, each screen pixel is projected into the shadow map and the distance from that point to the light source computed. A depth comparison with the value stored in the shadow map determines if the screen pixel is the closest point visible to the light source and thus whether the screen pixel is considered to be in shadow or not”); obtaining a depth value of a screen space location corresponding to each sampling location (See McGuire: Fig. 4A-B, and [0050], “As shown in operation 460, a copy of (or a pointer to) each photon is placed in each screen-space tile that would contain the projection of its effect sphere, and photons that do not intersect the depth range of the scene within a tile are culled. Further, as shown in operation 470, iterations are performed over the pixels in each tile in chunks and a subset of the photons in the tile is chosen from which to compute shading. Additionally, smooth shading is reconstructed at each pixel from the values at its neighbors, as shown in operation 480”); for each sampling location, determining a difference between the depth value of the sampling location and the depth value of the corresponding screen space location, to obtain a depth difference of the sampling location (See McGuire: Fig. 1, and [0018], “Further, in one embodiment, one or more chunks of photons associated with the screen-space tiles may be identified for processing. For example, in the case that there are more photons in a tile than fit in memory, multiple passes over a tile may be implemented, processing chunks of the photons in the tile in each pass. Additionally, in one embodiment, photons associated with the plurality of screen-space tiles that do not intersect a predefined depth range associated the plurality of screen-space tiles may be culled. For example, in one embodiment, during the process of categorizing the photons into tiles, a tiled algorithm may function to cull photons that do not intersect the depth range of the scene within a tile”); and obtaining the light source access information of the target light source for the pixel point based on a depth difference of each sampling location (See McGuire: Fig. 1, and [0005], “Photon mapping includes two steps: tracing photons along rays from light sources and estimating radiance due to those photons scattering off visible surfaces (i.e., "shading"). Efficient parallel ray tracing hardware and software systems are capable of tracing hundreds of millions of rays per second and the process may be amortized over multiple frames. Thus, existing systems meet the performance needed for photon tracing. Net performance of these systems typically hinge on efficient photon shading”; and [0015], “FIG. 1 illustrates a flowchart of a method 100 for tiled deferred shading, in accordance with one embodiment. As shown in operation 110, a plurality of photons associated with at least one scene are identified. In one embodiment, the plurality of photons associated with the at least one scene may be associated with a photon mapping process. For example, the photons may be part of a process that includes tracing photons along rays from one or more light sources and estimating radiance due to those photons scattering off visible surfaces”. Note that the shading is computed utilizing the selected photons, and this is mapped to the current cited limitation of “obtaining the light source access information of the target light source”). Regarding claim 14, Phillips and Bakalash teach all the features with respect to claim 8 as outlined above. Further, Phillips, Bakalash, and McGuire teach that the computer device according to claim 8, wherein the method further comprises: forming cluster access information of the pixel point by using light source access information of each light source in the matching light source cluster of the pixel point for the pixel point (See Bakalash: Figs. 4A-I, and [0074], “FIG. 4H shows generation of primary shooting stencils in the preprocessing stage, and FIG. 4I depicts using these stencils in runtime. In the preprocessing stage the stencil 4802 is cast by object 4801 in the first cell, and the stencil 4804 is the local part of a combined stencil cast by the external object 4801 and the local object 4903 in the second cell. At runtime, FIG. 4I, each of the two exemplary cells is processed autonomously, based on cell-local information with no need of any external data. At a cell all local segments of shooting rays passing through the cell are calculated and tested for hitting the stencil. In cell 4805 only one cluster of these rays is shown, between 4904 and 4905, all hitting the stencil. Each of these rays is tested for intersection, resulting in a point of intersection with the object. 4901 are the bunch of points of primary intersection in cell 4805. In cell 4906 two clusters of shooting rays are shown. Although all rays of the cluster 4906-4907, are passing through the object 4803, but they do not hit the stencil due to their earlier intersections in cell 4905. Rays belonging to the cluster 4907-4908 hit the stencil, defining a bunch of points 4903 of primary intersection”); determining each light source participating in shadow rendering during rendering (See Bakalash: Figs. 7A-E, and [0082], “However, hitting solely a local component of stencil is ambiguous, and has to be solved by local intersection test. This is evident from the three primary intersection points 737-739. The first point 737 relates to the stencil segment 734, casted by an external object, therefore this point is certainly shadowed. The two intersection points 738 and 739 fall exclusively on locally casted stencils. The first point 738 is illuminated while the second 739 is shadowed. This ambiguity excludes the use of local stencils, and instead, local intersection tests must be conducted after all global-stencil related intersection points are solved. This is shown in FIG. 7D. Global stencil only is used. All intersection points are tested first against the global stencil 734 and sorted for shadowed and non-shadowed. The shadowed intersection points are stored in RIPP (record of intersected primary points), while the non-shadowed primary intersection points are further processed for intersection with local objects. A primary intersection point tested for shadowing by local objects is considered shadowed if an intersection between its associated shadow ray segment and a local objects occurs between the light source and the primary intersection point. If no intersection occurs, or it occurs behind the primary intersection point (relatively to the light source), than the point is considered as non shadowed”; and Figs. 6A-B, and [0077], “The flowchart of a runtime ray shooting in a data filled cell is given in FIG. 6B. All the primary rays originated at POV, passing through the image area and entering the cell, are considered. For each such cell a local segment is calculated 621; its entry point and departure point. If the departure point coincides with the shoot-stencil, the ray becomes a subject for intersection tests 622. These intersection tests with local objects are conducted utilizing local KD-tree. Once an intersection is found, the tests are discontinued”. The influence area and the ray hitting point is mapped to the light source participating shadow rendering); for each pixel point in the screen space, when the matching light source cluster of the pixel point comprises at least one light source participating in shadow rendering, obtaining light source access information of the at least one light source participating in shadow rendering for the pixel point from the cluster access information of the pixel point (See McGuire: Fig. 1, and [0021], “As shown in operation 150, shading is computed for the at least one scene utilizing the selected subset of photons. In one embodiment, computing the shading may include reconstructing smooth shading at each pixel associated with the at least one scene. Further, in one embodiment, computing the shading may include reconstructing smooth shading at each pixel associated with the at least one scene from neighbor pixel values”); and performing shadow rendering based on the light source access information of the at least one light source participating in shadow rendering for the pixel point, to obtain the shadow rendering result (See McGuire: Figs. 4A-B, and [0050], “As shown in operation 460, a copy of (or a pointer to) each photon is placed in each screen-space tile that would contain the projection of its effect sphere, and photons that do not intersect the depth range of the scene within a tile are culled. Further, as shown in operation 470, iterations are performed over the pixels in each tile in chunks and a subset of the photons in the tile is chosen from which to compute shading. Additionally, smooth shading is reconstructed at each pixel from the values at its neighbors, as shown in operation 480”). Regarding claim 20, Phillips and Bakalash teach all the features with respect to claim 15 as outlined above. Further, Phillips, Bakalash, and McGuire teach that the computer-readable storage media according to claim 15, wherein the method further comprises: forming cluster access information of the pixel point by using light source access information of each light source in the matching light source cluster of the pixel point for the pixel point(See Bakalash: Figs. 4A-I, and [0074], “FIG. 4H shows generation of primary shooting stencils in the preprocessing stage, and FIG. 4I depicts using these stencils in runtime. In the preprocessing stage the stencil 4802 is cast by object 4801 in the first cell, and the stencil 4804 is the local part of a combined stencil cast by the external object 4801 and the local object 4903 in the second cell. At runtime, FIG. 4I, each of the two exemplary cells is processed autonomously, based on cell-local information with no need of any external data. At a cell all local segments of shooting rays passing through the cell are calculated and tested for hitting the stencil. In cell 4805 only one cluster of these rays is shown, between 4904 and 4905, all hitting the stencil. Each of these rays is tested for intersection, resulting in a point of intersection with the object. 4901 are the bunch of points of primary intersection in cell 4805. In cell 4906 two clusters of shooting rays are shown. Although all rays of the cluster 4906-4907, are passing through the object 4803, but they do not hit the stencil due to their earlier intersections in cell 4905. Rays belonging to the cluster 4907-4908 hit the stencil, defining a bunch of points 4903 of primary intersection”) ; determining each light source participating in shadow rendering during rendering (See Bakalash: Figs. 7A-E, and [0082], “However, hitting solely a local component of stencil is ambiguous, and has to be solved by local intersection test. This is evident from the three primary intersection points 737-739. The first point 737 relates to the stencil segment 734, casted by an external object, therefore this point is certainly shadowed. The two intersection points 738 and 739 fall exclusively on locally casted stencils. The first point 738 is illuminated while the second 739 is shadowed. This ambiguity excludes the use of local stencils, and instead, local intersection tests must be conducted after all global-stencil related intersection points are solved. This is shown in FIG. 7D. Global stencil only is used. All intersection points are tested first against the global stencil 734 and sorted for shadowed and non-shadowed. The shadowed intersection points are stored in RIPP (record of intersected primary points), while the non-shadowed primary intersection points are further processed for intersection with local objects. A primary intersection point tested for shadowing by local objects is considered shadowed if an intersection between its associated shadow ray segment and a local objects occurs between the light source and the primary intersection point. If no intersection occurs, or it occurs behind the primary intersection point (relatively to the light source), than the point is considered as non shadowed”; and Figs. 6A-B, and [0077], “The flowchart of a runtime ray shooting in a data filled cell is given in FIG. 6B. All the primary rays originated at POV, passing through the image area and entering the cell, are considered. For each such cell a local segment is calculated 621; its entry point and departure point. If the departure point coincides with the shoot-stencil, the ray becomes a subject for intersection tests 622. These intersection tests with local objects are conducted utilizing local KD-tree. Once an intersection is found, the tests are discontinued”. The influence area and the ray hitting point is mapped to the light source participating shadow rendering); for each pixel point in the screen space, when the matching light source cluster of the pixel point comprises at least one light source participating in shadow rendering, obtaining light source access information of the at least one light source participating in shadow rendering for the pixel point from the cluster access information of the pixel point (See McGuire: Fig. 1, and [0021], “As shown in operation 150, shading is computed for the at least one scene utilizing the selected subset of photons. In one embodiment, computing the shading may include reconstructing smooth shading at each pixel associated with the at least one scene. Further, in one embodiment, computing the shading may include reconstructing smooth shading at each pixel associated with the at least one scene from neighbor pixel values”); and performing shadow rendering based on the light source access information of the at least one light source participating in shadow rendering for the pixel point, to obtain the shadow rendering result(See McGuire: Figs. 4A-B, and [0050], “As shown in operation 460, a copy of (or a pointer to) each photon is placed in each screen-space tile that would contain the projection of its effect sphere, and photons that do not intersect the depth range of the scene within a tile are culled. Further, as shown in operation 470, iterations are performed over the pixels in each tile in chunks and a subset of the photons in the tile is chosen from which to compute shading. Additionally, smooth shading is reconstructed at each pixel from the values at its neighbors, as shown in operation 480”) . Allowable Subject Matter Claims 5-6, 12-13, and 18-19 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. The best arts searched, Phillips, etc. (US 8872824 B1), Bakalash (US 20140375641 A1), Kulla (US 20120212496 A1), and McGuire. etc. (US 20140176575 A1), do not teach the cited limitations of “the method according to claim 1, wherein the determining, from a plurality of light sources in the virtual scene, a light source whose illumination area comprises the world space location of the pixel point comprises: distributing a two-dimensional grid on a preset plane in the world space, the two-dimensional grid comprising a plurality of cells; obtaining projection areas of respective illumination areas of the plurality of light sources in the virtual scene on the preset plane; for each cell, obtaining a light source whose projection area has an intersection relationship with the cell from the plurality of light sources, to obtain a target light source cluster corresponding to the cell; determining a matching light source cluster having an illumination impact on the pixel point from target light source clusters respectively corresponding to the cells; and determining the target light source corresponding to the pixel point from the matching light source cluster having an illumination impact on the pixel point.” Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to GORDON G LIU whose telephone number is (571)270-0382. The examiner can normally be reached Monday - Friday 8:00-5:00. 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, Devona E Faulk can be reached at 571-272-7515. 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. /GORDON G LIU/Primary Examiner, Art Unit 2618
Read full office action

Prosecution Timeline

Feb 12, 2025
Application Filed
Jul 29, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12705808
AI-BASED VISUAL CONTENT COLLAGE GENERATION
2y 5m to grant Granted Aug 11, 2026
Patent 12705751
MAP SCENE RENDERING METHOD AND APPARATUS, SERVER, TERMINAL, COMPUTER-READABLE STORAGE MEDIUM, AND COMPUTER PROGRAM PRODUCT
2y 4m to grant Granted Aug 11, 2026
Patent 12705804
AUGMENTED REALITY BASED AIMING OF LIGHT FIXTURES
2y 4m to grant Granted Aug 11, 2026
Patent 12700152
AI-BASED AVATAR CREATION USING STYLE TRANSFER AND SUBJECT IMAGES
2y 5m to grant Granted Aug 04, 2026
Patent 12694614
IMAGING DEVICE, AND CONTROL METHOD OF IMAGING DEVICE
2y 1m to grant Granted Jul 28, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

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

Prosecution Projections

1-2
Expected OA Rounds
83%
Grant Probability
98%
With Interview (+15.0%)
2y 2m (~8m remaining)
Median Time to Grant
Low
PTA Risk
Based on 692 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

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

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

Free tier: 3 strategy analyses per month