Looking A Little Deeper
Tom's Hardware: Could you explain what your rendering engine does and how your Dynamic Paintings work?
San Base: Sure; it is actually very simple. The Dynamic Paintings are constructed as a series of image processing operations, each of which is described by the pixel shader. The engine just orchestrates the order of these image-processing operations and composites the final painting image for display. The engine also controls how a painting changes over time.
Tom's Hardware: How big are your shaders?
San Base: This really depends on the painting, but the biggest shaders I currently have are around 500 instructions. This is very close to shader model 3.0 limitations in DirectX 9. The actual number of executed instructions could even be larger than 500 due to flow control.
Tom's Hardware: How do you benefit from moving from 2.x shader model to 3.0 and from 3.0 to 4.0?
San Base: Shader model 3.0 adds dynamic flow control, gradient instructions and other goodies to the older 2.x/2.b shaders. However, I've already bumped into the instruction limits of the DirectX 9 cards, and this is where shader model 4.0 in DirectX 10 would come handy. Shader model 4.0 allows practically unlimited shader lengths and complexity, something that is very important for further development of my technology.