Abstract
Our newly developed generation of procedural textures (GPT) system automatically generates procedural textures for the computer graphics industry. The system makes use of hybrid parallel Monte Carlo tree search and gender-based genetic algorithm modules that share a common multiple-generation population of procedural textures and a knowledge database. It also uses a multi-objective fitness function. The parallel Monte Carlo tree search module was inspired by gaming algorithms. To speed up the search, this module is enhanced with knowledge from previous successfully created procedural textures or tree node analyses. The gender-based genetic algorithm module automatically simulates several key features in natural selection and uses a multiple-generation breeding population, the notion of gender, and the concept of aging. This maintains diversity while providing many breeding opportunities for highly successful offspring. A third module selects generated shaders from the multiple-generation population and mutates them by replacing nodes with subtrees using the knowledge database. We evaluated the fitness quality of each module and compared the fitness quality of the system running in both single- and multiple-process mode. The optimal fitness quality was achieved by executing the system in multiple-process mode using a hybrid of these modules. We give examples of the GPT running in interactive mode, where a user directs the search towards the desired look using an esthetic evaluation.
Similar content being viewed by others
References
Upstill, S.: The RenderMan Companion, A Programmer’s Guide to Realistic Computer Graphics. Addison-Wesley Publishing Company, Boston (1989)
Ibrahim, A.E.M.: Evolutionary techniques for procedural texture automation. In: 9th International symposium on visual computing, pp. 2,623–2,632. Springer Verlag, Heidelberg (2013)
Lagae, A., Lefebvre, S., Cook, R., DeRose, T., Drettakis, G., Ebert, D.S., Lewis, J.P., Perlin, K., Zwicker, M.: A survey of procedural noise functions. Comput. Graph. Forum 29, 2579–2600 (2010)
Sims, K.: Artificial evolution for computer graphics. Comput. Graph. 25, 319–328 (1991)
Wiens, A., Ross, B.J.: Gentropy: evolutionary 2D texture generation. In: Genetic and Evolutionary Computation Conference, pp. 418–424 (2000)
Ross, B.J., Zhu, H.: Procedural texture evolution using multi-objective optimization. New Gener. Comput. 22, 271–293 (2004)
Bouroque, E., Dudek, G.: Procedural texture matching and transformation. Comput. Graph. Forum 23, 461–468 (2004)
Shen, J., Jin, X., Mao, X., Feng, J.: Deformation-based interactive texture design using energy optimization. Vis. Comput. 23, 631–639 (2007). doi:10.1007/s00371-007-0154-3
Wang, J., Sun, J.: A procedural texture generation method based on genetic programming. In: Proc. SPIE 5444, Fourth International Conference on Virtual Reality and Its Applications in Industry (2004). doi:10.1117/12.561110
Bergen, S., Ross, B.J.: Evolutionary art using summed multi-objective ranks. In: Genetic Programming Theory and Practice VIII, Genetic and Evolutionary Computation, vol. 8, pp. 227–244 (2011)
Ebner, M., Reinhardt, M., Albert, J.: Evolution of vertex andpixel shaders. In: Genetic Programming, Lecture Notes in ComputerScience, pp. 261–270. Springer, Heidelberg (2005)
Howlett, A., Colton, S., Browne, C.: Evolving pixel shaders for the prototype video game subversion. In: The Thirty Sixth Annual Convention of the Society for the Study of Artificial Intelligence and Simulation of Behaviour AISB’10 (2010)
Turk, G.: Generating textures on arbitrary surfaces using reaction-diffusion. In: Proceedings of the 18th Annual Conference on Computer Graphics and Interactive Techniques, pp. 289–298 (1991)
Witkin, A., Kass, M.: Reaction-diffusion textures. In: Proceedings of the 18th Annual Conference on Computer Graphics and Interactive Techniques, pp. 299–308 (1991)
Allegorithmic’s Substance Designer (2016). https://www.allegorithmic.com/products/substance-designer. Accessed 9 July 2016
FxGen page (2016). https://sourceforge.net/projects/fxgen/ Accessed 9 July 2016
McGuire, M., Stathis, G., Pfister, H., Krishnamurthi, S.: Abstract shade trees. In: Proceedings of the Symposium on Interactive 3D Graphics and Games, pp. 79–86 (2006)
Sitthi-Amorn, P., Modly, N., Weimer, W., Lawrence, J.: Genetic programming for shader simplification. In: ACM Transactions on Graphics. Proc, SIGGRAPH Asia (2011)
McLeish, D.L.: Monte Carlo Simulation and Finance. Wiley, Hoboken (2005)
Lai, Y.C., Chou, H.T., Chen, K.W., Fan, S.: Robust and efficient adaptive direct lighting estimation. Vis. Comput. 31(1), 83–91 (2015)
Cazenave, T.: Nested Monte-Carlo search. In: International Joint Conference on Artificial Intelligence IJCAI, pp. 456–461 (2009)
Browne, C.B., Powley, E., Whitehouse, D., Lucas, S.M., Cowling, P.I., Rohlfshagen, P., Tavener, S., Perez, D., Samothrakis, S., Colton, S.: A survey of Monte Carlo tree search methods. IEEE Trans. Comput. Intell. AI Games 4, 1–43 (2012)
Chaslot, G.: Monte-Carlo tree search. PhD Dissertation, Department of Knowledge Engineering, Maastricht University, The Netherlands (2010)
Chen, K.-H., Zhang, P.: Monte-Carlo go with knowledge-guided simulations. ICGA J. 31, 67–76 (2008)
Chaslot, G.M.J.B., Winands, M.H.M., Van den Herik, H.J.: Parallel Monte-Carlo tree search. In: van den Herik, H., Xu, X., Ma., Z., Winands, M. (eds.) Proceedings of the Conference on Computers and Games, Lecture Notes in Computer Science, vol. 5131, pp. 60–71. Springer Verlag, Heidelberg (2008)
Zitzler, E., Deb, K., Thiele, L.: Comparison of multiobjective evolutionary algorithms: empirical results. Evol. Comput. 8, 173–195 (2000). (MIT Press Journals)
Goldberg, D.E.: Genetic Algorithms in Search, Optimization, and machine learning. Addison-Wesley Longman Publishing Co., Inc., Boston (1989)
Syswerda, G.: A study of reproduction in generational steady-state genetic algorithms. In: Rawlings, G.J.E. (ed.) Foundations of genetic algorithms. Morgan Kaufmann, San Mateo (1991)
Toffolo, A., Benini, E.: Genetic diversity as an objective in multi-objective evolutionary algorithms. Evol. Comput. 11, 151–167 (2003)
Whitley, L.D.: The GENITOR algorithm and selection pressure: why rank-based allocation of reproductive trials is best. In: Schaffer, J. (ed.) Proc. of the Third Int. Conf. on Genetic Algorithms, pp. 116–121. Morgan Kaufmann Publishers, San Mateo (1989)
Godart, C., Kruger, M.: A Genetic algorithm with parallel steady-state reproduction. In: Alliot, J. et al. (eds.) Artificial Evolution, European Conference. Springer-Verlag, Berlin, Heidelberg (1995)
Cantú-Paz, E., Goldberg, D.E.: Are multiple runs of genetic algorithms better than one? In: Cantú -Paz, E., et al. (eds.) GECCO 2003, LNCS 2723, pp. 801–812. Springer Verlag, Heidelberg (2003)
Nicoară, E.S.: Mechanisms to Avoid the Premature Convergence of Genetic Algorithms. Universitatea Petrol-Gaze din Ploieti. Matematica-Informatic-Fizica LXI, vol. 1, pp. 87–96 (2009)
Ebert, D.S., Musgrave, F.K., Peachy, D., Perlin, K., Worley, S.: Texturing and Modeling, A Procedural Approach, 3rd edn. Morgan Kaufmann Publishers, San Francisco (2002)
GPT’s ShaderBank digital collection. Keywords: ShaderBank collection (2016). http://www.turbosquid.com. Accessed 8 July 2016
Whitehouse, D., Cowling, P., Powley, E., Rollason, J.: Integrating Monte Carlo tree search with knowledge-based methods to create engaging play in a commercial mobile game. In: 9th Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE), pp. 100–106 (2013)
Boudt, K., Cornelissen, K., Croux, C.: The Gaussian rank correlation estimator: robustness properties. Stat. Comput. 2, 471–483 (2012)
Jacobs, C.E., Finkelstein, A., Salesin, D.H.: Fast multiresolution image querying. In: Computer Graphics (SIGGRAPH’95 Proceedings) (1995)
Selvarajah, S., Kodituwakku, S.R.: Analysis and comparison of texture features for content based image retrieval. Int. J. Latest Trends Comput. 2, 108–113 (2011)
Zhang, D., Wong, A., Indrawan, M., Lu, G.: Content-based image retrieval using gabor texture features. In: Proc. Pacific-Rim Conference on Multimedia, Sydney, pp. 392–395 (2000)
Wei, L-Y., Lefebvre, S., Kwatra, V., Turk, G.: State of the art in example-based texture synthesis. In: Eurographics, State ofthe Art Report, EG-STAR. Eurographics Association, Munich, pp. 93–117 (2009)
Lagae, A., Lefebvre, S., Drettakis, G., Dutre, P.: Procedural noise using sparse Gabor convolution. ACM Trans. Graph. 28, 54 (2009)
Han, J., Zhou, K., Wei, L.-Y., Gong, M., Bao, H., Zhang, X., Guo, B.: Fast example-based surface texture synthesis via discrete optimization. Vis. Comput. Int. J. Comput. Graph. 22, 918–925 (2006). doi:10.1007/s00371-006-0078-3
Shen, J., Jin, X., Mao, X., Feng, J.: Completion-based texture design using deformation. Vis. Comput. Int. J. Comput. Graph. 22, 936–945 (2006). doi:10.1007/s00371-006-0079-2
Shen, J., Jin, X., Mao, X., Feng, J.: Deformation-based interactive texture design using energy optimization. Vis. Comput. Int. J. Comput. Graph. 23, 631–639 (2007). doi:10.1007/s00371-007-0154-3
Acknowledgments
I would like to thank Dr. Donald H. House, Chairman of the Division of Visual Computing, School of Computing at Clemson University for his generous contributions towards this research work. Dr. Meghan Stephens assisted me with language editing.
Author information
Authors and Affiliations
Corresponding author
Appendix: Examples of surface/displacement mapping RenderMan shaders produced by GPT
Appendix: Examples of surface/displacement mapping RenderMan shaders produced by GPT
See Fig. 22.
Rights and permissions
About this article
Cite this article
Ibrahim, A.E.M. Multiple-process procedural texture. Vis Comput 33, 1511–1528 (2017). https://doi.org/10.1007/s00371-016-1295-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-016-1295-z