POP: A Hybrid Point and Polygon Rendering System for Large Data

Size: px
Start display at page:

Download "POP: A Hybrid Point and Polygon Rendering System for Large Data"

Transcription

1 POP: A Hybrid Point and Polygon Rendering System for Large Data Baoquan Chen Minh Xuan Nguyen Department of Computer Science and Engineering University of Minnesota at Twin Cities fbaoquan,mnguyeng@cs.umn.edu 250,279 pts, 16 tris, 4.58 fps 261,925 pts, 57,029 tris, 3.16 fps 29,076 pts, 274,802 tris, 3.19 fps Figure 1: POP system chooses a different number of points and triangles based on viewing location (red for points; blue for triangles). Abstract We introduce a simple but effective extension to the existing pure point rendering systems. Rather than using only points, we use both points and polygons to represent and render large mesh models. We start from triangles as leaf nodes and build up a hierarchical tree structure with intermediate nodes as points. During the rendering, the system determines whether to use a point (of a certain intermediate level node) or a triangle (of a leaf node) for display depending on the screen contribution of each node. While points are used to speedup the rendering of distant objects, triangles are used to ensure the quality of close objects. Our method can accelerate the rendering of large models, compromising little in image quality. Keywords: Rendering system, Spatial data structures, Level of detail algorithms, hybrid rendering systems 1 Introduction Computer graphics systems have traditionally used triangles as rendering primitives. Scenes consisting of large amounts of triangles (millions or even billions) are common for some applications, however, they cannot be interactively rendered by the current commodity graphics hardware due to the expensive setup and rasterization costs of triangles. Two approaches have been experimented by graphics practitioners. The first approach is to reduce the number of triangles by resorting to a number of techniques, such as selecting appropriate level-of-detail, visibility culling, and utilizing view-dependent techniques, etc. The second approach is to propose simpler primitives with less setup and rasterization cost. A point represents one kind of simple primitive. Over the past decade, several researchers have proposed to use points as display primitives [1, 5, 18]. Recently, this research direction has attracted increasing interest because of the processing power increase of CPUs. Grossman and Dally [8, 29] have developed a complete graphics system using points as both modeling and rendering primitives. More recently, two other point based graphics systems, QSplat [25] and Surfel [23], were introduced. All these systems convert other graphics primitives (e.g., polygons) into a uniform point representation and take advantage of their simplicity to speedup the rendering. Both QSplat and Surfel employ a level-of-detail representation of points so that points of appropriate level can be selected based on their screen projection for maximum speedup. While these point systems have been proven to be effective in accelerating the rendering of objects with a large number of small triangles and high surface details viewed at distance, they have some problems which are inherent to point representation. (1) Once objects are represented in point representation, their resolution is fixed. When objects are viewed very closely, even the highest resolution points may be projected to larger than one pixel; therefore, interpolation between adjacent points must be done to ensure smooth shading. This is difficult to perform due to the lack of connectivity information between points, resulting in either a blocky image if no interpolation is performed at all (e.g., in QSplat [25]) or an image with artifacts if interpolation is approximately done in screen space (e.g., in Surfel[23]). (2) For large, flat surfaces, point rendering becomes less efficient than polygon rendering when the

2 gain of incremental rasterization of polygon rendering outweighs the extra setup required. Specifically, using large textured polygons provides better image quality at lower rendering cost than using a large number of textured points. In this paper we present a hybrid approach, coded POP, in which both points and polygons are used to represent scenes. Points or triangles are chosen during the rendering to guarantee the highest image quality while delivering the maximum rendering speedup. Switching between points and triangles is determined on-the-fly based on their screen projection size. Figure 1 shows three images of the same model viewed at different distances using different numbers of points and triangles. We build up a tree structure similar to QSplat, but the leaf nodes are triangles instead. While QSplat works best with models consisting of triangles of approximately equal size, POP works well for any triangular model. Overall, the POP system is an extension of previous point rendering systems which makes three contributions by: 1. employing a hybrid of point and polygon representations to take advantage of the simplicity offered by points and quality offered by triangles, 2. utilizing frame coherence to further accelerate rendering speed, 3. presenting a hybrid of forward and backward orders to deliver effective antialiasing for texture mapping. We also employ other traditional methods to speedup the rendering, such as visibility culling and level-of-detail. Some of the previous work is reviewed in the next section. 2 Previous Work There have been many methods developed for representing and accelerating rendering of large data. Rusinkiewicz and Levoy [25] have given an excellent review on this. Here we give a short review on topics that are related to our method: level-of-detail control, visibility culling, and point sampling and rendering. Specifically, we review QSplat [25] and Surfel [23], two methods on which we build our system. Level-of-Detail (LOD) Representation and Control: For large data sets, primitives are often projected to less than one pixel size. To accelerate rendering, primitives are first prefiltered into a multi-level representation, and then at the run-time, primitives at certain levels are selected and rendered. This avoids always rendering the full resolution data, hence, obtaining acceleration. Levels can be selected based on both viewing configuration and illumination parameters [32, 11, 12]. Different primitives utilize different schemes to perform such prefiltering. For polygon meshes, this prefiltering operation corresponds to mesh simplification by collapsing edges or removing vertices. For irregular meshes, examples like progressive meshes use a base mesh together with a series of vertex split operations [10] to build up continuous LOD meshes. For semi-regular meshes, a subdivision scheme can be implemented to create multi-resolution meshes [9]. Wavelet transformation is another tool to build up multiresolution mesh [2]. For rectilinear points, i.e., volumes, multi-resolution can be easily built up by low-pass filtering [26, 17]. Multi-resolutions can be generated on other data representations, such as Layered-Depth-Images [3], Surfel [23], and scattered points [25]. We will review more on QSplat and Surfel later in this section. Visibility Culling: Culling away primitives that do not contribute to the final image before sending them for display represents a valid approach to accelerating rendering without any image quality loss. Visibility culling typically includes backface culling, frustum culling, and occlusion culling. For backface culling, Kumar and Manocha have presented an algorithm for hierarchical backface culling based on cones of normals [15]. For frustum culling, Samet has employed an octree data structure to perform hierarchical frustum culling [27]. For occlusion culling, Zhang et al. [33] have utilized a hierarchical occlusion map to discard primitives that are blocked by a closer geometry group. When the scene is highly structured, e.g., architectures, more specialized occlusion culling algorithms can be utilized for more effective culling [31]. Point Representation and Rendering: Compared to polygons, points are simpler to render. The use of points as rendering primitives can be dated as far back as 1974 when Catmull [1] observed that geometric subdivision may ultimately lead to points. Particles were subsequently used for objects that could not be rendered with geometry, such as clouds, explosions, and fire [21, 24]. Later, Levoy and Whitted [18] used points to model objects for the special case of continuous, differentiable surfaces. Cline et. al. [5] proposed the dividing cubes algorithm for volumetric iso-surface display cells intersecting an iso-surface are subdivided until subcells project to less than one pixel and then the subcellls are rendered as points. Over the last two decades, volume rendering has become an effective tool to visualize medical data, such as MRI, CT, etc., which consist of sampled points on rectilinear grids. Volume graphics [14], using this data format to model and render graphics objects, represents another point rendering system. As volumes store points in 3D rectilinear grids, for surface models, this is very inefficient. More recently, image-based rendering has become popular because complex scenes are represented with 2D sprites with ([30, 28]) or without ([4]) depths or 3D/4D plenoptic modeling [7, 16, 22], and the rendering time is approximately proportional to the number of pixels in the source and/or output images. However, all these methods use view-dependent samples/points to represent an object or scene. View-dependent samples are ineffective for dynamic scenes with motion of objects, changes in material properties, and changes in position and intensities of light sources. People have thus researched using viewindependent samples to model a scene. Max uses point samples obtained from orthographic views to model and render trees [20]. More recently, Grossman and Dally [8] describe a point sample representation for fast rendering of complex objects. Chang et al. [3] presented the LDI tree, a hierarchical space-partitioning data structure for image-based rendering. The most recent QSplat and Surfel systems employ viewindependent object models that can be illuminated and rendered from arbitrary points of view. They both utilize a data hierarchy to represent and render a scene. But they employ different schemes to build up the hierarchy. Surfel samples the model on multiresolution rectilinear grids. Points from the same resolution grid are stored in a compact format, called layered depth cubes (LDCs) [19]. LDCs for different resolutions together form an LIC tree (similar to LDI tree [3]). Points from the same level have the same size. On the other hand, QSplat builds up a hierarchical representation from the input mesh directly. Rather than explicitly sampling the mesh, QSplat takes the mesh vertices as the initial input points and generates a hierarchical data structure (quad-tree) from them. After that, the mesh topology, i.e., connectivity, is discarded. As points from the same level do not necessarily have the same size, QSplat has to explicitly record the point size (or bounding sphere size) for each node. For both QSplat and Surfel, each node records other attributes such as colors, normals, etc. After obtaining data hierarchy, both QSplat and Surfel traverse the tree and determine appropriate nodes for display. They all perform some sort of block culling to accelerate the rendering. Surfel also does fast incremental forward warping as points from the same level are on a rectilinear grid. Both Surfels and QSplat intend to use a uniform point representation to represent different kinds of objects. Surfel s point sampling is ideal for modeling objects with very high shape and

