IP Library Granted Patent US 7,859,530
Granted Patent B2
US 7,859,530 · App. 12/259,077 · Granted Dec 28, 2010

Subsurface rendering methods and apparatus

Assignee: Pixar
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 7,859,530
App. No.
12/259,077
Granted
Dec 28, 2010
Kind
B2
Abstract

A method for a computer system includes receiving a three-dimensional model of an object, wherein the object includes a surface region, determining an incident irradiance associated with the surface region, determining a plurality of voxels associated with the three-dimensional model of the object, wherein a first plurality of voxels is associated with the surface region, and wherein a second plurality of voxels is associated with a sub-surface region of the object, associating the incident irradiance with the second plurality of voxels, and determining a subsurface scattering contribution associated with the surface region of the object in response to the incident irradiance associated with the second plurality of voxels.

Claims (63)

1. A method for a computer system including a processor and memory comprises:

receiving a three-dimensional model of an object from the memory, wherein the object includes a surface region;

determining an incident irradiance associated with the surface region with the processor;

determining a plurality of voxels associated with the three-dimensional model of the object with the processor, wherein a first plurality of voxels is associated with the surface region, and wherein a second plurality of voxels is associated with a sub-surface region of the object;

associating the incident irradiance with the second plurality of voxels with the processor; and

determining a subsurface scattering contribution associated with the surface region of the object with the processor in response to the incident irradiance associated with the second plurality of voxels.

2. The method of claim 1 wherein the subsurface scattering contribution associated with the surface region simulates a subsurface scattering contribution with forward scattering.

3. The method of claim 1

wherein the incident irradiance is associated with a direction; and

wherein the second plurality of voxels is offset from the first plurality of voxels in the direction.

4. The method of claim 1

wherein voxels from the first plurality of voxels are associated with a first subsurface scattering parameter;

wherein voxels from the second plurality of voxels are associated with a second subsurface scattering parameter; and

wherein determining the subsurface scattering contribution associated with the surface region of the object comprises determining the subsurface scattering contribution in response to the incident irradiance and the second subsurface scattering parameter being associated with the second plurality of voxels.

5. The method of claim 1 wherein determining the subsurface scattering contribution comprises applying a recursive directional low-pass filter on the voxels from the plurality of voxels with the processor.

6. The method of claim 1 comprising determining an image including a rendered representation of the object with the processor in response to the subsurface scattering contribution associated with the surface region.

7. The method of claim 6 further comprising:

displaying the image to the user; and

storing a representation of the image on a non-transitory computer-readable medium.

8. A non-transitory computer-readable medium including executable computer code, the non-transitory computer-readable medium comprising:

code configured to direct the processor to receive a three-dimensional model of an object, wherein the object includes a surface region;

code configured to direct the processor to determine an incident irradiance associated with the surface region;

code configured to direct the processor to determine a plurality of voxels associated with the three-dimensional model of the object, wherein a first plurality of voxels is associated with the surface region, and wherein a second plurality of voxels is associated with a sub-surface region of the object;

code configured to direct the processor to associate the incident irradiance with the second plurality of voxels; and

code configured to direct the processor to determine a subsurface scattering contribution associated with the surface region of the object in response to the incident irradiance associated with the second plurality of voxels.

9. The non-transitory computer-readable medium of claim 8 wherein the subsurface scattering contribution associated with the surface region simulates a subsurface scattering contribution with forward scattering.

10. The non-transitory computer-readable medium of claim 8 wherein the incident irradiance is associated with a direction; and

wherein the second plurality of voxels is offset from the first plurality of voxels in the direction.

11. A method for a computer system including a processor and a memory comprising:

receiving a three-dimensional model of an object from the memory, wherein a surface of the object includes a first surface region and a second surface region, wherein the first surface region is associated with a first surface color and the second surface region is associated with a second surface color, wherein the first surface color is different from the second surface color;

determining an incident irradiance associated with the first surface region with the processor;

determining an incident irradiance associated with the second surface region with the processor;

determining a diffuse reflection associated with the second surface region with the processor in response to the incident irradiance associated with the second surface region;

determining a subsurface scattering contribution associated with the second surface region with the processor in response to the incident irradiance associated with the first surface region;

