IP Library Patent Application 18388914
Patent Application
App. No. 18/388,914

COMPRESSED RAY DIRECTION DATA IN A RAY TRACING SYSTEM

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 None
App. No.
18/388,914
Abstract

Ray tracing systems process rays through a 3D scene to determine intersections between rays and geometry in the scene, for rendering an image of the scene. Ray direction data for a ray can be compressed, e.g. into an octahedral vector format. The compressed ray direction data for a ray may be represented by two parameters (u,v) which indicate a point on the surface of an octahedron. In order to perform intersection testing on the ray, the ray direction data for the ray is unpacked to determine x, y and z components of a vector to a point on the surface of the octahedron. The unpacked ray direction vector is an unnormalised ray direction vector. Rather than normalising the ray direction vector, the intersection testing is performed on the unnormalised ray direction vector. This avoids the processing steps involved in normalising the ray direction vector.

Claims (39)

1 . A ray tracing system for use in rendering an image of a 3D scene, the ray tracing system comprising:

a memory configured to store ray data for a ray to be processed in the ray tracing system, wherein the ray data for the ray comprises ray direction data stored in a compressed format; and

intersection testing logic configured to perform intersection testing on the ray without fully decompressing the compressed ray direction data, wherein the intersection testing comprises identifying an intersection of the ray with an object within a 3D space of the 3D scene;

wherein the ray tracing system is configured to use results of the intersection testing for rendering the image of the 3D scene.

2 . The ray tracing system of claim 1 , wherein the intersection testing logic is configured to determine an unnormalised intersection distance.

3 . The ray tracing system of claim 2 , wherein the results of the intersection testing comprise the unnormalised intersection distance.

4 . The ray tracing system of claim 1 , wherein the intersection testing logic is configured to:

construct an unnormalised ray direction vector for the ray by unpacking the compressed ray direction data for the ray; and

perform intersection testing on the ray using the unnormalised ray direction vector for the ray.

5 . The ray tracing system of claim 4 , wherein the intersection testing logic is configured to make use of a clipping distance for the ray, wherein the clipping distance has been scaled either: (i) by an amount based on the magnitude of the unnormalised ray direction vector, or (ii) by transforming the clipping distance into Manhattan space.

6 . The ray tracing system of claim 1 , wherein the compressed format is an octahedral vector format.

7 . The ray tracing system of claim 1 , wherein the compressed format is one of:

a block-floating-point format;

an integer format; or

a bundled ray format.

8 . The ray tracing system of claim 1 , wherein the ray data for the ray further comprises ray origin data.

9 . The ray tracing system of claim 1 , wherein the intersection testing logic comprises one or more of:

a primitive intersection tester configured to perform intersection testing on the ray by identifying an intersection of the ray with a primitive in the 3D scene;

a box intersection tester configured to perform intersection testing on the ray by identifying an intersection of the ray with a bounding box of one or more primitives in the 3D scene; and

a sphere intersection tester configured to perform intersection testing on the ray by identifying an intersection of the ray with a sphere representing the position of a portion of geometry in the 3D scene.

10 . The ray tracing system of claim 1 , wherein the results of the intersection testing are used by a shader program, and wherein ray direction data is fully decompressed for use by the shader program.

11 . A ray tracing method for use in rendering an image of a 3D scene, the ray tracing method comprising:

retrieving, from a memory, ray data for a ray to be processed, wherein the ray data for the ray comprises ray direction data stored in a compressed format;

performing intersection testing on the ray in the 3D scene without fully decompressing the compressed ray direction data, wherein the intersection testing comprises identifying an intersection of the ray with an object within a 3D space of the 3D scene; and

using results of the intersection testing for rendering the image of the 3D scene.

12 . The ray tracing method of claim 11 , wherein the performing of the intersection testing on the ray comprises determining an unnormalised intersection distance.

13 . The ray tracing method of claim 12 , wherein the results of the intersection testing comprise the unnormalised intersection distance.

14 . The ray tracing method of claim 11 , wherein the method comprises:

constructing an unnormalised ray direction vector for the ray by unpacking the compressed ray direction data for the ray; and

performing intersection testing on the ray in the 3D scene using the unnormalised ray direction vector for the ray.

15 . The ray tracing method of claim 11 , wherein the ray data for the ray further comprises ray origin data and a clipping distance for the ray.

16 . The ray tracing method of claim 15 , wherein the clipping distance for the ray is not scaled.

17 . The ray tracing method of claim 14 , further comprising scaling a clipping distance for the ray for use in the intersection testing by an amount based on the magnitude of the unnormalised ray direction vector.

18 . The ray tracing method of claim 11 , further comprising scaling a clipping distance of the ray for use in the intersection testing by transforming the clipping distance for the ray into Manhattan space.

19 . The ray tracing method of claim 11 , wherein the results of the intersection testing are used by a shader program, and wherein ray direction data is fully decompressed for use by the shader program.

20 . A non-transitory computer readable storage medium having stored thereon a computer readable dataset description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture a ray tracing system for use in rendering an image of a 3D scene, the ray tracing system including:

a memory configured to store ray data for a ray to be processed in the ray tracing system, wherein the ray data for the ray comprises ray direction data stored in a compressed format; and

intersection testing logic configured to perform intersection testing on the ray without fully decompressing the compressed ray direction data, wherein the intersection testing comprises identifying an intersection of the ray with an object within a 3D space of the 3D scene;

wherein the ray tracing system is configured to use results of the intersection testing for rendering the image of the 3D scene.

Assignments (1)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →