In this paper we demonstrate how todays ray tracing techniques can be applied to photo-realistically render extremely huge landscapes covered with trees and forests, where a user can freely choose between highly detailed close-up views or flyover scenarios. This is made possible by mapping a number of square sub-scenes onto a huge polygonal terrain during run-time. The full plant population results from the combination of these tiles, which are iterated over the terrain. This is demonstrated at the example of a highly complex, plant covered ecosystem containing trillions of triangles
{"title":"Terrain Guided Multi-Level Instancing of Highly Complex Plant Populations","authors":"Andreas Dietrich, Gerd Marmitt, P. Slusallek","doi":"10.1109/RT.2006.280228","DOIUrl":"https://doi.org/10.1109/RT.2006.280228","url":null,"abstract":"In this paper we demonstrate how todays ray tracing techniques can be applied to photo-realistically render extremely huge landscapes covered with trees and forests, where a user can freely choose between highly detailed close-up views or flyover scenarios. This is made possible by mapping a number of square sub-scenes onto a huge polygonal terrain during run-time. The full plant population results from the combination of these tiles, which are iterated over the terrain. This is demonstrated at the example of a highly complex, plant covered ecosystem containing trillions of triangles","PeriodicalId":158017,"journal":{"name":"2006 IEEE Symposium on Interactive Ray Tracing","volume":"89 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-12-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126039220","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We implemented a pipelined rendering system that pre-renders a reduced set of a scene using the raster method built in the graphics hardware. The computation performed by the graphics card is used as an estimate for evaluating the initial traversal points for a ray caster running on the CPU. This procedure replaces the use of complex spatial subdivision structures for primary rays, offloading work that would traditionally be executed by the CPU and leaving additional system memory available for loading extra scene data. The ray traversal algorithm skips even narrow empty spaces, which are usually hard to map using conventional spatial subdivision. We achieved interactive frame rates (3-10 frames/s) running the system on a single computer with conventional hardware
{"title":"GPU-Assisted Ray Casting of Large Scenes","authors":"D. Balciunas, L.P. Dulley, M. Zuffo","doi":"10.1109/RT.2006.280220","DOIUrl":"https://doi.org/10.1109/RT.2006.280220","url":null,"abstract":"We implemented a pipelined rendering system that pre-renders a reduced set of a scene using the raster method built in the graphics hardware. The computation performed by the graphics card is used as an estimate for evaluating the initial traversal points for a ray caster running on the CPU. This procedure replaces the use of complex spatial subdivision structures for primary rays, offloading work that would traditionally be executed by the CPU and leaving additional system memory available for loading extra scene data. The ray traversal algorithm skips even narrow empty spaces, which are usually hard to map using conventional spatial subdivision. We achieved interactive frame rates (3-10 frames/s) running the system on a single computer with conventional hardware","PeriodicalId":158017,"journal":{"name":"2006 IEEE Symposium on Interactive Ray Tracing","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134217226","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. Knoll, Ingo Wald, Steven G. Parker, Charles D. Hansen
We present a technique for ray tracing isosurfaces of large compressed structured volumes. Data is first converted into a lossless-compression octree representation that occupies a fraction of the original memory footprint. An isosurface is then dynamically rendered by tracing rays through a min/max hierarchy inside interior octree nodes. By embedding the acceleration tree and scalar data in a single structure and employing optimized octree hash schemes, we achieve competitive frame rates on common multicore architectures, and render large time-variant data that could not otherwise be accommodated
{"title":"Interactive Isosurface Ray Tracing of Large Octree Volumes","authors":"A. Knoll, Ingo Wald, Steven G. Parker, Charles D. Hansen","doi":"10.1109/RT.2006.280222","DOIUrl":"https://doi.org/10.1109/RT.2006.280222","url":null,"abstract":"We present a technique for ray tracing isosurfaces of large compressed structured volumes. Data is first converted into a lossless-compression octree representation that occupies a fraction of the original memory footprint. An isosurface is then dynamically rendered by tracing rays through a min/max hierarchy inside interior octree nodes. By embedding the acceleration tree and scalar data in a single structure and employing optimized octree hash schemes, we achieve competitive frame rates on common multicore architectures, and render large time-variant data that could not otherwise be accommodated","PeriodicalId":158017,"journal":{"name":"2006 IEEE Symposium on Interactive Ray Tracing","volume":"89 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131794786","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
High quality ray tracing requires pixel sampling and filtering for antialiasing, as well as illumination sampling for complex lighting effects. Both problems are well understood and sophisticated sampling techniques are available for each of them. However, it turns out that weighted pixel sampling spoils the benefits of clever illumination sampling, even with the best filter functions. We propose to circumvent this problem by using pixel sampling and filtering based on importance sampling. Although this technique disallows sharing of samples between neighboring pixels, it results in significant noise reduction and improvement of image quality. The method is easy to implement and well suited for parallel, tile based rendering
{"title":"Filter Importance Sampling","authors":"Manfred Ernst, Marc Stamminger, Günther Greiner","doi":"10.1109/RT.2006.280223","DOIUrl":"https://doi.org/10.1109/RT.2006.280223","url":null,"abstract":"High quality ray tracing requires pixel sampling and filtering for antialiasing, as well as illumination sampling for complex lighting effects. Both problems are well understood and sophisticated sampling techniques are available for each of them. However, it turns out that weighted pixel sampling spoils the benefits of clever illumination sampling, even with the best filter functions. We propose to circumvent this problem by using pixel sampling and filtering based on importance sampling. Although this technique disallows sharing of samples between neighboring pixels, it results in significant noise reduction and improvement of image quality. The method is easy to implement and well suited for parallel, tile based rendering","PeriodicalId":158017,"journal":{"name":"2006 IEEE Symposium on Interactive Ray Tracing","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116618870","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We describe the software architecture of the Manta interactive ray tracer and describe its application in engineering and scientific visualization. Although numerous ray tracing software packages have been developed, much of the traditional design wisdom needs to be updated to provide support for interactivity, high degrees of parallelism, and modern packet-based acceleration structures. We discuss situations that are normally not considered when designing a batch ray tracer and present methods to overcome those challenges. This paper advocates a forward looking programming model for interactive ray tracing that uses reconfigurable components to achieve flexibility while achieving scalability on large numbers of processors. Manta employs data structures motivated by modern microprocessor design that can exploit instruction-level parallelism. We discuss the design tradeoffs and the performance achieved for this system
{"title":"Design for Parallel Interactive Ray Tracing Systems","authors":"J. Bigler, Abe Stephens, Steven G. Parker","doi":"10.1109/RT.2006.280230","DOIUrl":"https://doi.org/10.1109/RT.2006.280230","url":null,"abstract":"We describe the software architecture of the Manta interactive ray tracer and describe its application in engineering and scientific visualization. Although numerous ray tracing software packages have been developed, much of the traditional design wisdom needs to be updated to provide support for interactivity, high degrees of parallelism, and modern packet-based acceleration structures. We discuss situations that are normally not considered when designing a batch ray tracer and present methods to overcome those challenges. This paper advocates a forward looking programming model for interactive ray tracing that uses reconfigurable components to achieve flexibility while achieving scalability on large numbers of processors. Manta employs data structures motivated by modern microprocessor design that can exploit instruction-level parallelism. We discuss the design tradeoffs and the performance achieved for this system","PeriodicalId":158017,"journal":{"name":"2006 IEEE Symposium on Interactive Ray Tracing","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132290752","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Recently it has been shown that Bezier surfaces can be used as a geometric primitive for interactive ray tracing on a single commodity PC. However, the Bezier representation is restricted, as a large number of control points also imply a high polynomial degree, thus reducing the frame rate significantly. In this work we present a fast, efficient and robust algorithm to ray trace trimmed NURBS surfaces of arbitrary degree. Furthermore, our approach is largely independent of the number of control points of a surface with respect to the rendering performance. Additionally the degree and the number of control points of a surface do not influence the numerical stability of the intersection algorithm. The desired high performance is achieved by taking a novel approach of surface evaluation, which requires only minimal preprocessing. We present a method to transform the computationally expensive Cox-de Boor recursion into a SIMD suitable form that maximizes performance by avoiding the recursion and drastically reduces the number of executed commands
{"title":"Direct and Fast Ray Tracing of NURBS Surfaces","authors":"Oliver Abert, Markus Geimer, S. Muller","doi":"10.1109/RT.2006.280227","DOIUrl":"https://doi.org/10.1109/RT.2006.280227","url":null,"abstract":"Recently it has been shown that Bezier surfaces can be used as a geometric primitive for interactive ray tracing on a single commodity PC. However, the Bezier representation is restricted, as a large number of control points also imply a high polynomial degree, thus reducing the frame rate significantly. In this work we present a fast, efficient and robust algorithm to ray trace trimmed NURBS surfaces of arbitrary degree. Furthermore, our approach is largely independent of the number of control points of a surface with respect to the rendering performance. Additionally the degree and the number of control points of a surface do not influence the numerical stability of the intersection algorithm. The desired high performance is achieved by taking a novel approach of surface evaluation, which requires only minimal preprocessing. We present a method to transform the computationally expensive Cox-de Boor recursion into a SIMD suitable form that maximizes performance by avoiding the recursion and drastically reduces the number of executed commands","PeriodicalId":158017,"journal":{"name":"2006 IEEE Symposium on Interactive Ray Tracing","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125303328","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Both ray tracing and point-based representations provide means to efficiently display very complex 3D models. Computational efficiency has been the main focus of previous work on ray tracing point-sampled surfaces. For very complex models efficient storage in the form of compression becomes necessary in order to avoid costly disk access. However, as ray tracing requires neighborhood queries, existing compression schemes cannot be applied because of their sequential nature. This paper introduces a novel acceleration structure called the quantized kd-tree, which offers both efficient traversal and storage. The gist of our new representation lies in quantizing the kd-tree splitting plane coordinates. We show that the quantized kd-tree reduces the memory footprint up to 18 times, not compromising performance. Moreover, the technique can also be employed to provide LOD (level-of-detail) to reduce aliasing problems, with little additional storage cost
{"title":"The Quantized kd-Tree: Efficient Ray Tracing of Compressed Point Clouds","authors":"Erik Hubo, T. Mertens, Tom Haber, P. Bekaert","doi":"10.1109/RT.2006.280221","DOIUrl":"https://doi.org/10.1109/RT.2006.280221","url":null,"abstract":"Both ray tracing and point-based representations provide means to efficiently display very complex 3D models. Computational efficiency has been the main focus of previous work on ray tracing point-sampled surfaces. For very complex models efficient storage in the form of compression becomes necessary in order to avoid costly disk access. However, as ray tracing requires neighborhood queries, existing compression schemes cannot be applied because of their sequential nature. This paper introduces a novel acceleration structure called the quantized kd-tree, which offers both efficient traversal and storage. The gist of our new representation lies in quantizing the kd-tree splitting plane coordinates. We show that the quantized kd-tree reduces the memory footprint up to 18 times, not compromising performance. Moreover, the technique can also be employed to provide LOD (level-of-detail) to reduce aliasing problems, with little additional storage cost","PeriodicalId":158017,"journal":{"name":"2006 IEEE Symposium on Interactive Ray Tracing","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114189734","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
C. Lauterbach, S.-E. Yoon, D. Tuft, Dinesh Manocha
We present an efficient approach for interactive ray tracing of deformable or animated models. Unlike many of the recent approaches for ray tracing static scenes, we use bounding volume hierarchies (BVHs) instead of kd-trees as the underlying acceleration structure. Our algorithm makes no assumptions about the simulation or the motion of objects in the scene and dynamically updates or recomputes the BVHs. We also describe a method to detect BVH quality degradation during the simulation in order to determine when the hierarchy needs to be rebuilt. Furthermore, we show that the ray coherence techniques introduced for kd-trees can be naturally extended to BVHs and yield similar improvements. Finally, we compare BVHs to spatial kd-trees, which have been used recently as a replacement for AABB hierarchies. Our algorithm has been applied to different scenarios arising in animation and simulation and consisting of tens of thousands to a million triangles. In practice, our system can ray trace these models at 3-13 frames a second on a desktop PC including secondary rays
{"title":"RT-DEFORM: Interactive Ray Tracing of Dynamic Scenes using BVHs","authors":"C. Lauterbach, S.-E. Yoon, D. Tuft, Dinesh Manocha","doi":"10.1109/RT.2006.280213","DOIUrl":"https://doi.org/10.1109/RT.2006.280213","url":null,"abstract":"We present an efficient approach for interactive ray tracing of deformable or animated models. Unlike many of the recent approaches for ray tracing static scenes, we use bounding volume hierarchies (BVHs) instead of kd-trees as the underlying acceleration structure. Our algorithm makes no assumptions about the simulation or the motion of objects in the scene and dynamically updates or recomputes the BVHs. We also describe a method to detect BVH quality degradation during the simulation in order to determine when the hierarchy needs to be rebuilt. Furthermore, we show that the ray coherence techniques introduced for kd-trees can be naturally extended to BVHs and yield similar improvements. Finally, we compare BVHs to spatial kd-trees, which have been used recently as a replacement for AABB hierarchies. Our algorithm has been applied to different scenarios arising in animation and simulation and consisting of tens of thousands to a million triangles. In practice, our system can ray trace these models at 3-13 frames a second on a desktop PC including secondary rays","PeriodicalId":158017,"journal":{"name":"2006 IEEE Symposium on Interactive Ray Tracing","volume":"77 9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122834600","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Recursive ray tracing is a powerful rendering technique used to compute realistic images by simulating the global light transport in a scene. Algorithmic improvements and FPGA-based hardware implementations of ray tracing have demonstrated realtime performance but hardware that achieves performance levels comparable to commodity rasterization graphics chips is still not available. This paper describes the architecture and ASIC implementations of the DRPU design (dynamic ray processing unit) that closes this performance gap. The DRPU supports fully programmable shading and most kinds of dynamic scenes and thus provides similar capabilities as current GPUs. It achieves high efficiency due to SIMD processing of floating point vectors, massive multithreading, synchronous execution of packets of threads, and careful management of caches for scene data. To support dynamic scenes B-KD trees are used as spatial index structures that are processed by a custom traversal and intersection unit and modified by an update processor on scene changes. The DRPU architecture is specified as a high-level structural description in a functional language and mapped to both FPGA and ASIC implementations. Our FPGA prototype clocked at 66 MHz achieves higher ray tracing performance than CPU-based ray tracers even on a modern multi-GHz CPU. We provide performance results for two 130 nm ASIC versions and estimate what performance would be using a 90 nm CMOS process. For a 90nm version with a 196 mm2 die we conservatively estimate clock rates of 400 MHz and ray tracing performance of 80 to 290 fps at 1024times768 resolution in our test scenes. This estimated performance is 70 times faster than what is achievable with standard multi-GHz desktop CPUs
{"title":"Estimating Performance of a Ray-Tracing ASIC Design","authors":"Sven Woop, E. Brunvand, P. Slusallek","doi":"10.1109/RT.2006.280209","DOIUrl":"https://doi.org/10.1109/RT.2006.280209","url":null,"abstract":"Recursive ray tracing is a powerful rendering technique used to compute realistic images by simulating the global light transport in a scene. Algorithmic improvements and FPGA-based hardware implementations of ray tracing have demonstrated realtime performance but hardware that achieves performance levels comparable to commodity rasterization graphics chips is still not available. This paper describes the architecture and ASIC implementations of the DRPU design (dynamic ray processing unit) that closes this performance gap. The DRPU supports fully programmable shading and most kinds of dynamic scenes and thus provides similar capabilities as current GPUs. It achieves high efficiency due to SIMD processing of floating point vectors, massive multithreading, synchronous execution of packets of threads, and careful management of caches for scene data. To support dynamic scenes B-KD trees are used as spatial index structures that are processed by a custom traversal and intersection unit and modified by an update processor on scene changes. The DRPU architecture is specified as a high-level structural description in a functional language and mapped to both FPGA and ASIC implementations. Our FPGA prototype clocked at 66 MHz achieves higher ray tracing performance than CPU-based ray tracers even on a modern multi-GHz CPU. We provide performance results for two 130 nm ASIC versions and estimate what performance would be using a 90 nm CMOS process. For a 90nm version with a 196 mm2 die we conservatively estimate clock rates of 400 MHz and ray tracing performance of 80 to 290 fps at 1024times768 resolution in our test scenes. This estimated performance is 70 times faster than what is achievable with standard multi-GHz desktop CPUs","PeriodicalId":158017,"journal":{"name":"2006 IEEE Symposium on Interactive Ray Tracing","volume":"59 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131559882","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Instead of computing intersections along a ray, an algorithm is proposed that determines a point of intersection in object space. The method is based on the classical refinement of a hierarchy of axis-aligned bounding boxes that is computed on the fly. Typical rendering artifacts are avoided by taking into consideration the precision of floating point arithmetic. In addition the method lends itself to a simple solution of the self-intersection problem. Considering the obtained precision the algorithm is efficient, simple to use, and to implement
{"title":"Improving Ray Tracing Precision by Object Space Intersection Computation","authors":"H. Dammertz, A. Keller","doi":"10.1109/RT.2006.280211","DOIUrl":"https://doi.org/10.1109/RT.2006.280211","url":null,"abstract":"Instead of computing intersections along a ray, an algorithm is proposed that determines a point of intersection in object space. The method is based on the classical refinement of a hierarchy of axis-aligned bounding boxes that is computed on the fly. Typical rendering artifacts are avoided by taking into consideration the precision of floating point arithmetic. In addition the method lends itself to a simple solution of the self-intersection problem. Considering the obtained precision the algorithm is efficient, simple to use, and to implement","PeriodicalId":158017,"journal":{"name":"2006 IEEE Symposium on Interactive Ray Tracing","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133628986","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}