Light transport consistent scene simplification within graphics display systems

By constructing and adjusting a simplified representation of a three-dimensional scene using k-nearest neighbor search and reducing flakes to align with original scene intersections, the method ensures accurate representation for high-quality rendering.

DE102013214131B4Active Publication Date: 2025-10-02NVIDIA CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE102013214131
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2012-07-19
Filing Date
2013-07-18
Publication Date
2025-10-02
Estimated Expiration
2033-07-18

AI Technical Summary

Technical Problem

Existing light transport algorithms based on ray tracing generate simplified representations of three-dimensional scenes that may not accurately represent the original scene, leading to undesirable artifacts in rendered images due to false representations.

Method used

A method involving casting beams into a three-dimensional scene, constructing a simplified representation using k-nearest neighbor search, deriving radii for flakes at tangent planes, and adjusting the representation by reducing flakes to ensure accurate alignment with original scene intersections, thereby generating an adjusted simplified representation suitable for high-quality rendering.

Benefits of technology

The adjusted simplified representation accurately reflects the original scene, resulting in high-quality rendered images without disruptive artifacts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A computer graphics implemented method comprising: casting a first plurality of rays (220) toward an original three-dimensional scene (200) comprising objects (222) with object surfaces, wherein the first plurality of rays may be recast within the original three-dimensional scene (200); constructing a simplified representation (400) of the original three-dimensional scene, comprising: using a k-nearest neighbor search to adapt to a local density of endpoints for the first plurality of rays (220); deriving a radius for each of the first plurality of rays (220); generating an approximation of the original three-dimensional scene in the form of a plurality of splats (326) at tangent planes of the endpoints; and adjusting the simplified representation (400) to be consistent with the original three-dimensional scene by using known rays and object surface intersections obtained by the casting to generate an adjusted simplified representation (600), the adjusting further comprising: tracing the first plurality of rays toward the simplified representation; and reducing the plurality of splats (326) that intersect with the first plurality of rays to produce the adjusted simplified representation.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application is related to the patent application "Area classification for point-based rendering within a graphics display system", which was filed concurrently with this application. BACKGROUND OF THE INVENTION

[0002] Light transport algorithms based on ray tracing are used to sample a three-dimensional scene and its illumination by casting rays within the scene. Typically, a large number of rays are required for high-quality rendering, i.e., with an acceptable level of noise. Due to this complexity, it is often advantageous to perform parts of the lighting calculations using a simplified representation of the three-dimensional scene. Typical simplified representations are generated using a k-nearest-neighbor search to adapt to the local density of ray endpoints and derive a radius for each one.While generating a simplified representation is fast and automatic, there is no guarantee that the resulting simplified representation will faithfully represent the original three-dimensional scene. Misrepresentations of scenes due to simplification can lead to undesirable artifacts in rendered images.

[0003] The disclosed document “Splat-based Ray Tracing of Point Clouds” by L.

[0004] Linsen et al., Journal of WSCG, 2007, pages 51-58, discloses a ray-traced imaging technique in which output rays are intersected with splats. A neighborhood is determined around each point in the point cloud, which is used to represent a surface, a surface normal is estimated at each of the points, splats of varying radii covering the surface are calculated, and the normals of all points covered by each splat are used to generate a continuously varying normal field for each splat. During the imaging step, ray-splat intersections are performed, with the normal at the intersection point being interpolated using local coordinates of the splat's normal field.

[0005] The disclosed paper "GPU-based Ray Tracing of Splats" by R. GORADIA in Proceedings of the 18th Pacific Conference on Computer Graphics and Applications, 2010, pages 101-108, discloses a ray tracing solution for image processing of point models using splats. The center of each splat is the respective point position, while its radius is determined according to the density of the point's local neighborhood and with minimal overlap between neighboring splats. Splats are then inserted into an octree structure, which is then sent to the FPU for ray tracing.

[0006] The disclosed document "Ray Tracing Point Sampled Geometry," by G. Schaufler et al. in Rendering Techniques 2000, ed. by B. Peroche and H. Rushmeier, Springer, Vienna, 2000, pages 319-328, discloses a technique for ray tracing a geometry represented by points. The procedure involves detecting intersections with point-sampled geometry by tracing a ray through the scene until the local density of points exceeds a predefined threshold. All points within a specified distance of the ray are subsequently used to interpolate the position, normal, and other attributes of the intersection. BRIEF SUMMARY OF THE INVENTION

