US 9,811,944 B2
Method for visualizing freeform surfaces by means of ray tracing
Oliver Abert, Koblenz (DE)
Assigned to AUTODESK, INC., San Rafael, CA (US)
Filed by Oliver Abert, Koblenz (DE)
Filed on Mar. 30, 2012, as Appl. No. 13/436,571.
Claims priority of application No. 10 2011 015 893 (DE), filed on Apr. 1, 2011.
Prior Publication US 2012/0249742 A1, Oct. 4, 2012
Int. Cl. G06T 17/00 (2006.01); G06T 11/20 (2006.01); G06T 15/06 (2011.01); G06T 17/30 (2006.01); G06T 17/20 (2006.01)
CPC G06T 17/005 (2013.01) [G06T 11/203 (2013.01); G06T 15/06 (2013.01); G06T 17/20 (2013.01); G06T 17/30 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A method for visualizing freeform surfaces defined via one or more non-uniform relative B-spline (NURBS) surfaces, the method comprising:
subdividing a first freeform surface in a first parameter direction at a first regular interval and in a second parameter direction at a second regular interval to define a plurality of surface fragments that forms a mesh grid, wherein the first parameter and the second parameter define a parametric space, each of the plurality of surface fragments is enclosed by at least one bounding box, the first freeform surface is defined by at least one NURBS surface and is associated with an object in a graphics scene, and each point residing on the first freeform surface corresponds to a unique combination of a first parameter value and a second parameter value;
emitting a virtual beam into the scene from a virtual camera, wherein the beam passes through a pixel included in a virtual image plane and intersects a first surface segment of the first freeform surface;
determining, by traversing each of a plurality of bounding boxes that each encloses the first surface segment, an intersection point residing within the first surface fragment where the beam intersects the first freeform surface, wherein the plurality of bounding boxes includes a first bounding box, a second bounding box, and a third bounding box, the first bounding box comprising (i) the second bounding box and (ii) a fourth bounding box that is not included in the plurality of bounding boxes;
calculating an illumination value at the intersection point; and
assigning the illumination value to at least one pixel included in the virtual image plane.