The applets on this page use simple GLSL program. The first example has a fragment shader that converts colors to their corresponding grayscale values. (Source code in MovingLightDemoGLSL.java.) The second example uses vertex and fragment shaders to alter the colors on an "icosphere." The vertices of the icosphere are generated by a recursive algorithm, and the colors are meant to show the level of the recursion at which each vertex is generated, but the effect is not as interesting as I had hoped. (Source code in IcosphereIFS_GLSL.java) Both of these programs use GLSLProgram.java to represent the GLSL program.
NOTE: For the GLSL programs to be functinal, these applets require OpenGL 2.0 or higher.