US 12,354,210 B2
Systems and methods for ray traced occlusion and reflections
Dustin Hulm, Seattle, WA (US)
Assigned to Electronic Arts Inc., Redwood City, CA (US)
Filed by Electronic Arts Inc., Redwood City, CA (US)
Filed on Mar. 31, 2022, as Appl. No. 17/710,416.
Prior Publication US 2023/0316629 A1, Oct. 5, 2023
Int. Cl. G06T 15/06 (2011.01); G06T 15/00 (2011.01); G06T 15/40 (2011.01); G06T 15/50 (2011.01)
CPC G06T 15/06 (2013.01) [G06T 15/005 (2013.01); G06T 15/40 (2013.01); G06T 15/50 (2013.01); G06T 2215/12 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for generating an occlusion value for a pixel, the method comprising:
selecting, by one or more processors, a pixel in an image of a scene;
identifying, by the one or more processors, a set of directions from a location on an object corresponding to the pixel based on an orientation of a surface of the object at the location, wherein the set of directions includes at least two directions;
for each direction of the set of directions, casting, by the one or more processors, a fixed-distance ray in the direction and determining whether the fixed-distance ray intersects another object along a length of the fixed-distance ray, wherein a length of the fixed-distance ray is the same for each direction of the set of directions;
in response to determining that the fixed-distance ray for a first direction of the set of directions does not intersect another object along the length of the fixed-distance ray, obtaining, by the one or more processors, a first occlusion value for the pixel from at least one lighting probe based on the first direction, wherein the length of the fixed-distance ray that is cast in each direction of the set of directions is based on a distance between lighting probes in a grid of lighting probes;
in response to determining the fixed-distance ray for a second direction of the set of directions intersects another object along the length of the fixed-distance ray, obtaining, by the one or more processors, a second occlusion value for the pixel based on performing ray tracing in the second direction from the location on the object corresponding to the pixel; and
accumulating, by the one or more processors, the first occlusion value and the second occlusion value to obtain the occlusion value for the pixel.