IP Library › Granted Patent US 12,494,012
Granted Patent B2
US 12,494,012 · App. 18/516,312 · Granted Dec 9, 2025

RMIP: fast tessellation-free GPU displacement ray tracing via inversion and oblong bounding simulation

Inventors: Theo Thonat (Issy les Moulineaux, FR); Tamy Boubekeur (Paris, FR); Iliyan Georgiev (London, GB); Francois Beaune (Annecy, FR)
Assignee: Adobe Inc.
G06T15/06G06T17/20
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,494,012
App. No.
18/516,312
Granted
Dec 9, 2025
Kind
B2
Abstract

A system generates, based on a displacement bounds data structure and a triangle mesh modeling a surface of a 3D virtual object within a 3D virtual scene, a displaced triangle mesh including one or more displaced surface bounding prisms, each of the one or more displaced surface bounding prisms displaced from a respective base triangle of a plurality of base triangles of the triangle mesh structure based on displacement bounds defined in a displacement bounds data structure for an area of a 2D texture space corresponding to a location of the respective base triangle defined by the 3D virtual scene. The system performs, using the displaced triangle mesh structure, a ray tracing process for a ray associated with a pixel of a 2D image of the virtual scene including determining, responsive to determining the ray intersects the particular displaced surface bounding prism, a location of an intersection of the ray.

Claims (21)

1 . A method performed by one or more computing devices associated with a scene rendering system, comprising:

generating, based on a triangle mesh structure that models a surface of a three-dimensional (3D) virtual object within 3D virtual scene, a displaced triangle mesh structure comprising one or more displaced surface bounding prisms, each of the one or more displaced surface bounding prisms displaced from a respective base triangle of a plurality of base triangles of the triangle mesh structure based on displacement bounds defined in a displacement bounds data structure for an area of a two-dimensional (2D) texture space corresponding to a location of the respective base triangle defined by the 3D virtual scene; and

performing, using the displaced triangle mesh structure, a ray tracing process for a ray associated with a pixel of a 2D image of the virtual scene, wherein performing the ray tracing process comprises:

responsive to determining that the ray intersects a particular displaced surface bounding prism of the one or more displaced surface bounding prisms in the 3D virtual scene, determining a location of an intersection of the ray in the 2D texture space.

2 . The method of claim 1 , further performing the ray tracing process further comprises:

defining a value for the pixel based on the determined location of intersection; and

providing for display, via a user interface, the 2D image of the virtual scene comprising the pixel having the defined value.

3 . The method of claim 1 , wherein the displacement bounds comprise a minimum displacement bound.

4 . The method of claim 1 , wherein the displacement bounds comprise a maximum displacement bound.

5 . The method of claim 1 , wherein the displacement bounds data structure comprises a rectangular minmax image pyramid (RMIP) data structure, wherein the area comprises a rectangular area.

6 . The method of claim 1 , wherein the displacement bounds data structure is generated based on a 2D displacement texture map comprising a plurality of block areas of predetermined size, wherein a size of the area is different from the predetermined size.

7 . The method of claim 1 , further comprising:

accessing a two-dimensional (2D) displacement texture map defining the texture for at least a region of the surface of the 3D virtual object; and

generating, based on the 2D displacement texture map, the displacement bounds data structure that defines displacement bounds for one or more areas in a texture space associated with the 2D displacement texture map, the one or more areas comprising the area.

8 . The method of claim 1 , wherein determining that the ray intersects the particular displaced surface bounding prism in the 3D virtual scene comprises determining a first endpoint and a second endpoint of the ray on the particular displaced surface bounding prism, wherein determining a location of an intersection of the ray at the 2D texture space comprises:

determining, based on the determined first endpoint and the determined second endpoint, an initial bounded area in the 2D texture space;

subdividing, at a middle of the initial bounded area of the 2D texture space, the initial bounded area to generate a first subdivided bounded area and a second subdivided bounded area, wherein a path of the ray intersects the first subdivided bounded area prior to intersecting the second subdivided bounded area;

based on the first subdivided bounded area and the second subdivided bounded area, generating a first subdivided axis-aligned bounding box (“AABB”) corresponding to the first subdivided bounded area and a second subdivided AABB corresponding to the second subdivided bounded area;

determining that the ray intersects the first subdivided AABB at a first AABB endpoint and at a second AABB endpoint;

