Encoding Normal Vectors using Optimized Spherical Coordinates

Size: px
Start display at page:

Download "Encoding Normal Vectors using Optimized Spherical Coordinates"

Transcription

1 Encoding Normal Vectors using Optimized Spherical Coordinates J. Smith, G. Petrova, S. Schaefer Texas A&M University, USA Abstract We present a method for encoding unit vectors based on spherical coordinates that out-performs existing encoding methods both in terms of accuracy and encoding/decoding time. Given a tolerance ϵ, we solve a simple, discrete optimization problem to find a set of points on the unit sphere that can trivially be indexed such that the difference in angle between the encoded vector and the original are no more than ϵ apart. To encode a unit vector, we simply compute its spherical coordinates and round the result based on the prior optimization solution. We also present a moving frame method that further reduces the amount of data to be encoded when vectors have some coherence. Our method is extremely fast in terms of encoding and decoding both of which take constant time O(1). The accuracy of our encoding is also comparable or better than previous methods for encoding unit vectors. 1. Introduction Recent advances of technology and computational power call for novel approaches to handling large data sets in terms of their transmission, storage and processing. In Computer Graphics, large data sets arise in a variety of applications. For example, 3D scanners such as those used in the Digital Michelangelo Project [1] produce on the order of hundreds of millions of point samples per statue. LIght-Detection-And- Ranging (LIDAR) typically uses laser range scanners to scan large terrain areas and can produce billions to tens of billions of samples per scan. Rendering methods such as Photon Mapping [2] generate millions of photons. Furthermore, as computation and storage have become cheaper, larger, more complex surfaces are becoming common. For example, hierarchical modeling tools such as ZBrush can easily produce surfaces with millions of polygons. These large data sets require efficient techniques for transmission and storage. While there are many different types of data to compress, we focus on 3D unit vectors. Such vectors appear in many applications in Computer Graphics. For example, these vectors are used to represent normals on surfaces, to modify lighting equations when used in normal maps or to store photon directions in photon maps. Unit vectors can also be viewed as points on the unit sphere and, as such, have applications in Astrophysics [3]. Naïvely storing unit vectors as three 32 bit numbers (96 bits total) is wasteful. Meyer et al. [4] showed that this representation is redundant and only 51 bits are sufficient to represent unit vectors within floating point precision. However, floating point accuracy is not always necessary, and thus good encoding/decoding techniques for 3D unit vectors that bound the maximum encoding error are needed. Such methods must be accurate, robust, and computationally efficient for both encoding and decoding (since data may need to be encoded in a streaming fashion) Related Work Encoding/decoding of unit vectors is a well-studied topic in Computer Graphics. The problem can be reformulated as constructing a distribution of points on the unit sphere and providing a method for finding the closest point in the distribution to a given input vector. One of the first methods for geometry compression is due to Deering [5] who encodes normal vectors by intersecting the sphere with the coordinate octants and then dividing the portion of the sphere within each octant into six equally shaped spherical triangles. Deering then uses a uniform grid restricted to a triangle and finds the closest point on the sphere to the input normal vector. Unfortunately, there is no error analysis of this encoding technique. In addition, the encoding requires finding the closest vector from a list of vectors, which has computational cost that is exponential in the number of encoded bits. Preprint submitted to Computer & Graphics March 13, 2012

2 2 The most well-known and popular method for encoding unit vectors is based on octahedron subdivision [6, 7, 8, 9]. The method begins with an octahedron and alternates linear subdivision and projection back to the sphere to build a point distribution. The encoding procedure is simply to identify the octant of the input vector and perform local subdivision around that vector. Hence, the encoding time is linear in the number of bits used to encode the result. While the same procedure can be used to decode the vector, the more common implementation is to use a table lookup. The latter is quite fast, but as Meyer et al. [4] point out, for high levels of accuracy the lookup table can dominate the storage costs and may not even fit in memory. Oliveira et al. [8] and Griffith et al. [9] both explore using platonic solids other than octahedra for encoding unit vectors. Griffith et al. [9] show that the octahedron does not produce good coding results compared to other solids and advocate using a sphere covering with low number of faces [10]. The authors also provide a barycentric encoding method whose computational cost is proportional to the number of faces in the covering and is independent of the number of bits used to encode the vectors. However, the maximum error is poor compared to other methods. Qsplat [11] also encodes unit vectors using a warped barycentric encoding on a cube, which has error performance similar to the barycentric encoding in the work by Griffith et al. [9]. Bass et al. [12] describe an encoding using overlapping cones that works well with entropy encoders [13], but the encoding time is still linear in the number of output bits. The Octahedron Normal Vector method [4] uses an octahedron to encode unit vectors and does so by flattening the octahedron into a 2D square. The authors then place a regular grid over the square and encode the vector as an index. This flattening process can be performed with a small number of conditional operations, and both encoding and decoding take constant time. Moreover, the maximum error associated with this technique is much lower than typical octahedron encoding for the same number of bits. Healpix [3] was not introduced in Computer Graphics but in the field of Astrophysics. The method creates a point distribution on the unit sphere for which the area associated with each point from the distribution is constant. The motivation for this technique does not come from compression but from processing spherical information and performing Fourier analysis on the sphere. Hence, the authors do not provide fast encoding or decoding methods, but this technique can still be used for compression. There are also several methods developed to specifically compress normal maps that are designed to be used for real time applications like games (see Waveren et al. [14] for a survey). These methods take advantage of the 2D structure of the texture, which is not present in arbitrary streams of normals. Furthermore, tangent space normal maps always have a positive z component [14], which simplifies compression. Hence, these normal map methods address a more specific problem than general normal compression. 3Dc [15] is a normal map compression method implemented in graphics hardware. This method discards the z-coordinate and quantizes the maximum range of x/y in a 4 4 block of normals to 3 bits per channel. While on average the method performs well, the quantization step will produce severe artifacts if x or y use the maximum range, effectively only allowing 8 possible values for the x/y components. Even though the maximum encoding error is quite large, 3Dc compression can produce significant compression gains with little loss in quality for slowly varying data such as many tangent-space normal maps. Munkberg et al. [16] present modifications to the 3Dc algorithm that improve the quality the output. Crytek s best fit normals [17] is not specifically a normal map compression algorithm and can be used to compress arbitrary normals. The algorithm assumes 8 bits per x/y/z component as input and observes that if we only encode unit vectors, most of the 24 bit space is not used for encoding since only a small number of points are close to the boundary of the unit sphere. Therefore, given an unencoded vector, the method searches for the best possible normal within the possible encoded values such that, when normalized, is closest to the unencoded vector. The method speeds up this computation by precomputing the exhaustive search and storing the results in a cube map for lookup. Unfortunately this modification only improves the average encoded error and not the maximal encoded error. For 24 bits, the maximal encoding error is approximately 0.16 for best fit normals whereas other methods achieve much lower error. For example, Octahedral Normal Vectors achieves a maximal error of 0.04 with 24 bits. While popular for games, best fit normals produces very poor errors for normal encoding. Contributions In this paper, we present a computationally efficient method for encoding and decoding 3D unit vectors. The computation time is constant and is independent of the required accuracy. In addition, our method produces the smallest encoding size for a given maximum error when compared to other compression methods. We further improve our compression rates by using a differential

3 Figure 1: The encoding in Equation 2 defines a rectangular domain (left) that maps to S using spherical coordinates (right). Any point in this domain will decode to be ˆn. Figure 2: Total number of points generated for various values of N ϕ with a maximum error of 4. The minimum is 1334 points with N ϕ = 32. encoding [18]. Our differential encoding uses a moving frame approach, which can be applied to any other method, and works especially well when combined with our technique. 2. Encoding Our method is based on the spherical coordinates representation of a unit vector. Note that a naïve discretization of this representation produces poor encoding results. Instead, we use variable discretization that minimizes the number of potential encoding symbols and, hence, the encoded size. Each point (x, y, z) on the unit sphere S has spherical coordinates (ϕ, θ) [0, ] [0, 2), where x = sin(ϕ) cos(θ), y = sin(ϕ) sin(θ), z = cos(ϕ). (1) Given N ϕ and N θ, we consider the set P = {( ˆx, ŷ, ẑ)} of N ϕ N θ points on the sphere, defined as where ˆx = sin( ˆϕ) cos(ˆθ), y = sin( ˆϕ) sin(ˆθ), z = cos( ˆϕ), ( ( ˆϕ, ˆθ) = j N ϕ 1, k 2 ), with j {0,..., N ϕ 1} and k {0,..., N θ 1}. We generate these points by dividing the parameter range for ϕ and θ into N ϕ and N θ uniform subintervals, respectively. Each point from P is represented by the pair ( j, k). Given a unit vector n with spherical coordinates (ϕ, θ), we encode the vector by choosing a point ˆn P with ( j, k) determined as j = round ( ϕ(n ϕ ) 1), k = round ( θn θ 2 N θ ) mod Nθ, (2) where round(x) gives the integer closest to x. Note that log 2 (N ϕ ) and log 2 (N θ ) bound the maximum number of 3 bits necessary to store j and k respectively. Hence, a 96-bit floating point vector will be compressed to fewer bits if N ϕ and N θ are chosen appropriately. Our goal is to select N ϕ and N θ in such a way that the total number of points in P is minimal for a given prescribed angle accuracy ϵ. Therefore, the angle between an encoded vector n and the corresponding decoded vector ˆn should be ϵ. Since the arcs that correspond to ϕ close to 0 or have smaller lengths than the arcs corresponding to ϕ near /2, we can use fewer points near the poles to guarantee the desired accuracy ϵ. We achieve this effect by choosing the number N θ adaptively, depending on j, namely N θ = N θ ( j). In this case, the total number of points in P will be N ϕ 1 j=0 N θ ( j). Next, we discuss how to determine the values N θ ( j), j = 0,..., N ϕ 1 given a value of N ϕ. The rounding operations in Equation 2 define a rectangular domain in 2 N θ ( j), terms of ϕ and θ with sides of length N ϕ 1 and respectively, as shown in Figure 1. All points with coordinates (ϕ, θ) within this domain will be encoded to have the same decoded angles ( ˆϕ, ˆθ). Mapping this domain to the sphere creates a curved patch as shown on the right of Figure 1. Figure 4 shows a sample decomposition of the entire sphere into such patches. Without loss of generality, we restrict ourselves to the top half of the sphere ϕ < /2. The point in the patch furthest from its center ˆn is the bottom right (or left) corner and has spherical coordinates ( ˆϕ + 2(N ϕ 1), ˆθ + N θ ( j) ). We compute the 3D vector with these coordinates using Equation 1 and take the dot product with ˆn to yield a maximum angle of cos 1 (cos( ˆϕ) cos( ˆϕ+ 2(N ϕ 1) 2(N ϕ 1) )+ cos( N θ ( j) ) sin( ˆϕ) sin( ˆϕ + )). Setting this value to be less than or equal to ϵ and solving for the smallest

4 Figure 3: Point distributions on the sphere for spherical encoding using the same number of points N θ ( j) = 64 for each value of j (left) and our variable number of points where max N θ ( j) = 64 (right). The spheres contain 2112 points (left) and 1334 points (right) with a maximum angle error of 4. integer N θ ( j) that satisfies this inequality yields N θ ( j) = ( cos(ϵ) cos( cos 1 ˆϕ) cos( ˆϕ+ sin( ˆϕ) sin( ˆϕ+ 2(N ϕ 1) ) 2(N ϕ 1) ) Note that any value of N ϕ 2ϵ + 1 yields values of N θ ( j), j = 0,..., N ϕ 1 such that the maximum encoding error is no more than ϵ. We need to find a value of N ϕ for which the total number of points in P, Nϕ 1 j=0 N θ ( j), attains its minimum. Figure 2 shows a graph of the total number of points in P for ϵ = 4 generated for different values of N ϕ. When N ϕ is close to the lower bound of 2ϵ + 1, the total number of points on the sphere is large. As N ϕ increases, the number of points drops quickly to a minimum (in this case, 1334 points) and then increases again. To find the optimal value of N ϕ, we simply find a neighborhood of the minimum and perform a discrete search. Notice that this optimization only has to be performed once for a value of ϵ, and the result N θ ( j) can be stored as a list of numbers and be used to encode/decode any number of vectors. Figure 3 shows two point distributions on the sphere and demonstrates the difference between using a constant number of points for each value of N ϕ (left) and our variable number of points (right). Each set of points will have the same maximum encoding error. However, our method is much more efficient in terms of memory. Figure 4 illustrates the regions on the sphere that our encoding in Equation 2 produces. 3. Moving Frames Our encoding method, described in Section 2, is computationally efficient since it requires only constant time ). 4 Figure 4: Our distribution of points on the sphere with a maximum error of 10 and the regions on the sphere that map to each point. both for encoding and decoding regardless of the precision ϵ required. While our method is suitable for encoding random vectors, it has the property that for values of j close to 0 or N ϕ 1, the number of possible values for k is small, as shown in Figure 4. Therefore, for unit vectors n that are close to one of the poles, we can use fewer bits to represent θ. To take advantage of the above mentioned property, we will assume that we are given an ordered list of normals n i. Let F i be a 3 3 matrix with orthonormal columns (F i x, Fy, i Fz) i that describes the coordinate frame associated with the i th vector n i. If ˆn i = ±Fz, i then we set F i+1 = F i. If not, we define F i+1 as F i+1 z = ˆn i, F i+1 x = ((Fz i ˆn i )ˆn i Fz) (F i z i ˆn i )ˆn i Fz i 1, Fy i+1 = Fz i+1 F i+1 x. This construction builds an orthonormal frame for each normal n i+1 such that the z-axis aligns with the previous encoded vector ˆn i. We then represent n i+1 in this coordinate frame and output the encoded values ( j, k) of (F i+1 ) T n i+1. To decode the vector, we simply apply the decoding procedure from Section 2 and multiply by F i+1, which we build from the previously decoded vector. We initialize the entire process by setting F 0 to be the Euclidean axes. In the situation where the angle between two consecutive vectors n i and n i+1 is small, this approach will produce significant compression gains because most encoded vectors will be close to the poles and use few bits to encode. Figure 5 shows the distribution of normals from the polygons of the buddha model with respect to the Euclidean axes (left) and the distribution where each

5 Figure 5: Normals n i from the buddha model (left) and the normals represented in each of their coordinate frames (F i ) T n i using our moving frame approach (right). In this figure the z-axis faces out of the page. normal is represented in terms of its associated moving frame (right). Notice that in the first case, the normals are mostly uniformly distributed over the sphere whereas, in the second case, the normals are almost all concentrated at the positive z-axis making the silhouette of the sphere hard to see due to the lack of points away from the z-axis. The backside of the sphere on the right (not visible in this image) is extremely sparse. This moving frame approach is not specific to our encoding method and many encoding techniques could benefit from this method, especially when coupled with an entropy encoder. However, due to the structure of our point distribution, our method is particularly well-suited to this technique. 4. Entropy Encoding In conjunction with the moving frame, we apply an adaptive arithmetic encoder [13] to the output of our encoding method, which results in even more compression. To use this encoder, we build a distribution for j and individual distributions for k for every value of j, since a different number, N θ ( j), of symbols for k are possible for each value of j. When using the moving frame, described in Section 3, the distribution for j tends to be skewed towards zero and compresses well with the arithmetic encoder. 5. Results We demonstrate the performance of our method by comparing it to several other methods including Healpix [3], octahedral subdivision (Octa) [6, 7, 8, 9], octahedral normal vectors (ONV) [4], sextant encoding (Sextant) [5], and the sphere1 covering (Sphere1) [9]. As test data, we use normal vectors generated from 5 the polygons of common surfaces found in Computer Graphics. We order these vectors by performing a depth-first traversal in terms of polygon adjacency on the surface. Figure 6 shows the graph of the encoded size (without entropy encoding or our moving frame approach) versus the maximum encoding error for the normals from the buddha model, which has normals yielding an uncompressed size of 12747KB. Clearly, Healpix, ONV, sphere1 and our method all have better performance than Deering s sextant encoding or the popular Octa algorithm. However, our method produces a smaller encoded size than all of the other methods for a given encoding error. Figure 7 shows the performance of all methods when we add our moving frame technique and then apply an entropy encoder [13] on the result. In all cases, entropy encoding, when combined with our moving frame, substantially reduces the encoded size. In general, Healpix, ONV and our method perform the best. However, when we decrease the maximum error and use the moving frame approach, Healpix begins to perform worse. Overall, our method performs the best and has an encoded size roughly 10% smaller than the best encoding technique. We also tested each method using entropy encoding without the moving frame but, due to the uniform distribution of points over the sphere, we did not achieve significantly better compression results than the ones from Figure 6. While Figures 6 and 7 show encoded size versus error for a single model, Figures 8 and 9 provide more details for various models when ϵ 1.2. The tables show the compressed file sizes and the encoding and decoding time in terms of seconds on an Intel Core i7 960 without our moving frame/entropy encoding (Figure 9) and with our moving frame/entropy encoding (Figure 8). Note that in Figure 8 although ONV, Healpix and our method have the same encoded size, the actual errors for these methods are 1.24, 1.27 and 1.2 respectively. In all examples, entropy encoding/decoding dominates the running time. Our encoding/decoding is very efficient, and we consistently produce the smallest file sizes (between 14% to 45% smaller). Healpix uses a lookup table for decoding that requires storing all possible encoded vectors in memory. In general, the decoding performance of a lookup table method is extremely fast. The drawback is that, for small maximum encoding error, these tables are quite large. While Sextant uses a constant time decoding algorithm, both Sextant and Healpix use a linear time encoding algorithm that compares each vector against all possible encoded values, which makes these methods

