Create glass effect buttons using nothing but Java code and JTexGen, a procedural texture library for Java. First create a new project in your favorite IDE and add the JTextGen jar file, or create a new maven project and add the JTexgen dependency if you installed it from the source distribution into your local repository.
Read More »
I have finally found the time to finally release my library for creating procedural textures called JTexGen under the LGPL license. It is a framework for rendering and viewing procedural textures which you can then use as images, backgrounds and textures for modelling. Because the textures are procedural, you can ramp up the resolution of the image to get increased detail without getting blocky artifacts.
The source code for the above images is included in the distribution and also discussed in the reference documentation. These images are reproduced untouched after being generated using a few lines of Java code.
The distribution contains the usuals (source, a jar, javadocs can be built in maven) and also a reference manual in pdf and html format. The reference manual describes what procedural textures are and how to use the framework to create them. The library itself is thread safe, and uses multiple threads to render the images.
The files can be downloaded from Project Kenai, and contains nearly 100 different textures and signals you can use.
A great source of computer graphics papers can be found here from the experts at Pixar, the folks behind great movies such as FInding Nemo, Cars, and the recent WALL?E. For those that don’t know, Pixar is also responsible for creating the 3D software PhotoRealistic Renderman (PRMan) that is used to create their movies as well as movies and commercials by other production studios. They are also responsible for the file format that can be used to define the scenes (Renderman Interface Specification).
They have released a number of papers that go all the way back to the 1980’s covering some of the fundamental of computer graphics, including the often sought after paper on the REYES architecture which is the primary rendering algorithm used by PRMan.
REYES (Renders Everything You Ever Saw) is an algorithm for rendering 3D graphics which can be distributed among many processors without the need to pass the whole model around unlike ray tracing and produces images with fast results. Even today it is somewhat of a rock star in rendering algorithms with many people still asking about how it works, and writing implementations of the algorithm. For some odd reason, most graphics books tend not to even cover this technique even though it is one of the most often admired and imitated algorithms. Part of it is the simplicity of the algorithm and the fact that it easily lends itself to being extended using texture and even displacement shaders as well as visual artifacts such as motion blur and depth of field blurring.
Some of the more recent papers cover the finer points of computer graphics built on the fundamentals such as soft reflections, hair rendering, deep shadow maps and distributed ray tracing. Many of the papers describe some of the technical aspects of achieving certain effects in their movies.
As a ray tracing enthusiast, I found a great paper on Ray Differentials and Multiresolution Geometry Caching for Distribution Ray Tracing in Complex Scenes. One interesting aspect of this paper is the possibility of introducing displacement maps and shaders into the ray tracing pipeline. Displacement maps or shaders modify the actual physical geometry of a surface as opposed to simply changing the appearance of the surface to make it look like the surface is displaced.
This is a great set of papers for those that are graphically inclined from some of the the best minds in the business.