Fast Hard and Soft Shadow Generation on Complex Models using Selective Ray Tracing

Size: px
Start display at page:

Download "Fast Hard and Soft Shadow Generation on Complex Models using Selective Ray Tracing"

Transcription

1 Fast Hard and Soft Shadow Generation on Complex Models using Selective Ray Tracing UNC CS Technical Report TR09-004, January 2009 Christian Lauterbach University of North Carolina at Chapel Hill Qi Mo University of North Carolina at Chapel Hill Dinesh Manocha University of North Carolina at Chapel Hill model complexity and number of silhouette edges. The fastest techniques for hard shadows are based on regular shadow maps, which are well supported by current rasterization hardware. However, these algorithms can suffer from aliasing errors. It is possible to overcome these errors by using hybrid combinations of shadow maps and shadow volumes [Chan and Durand 2004] or using irregular shadow mapping [Aila and Laine 2004; Johnson et al. 2005]. However, these algorithms may not scale well to complex models composed of millions of triangles and are limited to hard shadow generation. Figure 1: Soft shadows: Our algorithm can render the 12.7M triangle Powerplant model at 16 fps with hard shadows (left) and over 2 fps with soft shadows with 16 light samples (right) running on a NVIDIA GT 280 GPU. Abstract We present fast algorithms to generate high-quality hard and soft shadows in complex models. Our method combines the efficiency of rasterization-based shadow mapping approaches with the accuracy of a ray tracer based on conservative image space bounds. The algorithm can handle moving light sources as well as dynamic scenes. In practice, our approach is able to generate shadows on CAD and scanned models composed of millions of triangles at close to interactive rates on current high-end GPUs. 1 Introduction The state of the art in interactive rendering is constantly moving towards greater physical realism and detail. This is primarily driven by the rapid increase in performance provided by commodity GPUs which are able to utilize parallelism along with high coherence in memory accesses and computations to rasterize models with millions of triangles at interactive rates. However, one of the challenges is generating images with high-quality hard and soft shadows. Many rasterization-based approaches can be used to generate shadows, but when evaluating them on large, complex models they typically can only provide either high performance or accuracy, but not both. On the other hand, ray tracing provides a simple solution to generate accurate hard and soft shadows with good scalability for large in-core models [Foley and Sugerman 2005; Günther et al. 2007]. Despite recent advances and good use of parallelism, current ray tracing implementations are one or two orders of magnitude slower than rasterization approaches on GPUs. Shadow volumes can be used to generate high-quality hard and soft shadows, but their complexity can increase considerably with cl@cs.unc.edu qmo@cs.unc.edu dm@cs.unc.edu Main results: In this paper, we present a selective ray tracing algorithm to generate accurate hard and soft shadows on current manycore GPUs. Our approach is general and the overall image quality is comparable to that of a fully ray-traced shadow generation algorithm. Moreover, the algorithm can efficiently handle complex models, as long as the model and its bounding volume hierarchy can fit into the GPU memory. Our hybrid formulation performs conservative rasterization based on shadow mapping techniques and identifies the regions or the pixels of the frame (called PIP) that are potentially inaccurate due to under-sampling in light space or missed primitives due to rasterization errors. We use selective ray tracing to compute correct shading information only for those pixels in PIP, as described in Section 3. We also present an efficient technique for coupling with a GPU ray tracer to provide the missing information for those pixels. In addition, our approach extends very easily to area light sources and can be used to generate high-quality stochastic soft shadows. In practice, the subset of inaccurate pixels is small and our approach shoots relatively few rays as compared to a full ray tracer, resulting in a significant speedup. The notion of performing hybrid shadow generation based on conservative rasterization is not new. As compared to prior hybrid approaches, our algorithm offers the following advantages: High-quality shadows: In our complex benchmark scenes the hard and soft shadow generation algorithms result in almost no perspective or projective aliasing artifacts. Efficiency: We use compact hierarchical representations to accelerate ray intersections and allow ray tracing on GPUs with low memory overhead. As compared to pure shadow mapping, our hybrid algorithms are only 30-70% slower, but about 4 10 times faster than full ray tracing. Hardware utilization: Our approach maps directly onto current GPUs and needs no special hardware support or changes to existing architectures. It uses less memory bandwidth than full ray tracing and its performance should increase with the growth rate of future GPUs, as described in Section 4. We demonstrate our implementation on several models ranging from game-like scenes with dynamic objects to massive CAD models with millions of triangles at interactive rates on a high-end GPU, as described in Section 5.

2 Hierarchy Geometry Rasterization Framebuffer(s) unshaded PIP detection FB with pixels marked Ray generation and compaction Open ray buffer Ray tracing Traced ray results Shading FB shaded with ray results Figure 2: Overview: Pipeline model of our hybrid rendering algorithm. After GPU-based rasterization is run, the PIP computation detects and marks pixels that need to be ray traced. The ray generation step generates a dense ray list from the sparse buffer of potentially incorrect pixels and then generates one or more rays per pixels as required. A selective ray tracer traces all the rays using the scene hierarchy and then applies the results to the original buffer. Finally, the pixels are shaded based on the ray results. 2 Previous work We give a brief overview of related work limited to interactive shadow generation and reducing aliasing errors and refer the readers to [Hasenfratz et al. 2003; Lloyd 2007; Laine 2006] for recent surveys on shadow algorithms. Hard shadows: At a broad level, prior techniques to alleviate aliasing artifacts using rasterization methods are based on shadow maps [Williams 1978] and shadow volumes [Crow 1977]. Some hybrid approaches have been proposed that combine shadow mapping and volumes [McCool 2000; Chan and Durand 2004] that can improve shadow volume performance and allow interactive highquality shadows on simple scenes. Most current interactive applications use variants of shadow mapping, but may suffer from aliasing problems. Many practical algorithms have been proposed to alleviate perspective aliasing [Stamminger and Drettakis 2002; Wimmer et al. 2004; Lloyd 2007] as well as projective aliasing [Lefohn et al. 2007]. Other shadow mapping algorithms can eliminate blocking artifacts [Aila and Laine 2004; Johnson et al. 2005] by implementing a rasterizer that can process arbitrary samples on the image plane. Soft shadows: In general, soft shadows can be implemented by sample-based methods such as using averaging visibility from multiple shadow maps to calculate visibility or ray tracing. Both these methods can be slow, so many approaches have been developed to generate plausible soft shadows with methods such as post-filtering shadow maps or special camera models [Mo et al. 2007], which produce correct results only for simple scenes. More accurate approaches evaluate the light source visibility from the image samples by back-projection [Assarsson and Akenine-Möller 2003; Schwarz and Stamminger 2007; Sintorn et al. 2008; Bavoil et al. 2008] or by generating shadows from environment lighting [Annen et al. 2008]. Techniques using irregular z-buffering have also been extended for soft shadows on a proposed new architecture [Johnson et al. 2009]. 3 Shadows using selective ray tracing In this section, we present our algorithms for generating high quality shadows based on hybrid rendering and selective ray tracing. The main idea behind selective ray tracing is to only shoot rays corresponding to a small subset of the pixels in the final image in order to accelerate overall rendering. Our assumption is that we have underlying fast rasterization algorithms such as shadow mapping that compute the correct result for most of the frame, but may include localized error such as aliasing artifacts in parts of the image. We try to identify these regions of potentially incorrect pixels (PIP) in a conservative manner, since any additionally selected pixels will not change the image whereas missed ones may result in artifacts. As Fig. 2 illustrates, this is a multi-step process that starts with the results of a GPU shadow algorithm that provides a first approximation to the desired result. As a next step, we test the accuracy of each pixel and classify it accordingly, marking some pixels in the buffer as potentially incorrect. The buffer with all marked and unmarked pixels is then passed into the ray tracer where the first step filters out all non-marked pixels and keeps just the potentially incorrect pixels in a compact, non-sparse form. For each pixel in the PIP set, we shoot one or more rays to compute the correct visibility or shading information for the shadows. All rays are stored in a dense list that can be used as input for any data parallel, manycore GPU ray tracer. After the rays have been evaluated, the results are then written back to the original pixels in the PIP set. Back in the rasterizer, a shading kernel is used to compute colors for all the pixels. 3.1 Hard shadows Shadow mapping is one of the most widely used algorithms for generating hard shadows for interactive applications. It works on general, complex 3D static and dynamic scenes and maps well onto current GPUs. However, the shadow maps may need high resolution to avoid aliasing artifacts. These errors can be classified into perspective and projective aliasing [Stamminger and Drettakis 2002]. Perspective error occurs due to the position of the surface with respect to the light and viewpoint and result in the blockiness of shadows in the algorithm. Projective error stems from the orientation of the receiver to light and viewpoint. Geometric errors from under-sampling can also include missing contributions from objects that are too small or thin in light space, e.g. surfaces that are oriented close to coplanar with the view direction. Artifacts from this error result in missing and interrupted shadows for these objects. Finally, shadow map self-shadowing error occurs from inaccuracies in the depth values computed in the light view and the camera view. It stems both from depth buffer precision (numerical error) as well as orientation of the surface (geometric error). We consider this mainly an artifact that can be minimized by increasing depth precision and using slope-dependent bias and do not address it directly in our algorithm. Pixel classification: We now discuss our method for estimating the set of pixels in the image that can potentially be incorrect (PIP) due to the error described above. We first note that most of the error in shadow mapping appears at shadow boundaries while the shadow interiors (as well as the interiors of lit regions) tend to be accurate. Thus, we can assume that when we look up the corresponding sample in the shadow map for a given image sample, it should not be considered accurate if it is adjacent to an edge in the shadow map. We therefore modify the standard depth buffer look-up to test the 8 texels around the sample value with depth s in the shadow map and find the maximum absolute difference = max( s s,s depth around S) in depth. If exceeds a threshold value, e.g. a fraction of the possible scene depth as determined by z-buffer near and far planes, we assume that there is a shadow edge at this image pixel. In this case, we need to make sure

3 a) b) S S n L S = shadow map sample = image sample c) d) S S Figure 3: PIP computation: a) For a given image sample we project back to the shadow map and find the corresponding sample S. We then test the depths of the surrounding shadow map samples and select the one with the maximum difference in depth value to S and label it as Ŝ. b) We now determine whether the surface at can be affected by an edge at S and Ŝ by finding the closest point ˆ on the surface within the angle α of one shadow map pixel and find its depth d. ˆ c) If dˆ is within the shaded region of depth around S or on the other side of the region as seen from, then it needs to be ray traced. In this case, the pixel can be classified as shadowed. d) Counter-example: ˆ is in the region and thus the pixel is ray traced. this edge can affect the shadow generation at the current shading sample that is at distance d from the light source (see Fig. 3.1 for illustration.) This is to prevent that a relatively small shadow discontinuity at one side of the model does still affect pixels far away. To achieve this, we find the closest distance to the light dˆ that the receiver surface can reach within the angle α of one texel of the shadow map. Intuitively, the closer to parallel the receiver surface is to the light direction, the larger the difference between dˆ and d becomes. If dˆ overlaps the interval [s,s+ ] or d and dˆ are on different sides of S then we mark the pixel as part of the PIP set. The actual computation of dˆ for a local point light source follows from trigonometry such that d ˆ= d sinβ/sinα + β. Given the normal vector n and normalized light direction L, then this is easily computed by using sinβ = n L. A similar calculation for directional lights is relatively straightforward. Note that is also possible to precompute for the shadow map and store it for each pixel in addition to the depth value. This may be useful if the light source is mostly static since it reduces the memory bandwidth needed during the lighting pass of the rasterization algorithm. One case that the method above does not detect is the geometric aliasing problem when a primitive is too small (e.g. a thin wire) as seen from the light view and thus not even drawn during scanline rendering. Some of the pixels that are actually covered by the object may not get rasterized and thus not detected during edge filtering. This can cause missing shadows regions in the actual image. Our solution is to identify these small objects during rasterization from the light view and employ conservative rendering techniques to assure that they are actually part of the PIP set. We use geometry shaders to implement the conservative triangle rendering method described in [Hasselgren et al. 2005] and modified by [Sintorn et al. 2008]. In essence, each triangle is transformed into a polygon with 6 corners by extruding at the original vertices. The new extruded primitive is then guaranteed to cover the center point of each pixel that it touches. Since extending all the triangles in the scene could be extremely costly, the shader also tests the area and aspect ratio of each triangle in image space and only uses conservative rendering for those that are thin and thus likely to be missed. At the same n Figure 4: Detecting shadow artifacts: Shadow on City model. Top left: shadows with shadow mapping at resolution. Top Right: pixels marked for ray tracing in red. Bottom left: pixels marked by conservative rendering. Bottom right: final result. The image is identical to the fully ray-traced result. time, this technique automatically avoids very small but regular triangles (e.g. as in scanned models) where conservative rendering is not needed. Note that an even more efficient culling method would detect whether the triangle also has a silhouette edge, but we found that this adds more constraints on the rendering pipeline by having to provide adjacency information. Figure 4 illustrates the effect of our conservative rendering approach. 3.2 Soft shadows We now describe an extension of the approach presented above that can also be used to render high quality soft shadows. Ray tracing approaches commonly stochastically generate a number of samples on the area light source for each hit point, evaluate their visibility using shadow rays and then average the results to find an estimate of how much of the light source is visible from the hit point. However, a high number of samples and shadow rays are needed to avoid high frequency aliasing error. We observe that the only area that needs to be evaluated from multiple light samples is the penumbra region, because for umbra and fully lit regions the visibility of the light is binary. This enables us to handle those binary regions using rasterization-based techniques, e.g. shadow mapping, and to identify the penumbra as potentially incorrect pixels (PIP), and thereby perform selective ray tracing on these pixels. They only correspond to a portion of the final image, so significant amount of computation can be saved. More importantly, ray-based computation can be directed to regions that need it the most. One standard shadow map taken from the center of the light suffices for our approach to estimate the penumbra region. For pixels in the image plane that do not fall in our estimated penumbra no shadow rays are needed and they will be shaded by shadow mapping. The penumbra is identified in the following manner. First we compute edge pixels in the shadow map in the same way we do for hard shadows. For hard shadows those edge pixels are the potentially inaccurate pixels, while for soft shadows they need to be expanded to account for the effect of the area light sources. Next we compute the projection of the area light onto the shadow map, centered at each of these silhouette pixels. This is equivalent to splatting each edge pixel using the shape of the light and a size based on the depth difference between the light and the edge. After splatting all the edge pixels we get a mask which is a union of all the splats in the map. Masked pixels are potentially in penumbra while unmasked pixels are either in the umbra or fully lit. We use this in a similar way as a shadow map. During rendering any points that are projected inside the masked area belong to the estimated penumbra

4 Model Geometry Full RT SRT SRT+SM SRT % Rays City 2 MB 1066 MB 113 MB 222 MB 5 Sibenik 2.2 MB 2280 MB 224 MB 859 MB 4 Buddha 27 MB 3148 MB 601 MB 1144 MB 12 Figure 5: Penumbra classification: Soft shadow on Bunny model. Left: mask in the shadow map formed by splatting edge pixels. Middle: penumbra pixels marked for ray tracing in red. Right: final result. and are ray traced using multiple shadow rays (e.g. 8 8 sampling), while points that are projected inside unmasked area are classified as umbra or fully lit based on the original shadow map. Figure 5 shows an example of this process. The advantage of this approach is that it estimates the penumbra with the cost of little more than a standard shadow map, and consequently large parts of the image can be exempted from shadow ray tracing. Admittedly not all silhouette edges can be captured because the shadow map is generated only from the center of the light, but because such missed edges are often in the vicinity of the edges that are actually identified, it is very likely that most of the penumbra regions in the final image plane have been correctly identified. The accuracy can be further improved by computing shadow maps from multiple samples on the area light source, e.g. the corners, and then computing the union of masked pixels from each. 4 Analysis and Comparison 4.1 Comparison A very important aspect for evaluation of our algorithm is the difference in image quality compared to the full ray tracing solution. We present a detailed comparison for several benchmark scenes in the appendix that show the original image generated with shadow mapping at resolution, selective ray tracing results and reference full ray tracing (with a difference image). In practice, for hard shadows we have observed that our algorithm computes images that are almost error free and virtually identical to fully ray traced results for all our benchmark scenes, with differences arising from biasing errors. Unfortunately, we cannot guarantee full correctness since some features such as very small holes inside a solid object could theoretically be missed due to the regular sampling in light space (i.e. geometric aliasing errors). However, these artifacts appear to be very rare. It is hard to directly compare the quality of our results with only rasterization-based approaches. The fast shadow mapping methods based on warping and partitioning may not account for projective aliasing [Stamminger and Drettakis 2002; Wimmer et al. 2004; Lloyd 2007] and their accuracy can vary based on the relative position of the light source w.r.t. the viewpoint. Many techniques to handle projective aliasing [Lefohn et al. 2007] and aliasfree shadow maps [Aila and Laine 2004; Johnson et al. 2005] can be implemented on current GPUs. These approaches can generate high quality shadows, but it is not clear whether they can scale well to massive models. For soft shadows, most of the accurate methods may not be able to handle complex models at interactive rates on current processors. Recently, Sintorn et al. [2008] presented a soft shadow algorithm that can handle models with at most tens of thousands of triangles at interactive rates. It uses a more accurate method for penumbra computation, but its scalability on large models with moving light sources is not clear. Our hybrid approach shares the same theme as other hybrid shadow generation algorithms that use shadow polygons and LODs [Govin- Figure 6: Memory bandwidth: Simulated memory bandwidth requirements for rendering one frame at image resolution with selective (SRT) and full ray tracing (FRT) on several models (total storage for geometry and BVH is given in second column to show the total working set size.) The last column shows the time for SR plus a very conservative estimation of bandwidth needed by scanline rendering of the shadow map. daraju et al. 2003] or shadow volumes [Chan and Durand 2004]. However, LODs can affect the accuracy of the shadow boundaries. Moreover, the complexity of shadow volumes tense to increase with the number of silhouette edges in complex models. Thus, the bottleneck becomes the fill rate needed for rendering all volumes, which becomes prohibitively large with high geometric complexity. The analysis in [McGuire 2004] shows that the overall expected number of silhouette edges for a model is proportional to the sum of the dihedral angles. As an example, the average dihedral angle per primitive on Powerplant model is about 6 times the average angle on the Buddha model. Based on our experiments with several viewpoints, over 4 million silhouette edges may need to be rendered per frame for shadow volumes on Powerplant. The hybrid method in [Chan and Durand 2004] uses shadow mapping and employs a simple discontinuity detection on the depth map, then performs selective rasterization for the marked pixels using hierarchical z-culling. However, hybrid shadow volumes still have significant drawbacks compared to our approach. First, generating and processing the volumes including silhouette computation can be expensive especially for large CAD models with complex topology such the models used here. Second, even though shadow volumes may need to be selectively rasterized for only a small set of pixels, all shadow volumes still have to be processed by the rendering pipeline in any case. Hierarchical culling in the hardware may cull areas of the image efficiently, but the hybrid approach will most likely decrease the efficiency of the GPU rasterizer since active pixels will be relatively sparse and the parallel rasterization units are not sufficiently utilized by rendering only a few pixels inside a block of pixels. Finally, our approach provides a much improved algorithm for detecting whether depth continuities actually affect each pixel, thus reducing the number of pixels ray traced on complex models, while our conservative rendering approach detects contributions from small objects that would be missed by the previously described approaches. 4.2 Performance analysis In this section, we show that our hybrid algorithm maps to current many-core GPUs and has lower memory bandwidth requirements as compared to full ray tracing. A key issue in designing GPGPU or related algorithms on current highly parallel architectures is to ensure that they are not limited by memory bandwidth. This is mainly because the growth rate for computational power far exceeds that of memory bandwidth. The streaming model of computation used in the rasterization pipeline has been shown to be very successful in this regard with memory bandwidth being mostly used for depth and frame buffer accesses. We analyzed the memory bandwidth requirements when running both selective and full ray tracing for two of our benchmark models, in particular the memory bandwidth used by the actual ray tracing kernel. Since current GPU architectures have limited cache sizes, i.e. only a texture cache, such analysis is simpler than for CPUs. We implemented a simple software simulator that emulates the behavior of the memory unit for global memory accesses in CUDA in device emulation mode running on the host CPU. Care has to be

5 Performance FPS Relative performance Hard shadows Soft shadows (16x) Performance % pixels #triangles % pixels ray traced Light source area Benchmarks Tris Hard Soft SM SRT FRT SM SRT FRT City 58K (3%) (9.8%) 3.7 Sibenik 82K (4%) (6%) 0.64 Buddha 1M (1.4%) (7.7%) 2.5 Powerplant 12M (7.1%) (11%) 0.8 Figure 8: Performance: Performance of our selective ray tracing (SRT) approach on our benchmark models, compared to the simple shadow mapping algorithm (SM) with one point light for hard and 4 point lights for hard shadows, as well as a fully ray traced solution (FRT). The percentages show the fraction of pixels marked for ray tracing. All numbers are frames per second (FPS) at screen resolution. Figure 7: Scalability: Top: Performance vs. model complexity on several simplification levels of the St. Matthew model, showing close to logarithmic scaling. Bottom: Performance vs. light source size on Buddha model. taken mainly to correctly account for the behavior of the memory unit in combining data parallel accesses to contiguous memory. Our results (see Fig. 6) indicate that selective ray tracing consistently only uses about an order of magnitude less memory bandwidth per frame than full ray tracing. The bandwidth for selective ray tracing is still slightly higher than expected from the number of rays compared to full ray tracing. This is due to the fact that the ray groups in selective ray tracing are more incoherent and thus will access more memory locations. In order to perform a complete analysis, we also need to compute the memory bandwidth needed by the rasterizer for scan-line rendering of the shadow map. However, this is not possible for hardware accelerated rasterization (i.e. current GPUs) since the implementation details are not publicly available. However, we provide an estimate for the bandwidth used for rasterizing the shadow map by multiplying the peak bandwidth on the GPU by the time taken for rasterization, thus providing us a conservative upper bound. We list the summed memory bandwidth for shadow mapping plus selective ray tracing in the last column of Fig. 6. Note that the combined bandwidth is still significantly lower than full ray tracing. 4.3 Scalability analysis We also demonstrate the scalability of our approach with model complexity. To eliminate bias introduced by different model characteristics, we use different simplification levels of the same model and then compare the time used for selective ray tracing for each of the levels. Our results in Fig. 7 show that we can achieve sub-linear scalability with model size due to the use of hierarchical structures and occlusion culling. We also look at the performance implications of increasing the area of the light source for soft shadow rendering (see Fig. 7 bottom). Similar to other approaches our performance decreases significantly with larger light sources mostly due to more of the pixels being in penumbra regions and subsequently being ray traced. 5 Implementation and Results 5.1 Implementation We have implemented the algorithms described above on a NVIDIA GPU. We use OpenGL with Cg as the rendering interface and CUDA for general-purpose programming. Our ray tracer uses a BVH built on the GPU as the acceleration structure with a simple stack-based traversal similar to the one described in [Günther et al. 2007]. This also allows us to handle dynamic scenes by rebuilding the hierarchy each frame. A compaction step groups all the rays generated for marked pixels into a dense buffer that is then subdivided into small packets, each of which is handled independently. For rendering massive models, memory for storing the geometry and hierarchy on the GPU becomes an issue. We use a variant of the ReduceM representation [Lauterbach et al. 2008], but we modify the strip representation such that it is possible to also directly rasterize strips via OpenGL in order to use the same representation both for rasterization and ray tracing. In addition, we also use the top levels of the scene BVH for view frustum culling and occlusion culling based on occlusion queries both from the light as well as the camera view. These culling methods drastically accelerate the performance of the rasterization algorithm for large models. In our current implementation, view frustum culling is currently performed on the CPU, but could also be easily implemented in a CUDA algorithm. For soft shadows, we use a simple stratified sampling scheme for the shadow ray samples that is computed for each pixel with a simple random number generator inside the ray generation kernel. We base the random seed on sample location which allows us to compare our results for selective and full ray tracing without having to isolate variance in the estimate. 5.2 Results We now present results from our implementation running on a Intel Core2 Duo system at 2.83 GHz using a NVIDIA GT 280 GPU running Windows P. Fig. 8 summarizes the timings for hard and soft shadows at screen resolution, including comparison timings for GPU algorithm only, selective ray tracing and full ray tracing. The data for selective ray tracing also shows the percentage of pixels in the PIP set. We selected a wide range of benchmark models from relatively low-complexity game-like environments to high-complex scanned, CAD and architectural models to highlight the scalability of the algorithm. For shadows, all timings are for a moving light source, i.e. the shadow map is generated per frame, and soft shadows are generated by using 16 samples/pixel. Note that our algorithm is typically 5 times faster than full ray tracing. We present a detailed analysis of the timing breakdown in selective ray tracing (see Fig. 9) for several of our benchmark scenes. There is a relatively constant overhead associated with PIP detection, ray compaction and parts of the implementation such as the overhead of CUDA/OpenGL communication in the current programming environment. Note that the actual tracing of the selected ray samples only makes up a fraction of the time spent. While we do not explicitly show the overhead in rasterization introduced by conservative rendering in the graph above, we have found that in practice it slows down the rasterization step by about 10% since only a relatively small set of primitives are rendered conservatively.

6 Powerplant Buddha Sibenik City 0% 20% 40% 60% 80% 100% Shadow mapping Ray organization Ray Tracing CUDA/GL overhead Powerplant Buddha Sibenik City 0% 20% 40% 60% 80% 100% Figure 9: Timings: Time spent in different parts of the algorithm for hard (left) and soft shadows (right). Rasterization includes both shadow map generation, frame buffer rendering and shading. Ray tracing includes time spent in the ray tracing kernel only, while ray generation is the time for generating the compact ray buffer from sparse frame buffer and writing back at the end. CUDA/GL times represent the cost for buffer transfers and similar as the overhead of switching between OpenGL and CUDA. Figure 10: Benchmarks: Soft shadows using 16 light samples in Sibenik cathedral model, running at 7 fps at resolution. 6 Limitations and future work Overall, the main determining factor for our algorithm is the size of the PIP set. If the set is too large, then our algorithm cannot achieve a significant speedup over full ray tracing; however, at worst it can also only be slightly slower to the extent of shadow mapping overhead. In addition, the rays generated by selective ray tracing may exhibit less ray coherence than in full ray tracing which means that tracing these rays will be slightly more expensive on a per-ray metric. Since the rays still can access any part of the model, we also can only render models that fit into GPU memory and need to store an additional ray tracing hierarchy as well as update or rebuild it for deformable models. Our approach may also still carry over some of the geometric errors from rasterization such as depth buffer errors and resulting shadow map bias. The accuracy of our soft shadow algorithm is also governed by the underlying sampling algorithm. We presented new algorithms for selective ray tracing that augment existing fast rasterization approaches for shadows. In practice, they can generate high-quality hard and soft shadows and are about 5 times faster than ray tracing on current GPUs. Our approach is robust and scalable with geometric complexity. We also analyzed its bandwidth requirements compared to full ray tracing and demonstrate that our approach maps well to current architectural trends. There are many avenues for improvement. For one, the shadow accuracy detection could be made less conservative by using a better edge representation in shadow maps, such as silhouette maps [Sen et al. 2003], but as a trade-off the shadow mapping may be slower. Our approach should also be directly applicable to screen-space ambient occlusion approaches. An important aspect in the pipeline is the implementation of the actual ray tracing algorithm. The traditional ray tracing paradigm using accelerating structures means that all the geometry needs to be stored for random access during ray tracing, which may be incompatible with the GPU streaming model. One interesting solution here is to use ray hierarchies, i.e. a hierarchy that is built on top of the total set of rays and is intersected with the scene. Acknowledgments This work was supported in part by ARO Contracts DAAD and W911NF , NSF awards , and , DARPA/RDECOM Contract N C-0043, Disruptive Technology Office, Intel and NVIDIA. References AILA, T., AND LAINE, S Alias-free shadow maps. In Proceedings of Eurographics Symposium on Rendering 2004, Eurographics Association, ANNEN, T., DONG, Z., MERTENS, T., BEKAERT, P., SEIDEL, H.-P., AND KAUTZ, J Real-time, all-frequency shadows in dynamic scenes. ACM Trans. Graph. 27, 3, 1 8. ASSARSSON, U., AND AKENINE-MÖLLER, T A geometry-based soft shadow algorithm using graphics hardware. ACM Transactions on Graphics 22, 3, BAVOIL, L., CALLAHAN, S. P., AND SILVA, C. T Robust soft shadow mapping with backprojection and depth peeling. Journal of Graphics Tools 13(1). CHAN, E., AND DURAND, F An efficient hybrid shadow rendering algorithm. In Proceedings of the Eurographics Symposium on Rendering, Eurographics Association, CROW, F. C Shadow algorithms for computer graphics. ACM Computer Graphics 11, 3, FOLEY, T., AND SUGERMAN, J KD-tree acceleration structures for a GPU raytracer. In Proc. ACM SIGGRAPH/EG Conf. on Graphics Hardware, GOVINDARAJU, N., LLOYD, B., YOON, S., SUD, A., AND MANOCHA, D Interactive shadow generation in complex environments. Proc. of ACM SIG- GRAPH/ACM Trans. on Graphics 22, 3, GÜNTHER, J., POPOV, S., SEIDEL, H.-P., AND SLUSALLEK, P Realtime Ray Tracing on GPU with BVH-based Packet Traversal. In Proc. IEEE/EG Symposium on Interactive Ray Tracing, HASENFRATZ, J.-M., LAPIERRE, M., HOLZSCHUCH, N., AND SILLION, F A survey of real-time soft shadows algorithms. Computer Graphics Forum 22, 4 (dec), HASSELGREN, J., AKENINE-MÖLLER, T., AND OHLSSON, L Conservative rasterization on the gpu. GPU Gems 2, JOHNSON, G. S., LEE, J., BURNS, C. A., AND MARK, W. R The irregular z-buffer: Hardware acceleration for irregular data structures. ACM Trans. Graph. 24, 4, JOHNSON, G. S., HUNT, W. A., HU, A., MARK, W. R., BURNS, C. A., AND JUNKINS, S Soft irregular shadow mapping: fast, high-quality, and robust soft shadows. In Proc. I3D 09, LAINE, S Efficient Physically-Based Shadow Algorithms. PhD thesis, Helsinki University of Technology. LAUTERBACH, C., YOON, S.-E., TANG, M., AND MANOCHA, D ReduceM: Interactive and memory efficient ray tracing of large models. Computer Graphics Forum 27, 4, LEFOHN, A. E., SENGUPTA, S., AND OWENS, J. D Resolution-matched shadow maps. ACM Trans. Graph. 26, 4, 20. LLOYD, B Logarithmic Perspective Shadow Maps. PhD thesis, University of North Carolina at Chapel Hill. MCCOOL, M Shadow volume reconstruction from depth maps. ACM Trans. on Graphics 19, 1, MCGUIRE, M Observations on silhouette sizes. jgt 9, 1, MO, Q., POPESCU, V., AND WYMAN, C The soft shadow occlusion camera. Proc. Pacific Graphics 2007, SCHWARZ, M., AND STAMMINGER, M Bitmask soft shadows. Comput. Graph. Forum 26, 3,

7 SEN, P., CAMMARANO, M., AND HANRAHAN, P Shadow silhouette maps. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2003) 22, 3 (July), SINTORN, E., EISEMANN, E., AND ASSARSSON, U Sample-based visibility for soft shadows using alias-free shadow maps. Computer Graphics Forum (Proc. EGSR 07) 27, 4, STAMMINGER, M., AND DRETTAKIS, G Perspective shadow maps. In Proc. SIGGRAPH 02, WILLIAMS, L Casting curved shadows on curved surfaces. In Computer Graphics (SIGGRAPH 78 Proceedings), vol. 12, WIMMER, M., SCHERZER, D., AND PURGATHOFER, W Light space perspective shadow maps. In Proc. of the Eurographics Symposium on Rendering,

8 UNC CS Technical Report TR09-004, January 2009 Shadow mapping Our approach Ray traced Difference image (e) 256 FPS (f) 103 FPS (g) 21 FPS (h) Difference (i) 150 FPS (j) 66 FPS (k) 13 FPS (l) Difference (m) 42 FPS (n) 29 FPS (o) 8 FPS (p) Difference (q) 25 FPS (r) 16 FPS (s) 4 FPS (t) Difference Figure 11: Hard shadows: We compare the image fidelity of our algorithm to a pure ray-traced reference solution. From left to right: shadow mapping at 10242, selective ray tracing, ray traced reference, difference selective to reference.

9 Shadow mapping Our approach Ray traced Difference image (e) 200 FPS (f) 19 FPS (g) 3.9 FPS (h) Difference (i) 47 FPS (j) 7.3 FPS (k) 0.64 FPS (l) Difference (m) 34 FPS (n) 9 FPS (o) 2.5 FPS (p) Difference (q) 4.4 FPS (r) 2.1 FPS (s) 0.8 FPS (t) Difference Figure 12: Soft shadows: We compare the image fidelity of our algorithm to a pure ray-traced reference solution. From left to right: shadow mapping with 4 samples at , selective ray tracing, ray traced reference (both at 16 samples/pixel), difference selective to reference.

Selective ray tracing for interactive high-quality shadows

Selective ray tracing for interactive high-quality shadows Online ubmission ID: 0399 elective ray tracing for interactive high-quality shadows Figure 1: oft shadows: Our selective ray tracing algorithm can render the 12.7M triangle Powerplant model at 16 fps with

More information

Computer Graphics Shadow Algorithms

Computer Graphics Shadow Algorithms Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows

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