6 Figure 6: Compressed size without moving frames or entropy encoding versus maximum encoding error (in degrees) of various methods for the normals from the buddha model. slow in terms of encoding time. Some applications such as reproduction of specular highlights in graphics or engineering applications require much lower errors than 1.2. We next perform tests for ϵ and show the results in Figure 10 (without moving frame/entropy encoding) and Figure 11 (with moving frame/entropy encoding). Again, our method is the most efficient in terms of size using on average 23.6 bits per normal compared to the next best, ONV, at 24.6 bits per normal when using entropy encoding. At this level of error, Healpix requires a lookup table for decoding that takes more than 2GB of memory, which is not practical for most applications. Both Healpix and Sextant use linear time encoding techniques and did not complete within 24 hours. In contrast, our precomputed table of N θ ( j) takes 54 bytes for ϵ = 1.2 error and 25KB for ϵ = error. In terms of size, our table approximately doubles in size each time the error decreases by a factor of 0.5. This is in contrast to methods that store encoded points which quadruple in size for every decrease in ϵ by a factor of 0.5. Hence, even for very low values of ϵ, our table is still a manageable size and fits in memory. Octa and Sphere1 use a hierarchical encoding/decoding whose complexity is proportional to the log of the number of possible encoded values. Hence, the encoding and decoding times increase significantly as ϵ decreases, especially when we remove the moving frame/entropy encoding (see Figures 8 and 10). Both ONV and our method have encoding/decoding times independent of ϵ. Despite using a few trigonometric operations, our method still outperforms ONV in terms of 6 Figure 7: Compressed size using moving frames and entropy encoding versus maximum encoding error (in degrees) of various methods for the normals from the buddha model. Our moving frames technique improves the compression of all methods, though our compression benefits the most. encoding time. However, entropy encoding/decoding takes significantly longer time for our method since we store a symbol probability distribution for each value of j. 6. Conclusions and Future Work Our method for encoding unit vectors produces the smallest encoded size for a given error. Moreover, our encoding and decoding methods are very computationally efficient and are independent of the desired accuracy ϵ. Compared to the only other computationally efficient method, ONV, our method, both with and without our moving frame technique, consistently produces a smaller encoded size for the same error and is more efficient in terms of encoding/decoding performance. Finally, our moving frame approach significantly improves the compression results for all methods we tested, but works especially well with our encoding approach because our variable bit encoding uses fewer bits when encoded vectors are near the poles. However, the moving frame approach as well as the entropy encoding depend on the sequence of encoded normals and may not be appropriate for applications that require random access to the normals. In the future, we would like to explore compression methods that are specialized to work with normal maps and interpolation on the GPU. When sampling data from normal maps, the GPU will bilinearly (or trilinearly if mipmapping is used) interpolate data in textures.

7 The result of this interpolation is typically not meaningful unless the GPU performs decompression before interpolation, as done with 3Dc compression. All of the encoding methods we have discussed suffer from this problem. The one exception is Crytek s best fit normals, which produces poor encoding results but has the property that trilinear interpolation of encoded values yields a geometrically meaningful result (although not an arc length interpolation on the sphere). Given the disparity between encoding performance of these classes of algorithms, we would like to explore building normal encoding methods that sacrifice some encoding performance but work well with the texture mapping hardware on GPUs. [13] F. Wheeler, Adaptive arithmetic coding source code, wheeler/ac (1996). [14] J. Waveren, I. C. no, Real-time normal map dxt compression, real time normal map dxt compression.html (2008). [15] ATI, 3dc white paper, datasheets/3dc White Paper.pdf (2004). [16] J. Munkberg, T. Akenine-Möller, J. Ström, High-Quality Normal Map Compression, in: Graphics Hardware, 2006, pp [17] A. Kaplanyan, Cryengine 3: Reaching the speed of light, ACM SIGGRAPH 2010 Advances in Realtime Rendering Course, AdvRTRend crytek 0.ppt (2010). [18] M. Rabbani, P. W. Jones, Digital Image Compression Techniques, SPIE, Acknowledgements This work was supported by DARPA grant HR ; the ARO/MURI grant W911NF ; and the NSF grant DMS References [1] M. Levoy, K. Pulli, B. Curless, S. Rusinkiewicz, D. Koller, L. Pereira, M. Ginzton, S. Anderson, J. Davis, J. Ginsberg, J. Shade, D. Fulk, The digital michelangelo project: 3d scanning of large statues, in: Proceedings of SIGGRAPH, 2000, pp [2] H. W. Jensen, Realistic image synthesis using photon mapping, A. K. Peters, Ltd., [3] K. Gorski, E. Hivon, A. Banday, B. Wandelt, F. Hansen, M. Reinecke, M. Bartelman, Healpix: A framework for high resolution discretization, and fast analysis of data distributed on the sphere, The Astrophysical Journal 622 (2) (2005) [4] Q. Meyer, J. Sübmuth, G. Subner, M. Stamminger, G. Greiner, On floating-point normal vectors, Computer Graphics Forum 29 (4) (2010) [5] M. Deering, Geometry compression, in: Proceedings of SIG- GRAPH, 1995, pp [6] G. Taubin, W. Horn, F. Lazarus, J. Rossignac, Geometry coding and vrml, Proceedings of the IEEE, Special issue on Multimedia Signal Processing 86 (6) (1998) [7] M. Botsch, A. Wiratanaya, L. Kobbelt, Efficient high quality rendering of point sampled geometry, in: Proceedings of the Eurographics workshop on Rendering, 2002, pp [8] J. Oliveira, B. Buxton, Pnorms: platonic derived normals for error bound compression, in: Proceedings of the symposium on Virtual reality software and technology, 2006, pp [9] E. Griffith, M. Koutek, F. Post, Fast normal vector compression with bounded error, in: Proceedings of the symposium on Geometry processing, 2007, pp [10] N. Sloane, R. Hardin, W. Smith, Spherical coverings, njas/coverings (1997). [11] S. Rusinkiewicz, M. Levoy, Qsplat: a multiresolution point rendering system for large meshes, in: Proceedings of SIGGRAPH, 2000, pp [12] A. Bass, K. Been, Progressive compression of normal vectors, in: Proceedings of the Symposium on 3D Data Processing, Visualization, and Transmission, 2006, pp

