IP Library Granted Patent US 10,970,912
Granted Patent B2
US 10,970,912 · App. 14/202,722 · Granted Apr 6, 2021

3-D graphics rendering with implicit geometry

Inventors: Cuneyt Ozdas (San Francisco, CA); Luke Tilman Peterson (San Francisco, CA); Steven Blackmon (San Francisco, CA); Steven John Clohset (San Francisco, CA)
Assignee: Imagination Technologies Limited
G06T15/06G06T2210/12G06T2210/21
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 10,970,912
App. No.
14/202,722
Granted
Apr 6, 2021
Kind
B2
Abstract

Aspects relate to tracing rays in 3-D scenes that comprise objects that are defined by or with implicit geometry. In an example, a trapping element defines a portion of 3-D space in which implicit geometry exist. When a ray is found to intersect a trapping element, a trapping element procedure is executed. The trapping element procedure may comprise marching a ray through a 3-D volume and evaluating a function that defines the implicit geometry for each current 3-D position of the ray. An intersection detected with the implicit geometry may be found concurrently with intersections for the same ray with explicitly-defined geometry, and data describing these intersections may be stored with the ray and resolved.

Claims (31)

1. A computer-implemented method of testing a ray for intersection with an implicit surface in a 3-D space of a computer graphics scene to be rendered, comprising:

entering, by a processor, a surface of a shell bounding a 3-D volume in said 3-D space with a ray, the shell defining a maximum extent for implicitly-defined geometry within the shell;

iteratively stepping, by a processor, a current 3-D position of the ray along its path through the 3-D volume defined by the shell;

for each current 3-D position, by a processor

projecting the current 3-D position of the ray to a current position on an explicitly-defined 2-D surface in said 3-D space and bounded in the shell,

producing data for the implicitly-defined geometry using the current position on the explicitly-defined 2-D surface in said 3-D space, and

characterizing the ray as either hitting or missing the implicitly-defined geometry at the current 3-D position in said 3-D space, using the produced data;

wherein the ray characterization is used in rendering of said scene on a visual display.

2. The method of testing a ray for intersection with an implicit surface of claim 1 , wherein the producing of the data for the implicitly-defined geometry comprises executing a procedure to determine a height of implicitly-defined geometry for the current position on the explicitly-defined 2-D surface.

3. The method of testing a ray for intersection with an implicit surface of claim 2 , wherein the executing of the procedure comprises evaluating a function that accepts, as input, data relating to the current position on the explicitly-defined 2-D surface.

4. The method of testing a ray for intersection with an implicit surface of claim 1 , further comprising determining that the ray intersects a 3-D bounding volume that encloses the shell, and responsively initiating an implicit geometry intersection testing process.

5. The method of testing a ray for intersection with an implicit surface of claim 1 , further comprising setting a step size used in the iterative stepping according to a level of detail indication.

6. The method of testing a ray for intersection with an implicit surface of claim 1 , further comprising stepping over a pre-defined volumetric portion within the shell responsive to data indicating absence of implicit geometry in that pre-defined volumetric portion.

7. The method of testing a ray for intersection with an implicit surface of claim 1 , further comprising determining that the ray intersects a 3-D bounding volume that encloses the shell, and

projecting an entry point of the ray into the 3-D bounding volume to an entry point of the shell.

8. The method of testing a ray for intersection with an implicit surface of claim 1 , wherein the shell is defined by a mesh of interconnected primitives that are tested for intersection with the ray, and wherein the interconnected primitives have respective corresponding primitives in a set of source geometry defining the explicitly-defined surface, and the shell comprises sub-volumes defined by surfaces connecting the corresponding primitive in the set of source geometry with its primitive in the mesh of interconnected primitives.

9. The method of testing a ray for intersection with an implicit surface of claim 8 , wherein the surfaces connecting primitives in the set of source geometry with the primitives of the mesh are bilinear patches.

10. The method of testing a ray for intersection with an implicit surface of claim 1 , wherein the shell is defined by a mesh of interconnected primitives that are tested for intersection with the ray, and wherein the interconnected primitives have respective corresponding primitives in a set of source geometry, and

each primitive in the set of source geometry is associated with a respective implicit geometry definition function.

11. The method of testing a ray for intersection with an implicit surface of claim 1 , wherein the iterative stepping is performed by skipping over portions of 3-D space within the shell that are enclosed within volume exclusion elements defined within the shell.

12. The method of testing a ray for intersection with an implicit surface of claim 1 , further comprising passing a level of detail parameter within a data structure for the ray to a procedure that produces the data for the implicitly-defined geometry.

13. The method of testing a ray for intersection with an implicit surface of claim 1 , wherein the producing data for the implicitly-defined geometry comprises using the current position on the explicitly-defined 2-D surface as a parameter in evaluating an expression that determines an extent of implicit geometry at the current 3-D position.

14. The method of testing a ray for intersection with an implicit surface of claim 1 , wherein the producing data for the implicitly-defined geometry comprises producing a height for implicit geometry above the current position on the explicitly-defined 2-D surface, and comparing that height with a height of the ray at the current 3-D position.

15. The method of testing a ray for intersection with an implicit surface of claim 14 , wherein the comparing comprising generating a sign bit for a difference between the height of the implicit geometry and the height of the ray, and the characterizing of the ray as either hitting or missing the implicitly-defined geometry at the current 3-D position comprises detecting when the sign bit changes.

16. The method of testing a ray for intersection with an implicit surface of claim 1 , further comprising identifying a first 3-D point at which the ray is found to miss the implicitly defined geometry and a second 3-D point at which the ray is found to hit the implicitly defined geometry, and selecting one of the first 3-D point and the second 3-D point as an origin for a child ray, according to a ray type for the child ray.

17. A computer-implemented method of representing implicit surfaces for ray tracing based rendering of a computer graphics scene in a 3-D space, comprising:

associating, by a processor, a description of an implicit surface with a primitive, wherein the description of the implicit surface can be evaluated for different coordinates on the surface of the primitive;

marching, by a processor, a ray along a direction within a pre-defined 3-D volume defined based on an extent of the primitive;

for each position of the ray within the 3-D volume, projecting the 3-D position of the ray to determine a surface coordinate for that position on the primitive;

evaluating, by a processor, the description of the implicit surface for that surface coordinate; and

indicating whether the ray hits or misses the implicit surface at that position within the 3-D volume based on the evaluating, wherein such ray indications are used in rendering said scene on a visual display.

Assignments (2)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2014
From: OZDAS, CUNEYT; PETERSON, LUKE; BLACKMON, STEVEN; CLOHSET, STEVEN J
To: IMAGINATION TECHNOLOGIES, LIMITED
Reel/Frame 033222/0767 →
Continuity (3)
Provisional Application 61783754 · Mar 14, 2013
Provisional Application 61787884 · Mar 15, 2013
Related Publication 20140306959A1 · Oct 16, 2014