[0007] There is therefore a need for a computer graphics method for generating a simplified representation of a scene that is consistent with and accurately represents the original three-dimensional scene.

[0008] Embodiments of the present invention are directed to a computer graphics method. The computer-controlled method includes casting a plurality of rays toward an original three-dimensional scene comprising objects with object surfaces. The first plurality of rays may be recast within the original three-dimensional scene. The method also includes constructing a simplified representation of the original three-dimensional scene and adjusting the simplified representation to be consistent with the first plurality of rays used in the initial scan of the original three-dimensional scene.Constructing the simplified representation includes using a k-nearest neighbor search to adapt to a local density of endpoints for the first plurality of rays, deriving a radius for each of the first plurality of rays, and generating an approximation of the original three-dimensional scene in the form of a plurality of splats at tangent planes of the endpoints. The simplified representation is adjusted using known rays and object surface intersections obtained from the casting to generate an adjusted simplified representation. Adjusting the constructed simplified representation includes tracing the first plurality of rays toward the simplified representation and shrinking the plurality of splats that intersect with the first plurality of rays to generate the adjusted simplified representation.The method further comprises processes for rendering a high-quality image, including: casting a second plurality of rays toward the adjusted simplified representation and testing the second plurality of rays for intersections with the object surfaces within the adjusted simplified representation, estimating incident light within the adjusted simplified representation at the intersections with the object surfaces, testing material properties of the object surfaces, and calculating a color and light intensity for a plurality of pixels associated with the second plurality of rays. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like reference numerals designate similar elements. The Fig. 1 shows an exemplary computer system according to an embodiment of the present invention. The Fig. 2 shows an original three-dimensional scene and a plurality of rays cast using the original scene, according to an embodiment of the present invention. The Fig. Figure 3 shows a simplified representation of the original three-dimensional scene having splats placed at the intersection points of the plurality of rays, according to an embodiment of the present invention. The Fig. Figure 4 shows a simplified representation of the original three-dimensional scene based on an approximation using splats, according to an embodiment of the present invention. The Fig. Figure 5 shows an adjusted simplified representation of the original three-dimensional scene, with the splats reduced in size to eliminate spurious cuts, according to an embodiment of the present invention. The Fig. Figure 6 shows an adjusted simplified representation of the original three-dimensional scene based on an approximation using reduced splats, according to an embodiment of the present invention. The Fig. 7 shows a flowchart of an exemplary computer graphics method for rendering an image from a simplified model of an original three-dimensional scene, according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0010] Reference will now be made in detail to embodiments of the present invention, examples of which are shown in the accompanying drawings. Although the present invention will be discussed in connection with the following embodiments, it will be understood that these are not intended to limit the present invention to only these embodiments. On the contrary, the present invention is intended to cover alternatives, modifications, and equivalents which may be included within the spirit and scope of the present invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, embodiments of the present invention may be practiced without these specific details.In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the present invention.

[0011] For explanatory purposes, the term "horizontal," as used herein, denotes a plane parallel to the plane or surface of an object, regardless of its orientation. The term "vertical" denotes a direction perpendicular to the horizontal just defined. Terms such as "above," "below," "bottom," "top," "side," "higher," "lower," "upper," "above," and "deeper" are used with reference to the horizontal plane.

[0012] The Fig. 1 shows an exemplary computer system 100 according to an embodiment of the present invention. The computer system 100 shows the components according to embodiments of the present invention that provide the execution platform for certain hardware-based and software-based functionality, particularly computer graphics rendering and display capability. In general, the computer system 100 includes a system board 106 having at least a central processing unit (CPU) 102 and a system memory 104. The CPU 102 may be coupled to the system memory 104 via a bridge device or memory controller (not shown), or it may be coupled directly to the system memory 104 via a CPU-internal memory controller (not shown).