8 Method Bunny Armadillo Dragon Buddha Ours HealPix Octa ONV Sextant Sphere Figure 8: A comparison of different encoding techniques without our moving frame approach or entropy encoding at the same approximate maximum error (1.2 ). For each model from left to right: encoded size in kilobytes, encoding time in seconds, decoding time in seconds. We bold the smallest size and encoding/decoding time for each model. The number of points in each model is bunny:144046, armadillo:345944, dragon:871306, buddha: The average bits per normal for each encoding technique is, Ours:14, HealPix:14, Octa:15, ONV:14, Sextant:18, Sphere1:15. Method Bunny Armadillo Dragon Buddha Ours HealPix Octa ONV Sextant Sphere Figure 9: The same data as Figure 8 except we add our moving frame approach and entropy encoding to all methods. The average bits per normal for each encoding technique is, Ours:7.3, HealPix:8.3, Octa:10.4, ONV:8.5, Sextant:12.2, Sphere1:10.6. Method Bunny Armadillo Dragon Buddha Ours HealPix N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A Octa ONV Sextant N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A Sphere Figure 10: A comparison of different encoding techniques without our moving frame approach or entropy encoding at the same approximate maximum error ( ). The average bits per normal for each encoding technique is, Ours:30, Octa:33, ONV:30, Sphere1:33. Method Bunny Armadillo Dragon Buddha Ours HealPix N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A Octa ONV Sextant N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A Sphere Figure 11: The same data as in Figure 10 except we add our moving frame approach and entropy encoding to all methods. The average bits per normal for each encoding technique is, Ours:23.6, Octa:30.3, ONV:24.6, Sphere1:

Intersection of an Oriented Box and a Cone

Intersection of an Oriented Box and a Cone Intersection of an Oriented Box and a Cone David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

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

Progressive Encoding and Compression of Surfaces Generated from Point Cloud Data

Progressive Encoding and Compression of Surfaces Generated from Point Cloud Data Progressive Encoding and Compression of Surfaces Generated from Point Cloud Data J. Smith, G. Petrova, S. Schaefer Texas A&M University, USA Abstract We present a new algorithm for compressing surfaces

More information

Progressive Encoding and Compression of Surfaces Generated from Point Cloud Data

Progressive Encoding and Compression of Surfaces Generated from Point Cloud Data Progressive Encoding and Compression of Surfaces Generated from Point Cloud Data J. Smith, G. Petrova, S. Schaefer Texas A&M University, USA Abstract We present a new algorithm for compressing surfaces

More information

Department of Computer Engineering, Middle East Technical University, Ankara, Turkey, TR-06531

Department of Computer Engineering, Middle East Technical University, Ankara, Turkey, TR-06531 INEXPENSIVE AND ROBUST 3D MODEL ACQUISITION SYSTEM FOR THREE-DIMENSIONAL MODELING OF SMALL ARTIFACTS Ulaş Yılmaz, Oğuz Özün, Burçak Otlu, Adem Mulayim, Volkan Atalay {ulas, oguz, burcak, adem, volkan}@ceng.metu.edu.tr

More information

Surface Reconstruction. Gianpaolo Palma

Surface Reconstruction. Gianpaolo Palma Surface Reconstruction Gianpaolo Palma Surface reconstruction Input Point cloud With or without normals Examples: multi-view stereo, union of range scan vertices Range scans Each scan is a triangular mesh

More information

CHAPTER 4 RAY COMPUTATION. 4.1 Normal Computation

CHAPTER 4 RAY COMPUTATION. 4.1 Normal Computation CHAPTER 4 RAY COMPUTATION Ray computation is the second stage of the ray tracing procedure and is composed of two steps. First, the normal to the current wavefront is computed. Then the intersection of

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

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

Hardware Displacement Mapping

Hardware Displacement Mapping Matrox's revolutionary new surface generation technology, (HDM), equates a giant leap in the pursuit of 3D realism. Matrox is the first to develop a hardware implementation of displacement mapping and

More information

CS 130 Final. Fall 2015

CS 130 Final. Fall 2015 CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

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

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

Lecture 21: Shading. put your trust in my shadow. Judges 9:15

Lecture 21: Shading. put your trust in my shadow. Judges 9:15 Lecture 21: Shading put your trust in my shadow. Judges 9:15 1. Polygonal Models Polygonal models are one of the most common representations for geometry in Computer Graphics. Polygonal models are popular

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

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

Triangle Rasterization

Triangle Rasterization Triangle Rasterization Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/07/07 1 From last time Lines and planes Culling View frustum culling Back-face culling Occlusion culling

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

Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions.

Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions. 1 2 Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions. 3 We aim for something like the numbers of lights

More information

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping

More information

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping

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

Visibility Map for Global Illumination in Point Clouds

Visibility Map for Global Illumination in Point Clouds Visibility Map for Global Illumination in Point Clouds R. Goradia 1 A. Kanakanti 1 S. Chandran 1 A. Datta 2 1 Indian Institute of Technology, Bombay Mumbai, India {rhushabh, kanil, sharat}@cse.iitb.ac.in

More information

Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim

Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim Cel shading, also known as toon shading, is a non- photorealistic rending technique that has been used in many animations and

More information

9. Three Dimensional Object Representations

9. Three Dimensional Object Representations 9. Three Dimensional Object Representations Methods: Polygon and Quadric surfaces: For simple Euclidean objects Spline surfaces and construction: For curved surfaces Procedural methods: Eg. Fractals, Particle

More information

Polygon Meshes and Implicit Surfaces

Polygon Meshes and Implicit Surfaces CSCI 420 Computer Graphics Lecture 9 Polygon Meshes and Implicit Surfaces Polygon Meshes Implicit Surfaces Constructive Solid Geometry [Angel Ch. 10] Jernej Barbic University of Southern California 1 Modeling

