IP Library Granted Patent US 12,229,869
Granted Patent B2
US 12,229,869 · App. 17/329,737 · Granted Feb 18, 2025

Techniques for texture filtering using refracted ray cones

Inventors: Tomas Akenine-Moller (Lund, SE); Jakub Boksansky (Munich, DE)
Assignee: NVIDIA CORPORATION
G06T15/06A63F13/52G06T15/04G06T2210/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,229,869
App. No.
17/329,737
Granted
Feb 18, 2025
Kind
B2
Abstract

One embodiment of a method rendering one or more graphics images includes tracing a ray cone through a three-dimensional (3D) graphics scene, generating a refracted ray cone based on the ray cone and a two-dimensional (2D) coordinate frame, and rendering a graphics image based on the refracted ray cone.

Claims (41)

1. A computer-implemented method for rendering one or more graphics images, the method comprising:

tracing a ray cone through a three-dimensional (3D) graphics scene;

computing a two-dimensional (2D) coordinate frame based on a normal to a surface at a first hit point where the ray cone intersects the surface within the 3D graphics scene, and a projection of a direction vector associated with the ray cone;

generating a refracted ray cone based on the ray cone and the 2D coordinate frame; and

rendering a graphics image based on the refracted ray cone.

2. The computer-implemented method of claim 1 , wherein generating the refracted ray cone comprises:

computing the first hit point and a direction of a middle ray associated with the refracted ray cone based on a direction of a middle ray associated with the ray cone;

computing, in the 2D coordinate frame, a second hit point and a direction of a first side of the refracted ray cone based on a direction of a first side of the ray cone and a first rotated normal vector; and

computing, in the 2D coordinate frame, a third hit point and a direction of a second side of the refracted ray cone based on a direction of a second side of the ray cone and a second rotated normal vector.

3. The computer-implemented method of claim 2 , further comprising computing the first rotated normal vector and the second rotated normal vector based on a curvature of the surface.

4. The computer-implemented method of claim 2 , further comprising computing a width associated with the refracted ray cone based on the first hit point, a first ray associated with the direction of the first side of the refracted ray cone, and a second ray associated with the direction of the second side of the refracted ray cone.

5. The computer-implemented method of claim 2 , further comprising computing an angle associated with the refracted ray cone based on the direction of the first side of the refracted ray cone and the direction of the second side of the refracted ray cone.

6. The computer-implemented method of claim 1 , wherein rendering the graphics image comprises performing one or more isotropic texture filtering operations based on the refracted ray cone.

7. The computer-implemented method of claim 1 , wherein rendering the graphics image comprises:

performing one or more isotropic texture filtering operations based on the ray cone; and

performing one or more anisotropic texture filtering operations based on the refracted ray cone.

8. The computer-implemented method of claim 1 , further comprising determining that refraction occurs at the first hit point.

9. The computer-implemented method of claim 1 , wherein the graphics image is rendered in association with a video game, a film, or an architectural or design application.

10. One or more non-transitory computer-readable media storing program instructions that, when executed by at least one processor, cause the at least one processor to perform the steps of:

tracing a ray cone through a three-dimensional (3D) graphics scene;

computing a two-dimensional (2D) coordinate frame based on a normal to a surface at a first hit point where the ray cone intersects the surface within the 3D graphics scene, and a projection of a direction vector associated with the ray cone;

generating a refracted ray cone based on the ray cone and the 2D coordinate frame; and

rendering a graphics image based on the refracted ray cone.

11. The one or more non-transitory computer-readable media of claim 10 , wherein generating the refracted ray cone comprises:

computing the first hit point and a direction of a middle ray associated with the refracted ray cone based on a direction of a middle ray associated with the ray cone;

computing, in the 2D coordinate frame, a second hit point and a direction of a first side of the refracted ray cone based on a direction of a first side of the ray cone and a first rotated normal vector; and

computing, in the 2D coordinate frame, a third hit point and a direction of a second side of the refracted ray cone based on a direction of a second side of the ray cone and a second rotated normal vector.

12. The one or more non-transitory computer-readable media of claim 11 , the steps further comprising computing the first rotated normal vector and the second rotated normal vector based on a curvature of the surface.

13. The one or more non-transitory computer-readable media of claim 11 , the steps further comprising computing a width associated with the refracted ray cone based on the first hit point, a first ray associated with the direction of the first side of the refracted ray cone, and a second ray associated with the direction of the second side of the refracted ray cone.

14. The one or more non-transitory computer-readable media of claim 11 , the steps further comprising computing an angle associated with the refracted ray cone based on the direction of the first side of the refracted ray cone and the direction of the second side of the refracted ray cone.

15. The one or more non-transitory computer-readable media of claim 11 , the steps further comprising determining at least one of the middle ray associated with the ray cone, a third ray associated with the direction of the first side of the ray cone, or a fourth ray associated with the direction of the second side of the ray cone is totally internally reflected.