filtering the subsurface scattering contribution with the processor in response to the second surface color to determine a exitant radiance associated with the second surface region; and

determining a diffuse illumination associated with the second surface region with the processor in response to the diffuse reflection associated with the second surface region, and in response to the exitant radiance associated with the second surface region.

12. The method of claim 11 further comprising:

determining a diffuse reflection associated with the first surface region with the processor in response to the incident irradiance associated with the first surface region;

determining a subsurface scattering contribution associated with the first surface region with the processor in response to the incident irradiance associated with the first surface region;

filtering the subsurface scattering contribution with the processor in response to the first surface color to determine a exitant radiance associated with the first surface region; and

determining a diffuse illumination associated with the first surface region with the processor in response to the diffuse reflection associated with the first surface region, and in response to the exitant radiance associated with the first surface region.

13. The method of claim 11 wherein determining the incident irradiance associated with the first surface region, and determining the incident irradiance associated with the second surface region comprises: determining an incident irradiance associated with both the first surface region and the second surface region with the processor.

14. The method of claim 11 wherein the second surface region is associated with higher frequency surface color variations on the surface of the object compared to the first surface region.

15. The method of claim 11 wherein the second surface region is associated with higher frequency geometric variations on the surface of the object compared to the first surface region.

16. The method of claim 11 comprising determining an image including a rendered representation of the object with the processor in response to the diffuse illumination associated with the second surface region and in response to the diffuse illumination associated with the first surface region.

17. The method of claim 11 further comprising:

displaying the image to the user; and

storing a representation of the image on a non-transitory computer-readable medium.

18. A non-transitory computer-readable medium including executable computer code, the non-transitory computer-readable medium comprising:

code configured to direct the processor to receive a three-dimensional model of an object, wherein a surface of the object includes a first surface region and a second surface region,

wherein the first surface region is associated with a first surface color and the second surface region is associated with a second surface color, wherein the first surface color is different from the second surface color;

code configured to direct the processor to determine an incident irradiance associated with the first surface region;

code configured to direct the processor to determine an incident irradiance associated with the second surface region;

code configured to direct the processor to determine a diffuse reflection associated with the second surface region in response to the incident irradiance associated with the second surface region;

code configured to direct the processor to determine a subsurface scattering contribution associated with the second surface region in response to the incident irradiance associated with the first surface region;

code configured to direct the processor to filter the subsurface scattering contribution in response to the second surface color to determine a exitant radiance associated with the second surface region; and

code configured to direct the processor to determine a diffuse illumination associated with the second surface region in response to the diffuse reflection associated with the second surface region, and in response to the exitant radiance associated with the second surface region.

19. The non-transitory computer-readable medium of claim 18 further comprising:

code configured to direct the processor to determine a diffuse reflection associated with the first surface region in response to the incident irradiance associated with the first surface region;

code configured to direct the processor to determine a subsurface scattering contribution associated with the first surface region in response to the incident irradiance associated with the first surface region;

code configured to direct the processor to filter the subsurface scattering contribution in response to the first surface color to determine a exitant radiance associated with the first surface region; and

code configured to direct the processor to determine a diffuse illumination associated with the first surface region in response to the diffuse reflection associated with the first surface region, and in response to the exitant radiance associated with the first surface region.

20. The non-transitory computer-readable medium of claim 18 further comprising code configured to direct the processor to determine an image including a rendered representation of the object in response to the diffuse illumination associated with the second surface region and in response to the diffuse illumination associated with the first surface region.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2009
From: TOMSON, ERIN; PLANCK, MAXWELL; ANDERSON, JOHN R.
To: PIXAR
Reel/Frame 022084/0852 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2008
From: TOMSON, ERIN; PLANCK, MAXWELL; ANDERSON, JOHN R.
To: PIXAR
Reel/Frame 021916/0179 →
Continuity (6)
Continuation In Part 1108469700 · Mar 18, 2005
Continuation In Part 1042832200 · Apr 30, 2003
Provisional Application 6106002600 · Jun 9, 2008
Provisional Application 6062470500 · Nov 2, 2004
Provisional Application 6057225300 · May 17, 2004
Related Publication 20090109220A1 · Apr 30, 2009