(1) Drag the mouse over the ball to rotate it.
(2) Drag the mouse over the black background to move texture in space
(3) Right-click to toggle texture size.
All shading and texturing is being computed procedurally while you watch, in Java 1.1.
The texture is my 3D noise function, computed in real time from the X,Y,Z coordinates at the surface, Specifically, the demo uses a fixed point implementation of my Improved Noise (SIGGRAPH 2002) algorithm.