3 V 2 V3 V 2 V 3 V 1 V 0 V1 V 0 V 4 V 4 V 2 V 1 V V 3 V 0 4 V V V V V 0 V 3 V V V V V 1 V (a) (b) Figure 2: Bounding sphere and hierarchy used by (a) QSplat and (b) POP. shade complexity (i.e., small triangles), but it is less efficient in representing large flat surfaces with slowly changing shading attributes. When objects are moved close enough to the view point, the splats of points become visible. For QSplat, the image will appear blocky due to its splified splatting. Surfel s two-pass rendering using visibility splatting plus image reconstruction in screen space can produce higher image quality, but is expensive due to the lack of hardware support. In this paper, we present a hybrid of point and polygon representations to represent and render arbitrary polygonal models. We directly build up data hierarchy from the input mesh similar to QSplat, but we take original triangles as leaf nodes. Triangles are represented and rendered as points when they are small on screen to obtain speedup; but they remain as triangles when their projection on screen become large enough. Also, we perform pretexturing for triangles and points when building up the data hierarchy. This hybrid representation facilitates high quality and efficient texture mapping. 3 POP System POP uses triangles as leaf nodes and computes points as intermediate nodes. During the rendering, the tree is recursively traversed and appropriate nodes are chosen for display. Depending on the viewing position, nodes chosen may be either points or triangles. As POP is built mainly on top of QSplat, we refer readers to the QSplat paper for details of the system. Here we emphasize issues new to our approach, but may repeat some issues for completeness. 3.1 Building up Data Hierarchy The input of POP is general triangular models. The triangle sizes can vary, meaning they do not have to be in approximately uniform size as QSplat favors. These triangles are taken as leaf nodes. For each triangle, a bounding sphere is computed together with other information, such as color, normal and other attributes. The normal is computed as the average of the triangle s three vertices normals. The color represents the color of the whole triangle. If texture mapping, this color is computed by convoluting (or averaging) all texels inside the triangle. After we get the point representation, we start to build up a quad tree to represent the hierarchy, similar to QSplat. For each intermediate node in the tree, the attributes (e.g., normal, color, etc.) are computed as the average of these attributes of its child nodes. The bounding sphere is set to tightly bound the child nodes. Figure 2 illustrates the tree difference between QSplat (Figure 2a) and POP (Figure 2b). QSplat takes every vertex as the leaf node and its bounding sphere radii are computed so that all bounding spheres of the connecting vertices touch (or overlap) each other. One problem of this representation is that when objects move close to the view point, the leaf nodes s splats project to larger than one pixel so that the generated image becomes blocky. Instead, POP computes bounding spheres of triangles and uses triangles as the leaf nodes. As triangles maintain connectivity between vertices, color and other attributes can be smoothly interpolated inside the triangle, therefore increasing image quality. Although bounding sphere hierachies have been used for accelerating ray tracing, computing tight bounding spheres remains a very important step in pre-processing because the bounding spheres are used to compute the termination condition of the run-time tree traversal. An overestimated bounding sphere may cause the program to unnecessarily descend the tree and send more primitives, while an underestimated bounding sphere may degrade the image quality. Let us look at the bounding sphere computation for both leaf triangle nodes and intermediate point nodes. For the leaf triangle nodes, as a triangle defines a plane, the radius of its bounding sphere is equal to the radius of the bounding circle on the plane. We consider two scenarios: (1) when all three angles of the triangle are less than or equal to 90 æ (e.g., 4v 0v 1v 4 and 4v 0v 3v 2 in Figure 2), we have the bounding circle pass through all vertices; (2) when one of the angles is larger than 90 æ (e.g., 4v 0v 2v 1 and 4v 0v 4v 3 in Figure 2), we have the diameter of the circle coincide with the longest edge of the triangle. For intermediate point nodes, the bounding spheres are computed from their child nodes bounding spheres. First, we need to check whether the bounding sphere of one child node may enclose

