SDF Rendering Hit Point Storage Using Voxel-Relative Coordinates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for rendering signed distance functions (SDFs) in 3D computer graphics often result in self-intersections due to inaccuracies in storing hit points, leading to artifacts in rendered images, such as black pixels where colored pixels should be, and incorrect shadows.

Innovation Solution

The method involves storing hit points in a compact representation that includes an identifier associated with a voxel of an SDF grid and either x, y, and z coordinates, or two coordinates associated with axes not parallel to the surface normal, allowing for accurate reconstruction and reduction of self-intersections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If hit points are stored as distance from ray origin, then memory usage is reduced, but self-intersections occur due to reconstruction inaccuracies

Engineering Contradiction:
Improvememory usageVSAvoidhit point accuracy
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The patent transforms the hit point representation from global ray-origin-relative coordinates to local voxel-relative coordinates. By storing the hit point as an offset from the voxel corner rather than from the ray origin, the system changes the reference dimension, enabling accurate reconstruction without requiring high-precision distance storage from the ray origin.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The voxel grid serves as an intermediary structure that mediates between the ray tracing process and the hit point storage. By introducing voxel corners as intermediate reference points, the system can store hit points with reduced precision requirements while maintaining accuracy through the voxel-relative coordinate system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If offset hit points are used to avoid self-intersections, then self-intersections are reduced, but shadow rays are traced from incorrect positions causing artifacts

Engineering Contradiction:
Improveself-intersection avoidanceVSAvoidshadow ray accuracy
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent applies different coordinate representations to different purposes: voxel-relative coordinates are used for hit point storage and continuation rays (where avoiding self-intersections is priority), while the system can reconstruct ray-origin-relative coordinates when needed for shadow rays (where accurate positioning relative to the ray origin is priority). This local differentiation of coordinate systems resolves the contradiction.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If conventional hit point storage is used, then memory efficiency is improved, but image quality deteriorates due to artifacts

Engineering Contradiction:
Improvememory efficiencyVSAvoidimage quality
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

By changing from global ray-origin-relative coordinates to local voxel-relative coordinates, the patent achieves both memory efficiency and high image quality. The voxel-relative representation requires fewer bits while enabling accurate hit point reconstruction, thus simultaneously improving memory efficiency and image quality.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12175588B2Techniques for avoiding self-intersections when rendering signed distance functions
Publication Date: 2024.12.24 NVIDIA CORP
  • US12175588B2 patent drawing
  • US12175588B2 patent drawing
  • US12175588B2 patent drawing

AI summary

One embodiment of a method for rendering one or more graphics images includes tracing one or more rays through a graphics scene; storing one or more hit points based on one or more coordinate frames associated with one or more voxels of a grid, where the one or more rays intersect one or more surfaces of geometry in the one or more voxels; and rendering one or more graphics images based on the one or more hit points that are stored.