A Hybrid GPU Rendering Pipeline for Alias-Free Hard Shadows

A Hybrid GPU Rendering Pipeline for Alias-Free Hard Shadows Please cite as: S. Hertel, K. Hormann, and R. Westermann. A hybrid GPU rendering pipeline for alias-free hard shadows. In D. Ebert and J. Krüger, editors, Eurographics 2009 Areas Papers, pages 59 66, München,

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

Hard Shadows Aliasing and Remedies

Hard Shadows Aliasing and Remedies Hard Shadows Aliasing and Remedies Michael Wimmer www.realtimeshadows.com Shadow Map as Signal Reconstruction Initial sampling: shadow-map rendering Resampling: determined by view Reconstruction: nearest

More information

Shadow Rendering EDA101 Advanced Shading and Rendering

Shadow Rendering EDA101 Advanced Shading and Rendering Shadow Rendering EDA101 Advanced Shading and Rendering 2006 Tomas Akenine-Möller 1 Why, oh why? (1) Shadows provide cues about spatial relationships among objects 2006 Tomas Akenine-Möller 2 Why, oh why?

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

Sub-Pixel Shadow Mapping

Sub-Pixel Shadow Mapping Sub-Pixel Shadow Mapping Pascal Lecocq Technicolor Jean-Eudes Marvie Technicolor Gae l Sourimant Technicolor Pascal Gautron Technicolor, NVIDIA ARC Figure 1: Comparisons of standard Shadow Mapping with

More information

Shadow geometry maps for alias-free shadows

Shadow geometry maps for alias-free shadows . RESEARCH PAPER. SCIENCE CHINA Information Sciences November 2012 Vol. 55 No. 11: 1 12 doi: 10.1007/s11432-012-4696-2 Shadow geometry maps for alias-free shadows WANG Rui, WU YingQing, PAN MingHao, CHEN

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

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1

Real-Time Shadows. Computer Graphics. MIT EECS Durand 1 Real-Time Shadows Computer Graphics MIT EECS 6.837 Durand 1 Why are Shadows Important? Depth cue Scene Lighting Realism Contact points 2 Shadows as a Depth Cue source unknown. All rights reserved. This

More information

Soft Shadows. Michael Schwarz

Soft Shadows. Michael Schwarz Soft Shadows Michael Schwarz Hard Shadows Umbra Completely lit Soft Shadows Umbra Penumbra Completely lit Shadow Hardening on Contact Shadowing = Point Region Visibility Task: For each receiver sample

More information

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS Chris Wyman, Rama Hoetzlein, Aaron Lefohn 2015 Symposium on Interactive 3D Graphics & Games CONTRIBUTIONS Full scene, fully dynamic alias-free

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

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization

Last Time. Reading for Today: Graphics Pipeline. Clipping. Rasterization Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility

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

Fast BVH Construction on GPUs

Fast BVH Construction on GPUs Fast BVH Construction on GPUs Published in EUROGRAGHICS, (2009) C. Lauterbach, M. Garland, S. Sengupta, D. Luebke, D. Manocha University of North Carolina at Chapel Hill NVIDIA University of California

More information

Creating soft shadows

Creating soft shadows A Hybrid Approach One more shadow algorithm which deserves mention is McCool s clever idea shadow volume reconstruction from depth maps [McCool 2000]. This algorithm is a hybrid of the shadow map and shadow

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

PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila

PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila Agenda Introduction Motivation Basics PantaRay Accelerating structure generation Massively parallel

More information

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting Last Time? Real-Time Shadows Today Why are Shadows Important? Shadows & Soft Shadows in Ray Tracing Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes Why are Shadows Important? Depth

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

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS

FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS Chris Wyman, Rama Hoetzlein, Aaron Lefohn 2015 Symposium on Interactive 3D Graphics & Games CONTRIBUTIONS Full scene, fully dynamic alias-free

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

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

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality. Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

More information

A Hybrid GPU Rendering Pipeline for Alias-Free Hard Shadows

A Hybrid GPU Rendering Pipeline for Alias-Free Hard Shadows EUROGRAPHICS 2009/ D. Ebert and J. Krüger Areas Paper A Hybrid GPU Rendering Pipeline for Alias-Free Hard Shadows Stefan Hertel 1 Kai Hormann 2 and Rüdiger Westermann 1 1 Technische Universität München

More information

Efficient Stream Reduction on the GPU

Efficient Stream Reduction on the GPU Efficient Stream Reduction on the GPU David Roger Grenoble University Email: droger@inrialpes.fr Ulf Assarsson Chalmers University of Technology Email: uffe@chalmers.se Nicolas Holzschuch Cornell University

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

Smooth Penumbra Transitions with Shadow Maps

Smooth Penumbra Transitions with Shadow Maps Smooth Penumbra Transitions with Shadow Maps WILLEM H. DE BOER Playlogic Game Factory B.V. 1 We present a method for rendering aesthetically correct soft shadows that exhibit smooth inner and outer penumbrae

More information

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important? Last Time Modeling Transformations Illumination (Shading) Real-Time Shadows Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Graphics Pipeline Clipping Rasterization

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

Shadows. COMP 575/770 Spring 2013

Shadows. COMP 575/770 Spring 2013 Shadows COMP 575/770 Spring 2013 Shadows in Ray Tracing Shadows are important for realism Basic idea: figure out whether a point on an object is illuminated by a light source Easy for ray tracers Just

More information

Multi-View Soft Shadows. Louis Bavoil

Multi-View Soft Shadows. Louis Bavoil Multi-View Soft Shadows Louis Bavoil lbavoil@nvidia.com Document Change History Version Date Responsible Reason for Change 1.0 March 16, 2011 Louis Bavoil Initial release Overview The Multi-View Soft Shadows

More information

Enabling immersive gaming experiences Intro to Ray Tracing

Enabling immersive gaming experiences Intro to Ray Tracing Enabling immersive gaming experiences Intro to Ray Tracing Overview What is Ray Tracing? Why Ray Tracing? PowerVR Wizard Architecture Example Content Unity Hybrid Rendering Demonstration 3 What is Ray

More information

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today! Last Time? Real-Time Shadows Perspective-Correct Interpolation Texture Coordinates Procedural Solid Textures Other Mapping Bump Displacement Environment Lighting Textures can Alias Aliasing is the under-sampling

More information

GEARS: A General and Efficient Algorithm for Rendering Shadows

GEARS: A General and Efficient Algorithm for Rendering Shadows JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, OCTOBER 2012 1 GEARS: A General and Efficient Algorithm for Rendering Shadows Lili Wang, Ze Wang, Yulong Shi and Voicu Popescu Fig. 1: Soft shadows rendered

More information

CC Shadow Volumes. Abstract. Introduction

CC Shadow Volumes. Abstract. Introduction CC Shadow Volumes Brandon Lloyd Jeremy Wendt Naga Govindaraju Dinesh Manocha Department of Computer Science University of North Carolina at Chapel Hill http://gamma.cs.unc.edu/ccsv Figure 1: These images

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

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

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

