# US 11,908,063 B2 · Displacement-centric acceleration for ray tracing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,908,063 B2
- Document ID: US11908063B2
- Status: Granted
- Kind: B2
- Application number: 17/365,043
- Filed: 2021-07-01
- Published: 2023-01-19
- Granted: 2024-02-20
- Earliest claimed: 2021-07-01
- Assignees: Adobe Inc.
- Applicants: Adobe Inc.
- Inventors: Theo Thonat; Xin Sun; Tamy Boubekeur; Nathan Carr; Francois Beaune
- Web page: https://patentgrep.com/patent/US11908063B2

## CPC

- G06T 15/04: Texture mapping
- G06T 15/06: Ray-tracing
- G06T 17/20: Finite element generation, e.g. wire-frame surface description, {tesselation}
- G06T 2210/12: Bounding box
- G06T 2210/36: Level of detail
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Aspects and features of the present disclosure provide a direct ray tracing operator with a low memory footprint for surfaces enriched with displacement maps. A graphics editing application can be used to manipulate displayed representations of a 3D object that include surfaces with displacement textures. The application creates an independent map of a displaced surface. The application ray-traces bounding volumes on the fly and uses the intersection of a query ray with a bounding volume to produce rendering information for a displaced surface. The rendering information can be used to generate displaced surfaces for various base surfaces without significant re-computation so that updated images can be rendered quickly, in real time or near real time.

## Claims

### Claim 1

A method comprising:
accessing, by a rendering system, a native base surface defined by a mesh of polygons and a map of displacement values useable to render a textured surface corresponding to the native base surface; and
for a polygon of the native base surface:
precomputing a conservative bounding volume for the polygon, the conservative bounding volume including a portion of a displaced surface as determined by the polygon and the map of displacement values;
identifying, by a displacement acceleration module of the rendering system and by using (i) the polygon of the native base surface, (ii) at least one real-time displacement parameter value, and (iii) the conservative bounding volume, a plurality of increasingly granular bounding volumes corresponding to the polygon;
determining, by the displacement acceleration module, an intersection of a query ray with at least one of the plurality of increasingly granular bounding volumes to provide at least one of a 3D position or a texture coordinate usable for rendering the textured surface; and
storing, by the displacement acceleration module, the at least one of the 3D position or the texture coordinate configured for rendering the textured surface using the native base surface.

### Claim 2 (depends on 1)

The method of claim 1, wherein at least one of the conservative bounding volume or the plurality of increasingly granular bounding volumes comprises an axis-aligned bounding box.

### Claim 3 (depends on 1)

The method of claim 1 further comprising rendering, by a rendering system, the textured surface using at least one of the 3D position or the texture coordinate.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
selectively accessing a real-time geometric quality indicator; and
selectively using, by the rendering system, the real-time geometric quality indicator to render the textured surface.

### Claim 5 (depends on 3)

The method of claim 3, further comprising rendering, by the rendering system, the textured surface with a varying level of detail by rendering different levels of detail across the mesh of polygons.

### Claim 6 (depends on 1)

The method of claim 1, further comprising producing, using a mapping module, the map of displacement values, wherein the displacement values comprise minimum and maximum displacement values and the map of displacement values comprises a minmax MIP map.

### Claim 7

A system comprising:
a processor; and
a memory device configured to store a native base surface defined by a mesh of polygons and a map of displacement values useable to render a textured surface corresponding to the native base surface, the memory device further storing a displacement acceleration module executable by the processor for performing operations comprising;
precomputing a conservative bounding volume for a polygon of the mesh of polygons, the conservative bounding volume including a portion of a displaced surface;
identifying, by using (i) the polygon of the native base surface, (ii) at least one real-time displacement parameter value, and (iii) the conservative bounding volume, a plurality of increasingly granular bounding volumes;
producing a 3D position and a texture coordinate based on an intersection of a query ray with at least one of the plurality of increasingly granular bounding volumes; and
rendering the textured surface using at least one of the 3D position or the texture coordinate for the polygon.

### Claim 8 (depends on 7)

The system of claim 7, wherein at least one of the conservative bounding volume or the plurality of increasingly granular bounding volumes comprises an axis-aligned bounding box.

### Claim 9 (depends on 7)

The system of claim 7, the operations further comprising:
selectively accessing a real-time geometric quality indicator; and
selectively using the real-time geometric quality indicator to render the textured surface.

### Claim 10 (depends on 7)

The system of claim 7, wherein the textured surface comprises a varying level of detail across the mesh of polygons.

### Claim 11 (depends on 7)

The system of claim 7, further comprising a mapping module configured to produce the map of displacement values.

### Claim 12 (depends on 11)

The system of claim 11, wherein the map of displacement values comprises a minmax MIP map.

### Claim 13

A non-transitory computer-readable medium storing program code executable by a processor to perform operations, the operations comprising:
accessing a native base surface defined by a mesh of polygons and a map of displacement values useable to render a textured surface;
precomputing a conservative bounding volume for each polygon of the mesh of polygons, the conservative bounding volume including a portion of a displaced surface;
a step for producing a 3D position and a texture coordinate for a polygon based on an intersection of a query ray with at least one of a plurality of increasingly granular bounding volumes corresponding to the polygon and associated with the conservative bounding volume;
selectively using at least one real-time displacement parameter value to identify the at least one of the plurality of increasingly granular bounding volumes; and
rendering the textured surface using at least one of the 3D position or the texture coordinate for the polygon.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein at least one of the conservative bounding volume or the plurality of increasingly granular bounding volumes comprises an axis-aligned bounding box.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13, the operations further comprising:
selectively accessing a real-time geometric quality indicator; and
selectively using the real-time geometric quality indicator to render the textured surface.

### Claim 16 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the textured surface comprises a varying level of detail across the mesh of polygons.

### Claim 17 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the map of displacement values comprises a minmax MIP map.
