Fast CSG Voxelization by Frame Buffer Pixel Mapping

Size: px
Start display at page:

Download "Fast CSG Voxelization by Frame Buffer Pixel Mapping"

Transcription

1 Fast CSG Voxelization by Frame Buffer Pixel Mapping Shiaofen Fang 1 Duoduo Liao Department of Computer and Information Science Indiana University Purdue University Indianapolis ABSTRACT This paper describes a fast algorithm for the volume conversion and rendering of CSG models constructed from both geometric and volumetric primitives Using 3D texture mapping and frame buffer pixel operations, the algorithm can interactively generate a binary volume of the CSG model The result can be used for volume rendering and other applications Boolean operations are implicitly computed by a Point-Classification Map, and implemented by a hardware assisted frame buffer pixel map The algorithm can be applied to any regions of interest of the model, thus provides a multi-resolution rendering solution through dynamic voxelization of the viewing regions Since no pre-processing is required for any change of the CSG tree, it can be used as an effective rendering tool in a volumetric CSG modeling environment Keywords voxelization, CSG modeling, volume rendering, 3D texture mapping 1 INTRODUCTION The Constructive Solid Geometry (CSG) representation allows users to define complex 3D solid objects by hierarchically combining simple geometric primitives using Boolean operations and affine transformations [14, 9] It is a very popular and powerful solid modeling scheme, and is particularly suitable for interactive object manipulations and design Traditionally, CSG primitives are defined by simple analytic objects, such as cubes, cylinders and spheres Some recent CSG algorithms can also support primitives that are general solid models defined by their boundary surfaces Using voxel-based volume representations, a further extension can include objects extracted from volume data sets using intensity thresholding These volume data sets may come from various types scanning of real objects, such as CT, MRI, and microscopy images, or from the sampling of implicit or procedural functions Such extended CSG models are sometimes called Volumetric CSG models [7, 6], and are very useful in applications such as medical imaging, W Michigan St, SL 280, Indianapolis, IN sfang@csiupuiedu surgical simulation, and amorphous phenomenon modeling For the simplicity of presentation, in this paper, we will still refer to this extended model as CSG model Due to the lack of explicit representation of surface boundaries, CSG display is not directly supported by standard graphics systems Although several interactive CSG rendering algorithms have previously been developed [8, 13, 17, 20], they cannot be directly applied when volume data sets are involved In principle, there are two potential solutions for the rendering of volumetric CSG models The first is to explicitly extract an iso-surface from the volume data set, and convert the model into a regular geometric CSG model, which can then be displayed by an existing CSG rendering algorithm This method is, however, very slow and difficult for two reasons: (a) the iso-surface extraction process is time-consuming, and (b) the extracted iso-surface normally contains an extremely large number of tiny polygons, which are difficult and expensive to display and operate The second solution is to first convert the CSG model into a voxel-based volume representation, and then display the resulting volume using a standard volume rendering algorithm This solution, however, requires a fast volume conversion (voxelization) process for volumetric CSG models The voxelization problem for general curve and surface objects have been extensively studied [5, 4, 10, 11, 16] Voxelization algorithms for more complex models have also received more research attention recently Conceptually, CSG voxelization is a set membership classification problem with respect to the CSG object for all sampling points in a volume space Early CSG voxelization methods can date back to the spatial enumeration representation by point classification [12] More recent work includes the Beam Oriented method [15], the volume sampling method [18], the point sampling algorithm [1], the octree-based algorithm [7], and the distance volume algorithm [2] A common problem of these algorithms is that the voxelization is slow and does not support interactive modeling applications In [6], we described a hardware accelerated CSG voxelization algorithm that uses combinations of frame buffer blending functions to carry out the CSG Boolean operations Although that algorithm is reasonably fast for small scale interactive applications, its performance have been limited by the need of generating an intermediate texture object for each Boolean operation node, and by the hardware restrictions in blending function combinations In this paper, we present a new CSG voxelization and rendering algorithm that employs a Point-Classification Map (PCM) for Boolean operations based on a frame buffer color encoding scheme The result is a binary voxelization of the CSG model, which can be used for volume rendering and other applications The algorithm is clearly faster than the one given in [6] To overcome the volume resolu-