determining, based on the determined first AABB endpoint and the determined second AABB endpoint, an updated bounded area in the 2D texture space, wherein the updated bounded area has smaller dimensions than the initial bounded area; and

determining, within the updated bounded area of the 2D texture space, the location.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2023
From: THONAT, THEO; BOUBEKEUR, TAMY; GEORGIEV, ILIYAN; BEAUNE, FRANCOIS
To: ADOBE INC
Reel/Frame 065637/0975 →
Continuity (1)
Related Publication 20250166280A1 · May 22, 2025
References Cited (41)
US 20200050550A1 · Muthler · 2020 [cited by examiner]
NVIDIA Micro-Mesh, Available online at: https://developer.nvidia.com/rtx/ray-tracing/micro-mesh, 2024, pp. 1-5. [cited by applicant]
Vulkan Ray Tracing Final Specification Release, Khronos, Available Online at: https://www.khronos.org/blog/vulkan-ray-tracing-final-specification-release, Nov. 23, 2020, pp. 1-12. [cited by applicant]
Amir et al., Two-Dimensional Range Minimum Queries, Conference: Combinatorial Pattern Matching, 18th Annual Symposium, Jan. 2007, pp. 286-294. [cited by applicant]
Baboud et al., Precomputed Safety Shapes for Efficient and Accurate Height-Field Rendering, Institute of Electrical and Electronics Engineers Transactions on Visualization and Computer Graphics, vol. 18, No. 11, Nov. 20… [cited by applicant]
Brodal et al., On Space Efficient Two-Dimensional Range Minimum Data Structures, Algorithmica, vol. 63, 2012, 12 pages. [cited by applicant]
Carr et al., Fast GPU Ray Tracing of Dynamic Meshes Using Geometry Images, Graphics Interface, Jan. 2006, pp. 203-209. [cited by applicant]
Christensen et al., Ray Differentials and Multiresolution Geometry Caching for Distribution Ray Tracing in Complex Scenes, Computer Graphics Forum, vol. 22, Sep. 2003, 10 pages. [cited by applicant]
Djeu et al., Razor: An Architecture for Dynamic Multiresolution Ray Tracing, ACM Transactions on Graphics, vol. 30, No. 5, Oct. 2011, 15 pages. [cited by applicant]
Donnelly, Per-Pixel Displacement Mapping with Distance Functions, GPU Gems, vol. 2, No. 22, Jan. 2005, pp. 123-136. [cited by applicant]
Dummer, Cone Step Mapping: An Iterative Ray-heightfield Intersection Algorithm, Lonesock, Available Online at:https://www.scribd.com/document/57896129/Cone-Step-Mapping, 2006, 14 pages. [cited by applicant]
Fischer et al., Space-Efficient Preprocessing Schemes for Range Minimum Queries on Static Array, SIAM Journal on Computing, vol. 10, No. 2, 2011, pp. 1-28. [cited by applicant]
Greene et al., Hierarchical Z-Buffer Visibility, Available online at: https://dl.acm.org/doi/pdf/10.1145/166117.166147, Sep. 1, 1993, 7 pages. [cited by applicant]
Hanika et al., Two-Level Ray Tracing with Reordering for Highly Complex Scenes, Proceedings of Graphics Interface, Jan. 2010, pp. 145-152. [cited by applicant]
Harada, Rendering Vector Displacement-Mapped Surfaces in a GPU Ray Tracer, GPU Pro 6: Advanced Rendering Techniques, Oct. 2018, pp. 459-474. [cited by applicant]
Hart, Sphere Tracing: A Geometric Method for the Antialiased Ray Tracing of Implicit Surfaces, The Visual Computer, vol. 12, No. 10, Jun. 1995, 50 pages. [cited by applicant]
Heidrich et al., Ray-Tracing Procedural Displacement Shaders, Graphics Interface, Dec. 2000, 9 pages. [cited by applicant]
Hunt et al., Fast and Lazy Build of Acceleration Structures from Scene Hierarchies, Institute of Electrical and Electronics Engineers Symposium on Interactive Ray Tracing, Sep. 2007, 8 pages. [cited by applicant]
Jeschke et al., Interactive Smooth and Curved Shell Mapping, Proceedings of the 18th Eurographics Conference on Rendering Techniques, Jun. 2007, pp. 351-360. [cited by applicant]
Kaneko et al., Detailed Shape Representation with Parallax Mapping, In Proceedings of the ICAT, Dec. 5-7, 2001, 4 pages. [cited by applicant]
Kuznetsov et al., NeuMIP: Multi-Resolution Neural Materials, ACM Transactions on Graphics, vol. 40, No. 4, Article 175, Aug. 2021, 13 pages. [cited by applicant]
Kuznetsov et al., Rendering Neural Materials on Curved Surfaces, In Special Interest Group on Computer Graphics and Interactive Techniques Conference Proceedings, Aug. 7-11, 2022, 9 pages. [cited by applicant]
Lee et al., Improved Relief Texture Mapping Using Minmax Texture, Fifth International Conference on Image and Graphics, Sep. 2009, pp. 1-5. [cited by applicant]
Logie et al., Inverse Displacement Mapping in the General Case, In Computer Graphics Forum, vol. 14, No. 5, Dec. 1995, pp. 261-273. [cited by applicant]
Oh et al., Pyramidal Displacement Mapping: A GPU Based Artifacts-Free Ray Tracing Through an Image Pyramid, VRST '06: Proceedings of the ACM Symposium on Virtual Reality Software and Technology, Nov. 2006, 8 pages. [cited by applicant]
Patterson et al., Inverse Displacement Mapping, Computer Graphics Forum, vol. 10, Mar. 1991, pp. 129-139. [cited by applicant]
Policarpo et al., Real-Time Relief Mapping on Arbitrary Polygonal Surfaces, Proceedings of the 2005 Symposium on Interactive 3D Graphics and Games, Apr. 2005, 8 pages. [cited by applicant]
Policarpo et al., Relaxed Cone Stepping for Relief Mapping, Available Online at: https://www.researchgate.net/publication/255571970_Relaxed_Cone_Stepping_for_Relief_Mapping, Jan. 2007, pp. 1-16. [cited by applicant]
Porumbescu et al., Shell Maps, Available Online at: https://dl.acm.org/doi/10.1145/1073204.1073239, Jul. 2005, pp. 626-633. [cited by applicant]
Sanzharov et al., Survey of Nvidia RTX Technology, Programming and Computing Softwar, vol. 46, No. 4, Jul. 1, 2020, pp. 297-304. [cited by applicant]
Shopf et al., March of the Froblins: Simulation and Rendering Massive Crowds of Intelligent and Detailed Creatures on GPU, Special Interest Group on Computer Graphics and Interactive Techniques, Aug. 2008, pp. 52-101. [cited by applicant]
Smits et al., Direct Ray Tracing of Displacement Mapped Triangles, In Eurographics Workshop on Rendering Techniques, Jun. 26, 2000, pp. 1-13. [cited by applicant]
Szirmay-Kalos et al., Specular Effects on the GPU: State of the Art, In Computer Graphics Forum, Wiley Online Library, vol. 28, Sep. 16, 2009, pp. 1-31. [cited by applicant]
Tatarchuk, Dynamic Parallax Occlusion Mapping with Approximate Soft Shadows, In Proceedings of the 2006 Symposium on Interactive 3D Graphics and Games, Mar. 14, 2006, pp. 63-69. [cited by applicant]
Tevs et al., Maximum Mipmaps for Fast, Accurate, And Scalable Dynamic Height Field Rendering, In Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games, Feb. 15, 2008, 8 pages. [cited by applicant]
Thonat et al., Tessellation-Free Displacement Mapping for Ray Tracing, ACM Transactions on Graphics, vol. 40, No. 6, Dec. 14, 2021, 2 pages. [cited by applicant]
Wald et al., Embree: A Kernel Framework for Efficient CPU Ray Tracing, ACM Transactions on Graphics, vol. 33, No. 4, Jul. 2014, pp. 143:1-143:8. [cited by applicant]
Wang et al., Generalized Displacement Maps, The Eurographics Association, Jan. 2004, 8 pages. [cited by applicant]
Wang et al., View-Dependent Displacement Mapping, ACM Transactions on Graphics, vol. 22, No. 2, Jul. 2003, pp. 334-339. [cited by applicant]
Yerex et al., Displacement Mapping with Ray-Casting in Hardware, In Proceedings of SIGGRAPH, Aug. 2004, 1 page. [cited by applicant]
Yuan et al., Data Structures for Range Minimum Queries in Multidimensional Arrays, In Proceedings of the Twenty-first Annual ACM-SIAM Symposium on Discrete Algorithms, SIAM, Jan. 2010, pp. 150-160. [cited by applicant]