4 bounding spheres of all other child nodes. If this is the situation, we simply use that child node s bounding sphere as the bounding sphere for the current node. When the input mesh has triangles of various size, this may happen very frequently. Otherwise, we compute the bounding sphere according to different scenarios based on the number of child nodes: 1. Two child nodes: the center of the bounding sphere is on the connection edge between the centers of two child nodes and the radius is computed as r = d+r 1+r 2,whered is the 2 distance between two child node centers; r 1;r 2 are radii of bounding spheres of two child nodes. 2. Three child nodes: we first connect three child node centers as a triangle and find the center of the triangle using the same scheme described above for leaf triangles; the radius is the radius of the triangle plus the maximum of the radii of three child bounding spheres. 3. Four child nodes: the centers of four nodes form a tetrahedron in 3D space. We enumerate four cases with each case corresponding to a triangle face of the tetrahedron. For each case, we take the corresponding triangle and find its center and radius as above; then the center of the tetrahedron will be on the line which is perpendicular to the base triangle and passes through its center. Once we have obtained bounding spheres for all four cases, we take the one with the minimum radius as the final bounding sphere. 3.2 Rendering Algorithm Similar to QSplat, POP recursively traverses down the hierarchical tree and chooses suitable nodes for display. If the node is completely outside the view frustum or back-facing, it is simply culled away; otherwise, its bounding sphere s screen projection ( or splat size) is evaluated. If the splat size is larger than the threshold area, its children are recursively evaluated; otherwise, it is drawn immediately. If the node is a leaf node, a triangle is drawn; otherwise, a point is drawn by splatting. As an option, we pay extra attention to silhouette. When the normal of the node is almost perpendicular to the viewing direction, we use triangles. The pseudo code of this operation is illustrated in the following as function RENDERènodeè. Variable threshold is for defining the threshold of screen projection size. To guarantee high quality image, it is usually set as one pixel. One of the major rendering expenses is the tree traversal. As for each node, we have to perform a number of operations, such as frustum and backface culling and splat size checking. We can improve the performance by traversing fewer nodes. Rather than always starting from the root node for the traversal, we desire to utilize the coherence between adjacent frames to minimize the number of nodes needed to be traversed. When displaying a frame, we set a flag for all the displayed nodes as well as the culled nodes. When displaying the next frame, we start from those nodes whose flags are set; depending on the current splat size of the node, we traverse the tree either up or down to find the most appropriate nodes for display. As there is usually considerable coherence between adjacent frames, the nodes displayed in two adjacent frames are either the same or very close in the tree, hence we minimize the number of nodes traversed. The coherence traversal algorithm RENDER-COHERENCYènodeè is described in the following pseudo code. There are two flag variables in the code. Variable flag1 indicates the node that is either displayed or discarded (invisible node) in the previous frame (set in both RENDERènodeè and RENDER-COHERENCYènodeè); variable flag2 indicates the node which is traversed by upward traversal. RENDER-COHERENCYènodeè if node:f lag1==1 then if node visible and node:splatsize é threshold then node:f lag1=0 RENDERènodeè if node is a leaf then draw a triangle for node currentnode è node while TRUE do childnode è currentnode childnode:f lag1=0 currentnode è currentnode:parent if currentnode!=null then if currentnode visible and currentnode:splatsize é threshold then break currentnode:f lag2=1 end while if childnode visible then draw childnode node:f lag2 è 0 for each child of node do RENDER-COHERENCYèchildè if node:f lag2==1 then return end for END of RENDER-COHERENCY RENDERènodeè if node is not visible then node:f lag1=1 skip node if node is a leaf then draw a triangle for node node:f lag1=1 if node:splatsize é threshold then draw a single point for node for each child of node do RENDERèchildè end for END of RENDER 3.3 Computing Splat Size One major computation in traversing the data tree is computing the splat size of each node based on its bounding sphere. To precisely compute the splat size is not only expensive but also unnecessary because the bounding sphere itself is an approximation. This approximation sometimes appear too conservative. Illustrated in Fig-

5 θ O B B θ r B r 2 r 1 E θ d r A O A A z screen (a) screen (b) Figure 3: Splat size computation. (a) Using a bounding sphere rather than a bounding ellipse may be too conservative; (b) geometry for approximating bounding sphere at arbitrary 3D location. ure 3a, a thin, long triangle is oriented in the viewing direction, and its projection size on screen is very small (the left line segment, purposely drawn off the viewing plane for clarity). However, its bounding sphere has a uniform size in every direction, so its projection on screen (the right line segment) may be overestimated. A possible solution is to use a bounding ellipse instead, but this would cause extra computation. Furthermore, the consequence of this over estimation is that we switch to triangle rendering earlier than necessary. It may slow down the rendering somewhat, but does no harm to the image quality. Computing splat size based on a bounding sphere s precise location is still expensive. We want to optimize this computation by computing the splat size based only on a bounding sphere s z coordinate in eye space. Illustrated in 2D, Figure 3b explains our approach. When a node is on the z axis, the maximum projection length of its bounding circle can be approximated as the projection length of the circle s vertical diameter. In the following, we only consider the projection of the radius. For sphere A, its radius R s projection length r A can be computed as r A = d R, where d is the z distance between the eye (E) and the viewing plane; z is the z coordinate of sphere A. Now we want to compute the projection of the same size sphere B at the same z coordinate but away from the z axis. Let the angle between EO A and EO B be ç. The length of EO B is then z. The projection of sphere B s radius on a viewing cos ç plane is then computed as r 1 = d z R = d cos ç R. Its projection cos ç z on the vertical plane at that point is then r 2 = r = 1 d R,which cos ç z is drawn as the blue line segment. Then r B = r 2,whererB is cos ç the projection of sphere B s radius on the viewing plane, such that, r 2 ér B. In our implementation, we choose to use r 2 to approximate the splat size of sphere B. The consequence of this approximation is that we underestimate the splat size so that we terminate the tree traversal earlier than when it should be, resulting in sending larger points for display. The error increases as sphere B moves further away from the z axis. However, as the nodes move away from the projection center, they become less important, therefore our error tolerance increases. 3.4 High Quality Rendering When the splat size threshold is increased to over one pixel, holes may appear between points. POP has implemented two rendering methods for hole filling. The first method is to draw every splat of a certain size using a constant color, similar to QSplat [25]. This approach can leverage graphics hardware support, hence it is the most efficient. However, splats with constant color makes the image blocky. (see Figure 4d.) The second rendering method that POP has implemented is visibility splatting plus image reconstruction in screen space as in Surfel [23]. Even for a large threshold, this method provides smooth rendering. Straightforward implementation of Surfel rendering has to resort to software implementation since these operations are not directly supported by graphics hardware. We have modified visibility splatting for limited hardware support. Here, every point node is drawn twice. The first time it is drawn with its full splat size using the background color; the second time it is drawn with only one pixel splat size using its own color. Of course, the triangle nodes are still drawn with only one pass. Figure 4b depicts the rendered image after visibility splatting. The background color on the object indicates holes to be filled in the image reconstruction step. Since we have not recorded for every hole pixel the distance to the nearest visible point due to our hardware supported visibility splatting, we cannot adapt filter size for hole pixel reconstruction as is being done in Surfel rendering. Instead, we use a uniform sized reconstruction filter. The size of the filter is simply specified the same as the threshold value of the splat size for rendering. Figure 4c is the final image after image reconstruction, which appears almost indistinguishable from the image generated using much smaller threshold value (see Figure 4a). Due to the lack of connectivity information, image reconstruction on screen space is approximate because the points contributing to a certain pixel are solely determined by their adjacency to the pixel. This approach results in artifacts in generated images; although usually not apparent for smoothly shaded objects, they can be visible for texture mapped models. To eliminate this artifact, we have to ensure polygon rendering whenever the node s splat size goes beyond one pixel so that accurate interpolation can be performed. This can be achieved by specifying the splat size threshould as one pixel. Figure 5 compares the texture mapping results using different thresholds. Figure 5a uses a threshold of two pixels and a Guassian filter for image reconstruction. Artifacts show up for the hole pixels. Figure 5b uses a threshold of one pixel, therefore no image reconstruction is needed. Nodes with a splat size larger than one pixel are rendered using triangles. The compared images are produced using a purely software approach and the antialiasing is done using the supersampling method as in Surfel [23]. While points are rendered by forward projection, tex-

