Abstract
We present a framework based on Genetic Programming (GP) for automatically simplifying procedural shaders. Our approach computes a series of increasingly simplified shaders that expose the inherent trade-off between speed and accuracy. Compared to existing automatic methods for pixel shader simplification [Olano et al. 2003; Pellacini 2005], our approach considers a wider space of code transformations and produces faster and more faithful results. We further demonstrate how our cost function can be rapidly evaluated using graphics hardware, which allows tens of thousands of shader variants to be considered during the optimization process. Our approach is also applicable to multi-pass shaders and perceptual-based error metrics.
Supplemental Material
Available for Download
- Blinn, J. F. 1977. Models of light reflection for computer synthesized pictures. In Computer Graphics (Proceedings of ACM SIGGRAPH), pages 192--198. Google ScholarDigital Library
- Cook, R. L. 1984. Shade trees. In Computer Graphics (Proceedings of ACM SIGGRAPH). Google ScholarDigital Library
- Cook, R. L. and Torrance, K. E. 1981. A reflectance model for computer graphics. Computer Graphics (Proceedings of SIGGRAPH), pages 7--24. Google ScholarDigital Library
- Deb, K., Pratap, A., Agarwal, S., and Meyarivan, T. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evolutionary Computation, 6(2):182--197. Google ScholarDigital Library
- Deering, M., Winner, S., Schediwy, B., Duffy, C., and Hunt, N. 1988. The triangle processor and normal vector shader: a VLSI system for high performance graphics. In Computer Graphics (Proceedings of ACM SIGGRAPH), pages 21--30. Google ScholarDigital Library
- d'Eon, E., Luebke, D., and Enderton, E. 2007. Efficient rendering of human skin. In Proceedings of the Eurographics Symposium on Rendering (EGSR). Google ScholarDigital Library
- Hasselgren, J. and Akenine-Moller, T. 2006. An efficient multi-view rasterization architecture. In Proceedings of the Eurographics Symposium on Rendering (EGSR). Google ScholarDigital Library
- Koza, J. R. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press. Google ScholarDigital Library
- Miller, B. L. and Goldberg, D. E. 1996. Genetic algorithms, selection schemes, and the varying effects of noise. Journ. of Evolutionary Computation, 4(2):113--131. Google ScholarDigital Library
- Mitchell, M., Holland, J. H., and Forrest, S. 1993. When will a genetic algorithm outperform hill climbing. In Advances in Neural Information Processing Systems, pages 51--58.Google Scholar
- Muchnick, S. S. 1997. Advanced Compiler Design and Implementation. Morgan Kaufmann. ISBN 1-55860-320-4. Google ScholarDigital Library
- Necula, G. C., McPeak, S., Rahul, S. P., and Weimer, W. 2002. Cil: An infrastructure for C program analysis and transformation. In International Conference on Compiler Construction, pages 213--228. Google ScholarDigital Library
- Nehab, D., Sander, P. V., Lawrence, J., Tatarchuk, N., and Isidoro, J. R. 2007. Accelerating real-time shading with reverse reprojection caching. In Graphics Hardware. Google ScholarDigital Library
- Olano, M., Kuehne, B., and Simmons, M. 2003. Automatic shader level of detail. In HWWS '03: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware. Google ScholarDigital Library
- Pellacini, F. 2005. User-configurable automatic shader simplification. ACM Transacations on Graphics (Proc. SIGGRAPH). Google ScholarDigital Library
- Perlin, K. 1985. An image synthesizer. In Computer Graphics (Proceedings of ACM SIGGRAPH). Google ScholarDigital Library
- Scherzer, D., Jeschke, S., and Wimmer, M. 2007. Pixel-correct shadow maps with temporal reprojection and shadow test confidence. In Proceedings of the Eurographics Symposium on Rendering (EGSR). Google ScholarDigital Library
- Sitthi-amorn, P., Lawrence, J., Yang, L., Sander, P., Nehab, D., and Xi, J. 2008. Automated reprojection-based pixel shader optimization. ACM Transactions on Graphics (Proc. SIGGRAPH Asia), 27(5):127. Google ScholarDigital Library
- Wang, Z., Bovik, A. C., Sheikh, H. R., and Simoncelli, E. P. 2004. Image quality assessment: From error visibility to structural similarity. IEEE Transactions on Image Processing, 13(4). Google ScholarDigital Library
- Weimer, W., Forrest, S., Le Goues, C., and Nguyen, T. 2010. Automatic program repair with evolutionary computation. Communications of the ACM, 53(5):109--116. Google ScholarDigital Library
- Weimer, W., Nguyen, T. V., Le Goues, C., and Forrest, S. 2009. Automatically finding patches using genetic programming. In Proceedings of the International Conference on Software Engineering (ICSE), pages 364--374. Google ScholarDigital Library
Index Terms
- Genetic programming for shader simplification
Recommendations
Genetic programming for shader simplification
SA '11: Proceedings of the 2011 SIGGRAPH Asia ConferenceWe present a framework based on Genetic Programming (GP) for automatically simplifying procedural shaders. Our approach computes a series of increasingly simplified shaders that expose the inherent trade-off between speed and accuracy. Compared to ...
The ray engine
HWWS '02: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardwareAssisted by recent advances in programmable graphics hardware, fast rasterization-based techniques have made significant progress in photorealistic rendering, but still only render a subset of the effects possible with ray tracing. We are closing this ...
Instant convolution shadows for volumetric detail mapping
In this article, we present a method for rendering dynamic scenes featuring translucent procedural volumetric detail with all-frequency soft shadows being cast from objects residing inside the view frustum. Our approach is based on an approximation of ...
Comments