[0013] Computer system 100 also includes a graphics subsystem 114 having at least one graphics processing unit (GPU) 110. Graphics subsystem 114 may be included, for example, on a graphics card. Graphics subsystem 114 may be coupled to a display 116. One or more additional GPU(s) 110 may optionally be coupled to computer system 100 to further increase its computing power. GPU(s) 110 may be coupled to CPU 102 and system memory 104 via a communications bus 108. GPU 110 may be implemented as a discrete component, a discrete graphics card, which may be coupled to computer system 100 via a connector (e.g., an AGP slot, PCI Express slot, etc.).), a discrete integrated circuit die (e.g., mounted directly on a motherboard), or as an integrated GPU included within the integrated circuit die of a computer system chipset component (not shown). Memory devices 112 may additionally be coupled to the GPU 110 for storing high-bandwidth graphics data, e.g., the frame buffer. In one embodiment, the memory devices 112 may be dynamic random-access memory (RAM). A power supply unit (PSU) 118 may provide electrical power to the system board 106 and the graphics subsystem 114.

[0014] The CPU 102 and the GPU 110 may also be integrated into a single integrated circuit die, and the CPU and GPU may share various resources, such as instruction logic, buffers, functional units, and so on, or separate resources may be provided for graphics and general-purpose operations. The GPU may further be integrated into a core logic component. Consequently, any or all circuitry and / or functionality described herein as being associated with the GPU 110 may also be implemented in and executed by a properly equipped CPU 102. Additionally, while embodiments herein may refer to a GPU, it should be appreciated that the described circuitry and / or functionality may also be implemented and other processor types (e.g., general-purpose or other special-purpose coprocessors) or within a CPU.

[0015] The system 100 may, for example, be implemented as a desktop computer system or a server computer system having a high-performance general-purpose CPU 102 coupled to a dedicated graphics rendering GPU 110. In such an embodiment, components may be included that add peripheral buses, specialized audio / video components, IO devices, and the like. Similarly, the system 100 may be implemented as a portable device (e.g., cellular phone, PDA, etc.), a broadcast satellite (DBS) / terrestrial set-top box, or a set-top video game console device, such as the Xbox One® available from Microsoft Corporation of Redmond, Wash., or the PlayStation 3® available from Sony Computer Entertainment Corporation of Tokyo, Japan. The system 100 may also be implemented as a "system on a chip" (e.g., a "system on a chip").A computer device may be implemented as a "system on a chip" (SAP), wherein the electronics (e.g., components 102, 104, 110, 112, and the like) of a computing device are contained entirely within a single integrated circuit die. Examples include a handheld instrument with a display, a motor vehicle navigation system, a portable entertainment system, and the like.

[0016] The Fig. 2 shows a diagram of an original three-dimensional computer graphics scene 200 and a first plurality of rays 220 cast using the original scene 200, according to one embodiment of the present invention. The scene may be represented in computer memory as graphics data stored therein. The original three-dimensional scene 200 is a three-dimensional model intended to be converted by a computer graphics processing system into a 2D image for image display. The original three-dimensional scene 200 includes an object 222 within the scene. In one embodiment, the image is rendered using ray tracing, a technique for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of the light's collisions with virtual objects.

[0017] In accordance with ray tracing graphics rendering, a first plurality of rays 220 are cast toward the object 222 within the original three-dimensional scene 200. Once cast, the first plurality of rays 220 may intersect 224 a surface of the object 222. The first plurality of rays 220 may also be recast multiple times as reflected rays, transmitted rays, or shadow rays within the scene 200. The distribution of the origins and endpoints of the first plurality of rays 220 provides information about the positions and orientations of the geometry of the scene 200.

[0018] If only a relatively small number of rays are cast into the original three-dimensional scene 200, the resulting rendered image is typically of poor quality. A large number of rays are typically required for high-quality rendering, for example, to reduce noise to a reasonable level. In one embodiment of the present invention, the first plurality of rays may reflect or refract from the object 222, resulting in additional rays within the original three-dimensional scene 200. In another embodiment, it may be necessary to recast multiple rays into the original three-dimensional scene 200.

[0019] After the first plurality of rays 220 have been cast toward the object 222, a simplified representation of the original three-dimensional scene 200 is constructed.

[0020] The Fig. 3 shows a simplified representation of the original three-dimensional scene 200 having a plurality of splats 326 placed at the intersection points 224 of the first plurality of rays 220, according to one embodiment of the present invention. The splats 326 are located on the tangent planes of the ray endpoints where the first plurality of rays 220 intersect 224 with the object 222. In one embodiment, the splats 326 are circles on the tangent planes of the ray endpoints. In other embodiments, the splats 326 may be elliptical, circularly augmented with clipping lines, or other shapes.