6 (a) (b) (c) (d) Figure 4: POP rendering with different methods: (a) simplified splatting (threshold = 0.9), (b) visibility splatting (threshold = 4.7), (c) reconstructed image of (b), (d) simplified splatting (threshold = 4.7). level of the hierarchy is reached. To store vertices, each vertex is quantized using the quantized compression method in [6, 25]. For faces, no compression is implemented for now. They are simply stored as a linear list of indices to vertices. Each leaf node will keep a single index to this list and the number of indices it needs. 4 Implementation and Results (a) Figure 5: Texture mapped POP rendering using (a) two-pixel threshold and Guassian filter for image reconstruction and (b) onepixel threshold and their zoom-ins of the marked rectangles. Artifacts appear in the image generated by image reconstruction while not for texture mapped polygonal rendering. ture mapping of triangles can be considered as backward projection because pixels colors are computed in texture domain. Therefore, our hybrid point and polygon rendering also facilitates a hybrid processing order, easing high quality texture mapping. 3.5 Data Structure The general data structure of POP is very similar to that of QSplat, but because we keep triangles at the lowest level of the hierarchy tree, this will make the data structure almost always twice as big as that of QSplat. This is because each object model can be considered a planar graph (or at least with a small genius), so by Euler formular for planar graphs (or graphs with small genius), the number of faces of that graph will be at most twice the number of vertices plus a constant. To overcome this, at a level node of the hierarchical structure, we keep more than one adjacent triangles (at most four). Doing this has immediately reduced the number of leave nodes twice on average (as in practice) and thus the number of leave nodes is roughly equal to the number of vertices, making the hierarchical data structure of similar size to QSplat. Besides the hierarchical data structure, we have to store the vertices and the faces explicitly to redraw the mesh when the lowest (b) We have implemented POP on an 800MHZ Pentium III PC with 256MB memory and nvidia s GeForce2 GTS graphics card. We have experimented on Happy Buddha (1,087,716 triangles, 543,652 vertices) and Hand (654,666 triangles, 327,323 vertices) from Stanford and Georgia Tech. The preprocessing time averages 52 seconds for Buddha and 30 seconds for Hand. We have performed comparison mainly with QSplat using simplified splatting. The visibility splatting we have implemented is far from interactivity even though some hardware support has been leveraged. The QSplat system is obtained from the original authors. Because POP and QSplat are implemented in two different systems, the lighting condition and the viewing location etc. may not be identical for the following comparison, but we have tried to make them as comparable as possible. Also because QSplat software uses different way of measuring frame rate from our system, for the sake of fair comparison, we instead record and compare the number of primitives that these two systems use to generate images. It is confirmed that POP can generate a superior image quality to QSplat at lower cost. Figure 6 compares the image generated by QSplat (Figure 6(b1)) with the images generated by POP (Figure 6(a1, c1, d1)) using different splat size thresholds. When POP generates comparable image quality (Figure 6(d1)) to QSplat, it uses only around half of the number of primitives that are used by QSplat, therefore, the rendering is twice faster. 5 Conclusions and Future Work In this paper, we have presented a hybrid rendering system, POP, which uses both points and polygons. POP takes advantage of the simplicity of point rendering for distant objects as well as the quality of triangle rendering for close objects. Our experiments have proven that we can deliver higher image quality than similar systems such as QSplat at a lower rendering cost. In addition, building a data hierarchy directly on triangles makes POP applicable to any arbitrary triangular models. POP also facilitates a hybrid of forward and backward order texture mapping for high quality.

