A Tool for the Procedural Generation of Shaders using Interactive Evolutionary Algorithms
This provides a practical tool for video game designers to efficiently create shaders, though it is incremental as it builds on existing graph-based representations and evolutionary methods.
The paper tackles the problem of exploring shader design spaces by presenting a tool that uses interactive evolutionary algorithms integrated with Unity, enabling designers to generate and explore visual shader variations from existing ones with minimal expertise in evolution or programming.
We present a tool for exploring the design space of shaders using an interactive evolutionary algorithm integrated with the Unity editor, a well-known commercial tool for video game development. Our framework leverages the underlying graph-based representation of recent shader editors and interactive evolution to allow designers to explore several visual options starting from an existing shader. Our framework encodes the graph representation of a current shader as a chromosome used to seed the evolution of a shader population. It applies graph-based recombination and mutation with a set of heuristics to create feasible shaders. The framework is an extension of the Unity editor; thus, designers with little knowledge of evolutionary computation (and shader programming) can interact with the underlying evolutionary engine using the same visual interface used for working on game scenes.