130 likes | 244 Views
Soft Shadows using Hardware Cameras. Kyle Moore COMP 870. Previous Work. Cone Tracing
E N D
Soft Shadows using Hardware Cameras Kyle Moore COMP 870
Previous Work • Cone Tracing • Amanatides, J. 1984. Ray tracing with cones. In Proceedings of the 11th Annual Conference on Computer Graphics and interactive Techniques H. Christiansen, Ed. SIGGRAPH '84. ACM Press, New York, NY, 129-135. • Uses cones shaped rays instead of lines to calculate light intersections with objects • Lots of difficult computations
Previous Work • Forward Hardware-Based Techniques • Assarsson, U. and Akenine-Möller, T. 2003. A geometry-based soft shadow volume algorithm using graphics hardware.ACM Trans. Graph. 22, 3 (Jul. 2003), 511-520. • Uses silhouette edges to case penumbra volumes which are to create shadow maps • This is an approximation and can be inaccurate
Previous Work • Backwards silhouette edge detection • Laine, S., Aila, T., Assarsson, U., Lehtinen, J., and Akenine-Möller, T. 2005. Soft shadow volumes for ray tracing. ACM Trans. Graph. 24, 3 (Jul. 2005), 1156-1165. • Uses a hemicube acceleration structure to find silhouette edges to calculate the amount of light occlusion • Doesn’t take advantage of hardware
My idea • My Inspiration • While working on my ray tracer • Unhappy with soft shadows • Wanted to shoot more rays, but high cost • New approach • Let graphics hardware simulate shooting many rays • Perhaps get performance increase as well as quality enhancement
Camera’s View Average Pixels to get Occlusion percentage My Approach Area Light Source Occluder Surface View Frustum Hardware Camera
My Approach Camera’s View Area Light Source Occluder Surface
Results - Quality Old approach 4x4 grid My Approach 4x4 grid
Results - Quality Old approach 17x17 grid My Approach 17x17 grid
Results - Performance My Approach 32x32 grid 96 seconds Old approach 17x17 grid 152 seconds
Room for improvement • Each pixel draws a frame and the fetches the results • Feedback loops are slow in hardware • Does not take advantage of parallelization of using CPU and GPU at the same time