7 Although the basic idea of POP is a simple extension over the previous point rendering systems, such as QSplat and Surfel, this extension implies an important message: rather than seeking out a uniform representation, it may be more valid to develop mechanisms to seamlessly integrate different representations for efficient and high quality rendering. An immediate future work in this research direction is to extend and integrate the existing advanced data compression methods, such as geometry compression, and furthermore, to design more effective hybrid representation, for more efficient data representation and smoother transition between levels as well as high quality rendering for an even wider viewing range. Possibilities include (1) combining surface LOD methods with the hybrid approach, (2) integrating a subdivision scheme into this hybrid representation for an even smoother close-up view, (3) designing and incorporating additional point attributes, such as differentials [13] and Bidirectional Reflectance Distribution Functions (BRDFs), for more effectively conveying the geometric shape and rendering properties. Moreover, high quality and efficient antialiasing for texture mapping remains a challenging problem and is worth more research effort. The limitation of the current implementation is that the data hierarchy is precomputed therefore eliminating an immediate support for dynamic scenes. We are interested in designing schemes to make our hybrid approach applicable to dynamic scenes. Our future work also includes techniques that will make rendering more efficient. We are working on designing occlusion culling techniques for our hybrid rendering system. Occlusion culling is important for large scenes with high depth complexity. Finally, we plan to extend our method to other applications, such as volume surface display. Following Cline et al s dividing cube practice [5], we can use points to represent volume cells which project to less than a certain threshold area (e.g., one pixel), but for cells larger than the threshold, we then construct triangular surfaces for their display. 6 Acknowledgement We would like to acknowledge Grant-in-Aid of Research, Artistry and Scholarship from the Office of the Vice President for Research and Dean of the Graduate School of the University of Minnesota. References [1] E. Catmull. A subdivision algorithm for computer display of curved surfaces. Ph.D thesis, Univ. of Utah, [2] A. Certain, J. Popović, T. DeRose, T. Duchamp, D. Salesin, and W. Stuetzle. Interactive multiresolution surface viewing. In H. Rushmeier, editor, SIGGRAPH 96 Conference Proceedings, Annual Conference Series, pages ACM SIG- GRAPH, Addison Wesley, Aug held in New Orleans, Louisiana, August [3] C.-F. Chang, G. Bishop, and A. Lastra. LDI tree: a hierarchical representation for image-based rendering. SIGGRAPH 99 Proc., pages , Aug [4] S. E. Chen. Quicktime VR - an image-based approach to virtual environment navigation. Computer Graphics (SIGGRAPH 95), pages 29 38, Aug [5] H. E. Cline, W. E. Lorensen, S. Ludke, C. R. Crawford, and B. C. Teeter. Two algorithms for the three-dimensional reconstruction of tomograms. Medical Physics, 15(3): , May [6] M. Deering. Geometry compression. In SIGGRAPH 95 Proc., pages 13 20, Aug [7] S. J. Gortler, R. G., R. Szeliski, and M. F. Cohen. The lumigraph. Computer Graphics (SIGGRAPH 96), pages 43 54, Aug [8] J. Grossman and W. Dally. Point sampled rendering. Proc. Eurographics Rendering Workshop, [9] I. Guskov, W. Sweldens, and P. Schröder. Multiresolution signal processing for meshes. In A. Rockwood, editor, Siggraph 1999, Computer Graphics Proceedings, Annual Conference Series, pages , Los Angeles, ACM Siggraph, Addison Wesley Longman. [10] H. Hoppe. Progressive meshes. Computer Graphics, 30(Annual Conference Series):99 108, [11] H. Hoppe. View-dependent refinement of progressive meshes. In T. Whitted, editor, SIGGRAPH 97 Conference Proceedings, Annual Conference Series, pages ACM SIGGRAPH, Addison Wesley, Aug ISBN [12] H. H. Hoppe. Smooth view-dependent level-of-detail control and its application to terrain rendering. In D. Ebert, H. Hagen, and H. Rushmeier, editors, IEEE Visualization 98, pages IEEE, [13] A. Kalaiah and A. Varshney. Differential point rendering. Proc. Eurographics Rendering Workshop, [14] A. Kaufman, D. Cohen, and R. Yagel. Volume graphics. Computer, 26(7):51 64, July Also in Japanese, Nikkei Computer Graphics, 1, No. 88, & 2, No. 89, , [15] S. Kumar, D. Manocha, W. Garrett, and M. Lin. Hierarchical back-face computation. In X. Pueyo and P. Schröder, editors, Eurographics Rendering Workshop 1996, pages , New York City, NY, June Eurographics, Springer Wien. ISBN [16] M. Levoy and P. Hanrahan. Light field rendering. In SIGGRAPH 96 Conference Proceedings, pages 31 42, Aug [17] M. Levoy and R. Whitaker. Gaze-directed volume rendering. Computer Graphics (Proc Symposium on Interactive 3D Graphics), 24(2): , Mar [18] M. Levoy and T. Whitted. The use of points as a display primitive. University of North Carolina at Chapel Hill Technical Report TR , [19] D. Lischinski and A. Rappoport. Image-based rendering for non-diffuse synthetic scenes. In Rendering Techniques 98, Eurographics, pages , [20] N. Max. Hierarchical rendering of trees from precomputed multi-layer Z-buffers. Rendering Techniques 96, pages , June [21] N. Max and K. Ohsaki. Rendering trees from precomputed Z-buffer views. In Proc. Eurographics Workshop on Rendering, June [22] L. McMillan and G. Bishop. Plenoptic modeling: An image-based rendering system. In SIGGRAPH 95 Conference Proceedings, pages 39 46, Aug [23] H. Pfister, M. Zwicker, J. van Baar, and M. Gross. Surfels: Surface elements as rendering primitives. In SIGGRAPH 00 Proc., pages , [24] W. T. Reeves. Particle systems A technique for modeling a class of fuzzy objects. SIGGRAPH 83 Proc., 17(3): , July [25] S. Rusinkiewicz and M. Levoy. QSplat: A multiresolution point rendering system for large meshes. In SIGGRAPH 00 Proc., pages , [26] G. Sakas and M. Gerth. Sampling and anti-aliasing of discrete 3D volume density textures. Eurographics 91, pages , [27] H. Samet. Applications of spatial data structures. Addison-Wesley, [28] G. Schaufler. Per-object image warping with layered impostors. In G. Drettakis and N. Max, editors, Rendering Techniques 98, Eurographics, pages Springer-Verlag Wien New York, [29] G. Schaufler and H. W. Jensen. Ray tracing point sampled geometry. Rendering Techniques 2000, pages , [30] J. W. Shade, S. J. Gortler, L. He, and R. Szeliski. Layered depth images. In SIGGRAPH 98 Proc., pages , July [31] S. Teller and C. H. Séquin. Visibility preprocessing for interactive walkthroughs. Computer Graphics: Proceedings of SIGGRAPH 91, 25, No. 4:61 69, [32] J. Xia, J. El-Sana, and A. Varshney. Adaptive real-time level-of-detail-based rendering for polygonal models. IEEE Transactions on Visualization and Computer Graphics, 3(2): , June [33] H. Zhang, D. Manocha, T. Hudson, and K. Hoff. Visibility culling using hierarchical occlusion maps. SIGGRAPH 97 Proc., pages 77 88, Aug

8 (a2) (a1) thres=1.0, 272,047 pts, 255,708 tris, 1.62 fps (b2) (b1) 317,557 pts (c2) (c1) thres=2.0, 267,567 pts, 48,143 tris, 2.84 fps (d2) (d1) thres=3.4, 147,263 pts, 7,348 tris, 5.43 fps Figure 6: POP (a1, c1, d1) generates superior image quality to QSplat (b1) as triangles other than points are rendered for the front part of the object. (a2), (b2), (c2) and (d2) are zoom-ins of the marked rectangles of (a1), (b1), (c1) and (d1), respectively.

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz CS 563 Advanced Topics in Computer Graphics QSplat by Matt Maziarz Outline Previous work in area Background Overview In-depth look File structure Performance Future Point Rendering To save on setup and

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

CSL 859: Advanced Computer Graphics. Dept of Computer Sc. & Engg. IIT Delhi

