Prosecution Insights
Last updated: October 24, 2026
Application No. 19/201,894

SHADOW RENDERING THROUGH GRID-BASED LIGHT RESOURCE CLUSTERING

Non-Final OA §103
Filed
May 07, 2025
Priority
Mar 08, 2023 — CN 202310248022.9 +1 more
Examiner
HAKALA, ALAN GREGORY
Art Unit
2617
Tech Center
2600 — Communications
Assignee
Tencent Technology (Shenzhen) Company Limited
OA Round
1 (Non-Final)
Grant Probability
Favorable
1-2
OA Rounds

Examiner Intelligence

Grants only 0% of cases
0%
Career Allowance Rate
0 granted / 0 resolved
-62.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
Avg Prosecution
26 currently pending
Career history
35
Total Applications
across all art units
This examiner has no resolved cases yet (career too new); statute-level performance unavailable. The Grant Probability card shows Tech Center averages instead.

Office Action

§103
Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-9, 13-20 are reject-------------ed under 35 U.S.C. 103 as being unpatentable over Li (CN 111260766 A) in view of Olsson (Efficient Virtual Shadow Maps for Many Lights). Regarding claims 13, 1, 20, Li teaches: A shadow rendering apparatus, comprising: processing circuitry configured to: set a two-dimensional grid on a preset plane in a virtual space in which a virtual scene is located;(Li ¶91 “the conventional forward rendering pipeline renders n objects under m light sources, and needs to draw m × n times, so that the performance is greatly reduced when the number of the objects and the light sources in a scene is increased. In one solution provided by the inventor, the light source may be processed by a Rendering method Based on a partition, and an idea of Rendering Based on a partition (Tile Based Rendering) is to render a depth of a scene in advance, then divide a screen space into a plurality of tiles (e.g., 32 × 32), and calculate which tiles are affected by the light source according to scene depth data, so as to perform illumination Rendering on each Tile” ¶99 “The virtual scene includes a three-dimensional or multi-dimensional space, and taking the game scene as an example, most of the game scenes do not have too large visual change in the vertical direction, so the virtual scene can be divided from the horizontal direction, for example, the virtual scene is divided according to the x-z direction (horizontal direction) of the spatial bounding box of the virtual scene, so as to obtain a plurality of divided blocks. The partitioned blocks with equal size can be obtained by uniform partitioning, and the specification of the partitioned blocks can be determined according to the actual size of the virtual scene, for example, 32 × 32, 64 × 64, 128 × 128, or the like,” Note: Li teaches a 3D virtual scene with multiple lighting sources, and teaches that a 2D grid of the virtual space is made by only considering x-z coordinates.) cluster a plurality of light resources in the virtual scene using cells in the two- dimensional grid to obtain a plurality of light clusters, each light cluster corresponding to a respective cell in the two-dimensional grid,(Li ¶99 “the specification of the partitioned blocks can be determined according to the actual size of the virtual scene, for example, 32 × 32, 64 × 64, 128 × 128, or the like, or determined according to other specifications, for example, 8 × 8, or the like, which is not particularly limited in this embodiment. The virtual scene can be converted into the 2D partition blocks through partitioning, so that the complexity of an algorithm is reduced, the calculation efficiency is improved, the problem of light source overlapping in the horizontal direction can be solved by partitioning the virtual scene in the horizontal direction, and a better illumination effect is realized.” ¶102 “The texture information may be used to determine the lighting effect on the partition block, and specifically may include index information of the light source corresponding to the partition block, so as to determine the lighting effect of the partition block through the index information, for example, the index information of the partition block a is four light sources, i.e., light sources a, b, c, and e; attribute information of the light source, such as a color of the light source, a map corresponding to the light source, and the like; the lighting characteristics of the divided blocks can be further included, and the images of the lighting effects corresponding to the divided blocks can be determined through the lighting characteristics.” Note: Li in ¶102 specifically teaches that each block/cell has its own index information of the light sources that are illuminating it, listing an example where block a is known to be lit by sources a-e. As each index group of light sources is created by Li specifically to index it to a cell in the grid that those light sources illuminate, Li teaches a clustering of light resources where each cluster corresponds to a respective cell in the 2D grid.) a projection area of an illuminated space irradiated by at least one of the plurality of light resources in each of the plurality of light clusters on the preset plane intersecting with the corresponding cell of the respective light cluster; (Note: The specifications define a projection area as ¶16 “FIG. 4 is a schematic diagram of intersection of a projection area and a cell according to some aspects.” PNG media_image1.png 314 326 media_image1.png Greyscale This clarifies that projection areas are the spaces illuminated (irradiated in the claims) by a light source. Thus, when the claim asserts that a projection area is shone on by a light source that must be in one of the light clusters, it is simply stating that all light sources producing light must belong to a cluster, and that the cluster itself is associated with the cell the light sources are illuminating. As taught by Li ¶102, the clustering of light sources is done to assign them to the cells they illuminate, meaning all light sources present in the grid belong to a cluster associated with the cell they illuminate.) determine, for each pixel point in a screen space, a target light cluster from the plurality of light clusters, illumination of the target light cluster being related to a pixel value of the pixel point; (Li ¶116 “For example, after the light sources corresponding to the partition block are determined, the light source information of each light source is traversed, and the light source information of each light source is written into the texture information, where the format of the texture information may be RGBA.” ¶118 “After the texture information on each partitioned block is determined, the illumination effect can be calculated according to the texture information when the virtual scene is rendered. For example, the illumination effect may be calculated in the Pixel Shader, first, the UV coordinate corresponding to the texture information may be calculated by using the coordinates of the partition blocks, the sizes of the partition blocks, and the spatial coordinates of the pixels, so as to obtain light source data in the texture information, and the RGBA values of the pixels are calculated by using the light source data, so as to obtain the illumination effect of the pixels. Specifically, the method may include steps S1001 to S1003, as shown in fig. 10, where: in step S1001, a target light source corresponding to each divided block is acquired from the texture information.” Note: Li teaches that to determine a pixel’s RGBA values its pixel coordinates are associated with the coordinates of the divided blocks. Li has already found which light sources illuminate each block to group them into light clusters and stored this info in the texture information associated with each block. As Li now knows how each pixel is associated with the blocks in the grid it can access the blocks texture information to obtain the relevant light sources from the cluster that illuminates the block, and use this info to set pixel values.) While Li teaches a rendering of illumination effects by the 2D grid system that groups light clusters by the regions they illuminate to help determine pixel values, it does not detail the rendering of shadows. This is taught by Olsson and render a shadow of the virtual scene based on the target light cluster of each pixel point to obtain a shadow rendering result. (Olsson 3 “Our basic algorithm is shown below. The algorithm is constructed from clustered deferred shading, with shadow maps added. Steps that are inherited from ordinary clustered deferred shading are shown in gray. 1. Render scene to G-Buffers. 2. Cluster assignment – calculating the cluster keys of each view sample. 3. Find unique clusters– finding the compact list of unique cluster keys. 4. Assign lights to clusters.– creating a list of influencing lights for each cluster. 5. Select shadow map resolution for each light. 6. Allocate shadow maps. 7. Cull shadow casting geometry for each light. 8. Rasterize shadow maps. 9. Shade samples.” 3.1 “In clustered shading the view volume is subdivided into a grid of self-similar sub-volumes (clusters), by starting from a regular 2D grid in screen space, e.g. using tiles of 32 × 32 pixels, and splitting exponentially along the depth direction. Next, all visible geometry samples are used to determine which of the clusters contain visible geometry. Once the set of occupied clusters has been found, the algorithm assigns lights to these, by intersecting the light volumes with the bounding box of each cluster. This yields a list of cluster/light pairs, associating each cluster with all lights that may affect a sample within (see Figure 2).” PNG media_image2.png 340 550 media_image2.png Greyscale Note: Olsson teaches a similar rendering approach for a lighting system as the present invention where a 3D area is viewed as a 2D grid to group light sources by which sources illuminate which blocks in the grid. When Olsson uses the term “cluster” it refers to the claim’s cells, or blocks in the grid, not a cluster of light sources. As seen from Fig. 2 and the description in 3.1, Olsson creates light clusters by determining which light sources illuminate which cells in the grid, an example can be seen where light sources L0 and L1 determined to illuminate c1, c2, and c3. Olsson’s cells in its 2D grid are 32x32 tiles of pixels, meaning the light clusters for each cell also denote the light clusters for each pixel in the cell. The means through which Olsson produces a shadow rendering via rasterization of a shadow map determined by the target light source cluster for each respective cell that has one, and therefore the 32x32 pixels of the cell, is detailed above in Olsson 3.) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Li with Olsson where 2D grid representation of a virtual scene that has light source clusters determined by which sources illuminate which cells in the grid as a means of determining pixel values based on the light sources that illuminate the cell, they correspond to does the same for pixels that have an applicable shadow component. There are several reasons that would motivate one to do so, light and shadow are complementary and determining the presence or lack of one provides the presence or lack of the other. As the complete illumination data of how every light source impacts each cell has already been determined, if a given environment required dedicated shadow rendering leveraging the existing grid and light cluster info provides an easy and efficient means to obtain the relevant info needed. Regarding claims 14, 2, Li teaches: The apparatus according to claim 13, wherein the processing circuitry is configured to: for each cell in the two-dimensional grid: determine light resources from the plurality of light resources that generate projection areas intersecting the respective cell on the preset plane;(Li ¶99 and ¶102, cited in the rejection of claim 13, teaches this. ) and select, as the light cluster corresponding to the respective cell, a number of the determined light resources that is less than or equal to a preset quantity.(Li ¶111 “if the number of the corresponding light sources is a preset value, a light source to be discarded is selected from the corresponding light sources, so as to delete the light source to be discarded. If the number of the corresponding light sources is a preset value, the candidate new light sources needing to be added can be deleted. Since the index texture is 4 channels, the texture information of each light source can contain 4 indexes, so that the preset value can be 4, and when the light source corresponding to the partition block is larger than 4, the light source can be selected to be deleted, thereby reducing resource waste and power consumption.” Note: Li teaches that the most light sources in a cluster is 4, and if more are present the excess will be deleted.) Regarding claims 15, 3, Li teaches: The apparatus according to claim 14, wherein the processing circuitry is configured to: sequentially evaluate each of the determined light resources; add each evaluated light resource to a current light cluster of the respective cell when a number of light resources in the current light cluster is less than the preset quantity; and determine the current light cluster as the light cluster corresponding to the respective cell after each of the determined light resources has been evaluated.(Li ¶102 “And traversing each piece of light source information in the current view range in sequence, determining the illumination characteristics of the light source information for each divided block,” ¶110 “When the light sources corresponding to the divided blocks are determined, the number of the light sources corresponding to the divided blocks can be recorded through a parameter, that is, each light source is stored in the texture information of the divided blocks, the value of the parameter is added with 1, and then the parameter is judged to judge whether the value is a preset value or not. The preset value may be determined according to actual requirements, for example, 4, 5, 6, and the like, and may also be other values, for example, 2, 8, and the like, which is not particularly limited in this embodiment.” Note: Li teaches that light sources are added to a cluster sequentially. Every time Li adds a new light source to a cluster that cluster increases a value of a parameter to track how many light sources it has. This is done to check this parameter against the preset value, the max allowed light sources in a cluster. Li ¶111, cited previously, teaches that if the number of light sources exceeds the preset value, they will have to be evaluated to determine which one(s) to remove.) Regarding claims 16, 4, Li teaches: The apparatus according to claim 15, wherein the processing circuitry is configured to: determine an impact factor for each of the determined light resources being evaluated when the number of light resources in the current light cluster reaches the preset quantity; (Li ¶114, cited below, teaches that all light sources have a contribution value determined for them that denotes how much they contribute to their given block’s illumination based on distance and intensity. This value is directly used in evaluating which light source to discard.) search the current light cluster for a first to-be-replaced light resource having an impact factor lower than the impact factor of a currently evaluated light resource; and replace the first to-be-replaced light resource with the currently evaluated light resource in the current light cluster.(Li ¶114 “In step S802, the contribution value of each of the corresponding light sources is calculated using the light source position and intensity. For example, the contribution value of the corresponding light source on each divided block can be calculated by using the inverse square law of physics; the illumination attenuation algorithm may be calculated by other illumination attenuation algorithms or a customized algorithm, which is not particularly limited in this embodiment. In step S803, a light source to be discarded is selected from the already corresponding light sources according to the contribution value. For example, after obtaining the illumination contribution of the corresponding light source to the partitioned block, a reservation with a larger contribution may be selected, and the light source with the smallest contribution may be used as the light source to be discarded for deletion.” Note: Li ¶111, cited previously, teaches a light source will be discarded if the maximum allowed sources in a cluster is reached, the determination on which source to discard when there are too many is described in Li ¶114. This portion teaches the position and intensity of the source relative to its block in the grid are used to determine the contribution value, analogous to the claims impact factor, of how much each light source impacts each block. Li teaches the light source with the lowest impact factor/contribution value will be discarded and replaced with the higher value new source.) Regarding claims 17, 5, Li teaches: The apparatus according to claim 16, wherein the processing circuitry is configured to: determine a distance quantization value representing a distance between the evaluated light resource and the respective cell;(Li ¶114, cited in the rejection of claim 16, teaches that the contribution value, analogous to the claims impact factor, is determined by the distance and intensity a source has to its respective cell in the grid.) and determine the impact factor based on the distance quantization value, wherein the impact factor is negatively correlated with the distance quantization value.(Li and the claims impact factor is a measure of a light’s intensity at a given distance away from the source, Li ¶114 teaches this is found through the inverse square law of Intensity * 1/Distance2. By using the inverse square law Li calculates 1/Distance2, this value is analogous to the claims ‘distance quantization value’ as it is determined from distance and negatively correlates distance with the impact factor.) Regarding claim 18, 6, Li teaches: The apparatus according to claim 17, wherein the processing circuitry is configured to: determine an attribute quantization value of the evaluated light resource based on an attribute of the evaluated light resource; and determine the impact factor based on the distance quantization value and the attribute quantization value. (Li teaches that an impact factor is calculated from the inverse square law Intensity * 1/Distance2, where the distance term is the distance quantization value. Note: The specifications define an attribute quantization value as ¶85 “the attribute quantization value being determined based on an attribute of the intersecting light resource of the cell;” ¶86 “The attribute of the light resource includes, but is not limited to, at least one of brightness or illumination intensity of the light resource … The attribute quantization value is positively correlated with the brightness and the illumination intensity of the light resource. [0087] Specifically, the terminal may calculate a ratio of the attribute quantization value to the distance quantization value, and determine the ratio as the impact degree representation value of the intersecting light resources for the cell. [0088] In this aspect, the impact degree representation value is determined based on the attribute quantization value and the distance quantization value, thereby improving accuracy of the impact degree representation value.” This clarifies that an attribute is defined as brightness or intensity, and that the attribute quantization value is positively corelated with it and ratio of it and the distance quantization outputs determines the impact factor. This is directly analogous to Li’s ratio/fractional representation of Intensity / Distance2, where the intensity value itself is the attribute quantization value.) Regarding claims 19, 7 Li teaches: The apparatus according to claim 14, wherein the processing circuitry is configured to: sequentially determine candidate light resources from the plurality of light resources;(Li ¶102 teaches that light sources are evaluated sequentially, and ¶110 teaches that they are added sequentially to light clusters one at a time to determine if there is room in the cluster to add another.) for each candidate light resource, identify at least one cell from the cells in the two- dimensional grid, wherein a projection area of an illuminated space irradiated by the candidate light resource on the preset plane intersects with the identified cell;(Li ¶102 teaches that light sources are assigned to a respective cell’s cluster if the source illuminates that cell in the grid, or in other words if its projection area intersects with the cell.) and add each candidate light resource to a current light cluster of the identified cell when a number of light resources in the current light cluster is less than the preset quantity;(Li ¶111 and ¶114 detail the process of adding light sources to a cluster. A cluster’s preset value that denotes the max allowed sources is checked, if this value has not yet been reached the source is simply added to the cluster. Otherwise, a decision on which source to discard must be made.) and the light cluster corresponding to the respective cell includes the current light cluster of each cell after the candidate light resources have been evaluated.(Li ¶105 “Specifically, the illumination range of each light source in the current view range is determined, so that a partition block affected by the illumination of each light source can be determined, for each partition block, if the partition block is in the illumination range of one light source, the partition block can be determined to correspond to the light source,” Note: This portion of the claim asserts that each cell’s final cluster associated with it is the state of the cluster after all light sources have been considered. This is taught by Li, as once Li is finished considering light sources no final reconsideration or calculation step is performed, meaning the clusters contents after all sources have been considered is used as the final cluster.) Regarding claim 8, Li teaches: The method according to claim 7, further comprising: determining an impact factor for each candidate light resource when the number of light resources in the current light cluster of the identified cell reaches the preset quantity;(Li ¶111 “if the number of the corresponding light sources is a preset value, a light source to be discarded is selected from the corresponding light sources, so as to delete the light source to be discarded. If the number of the corresponding light sources is a preset value, the candidate new light sources needing to be added can be deleted. Since the index texture is 4 channels, the texture information of each light source can contain 4 indexes, so that the preset value can be 4, and when the light source corresponding to the partition block is larger than 4, the light source can be selected to be deleted, thereby reducing resource waste and power consumption.”¶114 “In step S802, the contribution value of each of the corresponding light sources is calculated using the light source position and intensity. For example, the contribution value of the corresponding light source on each divided block can be calculated by using the inverse square law of physics; the illumination attenuation algorithm may be calculated by other illumination attenuation algorithms or a customized algorithm, which is not particularly limited in this embodiment. In step S803, a light source to be discarded is selected from the already corresponding light sources according to the contribution value. For example, after obtaining the illumination contribution of the corresponding light source to the partitioned block, a reservation with a larger contribution may be selected, and the light source with the smallest contribution may be used as the light source to be discarded for deletion.” Note: Li teaches that each light source has its contribution value/impact factor calculated for it which it will use to determine which to discard when the preset value is reached. Li finds the contribution value for all light sources being considered, both when the preset quantity of a cluster has been reached and before.) searching the current light cluster of the identified cell for a second to-be-replaced light resource having an impact factor lower than the impact factor of the candidate light resource;(Li ¶111 and ¶114, cited above, teaches when a candidate light source is being considered to be added to a cluster the source with the lowest impact factor is determined. If the candidate light source is not the lowest and the source with the lowest impact factor is already in the cluster Li identifies the source and removes it.) and replacing the second to-be-replaced light resource with the candidate light resource in the current light cluster of the identified cell.(Li ¶114 and ¶111 teach that if a source inside the cluster is determined to be the source with the lowest impact factor it is replaced with the candidate light resource. The “second to-be-replaced light resource” language is interpreted as this being the second light source the cluster has discarded after already discarding a first, referenced above in the previous claims. Thus, the language simply asserts that the consideration of which source to remove based on impact factor can happen a second time for a single cell’s cluster, which can of course occur in Li if there are more than 1 light sources over the preset value in a given cell.) Regarding claim 9, Li teaches: The method according to claim 1, wherein the determining the target light cluster comprises: determining a virtual space position of the pixel point;(Li ¶116 “For example, after the light sources corresponding to the partition block are determined, the light source information of each light source is traversed, and the light source information of each light source is written into the texture information, where the format of the texture information may be RGBA” ¶118 “After the texture information on each partitioned block is determined, the illumination effect can be calculated according to the texture information when the virtual scene is rendered. For example, the illumination effect may be calculated in the Pixel Shader, first, the UV coordinate corresponding to the texture information may be calculated by using the coordinates of the partition blocks, the sizes of the partition blocks, and the spatial coordinates of the pixels, so as to obtain light source data in the texture information, and the RGBA values of the pixels are calculated by using the light source data, so as to obtain the illumination effect of the pixels. Specifically, the method may include steps S1001 to S1003, as shown in fig. 10, where: in step S1001, a target light source corresponding to each divided block is acquired from the texture information. Since the texture information stores the index information of each light source, the target light source corresponding to each partition block can be determined from the texture information.” Note: Li teaches a virtual space position of a pixel point is determined by correlating a given pixel coordinate to a coordinate of the divided blocks to obtain the lighting information (referred to as texture info in Li) of that respective block.) determining a target cell in which a projection of the virtual space position of the pixel point on the preset plane is located;(Li ¶118 teaches that a pixel point is associated with a specific block in the grid using the coordinates of the blocks.) and determining the light cluster corresponding to the target cell as the target light cluster for the pixel point.(Li ¶118 teaches that once the block a pixel corresponds to is determined, the light source data (referring to the light cluster) is evaluated to obtain texture information to set the values of the pixel. Thus, the light source of the cell a pixel corresponds to also associates its light cluster and light information with that pixel.) Claims 10, 11 are rejected under 35 U.S.C. 103 as being unpatentable over Li (CN 111260766 A) in view of Olsson (Efficient Virtual Shadow Maps for Many Lights) and further in view of Maletz (Image Space Lighting). Regarding claim 10, Li teaches: The method according to claim 9, wherein the rendering the shadow comprises: determining, for each pixel point associated with a target light cluster (Li ¶118, cited above in the rejection of claim 9, teaches that pixels have the corresponding cell they depict found to associate the cell’s light cluster with the pixel to determine the pixel’s value based on the lights “texture information”, which details info about the lights.), light resource reachability information indicating whether the light resource illuminates the cell; (Li ¶116 “Fig. 9 shows a data structure of texture information, where the texture information stores light source information of multiple light sources, and as shown in fig. 9, if four channels of a pixel correspond to four light sources, and each channel can be 8 bits, 255 light sources can be represented. Among them, lightposaddradius, four floating point numbers (float4), may represent the position information (e.g., x, y, z) of the light source and the radius of the light source; LightColor, which may represent the color of the light source; SpotDir, which can represent the direction of the spotlight; spotlangles, which may represent the inside and outside angles of a spotlight,” Note: Li previously detailed how lights are associated with cells by determining which cells they shine on. Here, Li teaches that the specific reachability information describing the radius and direction of the light source are known specifically. In the context of ¶116, all the sources have already been determined to shine on the given cell and their radius and direction info are saved for calculating pixel values.) Li does not teach shadow rendering or that the reachability information indicates if a light source illuminates a pixel, and only uses the radius and direction info to determine if a source illuminates cells. Determining which sources in a cluster associated with a pixel participate in shadow rendering is taught by Olsson which teaches determining, for each pixel point associated with a target light cluster(Ollson 3 and 3.1, cited previously in the rejection of claim 1, teach that light clusters are associated with cells in the 2D grid. The cells in the 2D grid are directly tied to a corresponding 32x32 tile of pixels that have their values set by their respective cell’s light cluster, teaching that each pixel point is associated with a target light cluster.) that includes a light resource participating in shadow rendering, light resource (Olsson 3.1 “Finally, each visible sample is shaded by looking up the lights for the cluster it is within and summing their contributions.” Note: Olsson 3 teaches that the shading referenced in 3.1 refers to shading samples of rasterized shadow maps, aka shadow rendering. When Olsson references a cluster, it is referring to a cell in the grid, not the claims light cluster. Thus, when Olsson teaches lights that correspond to a cell are determined and used in shading it is teaching that light resources in the claims ‘light cluster’ are used in shadow rendering.) indicating whether the light resource participating in shadow rendering illuminates the virtual space position of the pixel point;(Ollson 3.1 teaches all light sources associated with a cell in the grid are considered when performing shadow rendering, meaning if a light source is in a cell’s cluster, it is indicated to be used in the shadow rendering.) and rendering the shadow of the virtual scene based on the light resource information to obtain the shadow rendering result.(Olsson 3.1, cited previously, teaches that the final step that performs the rendering, the shading step, is performed to obtain the shadow rendering result. ) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Li with Olsson where: when light sources in a cluster associated with a pixel point are used to perform rendering light sources that participate in shadow rendering are identified to render the shadow of the virtual scene. There are several reasons that would motivate one to do so, light and shadow are complementary and determining the presence or lack of one provides the presence or lack of the other. As the relevant light sources that impact a given pixel point and its corresponding cell have already been identified, if a given environment required dedicated shadow rendering leveraging the existing grid and light cluster info provides an easy and efficient means to obtain the relevant info needed. Olsson does not however teach that the shadow rending which uses light source information of lights in the cluster associated with the pixel point uses reachability information of the light source to perform the rendering. The use of reachability information in determining how to render lighting for pixels is taught by Maletz which teaches light resource reachability information indicating whether the light resource participating in rendering illuminates the virtual space position of the pixel point;(Maletz Fig. 1 and Lighting, cited below, teach all light resources have reachability information defined for them indicating the area they illuminate. Maletz specifically teaches this reachability information indicates which pixels are in the light source’s range.) and rendering the light of the virtual scene based on the light resource reachability information to obtain the rendering result. ( PNG media_image3.png 346 908 media_image3.png Greyscale Maletz Lighting “However, if for every light source, you only compute the lighting for the pixels within that light's area of effect, then you only compute lighting for 100 pixels for each light source, for a total of 100,000 lighting calculations. This is a 10,000x speedup. Obviously, taking the light source's area of effect into account is a big win when rendering lots of small light sources - and that is the essential idea behind image space lighting, and how it can operate so efficiently.” Rendering and Implementation “Bind a shader that computes the lighting contribution from the light source whose proxy shape is being rendered on the point at the rasterized pixel position in the deferred shading textures. This shader can also discard the fragment if the point is not within the light's area of effect to save computation costs” Note: Maletz teaches that the reachability information of light sources indicates which pixels the light will illuminate, and that when rendering only light sources that impact a given pixel based on their reachability information are used to produce the rendering result.) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Li with Maletz where: when each pixel point has an associated target light cluster that includes light sources that participate in shadow rendering and using the light source information to perform shadow rendering uses reachability info of the light sources specifically to determine if a light source illuminates the given pixel. There are several reasons that would motivate one to do so, depending on the dimensions set for the 2D grid a single cell may span a wide area such that some sources illuminate some pixels in the same cell and others do not. In a situation like this, considering the lighting information for a source that does not pertain to a specific pixel is an inefficiency that could be avoided by only considering the sources whose reachability information indicates they illuminate a given pixel. Regarding claim 11, Li teaches: The method according to claim 10, wherein the determining the light resource reachability information comprises: determining cluster reachability information for the pixel point, the cluster reachability information including light resource reachability information for each light resource in the target light cluster; (Li ¶116 “Fig. 9 shows a data structure of texture information, where the texture information stores light source information of multiple light sources, and as shown in fig. 9, if four channels of a pixel correspond to four light sources, and each channel can be 8 bits, 255 light sources can be represented. Among them, lightposaddradius, four floating point numbers (float4), may represent the position information (e.g., x, y, z) of the light source and the radius of the light source; LightColor, which may represent the color of the light source; SpotDir, which can represent the direction of the spotlight; spotlangles, which may represent the inside and outside angles of a spotlight,” Note: Li previously detailed how lights are associated with cells by determining which cells they shine on. Here, Li teaches that the specific reachability information describing the radius and direction of the light source are known specifically, and for all sources in a cluster. Li ¶118 details how these light clusters are associated with specific pixels, teaching that this reachability info applies to a target light cluster for a pixel point. While Li does not teach that the reachability information is used to determine if a source illuminates the space a pixel represents, it nonetheless stores the reachability info in the light cluster and associates the cluster with pixel points, and uses the info to set the pixel’s values.) and extracting, from the cluster reachability information, the light resource reachability information of the light resource participating in the rendering. (While Li does not differentiate which sources in a cluster reach individual pixels, Li ¶116 does teach pulling the light resource reachability information for all sources. As all the light sources present will be used to render the given pixels that correspond to a cell, and all light sources have their reachability info read, Li teaches the claims language that from the total cluster reachability info the light sources that will participate in rendering are pulled.) Li does not however teach performing shadow rendering. This is taught by Olsson which teaches information of the light resource participating in the shadow rendering. (Olsson 3 and 3.1, cited previously, teaches how light source information is used to perform shadow rendering.) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Li with Olsson where performing rendering using cluster reachability information is used to perform shadow rendering. There are several reasons that would motivate one to do so; by considering a cell’s light cluster’s reachability info the cell can be divided by which sources illuminate which parts to reduce computation time and improve efficiency by only considering relevant sources when performing shadow rendering. Claims 12 are rejected under 35 U.S.C. 103 as being unpatentable over Li (CN 111260766 A) in view of Olsson (Efficient Virtual Shadow Maps for Many Lights) and further in view of Maletz (Image Space Lighting) and further in view of Mayo (Walls and Shadows in 2D). Regarding claim 12, Li teaches: The method according to claim 11, wherein the determining the cluster reachability information comprises: determining the light resource reachability information for each light resource in the target light cluster;(Li ¶116, cited above, teaches that all light sources in clusters have their reachability information saved for them, and read to be used in rendering.) The cluster reachability information was previously detailed as information including the reachability information of all the sources in a cluster, which is taught by Li as all sources in a cluster have their reachability info stored. Here, cluster reachability information is defined to be the result of combining reachability information. Combining reachability information into a single reachability information that defines a cluster is taught by Mayo and combining the determined light resource reachability information into the cluster reachability information. (Mayo “This article will explore a technique for efficiently computing visible and lit regions in a 2D scene … Lights exist at points, and have a given area of effect, defined by a radius. Everything inside this radius that faces the light is considered lit. Lights can have overlapping areas. Since there can be multiple lights, unions of polygons would be required:” PNG media_image4.png 386 700 media_image4.png Greyscale Note: Mayo teaches lighting a 2D scene where multiple light sources are present, and all light sources have a given area of effect defined by a radius, analogous to the claim’s reachability information. Most lights in Mayo’s system will not have a perfect circle radius due to walls blocking light; Thus, Mayo refers the area of effect light sources have as polygons. Mayo teaches that when lights have overlapping areas, a union of polygons is done. In other words, the reachability information denoting the area of effects the multiple light sources are combined into a single defined area for a cluster, or reachability information of a cluster.) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention to combine Li with Mayo where the cluster reachability information is a combination of the light sources in the clusters reachability information. There are several reasons that would motivate one to do so, when setting pixel values for a pixel that corresponds to a given cell with its associated light source cluster all individual light sources reachability information must be read and then checked against the pixel point. This process could be made more efficient if the entire cluster’s reachability information was combined into a single reachability information value, reducing the amount of values needed to be retrieved from memory. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALAN GREGORY HAKALA whose telephone number is (571)272-7863. The examiner can normally be reached 8:00am-5:00pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, King Poon can be reached at (571) 270-0728. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /ALAN GREGORY HAKALA/ Examiner, Art Unit 2617 /KING Y POON/Supervisory Patent Examiner, Art Unit 2617
Read full office action

Prosecution Timeline

May 07, 2025
Application Filed
Oct 16, 2026
Non-Final Rejection mailed — §103 (current)

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
Grant Probability
Low
PTA Risk
Based on 0 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