2 tion limitations, this algorithm can also be applied to any regions of interest of the model This provides a natural multi-resolution rendering solution for the rendering of different scales of the CSG scene Since the dynamic changes of the CSG tree do not require any pre-processing time in this algorithm, it is particularly suitable for the interactive volumetric CSG modeling applications In the following, we will first discuss, in Section 2, some basic concepts and definitions regarding CSG modeling using volume data sets The Point-Classification Map (PCM) method will be described in Section 3 Section 4 presents the binary CSG voxelization algorithm The CSG volume rendering process using the voxelization result is described in Section 5 Section 6 discussed some implementation issues and results We conclude the paper in Section 7 with some further remarks and future work T Teapot U - T F CT data T sphere Figure 1: A CSG model using a CT data set T: affine transformation; F: thresholding operation 2 THE CSG MODEL Let a scalar volume V be represented by an intensity function IèP è, where P is sampled over a 3D regular grid in a volume space A solid object can be extracted from a volume by thresholding with an intensity interval ës; të (s é t) More specifically, a point P belongs to the object if and only if IèP è 2 ës; të This process may also be defined as a thresholding operation F s;t : V! R 3,ie F ës;të èv è=fp 2 R 3 : IèP è 2 ës; tëg Multiple intensity intervals may also be used in the thresholding operation The result is the union of the objects defined by the individual intensity intervals: èv è=fp 2 R3 : FSës i ;t i ë IèP è 2 ë ës i;t iëg p bits 0 i p n 2-1 n=p+q bits q i*2 +j i j C C1 op q bits 0 j q 2-1 Figure 2: Combining two PCMs C2 In general, a CSG model can be constructed by the following two types of primitives: 1 A general solid model defined by its boundary surfaces 2 A solid object defined by a thresholding operation from a volume data set The thresholding operation provides additional flexibilities through the changes of the thresholding intervals to generate objects from different layers of the volume This can be considered part of the CSG editing process, and is an essential feature for the designing of volume based objects It should be mentioned that although volume data sets are used, the Boolean operations are only carried out with the (binary) solid objects extracted from the volume data An example of such CSG models is given in Figure 1 The binary voxelization of a CSG model is the process of generating a binary volume of the CSG model within a given volume domain (region of interest) Only 0 and 1 intensity values are generated in binary voxelization, with 1 representing an inside point and 0 outside point The result from the binary voxelization can be directly rendered, as a solid object, by 3D texture mapping It can also serve as a volume space mask for the volume rendering of the CSG model using the original data sets If the binary volume is considered as a spatial enumeration representation of the CSG object, it can also be used in many other solid modeling applications such as integral property computation, finite element analysis and layered manufacturing 3 POINT-CLASSIFICATION MAP An essential component of a CSG voxelization process is the membership classification of points in a volume space with respect to the 3D object represented by the CSG model For a given CSG tree, The final CSG classification of a point is uniquely determined by its classifications with respect to all the CSG primitives This relationship is defined by a Point-Classification Map (PCM) that maps a complete primitive classification result to an in/out CSG classification If the CSG tree has n leaf nodes (primitives), numbered from 0 to n, 1, ann-bit binary number can be used to encode the classification results of a point with respect to all n primitives We call this binary number the classification index A1 at the jth bit of the index indicates that the point is inside the jth primitive, and a 0 indicates outside Thus, for a given CSG tree, the classification index uniquely determines the final CSG classification Since there are only 2 n different possible classification indices, a look-up table of 2 n entries (ie the Point-Classification Map) will be sufficient to describe all possible point classification cases The PCM of a CSG tree can be easily constructed by the following recursive procedure

3 PCM PROCEDURE CSG_PCM (CSG_NODE N) IF (N is a leaf node) RETURN the PCM of the primitive; ELSE PCM_left = CSG_PCM (Nleft); PCM_right = CSG_PCM (Nright); PCM_combined = combine (PCM_left, PCM_right, Nop); RETURN PCM_combined; IF This procedure recursively computes a PCM table for a binary node by combining the PCM tables of its two child nodes, as shown in Figure 2 The index domain of the combined PCM is the Cartesian product of the index domains of the two sub-pcms The combined classification result is simply a binary Boolean operation (given by the CSG node) of the classifications in the two sub-pcms, ie c = c 1 éopé c 2 In practical implementation, a common PCM memory space can be shared by all levels of recursive calls to avoid unnecessary memory resource consumption 4 CSG VOXELIZATION In this section, we present a hardware accelerated CSG voxelization algorithm using certain hardware features in 3D graphics systems The required graphics system features include the polygon based graphics engine, frame buffer pixel map and logical operations, and 3D texture mapping In the following, we will first describe a basic algorithm that does not consider the frame buffer depth limitation In fact, it assumes that each pixel of the frame buffer has as many bits as the number of primitives in the CSG tree This basic algorithm will then be modified to accommodate the frame buffer limitation 41 A Basic Algorithm A cubic volume space is first defined over the CSG model The algorithm proceeds slice-by-slice in a front-to-back order by moving the Z-plane, a plane parallel to the projection plane, along the viewing direction to generate slices for all primitives (as shown in Figure 3) For each slice, the algorithm defines the viewing volume of the system as the thin space between two adjacent Z-planes inside the volume boundary, and then renders each primitive within this viewing volume When the algorithm moves from Z-plane to Z-plane, slices of the primitives are displayed and composited onto the frame buffer in a front-to-back order Using proper color coding of the the primitives, the algorithm can directly generate slices of the point classification indices in the frame buffer These classification indices can then be mapped, by the PCM, to form a binary volume of the CSG model The PCM can be implemented by the frame buffer pixel map defined in OpenGL, which is basically a color look-up table for frame buffer pixels The distance between adjacent Z-planes determines the resolution of the volume in the Z direction The resolutions in the X and Y directions are determined by the size of the display window If the CSG tree has n primitives, n distinct colors are assigned to different primitives so that the color code of the jth primitive is a binary number, with the jth bit set to 1 and all other bits set to 0 For a spatial point P,thecolorof P with respect to the jth primitive, C jèp è, is defined as the color of the jth primitive if P is inside the primitive, and 0 otherwise Now, if we combine C 1èP è;c 2èP è; æææ;c nèp è using a logical operation OR or XOR, the result, CèP è, is exactly the classification index of point P Thus, for each Z-plane, the algorithm generates a slice for each primitive, and then composites the slices from the primitives into one single slice of classification indices in the frame buffer using appropriate frame buffer pixel functions This composition process is carried out differently for the two different types of primitives: æ For a primitive defined by its surface boundaries, since only the boundary surfaces are drawn, we need to have a way to determine the interior points The idea is similar to the solid voxelization algorithm described in [4, 6], and is based on the principle that when a ray is shot from a pixel towards the jth primitive in the viewing direction, it has to enter the primitive object first (jth color bit becoming 1) and stay there (keeping the jth bit 1) until it exits the object (changing the jth bit to 0) This can be done by drawing the boundary surfaces of each primitive with a logical XOR operation The clipping hardware of the graphics engine will ensure that only the parts of the surfaces within the thin viewing volume are displayed When a slice is complete, the frame buffer will not be cleared, ie the frame buffer content of the slice will be used for blending operations with the subsequent slices This way, the XOR operation will automatically set the jth color bit to 1 for all interior points, and 0 for all outside points Since the pixel colors on the slice generated by the jth primitive has 0 s at all bit positions except the jth, the XOR operation for the jthprimitivewillhave noeffect tothe classifications of other primitives æ If a primitive, say the ith primitive, is defined by a volume data set, its Z-plane can be rendered by 3D texture mapping using the texture object defined by the volume data set A color look-up table may be used to define a transfer function that maps the intensity values within the threshold interval of the ith primitive to the primitive s color and other intensity values to 0 Apparently, multi-interval thresholding operations may also be similarly defined Before drawing the Z-plane, however, the ith bit needs to be cleared for all pixels on the frame buffer This cannot be done by simply clearing the entire frame buffer since the bits for all geometric primitives need to be retained for the XOR operation We can, however, draw the Z-plane, as a solid color polygon using a color that is the binary complement of the ith primitive s color with a logical AND frame buffer operation This basically set the ith bit to 0 for all pixels in the frame buffer while keeping all other bits unchanged Once the classification indices are generated in the frame buffer for each slice, the Point-Classification Map can be applied to the frame buffer image to generate the final CSG classifications The result (for each slice) will then be copied to the texture memory as one slice of the final volume Using the frame buffer pixel map, the above two steps can be combined into one The pixel map is a hardware implemented look-up table that maps the color of each pixel in current frame buffer to a new color Once defined, pixel map can be invoked by any frame buffer image operations, including the copy operation from frame buffer to texture memory In other words, the PCM is automatically applied during the process of copying the frame buffer image to the texture memory This process will be repeated for each Z-plane, leading to a complete binary volume representation in the texture memory The following procedure summarizes this algorithm:

4 PROCEDURE CSG_Voxelization (CSG_NODE root) Generate a cumulative transformation matrix for each primitive; Define texture objects for all volume primitives; Assign color codes to all primitives; pcm = CSG_PCM(root); Clear frame buffer; FOR (each Z_plane) Define the thin viewing volume; FOR (each primitive) Define system transformation matrix; IF (geometric primitive) Set the XOR logical operation; Set the primitive s color; Render the primitive; ELSE Clear the frame buffer s color bit for this primitive; Bind 3D texture; Set color look-up table; Set OR logical operation; Draw Z-plane by 3D texture mapping; IF Define frame buffer pixel map using pcm; Copy frame buffer to texture memory; 42 Region-Based Voxelization In order for this algorithm to work correctly, the slicing process has to start from the outside of the object In other words, the object needs to be completely contained by the volume space Consequently, the volume space may need to be made very large Since the size (resolution) of the volume is limited by the system memory and the texture memory, large spatial region can lead to low resolution voxel representations of the object details But in order for this algorithm to work correctly, the slicing process has to start To overcome this problem, the voxelization process should be applied on-the-fly to only a region of interest (eg the viewing region) of the scene With a fixed sized volume representation, region-based dynamic voxelization leads to a natural multi-resolution volume rendering approach with desired level of details for different viewing regions This region-based voxelization process, however, requires a small modification of the basic voxelization algorithm The basic algorithm assumes that the slicing process starts from the outside of all primitives But when the Z-plane starts from the front face of a subregion of the spatial domain, the XOR operation may not work correctly for all pixels since the parity is no longer guaranteed for every pixel If we define the 0th slice as the space between the first Z-plane of the region and the z =,1 plane, as shown in Figure 3, this 0th slice can be used to represent and store information about the starting status of each pixel To generate the content of the 0th slice, we can draw all the geometric primitives once using the 0th slice as the viewing volume, with the XOR logical operation set for the frame buffer The resulting frame buffer image will then be carried over to the voxelization process to ensure proper parities for all the pixels Y 0th slice Z Figure 3: 43 A Multi-Pass Approach volume space viewing volume for the ith slice There are two frame buffer limitations that restrict the implementation of this algorithm: 1 The bit depth of the frame buffer is normally limited to 8 to 32 bits The common RGBA frame buffer has 8 bits for each component of the RGB color, and another 8 bits for the alpha channel 2 The frame buffer pixel map used to implement the PCM can only have separate look-up tables for individual RGBA components Therefore, we can have four look-up tables of 256 (8 bits) entries, but not any cross combinations Thus, in general, the basic voxelization algorithm can only handle a CSG tree with eight primitives, ie using only one color component of the frame buffer bits and the corresponding pixel map To overcome this limitation, a multi-pass approach can be employed for large CSG trees The idea is to repeatedly apply the basic volume conversion algorithm to subtrees of the CSG tree At each step, a subtree with at most 8 primitives is chosen and voxelized into a texture object in the 3D texture memory This texture object is then used to replace the entire subtree as a new volume primitive Repeating this process will lead to an iterative trimming of the CSG tree, which eventually will be small enough to be directly voxelized This multi-pass algorithm will have some speed penalty from the extra traffic between the frame buffer and the texture memory But from our experience, the overhead is fairly small This is mainly because that reading from frame buffer to texture memory is a very fast and direct cache operation that does not take up main memory cycles Another drawback is that it puts more pressure on the texture memory requirement, since several intermediate volumes may need to be stored in the texture memory simultaneously, potentially causing more frequent texture memory swapping, and consequently a performance penalty One way to reduce the number of intermediate volumes is to always choose the subtree with the most number of volume primitives, so that the old volumes can be replaced by the newly generated volume Nevertheless, for large CSG trees, the texture memory swapping between the multiple passes is inevitable But as long as the texture memory can hold all the texture objects simultaneously for each pass (at most eight texture objects), texture memory swapping is not a serious problem since it only occurs once for each pass X

