Dec 28, 2010 at 5:11 PM
Edited Dec 28, 2010 at 5:24 PM
I was looking at another 3d engine for Silverlight and they used a concept, I can’t quite remember the name, Stack Rendering or something similar.
I notice in Balder that you have multiple triangle renders based on various options of the material and other factors.
Instead of completely different rendering engines, what if you had the concept of a stack. The first layer is required and handles some basic calculations and are needed in ALL cases. Then you start stacking on components to add functionality. You’d
have a layer for bilinear filtering of textures, you’d have a layer for actual textures. You could have a lighting layer and a layer for lighting type, such as flat or none. Some layers wouldn’t make sense together and you’d run into trouble
if you just combine all possible layers of course.
This could solve two problems.
1) You wouldn’t need so many specialized triangle rendering parts (where only one can be applied). Just a stack that falls from one to the next layer in the stack, each adding their own take on the rendered pixel.
2) This could be open to users of Balder. They could make their own stacks to handle various features Balder does not support. Similar to pixel shaders for example.
And you know… now that I think on it.. this might be a waste of time since is the part of Balder that might go to the new SL5 3D rendering engine. Since I don’t fully know what that will support perhaps this still may have a place?
NOTE: I found it, it's http://postvision.net/SilverMotion/FAQ.aspx and they call it StackShading It's in the FAQ. It's a neat idea and if I understand it correctly, solves some issues
with having multiple renderers. They also offer a demo here