Soft Shadow Volumes for Ray Tracing with Frustum Shooting

Soft Shadow Volumes for Ray Tracing with Frustum Shooting Soft Shadow Volumes for Ray Tracing with Frustum Shooting Thorsten Harter Markus Osswald Chalmers University of Technology Chalmers University of Technology University Karlsruhe University Karlsruhe Ulf

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

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler

Real-Time Shadows. MIT EECS 6.837, Durand and Cutler Real-Time Shadows Last Time? The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Quiz 2: Thursday November 20 th, in class (two weeks from Thursday)

More information

A Shadow Volume Algorithm for Opaque and Transparent Non-Manifold Casters

A Shadow Volume Algorithm for Opaque and Transparent Non-Manifold Casters jgt 2008/7/20 22:19 page 1 #1 Vol. [VOL], No. [ISS]: 1?? A Shadow Volume Algorithm for Opaque and Transparent Non-Manifold Casters Byungmoon Kim 1, Kihwan Kim 2, Greg Turk 2 1 NVIDIA, 2 Georgia Institute

More information

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important?

Real-Time Shadows. Last Time? Schedule. Questions? Today. Why are Shadows Important? Last Time? Real-Time Shadows The graphics pipeline Clipping & rasterization of polygons Visibility the depth buffer (z-buffer) Schedule Questions? Quiz 2: Thursday November 2 th, in class (two weeks from

More information

CC Shadow Volumes. University of North Carolina at Chapel Hill

CC Shadow Volumes. University of North Carolina at Chapel Hill Eurographics Symposium on Rendering (24) H. W. Jensen, A. Keller (Editors) CC Shadow Volumes D. Brandon Lloyd, Jeremy Wendt, Naga K. Govindaraju, and Dinesh Manocha University of North Carolina at Chapel

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS380: Computer Graphics Ray Tracing Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Class Objectives Understand overall algorithm of recursive ray tracing Ray generations Intersection

More information

NVIDIA RESEARCH TALK: THE MAGIC BEHIND GAMEWORKS HYBRID FRUSTUM TRACED SHADOWS

NVIDIA RESEARCH TALK: THE MAGIC BEHIND GAMEWORKS HYBRID FRUSTUM TRACED SHADOWS NVIDIA RESEARCH TALK: THE MAGIC BEHIND GAMEWORKS HYBRID FRUSTUM TRACED SHADOWS Chris Wyman July 28, 2016 Left: Hybrid Frustum Traced Shadows (HFTS) Right: Percentage Closer Soft Shadows (PCSS) MARCH 2016:

More information

Occluder Simplification using Planar Sections

Occluder Simplification using Planar Sections Occluder Simplification using Planar Sections Ari Silvennoinen Hannu Saransaari Samuli Laine Jaakko Lehtinen Remedy Entertainment Aalto University Umbra Software NVIDIA NVIDIA Aalto University Coping with

More information

Shadow Caster Culling for Efficient Shadow Mapping

Shadow Caster Culling for Efficient Shadow Mapping Shadow Caster Culling for Efficient Shadow Mapping Jiří Bittner Oliver Mattausch Ari Silvennoinen Michael Wimmer Czech Technical University in Prague Vienna University of Technology Umbra Software Figure

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

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

Some Thoughts on Visibility

Some Thoughts on Visibility Some Thoughts on Visibility Frédo Durand MIT Lab for Computer Science Visibility is hot! 4 papers at Siggraph 4 papers at the EG rendering workshop A wonderful dedicated workshop in Corsica! A big industrial

More information

Fast, Sub-pixel Antialiased Shadow Maps

Fast, Sub-pixel Antialiased Shadow Maps Pacific Graphics 2009 S. Lee, D. Lischinski, and Y. Yu (Guest Editors) Volume 28 (2009), Number 7 Fast, Sub-pixel Antialiased Shadow Maps Minghao Pan, Rui Wang, Weifeng Chen, Kun Zhou, Hujun Bao State

More information

Overview. A real-time shadow approach for an Augmented Reality application using shadow volumes. Augmented Reality.

Overview. A real-time shadow approach for an Augmented Reality application using shadow volumes. Augmented Reality. Overview A real-time shadow approach for an Augmented Reality application using shadow volumes Introduction of Concepts Standard Stenciled Shadow Volumes Method Proposed Approach in AR Application Experimental

More information

Evaluation and Improvement of GPU Ray Tracing with a Thread Migration Technique

Evaluation and Improvement of GPU Ray Tracing with a Thread Migration Technique Evaluation and Improvement of GPU Ray Tracing with a Thread Migration Technique Xingxing Zhu and Yangdong Deng Institute of Microelectronics, Tsinghua University, Beijing, China Email: zhuxingxing0107@163.com,

More information

Efficient View-Dependent Sampling of Visual Hulls

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

More information

Shadows. Real-Time Hard Shadows. Collected by Ronen Gvili. Most slides were taken from : Fredu Durand Stefan Brabec

Shadows. Real-Time Hard Shadows. Collected by Ronen Gvili. Most slides were taken from : Fredu Durand Stefan Brabec Shadows Real-Time Hard Shadows Collected by Ronen Gvili. Most slides were taken from : Fredu Durand Stefan Brabec Hard Shadows Planar (Projected) Shadows Shadow Maps Volume (Stencil) Shadows 1 Soft Shadows

More information

Soft Shadows from Extended Light Sources with Penumbra Deep Shadow Maps

Soft Shadows from Extended Light Sources with Penumbra Deep Shadow Maps Soft Shadows from Extended Light Sources with Penumbra Deep Shadow Maps Jean-François St-Amour LIGUM, Dép. I.R.O. Université de Montréal Eric Paquette LESIA, Software & IT Engineering Dept. École de technologie

More information

NVIDIA Case Studies:

NVIDIA Case Studies: NVIDIA Case Studies: OptiX & Image Space Photon Mapping David Luebke NVIDIA Research Beyond Programmable Shading 0 How Far Beyond? The continuum Beyond Programmable Shading Just programmable shading: DX,

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

CS427 Multicore Architecture and Parallel Computing

CS427 Multicore Architecture and Parallel Computing CS427 Multicore Architecture and Parallel Computing Lecture 6 GPU Architecture Li Jiang 2014/10/9 1 GPU Scaling A quiet revolution and potential build-up Calculation: 936 GFLOPS vs. 102 GFLOPS Memory Bandwidth:

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

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7. Texture Mapping II Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1 Light Maps Simulates the effect of a local light source + = Can be pre-computed

More information

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015 Enhancing Traditional Rasterization Graphics with Ray Tracing March 2015 Introductions James Rumble Developer Technology Engineer Ray Tracing Support Justin DeCell Software Design Engineer Ray Tracing

More information

Thesis Report. Thesis Title: Soft Shadow Rendering in Real Time. Shihab Rezwan Manzur ID: CSE Department BRAC University

Thesis Report. Thesis Title: Soft Shadow Rendering in Real Time. Shihab Rezwan Manzur ID: CSE Department BRAC University Thesis Report Thesis Title: Soft Shadow Rendering in Real Time Shihab Rezwan Manzur ID: 09201028 CSE Department BRAC University Supervisor: Professor Dr. Mumit Khan Date: 13-08 - 12 Abstract Shadows have

More information

Fast Line-of-Sight Computations in Complex Environments

Fast Line-of-Sight Computations in Complex Environments Fast Line-of-Sight Computations in Complex Environments David Tuft Brian Salomon Sean Hanlon Dinesh Manocha Dept. of Computer Science Univ. of North Carolina at Chapel Hill Chapel Hill, NC 27599-3175 USA

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

Improved Illumination Estimation for Photon Maps in Architectural Scenes

Improved Illumination Estimation for Photon Maps in Architectural Scenes Improved Illumination Estimation for Photon Maps in Architectural Scenes Robert F. Tobler VRVis Research Center Donau-City Str. 1/3 1120 Wien, Austria rft@vrvis.at Stefan Maierhofer VRVis Research Center

More information

What for? Shadows tell us about the relative locations. Vienna University of Technology 2

What for? Shadows tell us about the relative locations. Vienna University of Technology 2 Shadows What for? Shadows tell us about the relative locations and motions of objects Vienna University of Technology 2 What for? Shadows tell us about the relative locations and motions of objects And

More information

Here s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and

Here s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and 1 Here s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and the light. 2 To visualize this problem, consider the

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

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker) Visible Surface Detection (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker) 1 Given a set of 3D objects and a viewing specifications, determine which lines or surfaces of the objects should be visible. A

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