5 5 CSG VOLUME RERING The result from the above voxelization process is a binary volume stored in the system s texture memory It can be directly rendered by 3D texture mapping [3, 19], or written to the main memory for other applications A common problem in the direct rendering of binary volumes is that it often suffers severe aliasing problem due to the lack of gray level intensity data for smooth surface boundaries The problem can, however, be alleviated by a multi-pass 3D texture mapping approach Since 3D texture mapping uses trilinear interpolations for sample points around the surface boundaries of the object, the interpolated results will have intensity values between the 0 and 1 binary values This essentially generates some gray level intensity data around the surfaces, and has a similar effect as an anti-aliasing process in surface rendering For smoother results, this process can be iteratively repeated by writing each texture mapped slice (without blending) from frame buffer back to the texture memory as a slice of a refined volume In general, more iterations generate smoother surfaces, with higher rendering cost But our experiments show that two or three iterations are normally sufficient for reasonably smooth surfaces For CSG models involving volume data sets, it is also possible to generate blended images using the intensity values in the original data sets This is done by using the binary voxelization result as a 3D mask that extracts, slice-by-slice, the volumetric portion of the model from a union of the rendering results of the volumetric primitives For each slice, all the volumetric primitives are first individually rendered and combined in the frame buffer using a logical OR operation (or any other desired blending function) The part of this slice that is within the spatial region of the CSG model is then extracted by drawing the same slice from the mask (by 3D texture mapping) using a logical AND frame buffer operation To avoid part of the binary volume being removed by the AND operation, a white background needs to be used in drawing the slices for the volumetric primitives Since the primitives can be rendered using their original volume data, better blending results can be achieved 6 IMPLEMENTATION The volume conversion and rendering algorithm described in this paper has been implemented on an SGI Onyx-2 workstation using a single processor Reality Engine and 64 MB texture memory For large CSG trees, the multi-pass volume conversion algorithm is used with 8 primitives processed in each pass The program is written in C and OpenGL 11 In the examples shown in Figure 4, each model is converted into a binary volume Among the primitives used, a CT head and a knot object are volume data sets The rest are all synthetic geometric primitives A zoom-in result of (f) is given in (i) All the images except (d)(e)(h) are generated directly from the binary voxelization results using a two-pass texture mapping approach as described in Section 5 Images in (d)(e)(h) are generated using the 3D mask approach Timing data for these examples are shown in the following table The timings are affected mainly by three factors: (a) the complexity of the scene, (b) the size of the frame buffer window, and (c) the number of slices The scene complexity determines how fast the graphics system can render the scene during the slicing process The window size determines the size of the slices in the resulting volume, which (along with the number of slices) in turn affects the voxelization speed due to the large number of image movements between the frame buffer and the texture memory sample image a b c d e voxelization time (sec) number of primitives sample image f g h i voxelization time (sec) number of primitives CONCLUSIONS A fast CSG voxelization and rendering algorithm is described in this paper Since volume techniques are used, volume data sets can be naturally included in the CSG construction process Such CSG models allow solid modeling and CAD/CAM applications to input objects from sampled or scanned data sets in the design and manufacturing processes, and are also potentially useful for other applications involving both geometric objects and volume data sets, such as surgical simulation and biomedical data exploration Our algorithm makes use of commonly available graphics hardware features, and is able to provide interactive feedbacks for the modification and manipulation of general CSG models Thus, it can be an effective tool in interactive CSG modeling and volume graphics environments Several future works are being planned The current algorithm is only able to use one color channel of the frame buffer memory We would like to investigate an approach that can make full use of all 32 frame buffer bits in the point classification process for better performance with large CSG trees The algorithm has so far only been tested on relatively small CSG trees The applicability and performance of this algorithm on very large scale CSG problems (eg thousands of primitives) still need to be tested and analyzed REFERENCES [1] D E Breen Constructive cubes: CSG evaluation for display using discrete 3D scalar data sets In Eurographics 91, pages , 1991 [2] David E Breen, Sean Mauch, and Ross T Whitaker 3d scan conversion of CSG models into distance volumes In Proc IEEE/ACM symposium on Volume Visualization, pages 7 14, 1998 [3] Brian Cabral, Nancy Cam, and Jim Foran Accelerated volume rendering and tomographic reconstruction using texture mapping hardware In Proc 1994 Symposium on Volume Visualization, pages 91 98, October 1994 [4] Hongsheng Chen and Shiaofen Fang Fast voxelization of 3D synthetic objects ACM Journal of Graphics Tools, 3(4):33 45, 1999 [5] D Cohen and A Kaufman Scan-conversion algorithms for linear and quadratic objects In A Kaufman, editor, Volume Visualization, pages , 1991 [6] Shiaofen Fang and Hongsheng Chen Hardware accelerated voxelization In Volume Graphics, Chapter 20, pages Springer-Verlag, March 2000 [7] Shiaofen Fang and R Srinivasan Volumetric CSG a modelbased volume visualization approach In Proc 6th International Conference in Central Europe on Computer Graphics and Visualization, pages 88 95, 1998 [8] J Goldfeather, J Molnar, S Turk, and H Fuchs Near real-

6 time CSG rendering using tree normalization and geometric pruning IEEE Computer Graphics and Application, 9:20 28, 1989 [9] Christoph M Hoffmann Geometric and Solid Modeling: An Introduction Morgan Kaufmann Publishers, 1989 [10] Arie Kaufman Efficient algorithms for 3D scan-conversion of parametric curves, surfaces, and volumes In SIGGRAPH 87, volume 21, pages , July 1987 [11] Arie Kaufman and Eyal Shimony 3D scan-conversion algorithms for voxel-based graphics In Proceedings of 1986 Workshop on Interactive 3D Graphics, pages 45 75, October 1986 [12] YT Lee and A A G Requicha Algorithms for computing the volume and other integral properties of solids Communications of the ACM, 25(9): , 1982 [13] Ari Rappoport and S Spitz Interactive Boolean operations for conceptual design of 3D solids Computer Graphics, SIG- GRAPH 97, pages , August 1997 [14] A A G Requicha Representation for rigid solids: Theory, methods and systems Computing Surveys, 12(4): , December 1980 [15] Naeem Shareef and Roni Yagel Rapid previewing via volume-based solid modeling In Solid Modeling 95, pages , May 1995 [16] Milos Sramek and Arie Kaufman Object voxelization by filtering In Proc IEEE/ACM symposium on Volume Visualization, pages , 1998 [17] W C Thibault and B F Naylor Set operations on polyhedra using binary space partitioning trees SIGGRAPH 87, pages , 1987 [18] Sidney Wang and Arie Kaufman Volume-sampled 3D modeling IEEE Computer Graphics and Application, 14:26 32, September 1994 [19] R Westermann and E Thomas Efficiently using graphics hardware in volume rendering applications In SIGGRAPH 98, pages , 1998 [20] T F Wiegand Interactive rendering of CSG models Computer Graphics Forum, 15(4): , 1996

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects Solid Modeling Thomas Funkhouser Princeton University C0S 426, Fall 2000 Solid Modeling Represent solid interiors of objects Surface may not be described explicitly Visible Human (National Library of Medicine)

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Implicit Surfaces & Solid Representations COS 426