[0021] The splats 326 may be formed using a conventional k-nearest-neighbor search to adapt to the local density of the intersection points 224 of the first plurality of rays 220 and derive a radius for each one, according to one embodiment. A k-nearest-neighbor search is well known in the art. The result is an approximation of the geometry of the original three-dimensional scene 200 in the form of splats 326 located on the tangent planes of the ray endpoints.

[0022] The splats 326 intersect with the first plurality of rays 220 at the splat-ray intersection points 328. Because the splats 326 intersect with the plurality of rays 220, the splats do not exactly approximate the original three-dimensional scene 200.

[0023] While this approach involving splat placement 326 is generally fast and automatic, there is no guarantee that the resulting simplified representation accurately represents the original three-dimensional scene. Consequently, the simplified representation may not be suitable for high-quality rendering.

[0024] The Fig. 4 shows a simplified representation 400 of the original three-dimensional scene ( Fig. 2) based on an approximation using splats 326, according to another embodiment of the present invention. Fig. 4 is similar to the Fig. 3 except that it only shows the splats 326 that were placed on the tangent planes of the ray endpoints. As shown in the Fig. 4, the splats do not exactly approximate the original three-dimensional scene 200. It is possible that some rays 220 that are not occluded in the original three-dimensional scene 200 may collide with the object 222 ( Fig. 2) will intersect in the simplified representation 400. Embodiments of the present invention adjust the simplified representation 400 to closely approximate the original three-dimensional scene 200, as described below.

[0025] It can be understood that the simplified representation 400 may be represented by means of a polygon mesh or triangular mesh.

[0026] The Fig. Figure 5 shows an adjusted simplified representation of the original three-dimensional scene 200, where the splats 430 are reduced in size to avoid spurious cuts ( Fig. 3) according to another embodiment of the present invention. Because the splats 326 intersect with the first plurality of rays 220, as previously mentioned, the splats do not accurately approximate the original three-dimensional scene 200.

[0027] The simplified representation 400 ( Fig. 4) is adjusted to be consistent with the original input sampling obtained by casting the first plurality of rays 220. The adjusted simplified representation is consistent if casting the first plurality of rays 220 toward the simplified representation 400 ( Fig. 4) and casting the first plurality of rays 220 toward the original three-dimensional scene 200 results in the same intersection points with surfaces of the object 222.

[0028] The adjusted simplified representation is constructed by tracing the rays used to obtain the input samples towards the simplified representation 400 ( Fig. 4) and reducing the splats 326 ( Fig. 3) to the splat-ray intersection points 328. The splats 326 ( Fig. 3) may be reduced by modifying the radius of each splat 326 ( Fig. 3), so that the radius is smaller than the distance between the disturbing cut and the origin of the splat 326 ( Fig. 3). Reducing the splats 326 ( Fig. 3) results in adjusted splats 430. Since there is knowledge from the initial scan that the first plurality of rays 220 were unobstructed at least up to the splat-ray intersection points 328, the simplified representation 400 ( Fig. 4) be fine-tuned, resulting in an adjusted simplified representation that accurately represents the original three-dimensional scene 200.

[0029] The Fig. 6 shows an adjusted simplified representation 600 of the original three-dimensional scene 200 ( Fig. 2) based on an approximation using reduced splats 430, according to another embodiment of the present invention. Fig. 6 is similar to the Fig. 5 with the exception that it shows only the reduced splats 430, which are separated from the splats 326 originally placed on the tangent planes of the ray endpoints ( Fig. 3) were reduced in size. As stated in the Fig. 6, the splats approximate the original three-dimensional scene 200 exactly by not having any disturbing cuts 328 ( Fig. 3) are more available.

[0030] Reducing the splats results in a significant improvement in the approximation quality, making it suitable for high-quality rendering. All the original rays hit the adjusted simplified model 600 at the same location as in the representation of the original three-dimensional scene 200 (see the description of the Fig. 5). Performing a rendering operation on the adjusted simplified representation 600 yields a substantially similar result to performing a rendering operation on the original three-dimensional scene 200.

[0031] The Fig. 7 shows a flowchart 700 of a computer-controlled exemplary method for rendering an image from a simplified model of an original three-dimensional scene, according to an embodiment of the present invention. The computer-controlled method of flowchart 700 may be implemented in the system of Fig. 1. In a block 702, a first plurality of rays are cast toward an original three-dimensional scene comprising objects with object surfaces.