CSL 859: Advanced Computer Graphics. Dept of Computer Sc. & Engg. IIT Delhi CSL 859: Advanced Computer Graphics Dept of Computer Sc. & Engg. IIT Delhi Point Based Representation Point sampling of Surface Mesh construction, or Mesh-less Often come from laser scanning Or even natural

More information

Real Time Rendering. CS 563 Advanced Topics in Computer Graphics. Songxiang Gu Jan, 31, 2005

Real Time Rendering. CS 563 Advanced Topics in Computer Graphics. Songxiang Gu Jan, 31, 2005 Real Time Rendering CS 563 Advanced Topics in Computer Graphics Songxiang Gu Jan, 31, 2005 Introduction Polygon based rendering Phong modeling Texture mapping Opengl, Directx Point based rendering VTK

More information

PMR: Point to Mesh Rendering, A Feature-Based Approach

PMR: Point to Mesh Rendering, A Feature-Based Approach PMR: Point to Mesh Rendering, A Feature-Based Approach Tamal K. Dey James Hudson The Ohio State University, Columbus, OH 43210 ABSTRACT Within the field of computer graphics and visualization, it is often

More information

Hierarchical surface fragments *

Hierarchical surface fragments * Hierarchical surface fragments * HUA Wei**, BAO Hujun, PENG Qunsheng (State Key Laboratory of CAD & CG, Zhejiang University, Hangzhou 310027, China) Abstract A new compact level-of-detail representation,

More information

Flexible Point-Based Rendering on Mobile Devices

Flexible Point-Based Rendering on Mobile Devices Flexible Point-Based Rendering on Mobile Devices Florent Duguet and George Drettakis REVES/INRIA Sophia-Antipolis, France, http://www-sop.inria.fr/reves Abstract Point-based rendering is a compact and

More information

Adaptive Point Cloud Rendering

Adaptive Point Cloud Rendering 1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13

More information

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella Introduction Acceleration Techniques Spatial Data Structures Culling Outline for the Night Bounding

More information

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm

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

Goal. Interactive Walkthroughs using Multiple GPUs. Boeing 777. DoubleEagle Tanker Model

Goal. Interactive Walkthroughs using Multiple GPUs. Boeing 777. DoubleEagle Tanker Model Goal Interactive Walkthroughs using Multiple GPUs Dinesh Manocha University of North Carolina- Chapel Hill http://www.cs.unc.edu/~walk SIGGRAPH COURSE #11, 2003 Interactive Walkthrough of complex 3D environments

More information

Visibility and Occlusion Culling

Visibility and Occlusion Culling Visibility and Occlusion Culling CS535 Fall 2014 Daniel G. Aliaga Department of Computer Science Purdue University [some slides based on those of Benjamin Mora] Why? To avoid processing geometry that does

More information

Hybrid Rendering for Collaborative, Immersive Virtual Environments

Hybrid Rendering for Collaborative, Immersive Virtual Environments Hybrid Rendering for Collaborative, Immersive Virtual Environments Stephan Würmlin wuermlin@inf.ethz.ch Outline! Rendering techniques GBR, IBR and HR! From images to models! Novel view generation! Putting

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Visible-Surface Determination Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm Scan-Line Algorithm

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

Hardware-Assisted Visibility Ordering for Point-Based and Volume Rendering

Hardware-Assisted Visibility Ordering for Point-Based and Volume Rendering Hardware-Assisted Visibility Ordering for Point-Based and Volume Rendering Christian Hofsetz Ciências Exatas e Tecnológicas Universidade do Vale do Rio dos Sinos chofsetz@acm.org Nelson Max University

More information

Texture Blending to Point Sampled Geometry Jose Luiz Soares Luz, Paulo Cezar Carvalho, Luiz Velho. Technical Report TR Relatório Técnico

Texture Blending to Point Sampled Geometry Jose Luiz Soares Luz, Paulo Cezar Carvalho, Luiz Velho. Technical Report TR Relatório Técnico Laboratório VISGRAF Instituto de Matemática Pura e Aplicada Texture Blending to Point Sampled Geometry Jose Luiz Soares Luz, Paulo Cezar Carvalho, Luiz Velho Technical Report TR-2004-06 Relatório Técnico

More information

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes

More information

International Journal of Computer Trends and Technology- volume3issue1-2012

International Journal of Computer Trends and Technology- volume3issue1-2012 A Overview of Point-based Rendering Techniques Mandakini Kaushik, Kapil Kumar Nagwanshi Dr. Lokesh Kumar Sharma M.Tech.(CSE) Scholar, Dept. of CSE, Reader, Dept. of CSE, Head, Dept. of CSE, Rungta College

More information

Deferred Splatting. Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE.

Deferred Splatting. Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE. Deferred Splatting Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE http://www.irit.fr/~gael.guennebaud Plan Complex Scenes: Triangles or Points? High Quality Splatting: Really

More information

Accelerating Ray Tracing

Accelerating Ray Tracing Accelerating Ray Tracing Ray Tracing Acceleration Techniques Faster Intersections Fewer Rays Generalized Rays Faster Ray-Object Intersections Object bounding volumes Efficient intersection routines Fewer

More information

Comparison of hierarchies for occlusion culling based on occlusion queries

Comparison of hierarchies for occlusion culling based on occlusion queries Comparison of hierarchies for occlusion culling based on occlusion queries V.I. Gonakhchyan pusheax@ispras.ru Ivannikov Institute for System Programming of the RAS, Moscow, Russia Efficient interactive

More information

Interactive Ray Tracing: Higher Memory Coherence

Interactive Ray Tracing: Higher Memory Coherence Interactive Ray Tracing: Higher Memory Coherence http://gamma.cs.unc.edu/rt Dinesh Manocha (UNC Chapel Hill) Sung-Eui Yoon (Lawrence Livermore Labs) Interactive Ray Tracing Ray tracing is naturally sub-linear

More information

Hardware Accelerated Rendering of Unprocessed Point Clouds

Hardware Accelerated Rendering of Unprocessed Point Clouds Hardware Accelerated Rendering of Unprocessed Point Clouds Claus Scheiblauer Institute of Computer Graphics and Algorithms Vienna University of Technology Vienna / Austria Abstract In this paper we present

More information

Impostors and pseudo-instancing for GPU crowd rendering

Impostors and pseudo-instancing for GPU crowd rendering Impostors and pseudo-instancing for GPU crowd rendering Erik Millan ITESM CEM Isaac Rudomin ITESM CEM Figure 1: Rendering of a 1, 048, 576 character crowd. Abstract Animated crowds are effective to increase

More information

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling

Motivation. Culling Don t draw what you can t see! What can t we see? Low-level Culling Motivation Culling Don t draw what you can t see! Thomas Larsson Mälardalen University April 7, 2016 Image correctness Rendering speed One day we will have enough processing power!? Goals of real-time