Implicit Surfaces & Solid Representations COS 426 Implicit Surfaces & Solid Representations COS 426 3D Object Representations Desirable properties of an object representation Easy to acquire Accurate Concise Intuitive editing Efficient editing Efficient

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

First Steps in Hardware Two-Level Volume Rendering

First Steps in Hardware Two-Level Volume Rendering First Steps in Hardware Two-Level Volume Rendering Markus Hadwiger, Helwig Hauser Abstract We describe first steps toward implementing two-level volume rendering (abbreviated as 2lVR) on consumer PC graphics

More information

3D Modeling: Solid Models

3D Modeling: Solid Models CS 430/536 Computer Graphics I 3D Modeling: Solid Models Week 9, Lecture 18 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science

More information

Volume Rendering. Lecture 21

Volume Rendering. Lecture 21 Volume Rendering Lecture 21 Acknowledgements These slides are collected from many sources. A particularly valuable source is the IEEE Visualization conference tutorials. Sources from: Roger Crawfis, Klaus

More information

Physically-Based Modeling and Animation. University of Missouri at Columbia

Physically-Based Modeling and Animation. University of Missouri at Columbia Overview of Geometric Modeling Overview 3D Shape Primitives: Points Vertices. Curves Lines, polylines, curves. Surfaces Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles. Solids

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

More information

Computer Graphics and Visualization. What is computer graphics?

Computer Graphics and Visualization. What is computer graphics? CSCI 120 Computer Graphics and Visualization Shiaofen Fang Department of Computer and Information Science Indiana University Purdue University Indianapolis What is computer graphics? Computer graphics

More information

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al.

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al. Solid Modeling Michael Kazhdan (601.457/657) HB 10.15 10.17, 10.22 FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al. 1987 Announcement OpenGL review session: When: Today @ 9:00 PM Where: Malone

More information

Geometric Representations. Stelian Coros

Geometric Representations. Stelian Coros Geometric Representations Stelian Coros Geometric Representations Languages for describing shape Boundary representations Polygonal meshes Subdivision surfaces Implicit surfaces Volumetric models Parametric

More information

Direct Rendering of Trimmed NURBS Surfaces

Direct Rendering of Trimmed NURBS Surfaces Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended

More information

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO Solid Modelling Graphics Systems / Computer Graphics and Interfaces 1 Solid Modelling In 2D, one set 2D line segments or curves does not necessarily form a closed area. In 3D, a collection of surfaces

More information

Overview of 3D Object Representations

Overview of 3D Object Representations Overview of 3D Object Representations Thomas Funkhouser Princeton University C0S 426, Fall 2000 Course Syllabus I. Image processing II. Rendering III. Modeling IV. Animation Image Processing (Rusty Coleman,

More information

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the

More information

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4 Solid Modeling Solid: Boundary + Interior Volume occupied by geometry Solid representation schemes Constructive Solid Geometry (CSG) Boundary representations (B-reps) Space-partition representations Operations

More information

Applications of Explicit Early-Z Culling

Applications of Explicit Early-Z Culling Applications of Explicit Early-Z Culling Jason L. Mitchell ATI Research Pedro V. Sander ATI Research Introduction In past years, in the SIGGRAPH Real-Time Shading course, we have covered the details of

More information

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences Hardware Accelerated Volume Visualization Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences A Real-Time VR System Real-Time: 25-30 frames per second 4D visualization: real time input of

More information

Shading Languages. Ari Silvennoinen Apri 12, 2004

Shading Languages. Ari Silvennoinen Apri 12, 2004 Shading Languages Ari Silvennoinen Apri 12, 2004 Introduction The recent trend in graphics hardware has been to replace fixed functionality in vertex and fragment processing with programmability [1], [2],

More information

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization Volume visualization Volume visualization Volumes are special cases of scalar data: regular 3D grids of scalars, typically interpreted as density values. Each data value is assumed to describe a cubic

More information

Advanced 3D-Data Structures

Advanced 3D-Data Structures Advanced 3D-Data Structures Eduard Gröller, Martin Haidacher Institute of Computer Graphics and Algorithms Vienna University of Technology Motivation For different data sources and applications different

More information

Solid Modeling. Ron Goldman Department of Computer Science Rice University

Solid Modeling. Ron Goldman Department of Computer Science Rice University Solid Modeling Ron Goldman Department of Computer Science Rice University Solids Definition 1. A model which has a well defined inside and outside. 2. For each point, we can in principle determine whether

More information

Interactive Implicit Modeling with Hierarchical Spatial Caching

Interactive Implicit Modeling with Hierarchical Spatial Caching Interactive Implicit Modeling with Hierarchical Spatial Caching Ryan Schmidt 1, Brian Wyvill 1, Eric Galin 2 1 University of Calgary, Canada 2 LIRIS-CNRS, Université Claude Bernard Lyon 1, France Outline

More information

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Isosurface Rendering. CSC 7443: Scientific Information Visualization Isosurface Rendering What is Isosurfacing? An isosurface is the 3D surface representing the locations of a constant scalar value within a volume A surface with the same scalar field value Isosurfaces form

More information

3D Representation and Solid Modeling

3D Representation and Solid Modeling MCS 585/480 Computer Graphics I 3D Representation and Solid Modeling Week 8, Lecture 16 William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray

More information

Ray Tracing Acceleration Data Structures

Ray Tracing Acceleration Data Structures Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has

More information

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 2.11] Jernej Barbic University of Southern California Scientific Visualization