16. The one or more non-transitory computer-readable media of claim 10 , wherein rendering the graphics image comprises performing one or more texture filtering operations based on the ray cone and the refracted ray cone.

17. The one or more non-transitory computer-readable media of claim 16 , wherein the one or texture filtering operations comprise one or more isotropic texture filtering operations that are performed prior to generating the refracted ray cone, and one or more anisotropic texture filtering operations that are performed subsequent to generating the refracted ray cone.

18. A system, comprising:

one or more memories storing instructions; and

one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to:

trace a ray cone through a three-dimensional (3D) graphics scene,

compute a two-dimensional (2D) coordinate frame based on a normal to a surface at a first hit point where the ray cone intersects the surface within the 3D graphics scene, and a projection of a direction vector associated with the ray cone,

generate a refracted ray cone based on the ray cone and the 2D coordinate frame, and

render a graphics image based on the refracted ray cone.

19. The system of claim 18 , wherein the one or more memories and the one or more processes are included in one or more computing systems that provide at least one of a virtualized environment or a cloud computing environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2021
From: AKENINE-MOLLER, TOMAS; BOKSANSKY, JAKUB
To: NVIDIA CORPORATION
Reel/Frame 056345/0714 →
Continuity (2)
Provisional Application 63141355 · Jan 25, 2021
Related Publication 20220237852A1 · Jul 28, 2022
References Cited (19)
US 20190234585A1 · Le Corre · 2019 [cited by examiner]
US 20190236831A1 · Akenine-Moller · 2019 [cited by examiner]
WO WO1997034213A2 · 1997 [cited by examiner]
Amanatides, Ray Tracing with Cones, ACM SIGGRAPH Computer Graphics, vol. 18, Issue 3, Jul. 1984, pp. 129-135 (Year: 1984). [cited by examiner]
Igehy, Tracing Ray Differentials, ACM SIGGRAPH 99, pp. 179-186 (Year: 1999). [cited by examiner]
Tomas Akenine-Moller et al, Texture Level-of-Detail Strategies for Real-Time Ray Tracing, URL: https://developer.nvidia.com/raytracinggems (Year: 2019). [cited by examiner]
Fitzpatrick, Law of Refraction, URL: https://farside.ph.utexas.edu/teaching/316/lectures/node128.html (Year: 2007). [cited by examiner]
Akenine-Möller et al., “Improved Shader and Texture Level of Detail Using Ray Cones”, Journal of Computer Graphics Techniques, vol. 10, No. 1, ISSN 2331-7418, http://jcgt.org/published/0010/01/01/, 2021, pp. 1-24. [cited by applicant]
Akenine-Möller et al., “Texture Level of Detail Strategies for Real-Time Ray Tracing”, Ray Tracing Gems, Chapter 20, 2019, pp. 321-345. [cited by applicant]
Belcour et al., “Antialiasing Complex Global Illumination Effects in Path-Space”, ACM Transactions on Graphics, vol. 36, No. 1, Article 9, https://doi.org/10.1145/2990495, 2017, pp. 9:1-9:13. [cited by applicant]
Benty et al., “The Falcor Rendering Framework”, Retrieved from https://github.com/NVIDIAGameWorks/Falcor, on Sep. 15, 2021, 2017, 4 pages. [cited by applicant]
Greve, Bram de, “Reflections and Refractions in Ray Tracing”, Retrieved from https://graphics.stanford.edu/courses/cs148-10-summer/docs/2006-degreve--reflection_refraction.pdf, Nov. 13, 2006, pp. 1-6. [cited by applicant]
Elek et al., “Spectral Ray Differentials”, Computer Graphics Forum, Eurographics Symposium on Rendering 2014, vol. 33, No. 4, DOI: 10.1111/cgf.12418, Oct. 2014, pp. 113-122. [cited by applicant]
Heitz, Eric, “Sampling the GGX Distribution of Visible Normals”, Journal of Computer Graphics Techniques, vol. 7, No. 4, ISSN 2331-7418, 2018, pp. 1-13. [cited by applicant]
Igehy, Homan, “Tracing Ray Differentials”, Computer Science Department in Proceedings of SIGGRAPH 99, 1999, pp. 179-186. [cited by applicant]
Stam, Jos, “An Illumination Model for a Skin Layer Bounded by Rough Surfaces”, In Eurographics Workshop on Rendering, 2001, 15 pages. [cited by applicant]
Walter et al., “Microfacet Models for Refraction through Rough Surfaces”, Eurographics Symposium on Rendering Techniques, 2007, pp. 195-206. [cited by applicant]
International Search Report for application No. PCT/US2022/013289 dated May 25, 2022. [cited by applicant]
Kirk, David B., “The simulation of natural features using cone tracing”, The Visual Computer, DOI: 10.1007/BF02153662, vol. 3, 1987, pp. 63-71. [cited by applicant]