More information

Polygon Meshes and Implicit Surfaces

Polygon Meshes and Implicit Surfaces CSCI 420 Computer Graphics Lecture 9 and Constructive Solid Geometry [Angel Ch. 10] Jernej Barbic University of Southern California Modeling Complex Shapes An equation for a sphere is possible, but how

More information

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes CSCI 420 Computer Graphics Lecture 7 and Constructive Solid Geometry [Angel Ch. 12.1-12.3] Jernej Barbic University of Southern California Modeling Complex Shapes An equation for a sphere is possible,

More information

Level Set Extraction from Gridded 2D and 3D Data

Level Set Extraction from Gridded 2D and 3D Data Level Set Extraction from Gridded 2D and 3D Data David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

ICS RESEARCH TECHNICAL TALK DRAKE TETREAULT, ICS H197 FALL 2013

ICS RESEARCH TECHNICAL TALK DRAKE TETREAULT, ICS H197 FALL 2013 ICS RESEARCH TECHNICAL TALK DRAKE TETREAULT, ICS H197 FALL 2013 TOPIC: RESEARCH PAPER Title: Data Management for SSDs for Large-Scale Interactive Graphics Applications Authors: M. Gopi, Behzad Sajadi,

More information

Out of Core continuous LoD-Hierarchies for Large Triangle Meshes

Out of Core continuous LoD-Hierarchies for Large Triangle Meshes Out of Core continuous LoD-Hierarchies for Large Triangle Meshes Hermann Birkholz Research Assistant Albert-Einstein-Str. 21 Germany, 18059, Rostock hb01@informatik.uni-rostock.de ABSTRACT In this paper,

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

Predictive Point-Cloud Compression

Predictive Point-Cloud Compression Predictive Point-Cloud Compression S. Gumhold Z. Karni M. Isenburg H.-P. Seidel SMT-CGV Computer Science TU Dresden 01062 Dresden, Germany sg30@mail.inf.tu-dresden.de Computer Graphics Group Max-Planck-Institut

More information

Parameterization with Manifolds

Parameterization with Manifolds Parameterization with Manifolds Manifold What they are Why they re difficult to use When a mesh isn t good enough Problem areas besides surface models A simple manifold Sphere, torus, plane, etc. Using

More information

Tutorial 9 - Fast Marching Methods

Tutorial 9 - Fast Marching Methods 236861 Numerical Geometry of Images Tutorial 9 Fast Marching Methods c 2012 Why measure distances? Shape analysis Image analysis Registration Morphology Navigation And many other uses.. There are many

More information

Physically-Based Laser Simulation

Physically-Based Laser Simulation Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on

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

Fairing Scalar Fields by Variational Modeling of Contours

Fairing Scalar Fields by Variational Modeling of Contours Fairing Scalar Fields by Variational Modeling of Contours Martin Bertram University of Kaiserslautern, Germany Abstract Volume rendering and isosurface extraction from three-dimensional scalar fields are

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

Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces

Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces Shuhua Lai and Fuhua (Frank) Cheng (University of Kentucky) Graphics & Geometric Modeling Lab, Department of Computer Science,

More information

Dynamic Point Cloud Compression for Free Viewpoint Video

Dynamic Point Cloud Compression for Free Viewpoint Video MITSUBISHI ELECTRIC RESEARCH LABORATORIES http://www.merl.com Dynamic Point Cloud Compression for Free Viewpoint Video Edouard Lamboray, Michael Waschbusch, Stephan Wurmlin, Hanspeter Pfister, Markus Gross

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

Structured Light II. Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov

Structured Light II. Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov Structured Light II Johannes Köhler Johannes.koehler@dfki.de Thanks to Ronen Gvili, Szymon Rusinkiewicz and Maks Ovsjanikov Introduction Previous lecture: Structured Light I Active Scanning Camera/emitter

More information

Rendering Hair-Like Objects with Indirect Illumination

Rendering Hair-Like Objects with Indirect Illumination Rendering Hair-Like Objects with Indirect Illumination CEM YUKSEL and ERGUN AKLEMAN Visualization Sciences Program, Department of Architecture Texas A&M University TR0501 - January 30th 2005 Our method

More information

Chapter 18. Geometric Operations

Chapter 18. Geometric Operations Chapter 18 Geometric Operations To this point, the image processing operations have computed the gray value (digital count) of the output image pixel based on the gray values of one or more input pixels;

More information

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo 3 - Reconstruction Acknowledgements: Olga Sorkine-Hornung Geometry Acquisition Pipeline Scanning: results in range images Registration: bring all range images to one coordinate system Stitching/ reconstruction:

More information

3D Video Over Time. Presented on by. Daniel Kubacki

3D Video Over Time. Presented on by. Daniel Kubacki 3D Video Over Time Presented on 3-10-11 by Daniel Kubacki Co-Advisors: Minh Do & Sanjay Patel This work funded by the Universal Parallel Computing Resource Center 2 What s the BIG deal? Video Rate Capture

More information

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin.

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin. Technical Report UCAM-CL-TR-689 ISSN 1476-2986 Number 689 Computer Laboratory Removing polar rendering artifacts in subdivision surfaces Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin June 2007

More information

DETECTION AND ROBUST ESTIMATION OF CYLINDER FEATURES IN POINT CLOUDS INTRODUCTION

DETECTION AND ROBUST ESTIMATION OF CYLINDER FEATURES IN POINT CLOUDS INTRODUCTION DETECTION AND ROBUST ESTIMATION OF CYLINDER FEATURES IN POINT CLOUDS Yun-Ting Su James Bethel Geomatics Engineering School of Civil Engineering Purdue University 550 Stadium Mall Drive, West Lafayette,

More information

Fast continuous collision detection among deformable Models using graphics processors CS-525 Presentation Presented by Harish

Fast continuous collision detection among deformable Models using graphics processors CS-525 Presentation Presented by Harish Fast continuous collision detection among deformable Models using graphics processors CS-525 Presentation Presented by Harish Abstract: We present an interactive algorithm to perform continuous collision