More information

Visualization. CSCI 420 Computer Graphics Lecture 26

Visualization. CSCI 420 Computer Graphics Lecture 26 CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 11] Jernej Barbic University of Southern California 1 Scientific Visualization

More information

Solids as point set. Solid models. Solid representation schemes (cont d) Solid representation schemes. Solid representation schemes (cont d)

Solids as point set. Solid models. Solid representation schemes (cont d) Solid representation schemes. Solid representation schemes (cont d) Solid models Solid models developed to address limitations of wireframe modeling. Attempt was to create systems which create only complete representations. Modelers would support direct creation of 3D

More information

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include motion, behavior Graphics is a form of simulation and

More information

Clipping. CSC 7443: Scientific Information Visualization

Clipping. CSC 7443: Scientific Information Visualization Clipping Clipping to See Inside Obscuring critical information contained in a volume data Contour displays show only exterior visible surfaces Isosurfaces can hide other isosurfaces Other displays can

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Final Projects Proposals due Thursday 4/8 Proposed project summary At least 3 related papers (read & summarized) Description of series of test cases Timeline & initial task assignment The Traditional Graphics

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 15, 2003 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Scalar Algorithms: Contouring

Scalar Algorithms: Contouring Scalar Algorithms: Contouring Computer Animation and Visualisation Lecture tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour School of Informatics Contouring Scaler Data Last Lecture...

More information

3D Modeling I. CG08b Lior Shapira Lecture 8. Based on: Thomas Funkhouser,Princeton University. Thomas Funkhouser 2000

3D Modeling I. CG08b Lior Shapira Lecture 8. Based on: Thomas Funkhouser,Princeton University. Thomas Funkhouser 2000 3D Modeling I CG08b Lior Shapira Lecture 8 Based on: Thomas Funkhouser,Princeton University Course Syllabus I. Image processing II. Rendering III. Modeling IV. Animation Image Processing (Rusty Coleman,

More information

Computer Graphics I Lecture 11

Computer Graphics I Lecture 11 15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13 Lecture 17: Solid Modeling... a cubit on the one side, and a cubit on the other side Exodus 26:13 Who is on the LORD's side? Exodus 32:26 1. Solid Representations A solid is a 3-dimensional shape with

More information

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University 15-462 Computer Graphics I Lecture 21 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

A SURVEY ON 3D RENDERING METHODS FOR MRI IMAGES

A SURVEY ON 3D RENDERING METHODS FOR MRI IMAGES 178 A SURVEY ON 3D RENDERING METHODS FOR MRI IMAGES Harja Santana Purba, Daut Daman, Ghazali Bin Sulong Department of Computer Graphics & Multimedia, Faculty of Computer Science & Information Systems,

More information

VIII. Visibility algorithms (II)

VIII. Visibility algorithms (II) VIII. Visibility algorithms (II) Hybrid algorithsms: priority list algorithms Find the object visibility Combine the operations in object space (examples: comparisons and object partitioning) with operations

More information

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo Geometric Modeling Bing-Yu Chen National Taiwan University The University of Tokyo What are 3D Objects? 3D Object Representations What are 3D objects? The Graphics Process 3D Object Representations Raw

More information

3D Modeling techniques

3D Modeling techniques 3D Modeling techniques 0. Reconstruction From real data (not covered) 1. Procedural modeling Automatic modeling of a self-similar objects or scenes 2. Interactive modeling Provide tools to computer artists

More information

Buffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E.

Buffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Buffers, Textures, Compositing, and Blending David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. Angel Compositing,

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering

An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering T. Ropinski, F. Steinicke, K. Hinrichs Institut für Informatik, Westfälische Wilhelms-Universität Münster

More information

Spring 2009 Prof. Hyesoon Kim

Spring 2009 Prof. Hyesoon Kim Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

A Depth Buffer Based Voxelization Algorithm

A Depth Buffer Based Voxelization Algorithm A Depth Buffer Based Voxelization Algorithm Aggeliki Karabassi, George Papaioannou and Theoharis Theoharis Department of Informatics, University of Athens TYPA Buildings, Panepistimiopolis, Athens 15784,

More information

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Visualization Images are used to aid in understanding of data Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Tumor SCI, Utah Scientific Visualization Visualize large

More information

Ray Casting of Trimmed NURBS Surfaces on the GPU

Ray Casting of Trimmed NURBS Surfaces on the GPU Ray Casting of Trimmed NURBS Surfaces on the GPU Hans-Friedrich Pabst Jan P. Springer André Schollmeyer Robert Lenhardt Christian Lessig Bernd Fröhlich Bauhaus University Weimar Faculty of Media Virtual

More information

Scan line algorithm. Jacobs University Visualization and Computer Graphics Lab : Graphics and Visualization 272

Scan line algorithm. Jacobs University Visualization and Computer Graphics Lab : Graphics and Visualization 272 Scan line algorithm The scan line algorithm is an alternative to the seed fill algorithm. It does not require scan conversion of the edges before filling the polygons It can be applied simultaneously to

More information

Efficient Rendering of Glossy Reflection Using Graphics Hardware

Efficient Rendering of Glossy Reflection Using Graphics Hardware Efficient Rendering of Glossy Reflection Using Graphics Hardware Yoshinori Dobashi Yuki Yamada Tsuyoshi Yamamoto Hokkaido University Kita-ku Kita 14, Nishi 9, Sapporo 060-0814, Japan Phone: +81.11.706.6530,

More information

Curves and Surfaces Computer Graphics I Lecture 10

Curves and Surfaces Computer Graphics I Lecture 10 15-462 Computer Graphics I Lecture 10 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] September 30, 2003 Doug James Carnegie

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] November 20, 2003 Doug James Carnegie Mellon University http://www.cs.cmu.edu/~djames/15-462/fall03

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Overview of 3D Object Representations

