You will notice that in the bottom right shader display window, the shader material is applied to a sphere. The shader material displayed in this window receives the current basic material shown in the window directly above it. This allows the user to see how a specific shader material might look when combined with a particular basic material simply by scrolling though a list of basic materials. All updates happen "on-the-fly".
![](http://members.gamedev.net/noaktree/randompics/DEss_03_16_2005_A.jpg)
The next image displays two chapels captured from the main model view of the material editor. This was done to show them at "normal" size and to compare them side by side. The church on the left has only a basic material with a single texture applied. The church on the right has the same basic material applied as well as a dot3 normal mapping shader. The shader borrows from the basic materials texture resource for the color mapping. This ensures efficient resource management on a model-to-model basis. Of course the shader can load and use its own color map no matter if the basic material is present or not. The overall system is quite flexible depending on the user's needs.
![](http://members.gamedev.net/noaktree/randompics/DEss_03_16_2005_B.jpg)
Keep in mind that if the basic material is applied with the shader then the model is more likely to look presentable on a wider range of systems. If the shader is not supported by the GPU then the basic will be used.
Another thing I added was default shader resources. These allow the user to access built in resources while creating shader materials. There are currently default resources for toon, cube, color, and normal maps. Next I'll add save capability as I continue to expand the DESM format. Also, as previously mentioned, I'll need to put together some glow demos so I can figure out the best way to integrate these into the system. From the user's perspective it'll probably be as easy as throwing a switch in the material editor.