More information

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM NAME: Login name: Computer Science 46 Midterm 3//4, :3PM-:5PM This test is 5 questions, of equal weight. Do all of your work on these pages (use the back for scratch space), giving the answer in the space

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

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

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 12 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations Subdivision Surface based One-Piece Representation Shuhua Lai Department of Computer Science, University of Kentucky Outline. Introduction. Parametrization of General CCSSs 3. One-Piece through Interpolation

More information

COMP Preliminaries Jan. 6, 2015

COMP Preliminaries Jan. 6, 2015 Lecture 1 Computer graphics, broadly defined, is a set of methods for using computers to create and manipulate images. There are many applications of computer graphics including entertainment (games, cinema,

More information

A Survey of Light Source Detection Methods

A Survey of Light Source Detection Methods A Survey of Light Source Detection Methods Nathan Funk University of Alberta Mini-Project for CMPUT 603 November 30, 2003 Abstract This paper provides an overview of the most prominent techniques for light

More information

Compressing Texture Coordinates with Selective Linear Predictions

Compressing Texture Coordinates with Selective Linear Predictions Compressing Texture Coordinates with Selective Linear Predictions Martin Isenburg Jack Snoeyink University of North Carolina at Chapel Hill Abstract large and detailed models this representation results

More information

x 2 + y 2 + z 2 = 1 = ˆr ŷ = ±y cosθ z (a) The half angle of the cones (inside the material) is just given by the critical angle sinθ c n = 3.

x 2 + y 2 + z 2 = 1 = ˆr ŷ = ±y cosθ z (a) The half angle of the cones (inside the material) is just given by the critical angle sinθ c n = 3. Exercise.-6 The results of this problem are somewhat general and apply to any rectangular parallelepiped with source located at any position inside. One can see this as follows. The direction of an arbitrary

More information

Reflection and Shading

Reflection and Shading Reflection and Shading R. J. Renka Department of Computer Science & Engineering University of North Texas 10/19/2015 Light Sources Realistic rendering requires that we model the interaction between light

More information

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models 3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts

More information

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather

More information

12 - Spatial And Skeletal Deformations. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

12 - Spatial And Skeletal Deformations. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo 12 - Spatial And Skeletal Deformations Space Deformations Space Deformation Displacement function defined on the ambient space Evaluate the function on the points of the shape embedded in the space Twist

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

Reconstruction of complete 3D object model from multi-view range images.

Reconstruction of complete 3D object model from multi-view range images. Header for SPIE use Reconstruction of complete 3D object model from multi-view range images. Yi-Ping Hung *, Chu-Song Chen, Ing-Bor Hsieh, Chiou-Shann Fuh Institute of Information Science, Academia Sinica,

More information

Real-Time Graphics Architecture

Real-Time Graphics Architecture Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Geometry Outline Vertex and primitive operations System examples emphasis on clipping Primitive

More information

CEng 477 Introduction to Computer Graphics Fall 2007

CEng 477 Introduction to Computer Graphics Fall 2007 Visible Surface Detection CEng 477 Introduction to Computer Graphics Fall 2007 Visible Surface Detection Visible surface detection or hidden surface removal. Realistic scenes: closer objects occludes the

More information

Abstract. Introduction. Kevin Todisco

Abstract. Introduction. Kevin Todisco - Kevin Todisco Figure 1: A large scale example of the simulation. The leftmost image shows the beginning of the test case, and shows how the fluid refracts the environment around it. The middle image

More information

Special Topics in Visualization

Special Topics in Visualization Special Topics in Visualization Final Project Report Dual contouring of Hermite Data Submitted By S M Shahed Nejhum 8589-1199 May 19, 2008 Introduction Iso-surface extraction from 3D volumetric data is

More information

Triangle Strip Multiresolution Modelling Using Sorted Edges

Triangle Strip Multiresolution Modelling Using Sorted Edges Triangle Strip Multiresolution Modelling Using Sorted Edges Ó. Belmonte Fernández, S. Aguado González, and S. Sancho Chust Department of Computer Languages and Systems Universitat Jaume I 12071 Castellon,

More information

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics Ray Casting. Matthias Teschner Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg

More information

Improved Radiance Gradient Computation

Improved Radiance Gradient Computation Improved Radiance Gradient Computation Jaroslav Křivánek Pascal Gautron Kadi Bouatouch Sumanta Pattanaik Czech Technical University New gradients Gradients by [Křivánek et al. 2005] Figure 1: Right: The

More information

3D Computer Vision. Structured Light II. Prof. Didier Stricker. Kaiserlautern University.

3D Computer Vision. Structured Light II. Prof. Didier Stricker. Kaiserlautern University. 3D Computer Vision Structured Light II Prof. Didier Stricker Kaiserlautern University http://ags.cs.uni-kl.de/ DFKI Deutsches Forschungszentrum für Künstliche Intelligenz http://av.dfki.de 1 Introduction

More information

View-Dependent Selective Refinement for Fast Rendering

View-Dependent Selective Refinement for Fast Rendering 1 View-Dependent Selective Refinement for Fast Rendering Kyle Brocklehurst Department of Computer Science and Engineering The Pennsylvania State University kpb136@psu.edu Abstract Triangle meshes are used

More information

Tópicos de Computação Gráfica Topics in Computer Graphics 10509: Doutoramento em Engenharia Informática. Chap. 2 Rasterization.

Tópicos de Computação Gráfica Topics in Computer Graphics 10509: Doutoramento em Engenharia Informática. Chap. 2 Rasterization. Tópicos de Computação Gráfica Topics in Computer Graphics 10509: Doutoramento em Engenharia Informática Chap. 2 Rasterization Rasterization Outline : Raster display technology. Basic concepts: pixel, resolution,

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

Introduction to Visualization and Computer Graphics

Introduction to Visualization and Computer Graphics Introduction to Visualization and Computer Graphics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Computer Graphics Visibility Shading 3D Rendering Geometric Model Color Perspective

More information

Virtual Reality Model of Koumokuten Generated from Measurement

Virtual Reality Model of Koumokuten Generated from Measurement Virtual Reality Model of Koumokuten Generated from Measurement Hiroki UNTEN Graduate School of Information Science and Technology The University of Tokyo unten@cvl.iis.u-tokyo.ac.jp Katsushi IKEUCHI Graduate

More information

Glossary of dictionary terms in the AP geometry units

Glossary of dictionary terms in the AP geometry units Glossary of dictionary terms in the AP geometry units affine linear equation: an equation in which both sides are sums of terms that are either a number times y or a number times x or just a number [SlL2-D5]

More information

Final Project, Digital Geometry Processing

Final Project, Digital Geometry Processing Final Project, Digital Geometry Processing Shayan Hoshyari Student #: 81382153 December 2016 Introduction In this project an adaptive surface remesher has been developed based on the paper [1]. An algorithm

More information

Georgios Tziritas Computer Science Department

Georgios Tziritas Computer Science Department New Video Coding standards MPEG-4, HEVC Georgios Tziritas Computer Science Department http://www.csd.uoc.gr/~tziritas 1 MPEG-4 : introduction Motion Picture Expert Group Publication 1998 (Intern. Standardization

More information

Point Cloud Streaming for 3D Avatar Communication

Point Cloud Streaming for 3D Avatar Communication 16 Point Cloud Streaming for 3D Avatar Communication Masaharu Kajitani, Shinichiro Takahashi and Masahiro Okuda Faculty of Environmental Engineering, The University of Kitakyushu Japan 1. Introduction

More information

Geometric Modeling and Processing

Geometric Modeling and Processing Geometric Modeling and Processing Tutorial of 3DIM&PVT 2011 (Hangzhou, China) May 16, 2011 6. Mesh Simplification Problems High resolution meshes becoming increasingly available 3D active scanners Computer

More information

Extracting consistent and manifold interfaces from multi-valued volume data sets

Extracting consistent and manifold interfaces from multi-valued volume data sets Extracting consistent and manifold interfaces from multi-valued volume data sets Stephan Bischoff, Leif Kobbelt Lehrstuhl für Informatik 8, RWTH Aachen, 52056 Aachen Email: {bischoff,kobbelt}@informatik.rwth-aachen.de

More information

Collision Detection based on Spatial Partitioning

Collision Detection based on Spatial Partitioning Simulation in Computer Graphics Collision Detection based on Spatial Partitioning Matthias Teschner Computer Science Department University of Freiburg Outline introduction uniform grid Octree and k-d tree

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

x ~ Hemispheric Lighting

x ~ Hemispheric Lighting Irradiance and Incoming Radiance Imagine a sensor which is a small, flat plane centered at a point ~ x in space and oriented so that its normal points in the direction n. This sensor can compute the total

More information

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection

More information

Midterm Exam CS 184: Foundations of Computer Graphics page 1 of 11

Midterm Exam CS 184: Foundations of Computer Graphics page 1 of 11 Midterm Exam CS 184: Foundations of Computer Graphics page 1 of 11 Student Name: Class Account Username: Instructions: Read them carefully! The exam begins at 2:40pm and ends at 4:00pm. You must turn your

More information

High-quality Shadows with Improved Paraboloid Mapping

High-quality Shadows with Improved Paraboloid Mapping High-quality Shadows with Improved Paraboloid Mapping Juraj Vanek, Jan Navrátil, Adam Herout, and Pavel Zemčík Brno University of Technology, Faculty of Information Technology, Czech Republic http://www.fit.vutbr.cz

More information

Geometry Compression of Normal Meshes Using Rate-Distortion Algorithms

Geometry Compression of Normal Meshes Using Rate-Distortion Algorithms Eurographics Symposium on Geometry Processing (2003) L. Kobbelt, P. Schröder, H. Hoppe (Editors) Geometry Compression of Normal Meshes Using Rate-Distortion Algorithms Sridhar Lavu, Hyeokho Choi and Richard

More information

Tiled Textures What if Miro Had Painted a Sphere

Tiled Textures What if Miro Had Painted a Sphere Tiled Textures What if Miro Had Painted a Sphere ERGUN AKLEMAN, AVNEET KAUR and LORI GREEN Visualization Sciences Program, Department of Architecture Texas A&M University December 26, 2005 Abstract We

More information

A Volumetric Method for Building Complex Models from Range Images

A Volumetric Method for Building Complex Models from Range Images A Volumetric Method for Building Complex Models from Range Images Brian Curless Marc Levoy Computer Graphics Laboratory Stanford University Introduction Goal Given a set of aligned, dense range images,

More information

Complex Models from Range Images. A Volumetric Method for Building. Brian Curless. Marc Levoy. Computer Graphics Laboratory. Stanford University

Complex Models from Range Images. A Volumetric Method for Building. Brian Curless. Marc Levoy. Computer Graphics Laboratory. Stanford University A Volumetric Method for Building Complex Models from Range Images Computer Graphics Laboratory Stanford University Brian Curless Marc Levoy Introduction Goal Given a set of aligned, dense range images,

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

Deferred Rendering Due: Wednesday November 15 at 10pm

Deferred Rendering Due: Wednesday November 15 at 10pm CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture

More information

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1 Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees Z-Buffer

More information

Surface shading: lights and rasterization. Computer Graphics CSE 167 Lecture 6

Surface shading: lights and rasterization. Computer Graphics CSE 167 Lecture 6 Surface shading: lights and rasterization Computer Graphics CSE 167 Lecture 6 CSE 167: Computer Graphics Surface shading Materials Lights Rasterization 2 Scene data Rendering pipeline Modeling and viewing

More information

Simpler Soft Shadow Mapping Lee Salzman September 20, 2007

Simpler Soft Shadow Mapping Lee Salzman September 20, 2007 Simpler Soft Shadow Mapping Lee Salzman September 20, 2007 Lightmaps, as do other precomputed lighting methods, provide an efficient and pleasing solution for lighting and shadowing of relatively static

More information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W

More information