[0032] In the Fig. 2, for example, a first plurality of rays are cast toward the original three-dimensional scene. The original three-dimensional scene includes an object with a surface. The first plurality of rays intersect with the object at the object's surfaces.

[0033] In a block 704 of Fig. 7, a simplified representation of the original three-dimensional scene is constructed. The simplified representation may be constructed using a k-nearest-neighbor search to adapt to the local density of endpoints for the first plurality of rays. A radius is then derived for each of the first plurality of rays, and a simplified representation of the original three-dimensional scene is generated in the form of splats on tangent planes of the endpoints of the first plurality of rays.

[0034] In the Fig. 3, for example, a simplified representation of the original three-dimensional scene is generated using splats on the tangent planes of the endpoints of the first plurality of rays. The simplified representation is an approximation of the original three-dimensional scene.

[0035] In a block 706 of Fig. 7, the simplified representation is adjusted to be consistent with the original three-dimensional scene by using known rays and object surface intersections obtained by the casting. The result is an adjusted simplified representation. The adjusted simplified representation is made consistent with the original three-dimensional scene by adjusting the simplified representation such that casting the first plurality of rays toward the simplified representation and casting the first plurality of rays toward the original three-dimensional scene result in the same intersections with the object surfaces.

[0036] The adjusted simplified representation is generated by tracing the first plurality of rays toward the simplified representation and reducing the plurality of splats that intersect with the first plurality of rays. Fig. 5, for example, the simplified representation is adjusted to produce an adjusted simplified representation by shrinking the plurality of splats to the intersection points between the first plurality of rays and the plurality of splats.

[0037] After generating the simplified representation and adjusting it to produce the adjusted simplified representation, the adjusted simplified representation can be used for high-quality image rendering. In a block 708, a second plurality of rays are cast toward the adjusted simplified representation and checked for intersections with the object surfaces within the adjusted simplified representation. In a block 710, the incident light within the adjusted simplified representation is estimated at the intersections with the object surfaces. In a block 712, the material properties of the object surfaces are checked. In a block 714, a color and a light intensity for the plurality of pixels are associated with the second plurality of rays. The result from block 714 may optionally be displayed on a display screen.

Claims

[1] A computer graphics implemented method comprising: casting a first plurality of rays (220) toward an original three-dimensional scene (200) comprising objects (222) with object surfaces, wherein the first plurality of rays may be recast within the original three-dimensional scene (200); constructing a simplified representation (400) of the original three-dimensional scene, comprising: using a k-nearest neighbor search to adapt to a local density of endpoints for the first plurality of rays (220); deriving a radius for each of the first plurality of rays (220); generating an approximation of the original three-dimensional scene in the form of a plurality of splats (326) at tangent planes of the endpoints; and adjusting the simplified representation (400) to be consistent with the original three-dimensional scene by using known rays and object surface intersections obtained by the casting to generate an adjusted simplified representation (600), the adjusting further comprising: tracing the first plurality of rays toward the simplified representation; and reducing the plurality of splats (326) that intersect with the first plurality of rays to produce the adjusted simplified representation. [2] The method according to claim 1, further comprising: casting a second plurality of rays toward the adjusted simplified representation (600) and testing the second plurality of rays for intersections with the object surfaces within the adjusted simplified representation; estimating incident light within the adjusted simplified representation (600) at the intersection points with the object surfaces; testing the material properties of the object surfaces; and calculating a color and light intensity for a plurality of pixels associated with the second plurality of rays. [3] The method according to claim 1 or 2, wherein the adjusted simplified representation (600) is made consistent with the original three-dimensional scene (200) by adjusting the simplified representation (400) such that casting the first plurality of rays toward the simplified representation and casting the first plurality of rays toward the original three-dimensional scene result in the same intersection points with the object surfaces. [4] The method according to any one of claims 1 to 2, wherein the adjusted simplified representation (600) is used for high quality image rendering in a computer graphics system. [5] The method of claim 4, wherein a result of the rendering using the adjusted simplified representation of the three-dimensional scene is substantially equal to the result of a rendering using the original three-dimensional scene. [6] A computer-readable storage medium having stored thereon computer-executable instructions which, when executed by a computer system, cause the computer system to perform a method of ray tracing, the method comprising the operations of any one of claims 1 to 5. [7] A computer graphics system comprising: a processor coupled to a computer-readable storage medium via a bus, and wherein the processor is operable to perform a method of rendering image data, the method comprising the operations of any one of claims 1 to 5.