Overview of 3D Object Representations Overview of 3D Object Representations Thomas Funkhouser Princeton University C0S 597D, Fall 2003 3D Object Representations What makes a good 3D object representation? Stanford and Hearn & Baker 1 3D Object

More information

Fast Texture Based Form Factor Calculations for Radiosity using Graphics Hardware

Fast Texture Based Form Factor Calculations for Radiosity using Graphics Hardware Fast Texture Based Form Factor Calculations for Radiosity using Graphics Hardware Kasper Høy Nielsen Niels Jørgen Christensen Informatics and Mathematical Modelling The Technical University of Denmark

More information

Lecture overview. Visualisatie BMT. Transparency. Transparency. Transparency. Transparency. Transparency Volume rendering Assignment

Lecture overview. Visualisatie BMT. Transparency. Transparency. Transparency. Transparency. Transparency Volume rendering Assignment Visualisatie BMT Lecture overview Assignment Arjan Kok a.j.f.kok@tue.nl 1 Makes it possible to see inside or behind objects Complement of transparency is opacity Opacity defined by alpha value with range

More information

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:

More information

A Three Dimensional Image Cache for Virtual Reality

A Three Dimensional Image Cache for Virtual Reality A Three Dimensional Image Cache for Virtual Reality Gernot Schaufler and Wolfgang Stürzlinger GUP, Johannes Kepler Universität Linz, Altenbergerstr.69, A- Linz, Austria/Europe schaufler@gup.uni-linz.ac.at

More information

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,

More information

Rendering Techniques for Hardware-Accelerated Imaged-Based CSG

Rendering Techniques for Hardware-Accelerated Imaged-Based CSG Rendering Techniques for Hardware-Accelerated Imaged-Based CSG Florian Kirsch and Jürgen Döllner HASSO- PLATTNER- INSTITUT for Software Systems Engineering at the University of Potsdam Overview 1. Overview

More information

Modeling 3D Objects: Part 2

Modeling 3D Objects: Part 2 Modeling 3D Objects: Part 2 Patches, NURBS, Solids Modeling, Spatial Subdivisioning, and Implicit Functions 3D Computer Graphics by Alan Watt Third Edition, Pearson Education Limited, 2000 General Modeling

More information

Plotting technologies for the study of functions of two real variables

Plotting technologies for the study of functions of two real variables Plotting technologies for the study of functions of two real variables David Zeitoun 1 and Thierry Dana-Picard 2 1 Department of Mathematics, Orot College of Education, Rehovot, Israel, ed.technologie@gmail.com

More information

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz Computing Visibility BSP Trees Ray Casting Depth Buffering Quiz Power of Plane Equations We ve gotten a lot of mileage out of one simple equation. Basis for D outcode-clipping Basis for plane-at-a-time

More information

9. Visible-Surface Detection Methods

9. Visible-Surface Detection Methods 9. Visible-Surface Detection Methods More information about Modelling and Perspective Viewing: Before going to visible surface detection, we first review and discuss the followings: 1. Modelling Transformation:

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for

Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for Comparison of Two Image-Space Subdivision Algorithms for Direct Volume Rendering on Distributed-Memory Multicomputers Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc Dept. of Computer Eng. and

More information

Shear-Warp Volume Rendering. Volume Rendering Overview

Shear-Warp Volume Rendering. Volume Rendering Overview Shear-Warp Volume Rendering R. Daniel Bergeron Department of Computer Science University of New Hampshire Durham, NH 03824 From: Lacroute and Levoy, Fast Volume Rendering Using a Shear-Warp- Factorization

More information

MIT EECS 6.837, Teller and Durand 1

MIT EECS 6.837, Teller and Durand 1 MIT EECS 6.837, Teller and Durand 1 Clipping MIT EECS 6.837 Frédo Durand and Seth Teller Some slides and images courtesy of Leonard McMillan MIT EECS 6.837, Teller and Durand 2 Administrative Assignment

More information

Volume Illumination, Contouring

Volume Illumination, Contouring Volume Illumination, Contouring Computer Animation and Visualisation Lecture 0 tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour School of Informatics Contouring Scaler Data Overview -

More information

Surface and Solid Geometry. 3D Polygons

Surface and Solid Geometry. 3D Polygons Surface and Solid Geometry D olygons Once we know our plane equation: Ax + By + Cz + D = 0, we still need to manage the truncation which leads to the polygon itself Functionally, we will need to do this

More information

Point based Rendering

Point based Rendering Point based Rendering CS535 Daniel Aliaga Current Standards Traditionally, graphics has worked with triangles as the rendering primitive Triangles are really just the lowest common denominator for surfaces

More information

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL International Edition Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL Sixth Edition Edward Angel Dave Shreiner Interactive Computer Graphics: A Top-Down Approach with Shader-Based

More information

Volume Graphics Introduction

Volume Graphics Introduction High-Quality Volume Graphics on Consumer PC Hardware Volume Graphics Introduction Joe Kniss Gordon Kindlmann Markus Hadwiger Christof Rezk-Salama Rüdiger Westermann Motivation (1) Motivation (2) Scientific

More information

Function Based 2D Flow Animation

Function Based 2D Flow Animation VISUAL 2000: MEXICO CITY SEPTEMBER 18-22 100 Function Based 2D Flow Animation Ergun Akleman, Sajan Skaria, Jeff S. Haberl Abstract This paper summarizes a function-based approach to create 2D flow animations.

More information

3D Object Representation. Michael Kazhdan ( /657)

3D Object Representation. Michael Kazhdan ( /657) 3D Object Representation Michael Kazhdan (601.457/657) 3D Objects How can this object be represented in a computer? 3D Objects This one? H&B Figure 10.46 3D Objects This one? H&B Figure 9.9 3D Objects

