19/18/ :34 Graphics II Volume Rendering Session 10
29/18/ :34 What do we mean by “volume rendering”? Conventional rendering: Bicubic Parametric Patches Polygons 3D Structured Objects 2D Image
39/18/ :34 What do we mean by “volume rendering”? The starting point: Scalar Field:
49/18/ :34 Volume Rendering: Options for presentation of the data Cutaway, or cross sectionIsosurface
59/18/ :34 What do we mean by “volume rendering”? What the samples mean: Voxel with samples at vertices. Voxel with sample at center.
69/18/ :34 What do we mean by “volume rendering”? The process: Structured 3D Model 3D Scalar Field 2D Scalar Image
79/18/ :34 Data volume geometries Cartesian - (also known as a voxel grid) cubic data elements, axis aligned Preferred Regular - same as cartesian, except that the cells are rectangular, i.e. different sizes along different axes Most medical data Rectilinear - aligned to axes, but distance between cells along each axis can vary Structured or curvilinear non rectilinear, but cells are hexahedra rectangular warped to fill a volume or to fit around an object Often used in CFD Unstructured - no geometric constraints imposed
89/18/ :34 Early Volume Visualization Techniques Herman & Liu 1979 Establish a threshold: Binary Partitioning of the volume: 2D Slice: “Boundary” Voxels are considered opaque cubes and rendered by standard lighting model.
99/18/ :34 Improving the blockiness of the image: The gradient operator
109/18/ :34 Approximating the gradient numerically:
119/18/ :34 Projecting from Contour Data: Pizer 1986 Polygon structure generated by “skimming”
129/18/ :34 Topological problem with Pizer approach: branching structures
139/18/ :34 The “Marching Cubes” Algorithm Lorenson & Cline 1987
149/18/ :34 The “Marching Cubes” Algorithm
159/18/ :34 The “Marching Cubes” Algorithm Possible Vertex States
169/18/ :34 The “Marching Cubes” Algorithm Generated contour
179/18/ :34 Generation of contour from subcontours
189/18/ :34 Generation of contour from subcontours: Disconnected regions
199/18/ :34 Marching Cubes Algorithm Possible Polygon Arrangements
209/18/ :34 Marching Cubes Algorithm Possible Polygon Arrangements
219/18/ :34 Marching Cubes Direction of march Current cubePreviously dealt with New vertex
229/18/ :34 Weaknesses of Intermediate Structure Methods 0 Can impose a structure on the data which does not exist, per se. -Selection of a “constant” implies a binary decision on the existence of an intermediate surface that should be extracted and rendered -Could just be a gradual transition in density through the medium 0 Not feasible to visualize structures within structures 0 Does not handle objects that would intrinsically be transparent such as fluids, clouds
239/18/ :34 Volume rendering by ray casting Blinn 1982/Kajiya Volume made up of small spherical particles that both scatter (reflect) and attenuate light 0 Parallel rays are cast from viewer into the volume. -At each point, the progressive attenuation due to the particle field is calculated -Light scattered in the eye direction from the light source(s) is calculated at each point -These values are integrated along the ray and a single brightness value at the eye is calculated
249/18/ :34 Scattering/Attenuation Model Light Source Eye Point Density: Illumination: Light scattered along R in direction of eye from point at t: R
259/18/ :34 Scattering/Attenuation Model Attenuation of light scattered from point t: Summing the intensity of light arriving at the eye along R from all of the elements:
269/18/ :34 Additive Reprojection Levoy 1988 R Image Plane
279/18/ :34 Additive Reprojection Levoy 1988 Determining the color of a voxel: Calculated using the Phong model, assuming that the normal is given by the gradient: Determining the opacity:
289/18/ :34 Additive Reprojection Levoy 1988 Transparency Term Opacity Term kth voxel along R