Fast Accurate Soft Shadows with Adaptive Light Source Sampling

Fast Accurate Soft Shadows with Adaptive Light Source Sampling Vision, Modeling, and Visualization (2012) M. Goesele, T. Grosch, B. Preim, H. Theisel, and K. Toennies (Eds.) Fast Accurate Soft Shadows with Adaptive Light Source Sampling Michael Schwärzler 1, Oliver

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

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time William DiSanto Computer Science Dept. Worcester Polytechnic Institute (WPI) Overview Deferred Shading Ambient Occlusion Screen

More information

Visibility. Tom Funkhouser COS 526, Fall Slides mostly by Frédo Durand

Visibility. Tom Funkhouser COS 526, Fall Slides mostly by Frédo Durand Visibility Tom Funkhouser COS 526, Fall 2016 Slides mostly by Frédo Durand Visibility Compute which part of scene can be seen Visibility Compute which part of scene can be seen (i.e., line segment from

More information

Advanced Shading I: Shadow Rasterization Techniques

Advanced Shading I: Shadow Rasterization Techniques Advanced Shading I: Shadow Rasterization Techniques Shadow Terminology umbra: light totally blocked penumbra: light partially blocked occluder: object blocking light Shadow Terminology umbra: light totally

More information

Per-Triangle Shadow Volumes Using a View-Sample Cluster Hierarchy

Per-Triangle Shadow Volumes Using a View-Sample Cluster Hierarchy Per-Triangle Shadow Volumes Using a View-Sample Cluster Hierarchy Erik Sintorn Viktor Ka mpe Ola Olsson Ulf Assarsson Chalmers University of Technology Level 1 Level 2 Level 3 Level 4 (a) (b) (c) Figure

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

Real-time Rendering of Complex Vector Data on 3d Terrain Models

Real-time Rendering of Complex Vector Data on 3d Terrain Models Real-time Rendering of Complex Vector Data on 3d Terrain Models M. Schneider, M. Guthe, and R. Klein 1 Universität Bonn, Römerstraße 164, 53117 Bonn, Germany Figure 1: Rendering of vector data with our

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

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

GPU-AWARE HYBRID TERRAIN RENDERING

GPU-AWARE HYBRID TERRAIN RENDERING GPU-AWARE HYBRID TERRAIN RENDERING Christian Dick1, Jens Krüger2, Rüdiger Westermann1 1 Computer Graphics and Visualization Group, Technische Universität München, Germany 2 Interactive Visualization and

More information

Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik. Matthias Zwicker. Herbst 2010 Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Bump mapping Shadows Shadow mapping Shadow mapping in OpenGL Bump mapping Surface detail is often the result of small perturbations in

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

Shadows in the graphics pipeline

Shadows in the graphics pipeline Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects

More information

Computer Graphics. Shadows

Computer Graphics. Shadows Computer Graphics Lecture 10 Shadows Taku Komura Today Shadows Overview Projective shadows Shadow texture Shadow volume Shadow map Soft shadows Why Shadows? Shadows tell us about the relative locations

More information

Rasterization Overview

Rasterization Overview Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer

More information

Real-Time Non- Photorealistic Rendering

Real-Time Non- Photorealistic Rendering Real-Time Non- Photorealistic Rendering Presented by: Qing Hu LIAO SOCS, McGill Feb 1, 2005 Index Introduction Motivation Appel s Algorithm Improving Schema Rendering Result Economy of line A great deal

More information

Circular Arcs as Primitives for Vector Textures

Circular Arcs as Primitives for Vector Textures Circular Arcs as Primitives for Vector Textures Zheng Qin, Craig Kaplan, and Michael McCool University of Waterloo Abstract. Because of the resolution independent nature of vector graphics images, it is

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

Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE Gaël Guennebaud Cyprus June 2006

Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE  Gaël Guennebaud Cyprus June 2006 Real-time Soft Shadow Mapping by back-projection Gaël Guennebaud Loïc Barthe, Mathias Paulin IRIT UPS CNRS TOULOUSE FRANCE http://www.irit.fr/~gael.guennebaud/ 1 Hard Shadows light source Is the light

More information

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp Next-Generation Graphics on Larrabee Tim Foley Intel Corp Motivation The killer app for GPGPU is graphics We ve seen Abstract models for parallel programming How those models map efficiently to Larrabee

More information

Closest Point Query Among The Union Of Convex Polytopes Using Rasterization Hardware

Closest Point Query Among The Union Of Convex Polytopes Using Rasterization Hardware Closest Point Query Among The Union Of Convex Polytopes Using Rasterization Hardware Young J. Kim Kenneth Hoff Ming C. Lin and Dinesh Manocha Department of Computer Science University of North Carolina

More information

PowerVR Hardware. Architecture Overview for Developers

PowerVR Hardware. Architecture Overview for Developers Public Imagination Technologies PowerVR Hardware Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.

More information

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

Real-Time Universal Capture Facial Animation with GPU Skin Rendering Real-Time Universal Capture Facial Animation with GPU Skin Rendering Meng Yang mengyang@seas.upenn.edu PROJECT ABSTRACT The project implements the real-time skin rendering algorithm presented in [1], and

More information