More information

Efficient Lipschitz function evaluation for CSG implicit surfaces

Efficient Lipschitz function evaluation for CSG implicit surfaces Efficient Lipschitz function evaluation for CSG implicit surfaces Phap Nguyen and Huub van de Wetering Department of Mathematics and Computing Science Eindhoven University of Technology Abstract The rendering

More information

Efficient View-Dependent Sampling of Visual Hulls

Efficient View-Dependent Sampling of Visual Hulls Efficient View-Dependent Sampling of Visual Hulls Wojciech Matusik Chris Buehler Leonard McMillan Computer Graphics Group MIT Laboratory for Computer Science Cambridge, MA 02141 Abstract In this paper

More information

Geometric and Solid Modeling. Problems

Geometric and Solid Modeling. Problems Geometric and Solid Modeling Problems Define a Solid Define Representation Schemes Devise Data Structures Construct Solids Page 1 Mathematical Models Points Curves Surfaces Solids A shape is a set of Points

More information

Polygonization of Implicit Surfaces

Polygonization of Implicit Surfaces Polygonization of Implicit Surfaces Hongxin Zhang and Jieqing Feng 2007-01-11 State Key Lab of CAD&CG Zhejiang University Contents Polygonization of Implicit Surfaces Other Methods for Displaying Implicit

More information

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

More information

Chapter 12 Solid Modeling. Disadvantages of wireframe representations

Chapter 12 Solid Modeling. Disadvantages of wireframe representations Chapter 12 Solid Modeling Wireframe, surface, solid modeling Solid modeling gives a complete and unambiguous definition of an object, describing not only the shape of the boundaries but also the object

More information

Overview. Collision Detection. A Simple Collision Detection Algorithm. Collision Detection in a Dynamic Environment. Query Types.

Overview. Collision Detection. A Simple Collision Detection Algorithm. Collision Detection in a Dynamic Environment. Query Types. Overview Collision Detection Alan Liu aliu@usuhs.mil The Surgical Simulation Laboratory National Capital Area Medical Simulation Center Uniformed Services University http://simcen.usuhs.mil/miccai2003

More information

Using image data warping for adaptive compression

Using image data warping for adaptive compression Using image data warping for adaptive compression Stefan Daschek, 9625210 Abstract For years, the amount of data involved in rendering and visualization has been increasing steadily. Therefore it is often

More information

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling

Texture Mapping using Surface Flattening via Multi-Dimensional Scaling Texture Mapping using Surface Flattening via Multi-Dimensional Scaling Gil Zigelman Ron Kimmel Department of Computer Science, Technion, Haifa 32000, Israel and Nahum Kiryati Department of Electrical Engineering

More information

Spring 2011 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

Multiresolution Techniques for Interactive Texture-based Rendering of Arbitrarily Oriented Cutting Planes

Multiresolution Techniques for Interactive Texture-based Rendering of Arbitrarily Oriented Cutting Planes Multiresolution Techniques for Interactive Texture-based Rendering of Arbitrarily Oriented Cutting Planes Eric LaMar Mark A. Duchaineau*, Bernd Hamann*, Kenneth I. Joy* Center for Image Processing and

More information

INDUSTRIAL SYSTEM DEVELOPMENT FOR VOLUMETRIC INTEGRITY

INDUSTRIAL SYSTEM DEVELOPMENT FOR VOLUMETRIC INTEGRITY INDUSTRIAL SYSTEM DEVELOPMENT FOR VOLUMETRIC INTEGRITY VERIFICATION AND ANALYSIS M. L. Hsiao and J. W. Eberhard CR&D General Electric Company Schenectady, NY 12301 J. B. Ross Aircraft Engine - QTC General

More information

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion

L10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion L10 Layered Depth Normal Images Introduction Related Work Structured Point Representation Boolean Operations Conclusion 1 Introduction Purpose: using the computational power on GPU to speed up solid modeling

More information

CS 464 Review. Review of Computer Graphics for Final Exam

CS 464 Review. Review of Computer Graphics for Final Exam CS 464 Review Review of Computer Graphics for Final Exam Goal: Draw 3D Scenes on Display Device 3D Scene Abstract Model Framebuffer Matrix of Screen Pixels In Computer Graphics: If it looks right then

More information

Voxel-based Representation, Display and Thickness Analysis of Intricate Shapes

Voxel-based Representation, Display and Thickness Analysis of Intricate Shapes Technical paper submitted for presentation at International Conference on CAD and CG, Hong Kong, 7-10 December 2005 Voxel-based Representation, Display and Thickness Analysis of Intricate Shapes Sandeep

More information

Ray casting for incremental voxel colouring

Ray casting for incremental voxel colouring Ray casting for incremental voxel colouring O.W. Batchelor, R. Mukundan, R. Green University of Canterbury, Dept. Computer Science& Software Engineering. Email: {owb13, mukund@cosc.canterbury.ac.nz, richard.green@canterbury.ac.nz

More information

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011 Computer Graphics 1 Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in

More information

Volume Sculpting: Intuitive, Interactive 3D Shape Modelling

Volume Sculpting: Intuitive, Interactive 3D Shape Modelling Volume Sculpting: Intuitive, Interactive 3D Shape Modelling Andreas Bærentzen May 15, 2001 Abstract A system for interactive modelling of 3D shapes on a computer is presented. The system is intuitive and

More information

Course Title: Computer Graphics Course no: CSC209

Course Title: Computer Graphics Course no: CSC209 Course Title: Computer Graphics Course no: CSC209 Nature of the Course: Theory + Lab Semester: III Full Marks: 60+20+20 Pass Marks: 24 +8+8 Credit Hrs: 3 Course Description: The course coversconcepts of

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics James D. Foley Georgia Institute of Technology Andries van Dam Brown University Steven K. Feiner Columbia University John F. Hughes Brown University Richard L. Phillips

More information