More information

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 3 due Monday Nov 13 th at

More information

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project

More information

Surfels: Surface Elements as Rendering Primitives

Surfels: Surface Elements as Rendering Primitives Surfels: Surface Elements as Rendering Primitives Hanspeter Pfister Λ Matthias Zwicker y Jeroen van Baar Λ Markus Gross y Figure 1: Surfel rendering examples. Abstract Surface elements (surfels) are a

More information

Acquisition and Visualization of Colored 3D Objects

Acquisition and Visualization of Colored 3D Objects Acquisition and Visualization of Colored 3D Objects Kari Pulli Stanford University Stanford, CA, U.S.A kapu@cs.stanford.edu Habib Abi-Rached, Tom Duchamp, Linda G. Shapiro and Werner Stuetzle University

More information

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 A Developer s Survey of Polygonal Simplification algorithms CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 Some questions to ask Why simplification? What are my models like? What matters

More information

Image Base Rendering: An Introduction

Image Base Rendering: An Introduction Image Base Rendering: An Introduction Cliff Lindsay CS563 Spring 03, WPI 1. Introduction Up to this point, we have focused on showing 3D objects in the form of polygons. This is not the only approach to

More information

DiFi: Distance Fields - Fast Computation Using Graphics Hardware

DiFi: Distance Fields - Fast Computation Using Graphics Hardware DiFi: Distance Fields - Fast Computation Using Graphics Hardware Avneesh Sud Dinesh Manocha UNC-Chapel Hill http://gamma.cs.unc.edu/difi Distance Fields Distance Function For a site a scalar function f:r

More information

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts

Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts Subdivision Of Triangular Terrain Mesh Breckon, Chenney, Hobbs, Hoppe, Watts MSc Computer Games and Entertainment Maths & Graphics II 2013 Lecturer(s): FFL (with Gareth Edwards) Fractal Terrain Based on

More information

Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech

Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech imagis-gravir/imag-inria (Grenoble, France) Laboratory for Computer Science MIT (USA) Special thanks Leo Guibas Mark de Berg Introduction

More information

The Randomized Sample Tree: A Data Structure for Interactive Walkthroughs in Externally Stored Virtual Environments

The Randomized Sample Tree: A Data Structure for Interactive Walkthroughs in Externally Stored Virtual Environments The Randomized Sample Tree: A Data Structure for Interactive Walkthroughs in Externally Stored Virtual Environments Jan Klein Jens Krokowski Matthias Fischer Michael Wand Rolf Wanka Friedhelm Meyer auf

More information

Image-Based Rendering. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen

Image-Based Rendering. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen Image-Based Rendering Image-Based Rendering What is it? Still a difficult question to answer Uses images (photometric( info) as key component of model representation What s Good about IBR Model acquisition

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

Advanced Ray Tracing

Advanced Ray Tracing Advanced Ray Tracing Thanks to Fredo Durand and Barb Cutler The Ray Tree Ni surface normal Ri reflected ray Li shadow ray Ti transmitted (refracted) ray 51 MIT EECS 6.837, Cutler and Durand 1 Ray Tree

More information

View-dependent Polygonal Simplification

View-dependent Polygonal Simplification View-dependent Polygonal Simplification Pekka Kuismanen HUT pkuisman@cc.hut.fi Abstract This paper describes methods for view-dependent simplification of polygonal environments. A description of a refinement

More information

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016 Ray Tracing Computer Graphics CMU 15-462/15-662, Fall 2016 Primitive-partitioning vs. space-partitioning acceleration structures Primitive partitioning (bounding volume hierarchy): partitions node s primitives

More information

Image-Based Modeling and Rendering. Image-Based Modeling and Rendering. Final projects IBMR. What we have learnt so far. What IBMR is about

Image-Based Modeling and Rendering. Image-Based Modeling and Rendering. Final projects IBMR. What we have learnt so far. What IBMR is about Image-Based Modeling and Rendering Image-Based Modeling and Rendering MIT EECS 6.837 Frédo Durand and Seth Teller 1 Some slides courtesy of Leonard McMillan, Wojciech Matusik, Byong Mok Oh, Max Chen 2

More information

Single-Pass High-Quality Splatting

Single-Pass High-Quality Splatting Single-Pass High-Quality Splatting Tilo Ochotta Stefan Hiller Dietmar Saupe Department of Computer and Information Science University of Konstanz, Germany Abstract In this paper, we introduce a novel real-time

More information

Speeding up your game

Speeding up your game Speeding up your game The scene graph Culling techniques Level-of-detail rendering (LODs) Collision detection Resources and pointers (adapted by Marc Levoy from a lecture by Tomas Möller, using material

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

Spatially-Encoded Far-Field Representations for Interactive Walkthroughs

Spatially-Encoded Far-Field Representations for Interactive Walkthroughs Spatially-Encoded Far-Field Representations for Interactive Walkthroughs Andrew Wilson Ketan Mayer-Patel Dinesh Manocha Department of Computer Science University of North Carolina Chapel Hill, NC 27599-3175

More information

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment 3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment Özgür ULUCAY Sarp ERTÜRK University of Kocaeli Electronics & Communication Engineering Department 41040 Izmit, Kocaeli

More information

Hello, Thanks for the introduction

Hello, Thanks for the introduction Hello, Thanks for the introduction 1 In this paper we suggest an efficient data-structure for precomputed shadows from point light or directional light-sources. Because, in fact, after more than four decades

More information

Accelerated Ambient Occlusion Using Spatial Subdivision Structures

Accelerated Ambient Occlusion Using Spatial Subdivision Structures Abstract Ambient Occlusion is a relatively new method that gives global illumination like results. This paper presents a method to accelerate ambient occlusion using the form factor method in Bunnel [2005]

More information

Universiteit Leiden Computer Science

Universiteit Leiden Computer Science Universiteit Leiden Computer Science Optimizing octree updates for visibility determination on dynamic scenes Name: Hans Wortel Student-no: 0607940 Date: 28/07/2011 1st supervisor: Dr. Michael Lew 2nd

More information

View-dependent Refinement of Multiresolution Meshes Using Programmable Graphics Hardware <CGI special issue>

View-dependent Refinement of Multiresolution Meshes Using Programmable Graphics Hardware <CGI special issue> The Visual Computer manuscript No. 642 (will be inserted by the editor) JUNFENG JI 1,3,4, ENHUA WU 1,2, SHENG LI 1,5, XUEHUI LIU 1 View-dependent Refinement of Multiresolution Meshes Using Programmable

More information

Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments

Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments Sung-Eui Yoon Brian Salomon Dinesh Manocha University of North Carolina at Chapel Hill http://gamma.cs.unc.edu/vdr

More information

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be

More information

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Building scalable 3D applications. Ville Miettinen Hybrid Graphics Building scalable 3D applications Ville Miettinen Hybrid Graphics What s going to happen... (1/2) Mass market: 3D apps will become a huge success on low-end and mid-tier cell phones Retro-gaming New game

More information

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments? Homework 1: Questions/Comments? Implicit Surfaces,, & Volumetric Data Structures Loop Subdivision Shirley, Fundamentals of Computer Graphics Loop Subdivision SIGGRAPH 2000 course notes Subdivision for

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

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

Illumination and Geometry Techniques. Karljohan Lundin Palmerius Illumination and Geometry Techniques Karljohan Lundin Palmerius Objectives Complex geometries Translucency Huge areas Really nice graphics! Shadows Graceful degradation Acceleration Optimization Straightforward

More information

Intersection Acceleration

Intersection Acceleration Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

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

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

CS 465 Program 4: Modeller

CS 465 Program 4: Modeller CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized

More information

Smooth Transitions in Texture-based Simplification

Smooth Transitions in Texture-based Simplification Appeared: Computer & Graphics, Elsevier Science, Vol 22:1, pp. 71-81, 1998 Smooth Transitions in Texture-based Simplification Daniel G. Aliaga, Anselmo A. Lastra Department of Computer Science University

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

Pipeline Operations. CS 4620 Lecture 10

Pipeline Operations. CS 4620 Lecture 10 Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination

More information

CSE528 Computer Graphics: Theory, Algorithms, and Applications

CSE528 Computer Graphics: Theory, Algorithms, and Applications CSE528 Computer Graphics: Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 11794--4400 Tel: (631)632-8450; Fax: (631)632-8334

More information

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Anti-aliased and accelerated ray tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Required: Watt, sections 12.5.3 12.5.4, 14.7 Further reading: A. Glassner.

More information

Spatial Data Structures and Acceleration Algorithms

Spatial Data Structures and Acceleration Algorithms Spatial Data Structures and Acceleration Algorithms Real-time Rendering Performance Goals Spatial Structures Bounding Volume Hierarchies (BVH) Binary Space Partioning(BSP) Trees, Octrees Scene Graphs Culling

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

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer wimmer@cg.tuwien.ac.at Visibility Overview Basics about visibility Basics about occlusion culling View-frustum culling / backface culling Occlusion

More information

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. 1 2 Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. Crowd rendering in large environments presents a number of challenges,

More information

Logistics. CS 586/480 Computer Graphics II. Questions from Last Week? Slide Credits

Logistics. CS 586/480 Computer Graphics II. Questions from Last Week? Slide Credits CS 586/480 Computer Graphics II Dr. David Breen Matheson 408 Thursday 6PM Æ 8:50PM Presentation 4 10/28/04 Logistics Read research paper and prepare summary and question P. Hanrahan, "Ray Tracing Algebraic

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

A Warping-based Refinement of Lumigraphs

A Warping-based Refinement of Lumigraphs A Warping-based Refinement of Lumigraphs Wolfgang Heidrich, Hartmut Schirmacher, Hendrik Kück, Hans-Peter Seidel Computer Graphics Group University of Erlangen heidrich,schirmacher,hkkueck,seidel@immd9.informatik.uni-erlangen.de

More information

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Anti-aliased and accelerated ray tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell eading! equired:! Watt, sections 12.5.3 12.5.4, 14.7! Further reading:! A. Glassner.

More information

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows Last Time: Acceleration Data Structures for Ray Tracing Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion

More information

Point-Based Impostors for Real-Time Visualization

Point-Based Impostors for Real-Time Visualization Point-Based Impostors for Real-Time Visualization Michael Wimmer, Peter Wonka, François Sillion imagis - GRAVIR/IMAG-INRIA, Vienna University of Technology Abstract. We present a new data structure for

More information

RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies

RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies Published at IEEE Transactions on Visualization and Computer Graphics, 2010, Vol. 16, Num. 2, pp. 273 286 Tae Joon Kim joint work with

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

More information

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,

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

Practical Shadow Mapping

Practical Shadow Mapping Practical Shadow Mapping Stefan Brabec Thomas Annen Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken, Germany Abstract In this paper we propose several methods that can greatly improve

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

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

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

11 - Spatial Data Structures

11 - Spatial Data Structures 11 - Spatial Data Structures cknowledgement: Marco Tarini Types of Queries Graphic applications often require spatial queries Find the k points closer to a specific point p (k-nearest Neighbours, knn)

More information

Direct Extraction of Normal Mapped Meshes from Volume Data

Direct Extraction of Normal Mapped Meshes from Volume Data Direct Extraction of Normal Mapped Meshes from Volume Data Mark Barry and Zoë Wood California Polytechnic State University Abstract. We describe a method of directly extracting a simplified contour surface

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

High-Quality Interactive Lumigraph Rendering Through Warping

High-Quality Interactive Lumigraph Rendering Through Warping High-Quality Interactive Lumigraph Rendering Through Warping Hartmut Schirmacher, Wolfgang Heidrich, and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken, Germany http://www.mpi-sb.mpg.de

More information

COMP 175: Computer Graphics April 11, 2018

COMP 175: Computer Graphics April 11, 2018 Lecture n+1: Recursive Ray Tracer2: Advanced Techniques and Data Structures COMP 175: Computer Graphics April 11, 2018 1/49 Review } Ray Intersect (Assignment 4): questions / comments? } Review of Recursive

More information

Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations. CS 4620 Lecture 14 Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives

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

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11 Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION

More information

CS452/552; EE465/505. Clipping & Scan Conversion

CS452/552; EE465/505. Clipping & Scan Conversion CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:

More information

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule Today Acceleration Data Structures for Ray Tracing Cool results from Assignment 2 Last Week: koi seantek Ray Tracing Shadows Reflection Refraction Local Illumination Bidirectional Reflectance Distribution

More information

A Streaming Viewer for Triangular Meshes

A Streaming Viewer for Triangular Meshes A Streaming Viewer for Triangular Meshes Sandeep Sarat sarat@cs.jhu.edu Department of Computer Science Johns Hopkins University Abstract Increasing size of surface models has lead to a great deal of research

More information

Simple Silhouettes for Complex Surfaces

Simple Silhouettes for Complex Surfaces Eurographics Symposium on Geometry Processing(2003) L. Kobbelt, P. Schröder, H. Hoppe (Editors) Simple Silhouettes for Complex Surfaces D. Kirsanov, P. V. Sander, and S. J. Gortler Harvard University Abstract

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

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

More information