GenShade is an interactive software that enables users to create a large
variety of shaders for Pixar's RenderMan and Side Effects' Houdini photo-realistic
rendering software. GenShade uses novel genetic algorithm techniques that
is custom made for the shader generation problem allowing artists to direct
a wide variety of choices.
Working with GenShade's intuitive interface, artists without any
programming background or even understanding about the shader making
process, can create their desired shaders.
GenShade automatically generates a large set of surface, displacement,
light, and atmosphere shaders for evaluation based upon one or more shaders
selected for genetic reproduction. The shader generation process is efficient,
robust, and fast producing many shader variations within a few minutes
saving hours and hours of experimenting to achieve a desired result.
Running GenShade
The system runs in both artist directed and automatic scoring modes.
In both modes, users need to provide the system with their selection of
pre-built example shaders and generation parameters. In interactive artist
mode, the user controls aesthetic evaluation and selection of shaders.
In automatic mode, the system evaluates generated shaders by comparing
their rendered images with target images. The system generates a wide variety
of children shaders. The user can view these children shaders as their
images are being rendered. The system can also run in the background, results
can be viewed later using the graphic interface.
Steering
GenShade use steering to speed up the search in a certain direction.
The basic idea is that if results are not satisfactory, a large structural
change is needed by selecting generation parameters that will result in
a large change. One the other hand, if results are somewhat satisfactory,
a small change is needed. Using the automatic scoring mode, the target
images are used as an additional tool to guide the search in a certain
direction.
Fine Tunning
Once one, or more, shader has been selected to become the choice for
this project, a fine tunning may be needed . GenShade provide such an ability
by simply selecting that shader and applying mutations, small random changes,
to it. A large selection of shaders will be generated that are very similar
to the original. The user can then select the desired "fine tuned" shader.
Decisions
Since GenShade generates a large number of shaders, the user has to
make decisions:
- select one or more of the shaders to become the final shader(s)
- send one or more shaders to be fine tuned,
- select shaders for a new or existing database of shaders for further
exploration,
- select shaders for a new or existing database of shaders for usage
in future projects, or
- throwing away the remaining shaders to preserve disk space
Usability
GenShade makes artists' job much easier. They can provide the system
with the required info and let it run over lunch time, or over night. They
would come back, browse through a large variety of generated shaders, and
pick the ones they want. This will make it easier and more efficient to
show their work. GenShade provides several pre-built example shaders e.g.
wood database, rock database, etc. to get users up and running quickly.
It allows users to easily customize databases of shaders. Currently GenShade
imports Cinema Graphics Inc.'s ShadeTree format. It exports shaders in
both RenderMan shading language source code and ShadeTree format. Currently
GenShade supports surface, displacement, light, and atmosphere shaders.
Database Management
Users can build their customized databases of shaders out of a mix of
new generated shaders and prebuilt shaders. These new databases can be
used for future GenShade runnings, or ongoing or future projects.
If pre-built example databases are not enough, and users would like
to use shaders that they have collected over the years, there would be
a need to convert these shaders into GenShade shader format. One method
would be to edit a text file in GenShade shader format. Another method
would be to use Cinema Graphics' ShadeTree software to build shaders and
then import these shaders into GenShade. Users would then make database
of their favorite shaders in GenShade, and Shadetree formats, and RenderMan
shading language source code. The time spent on the shader rebuilding would
be highly rewarded given the fact that thousands of new diverse shaders
may be generated out of this initial database.
GenShade Feature Summary Recommended System Requirements
Graphical User Interface for generating shaders
- Main MenuBar provides database management, generation setup options,
and generation commands.
- ToolBar for fast access to frequently used generation options. For
example, the user can switch between interactive or automatic scoring options
- Panel Area offers viewing of images of targets or parent shaders,
sliders for fast access to frequently used generation parameters, a slider
to control the display of images in each generation, and a text window
to display information about what the system is doing.
- Current Population Pool, the middle three rows, displays rendered
images of shaders in the current population. This display is scrollable
to show a large population. It can be set, in every generation, to show
different options, for example it can show the parents selected for breeding
in a generation, the generated children, or the sorted children if the
automatic scoring option was set.
- Storage Pool, the bottom row, displays temporarily stored images of
shaders which can be used to form a new database of shaders.
Interface Flexibility
the user can move images of shaders around using the graphic interface.
For example, a child image may be moved to the top row to be used as a
target image. Images can be moved to form the current population pool for
the next generation.
Generation Parameters Setup
Generation parameters are provided to allow a great level of control
over the generation of shaders. There are several generation parameters
that users need to provide the system with if different from the default
ones. The generation setup deck is accessed through the setup submenu.
These parameters includes the number of generations, the method used to
select parents for breeding, the method used to breed parents, the scoring
mode, etc.
Cinema Graphics Inc.
Software Development and Technical Support
Genetic Graphics Inc.
All product names are registered trademarks of their respective
companies.
Required Software
Recommended Software
GenShade Interface
Customer Services
Corporate Sales and Marketing Headquarters
Genetic Graphics Inc. is a technology company specializing in graphics
software development for use in visual effects production.
22516 Lassen Street
Chatsworth, CA 91311
Tel (818) 718-6320
22 W Bryan St.
Suite 145
Savannah, GA 31401