|The features of SolidShaderTool|
Unfortunately, the process to develop a shader effect is a quite long and complex one. Basic knowledge of the shader hardware architecture, the rendering pipeline, instructions, modifications, textures, variables and even an API like DirectX or OpenGL is more than recommended for a successful shader programming. In most cases, this "entry level" is far too high for graphics artists, game developers or the private user who just wants to explore the capabilities of his new graphics hardware.
At this point, SolidShaderTool enters the stage - a shader development environment for educational purpose which combines the flexibility of an easy-to-use graphical user interface with the power of the DirectX 8.1 API.
Here is a short overview of SolidShaderTool's main functionalities:
|Listed in detail ...|
Full DirectX 8.1 support
The user has the possibility to control the whole variety of parameters provided by the DirectX 8.1 API. Each texturestage/-state, render state is exposed for an interactive tweaking and testing (and as a natural consequence: learning) process. Of course, all shader versions supported by DirectX 8.1 can be used in SolidShaderTool (vertex shader 1.0 & 1.1 and pixel shader 1.0-1.4).
"Live" Rendering Preview
Each change of render or texture states, the shader code instructions or variable values will be immediately updated and visualized in the rendering view of SolidShaderTool - an obvious advantage: You always get a direct response to your actions.
Mesh data export and import
SolidShaderTool uses a proprietary data format with the file type "SASE"
which is a slight modification of the normal "ASE" ascii scene
Unlimited mesh/effect combinations
Not only the number of shader effects created in the workspace is unlimited, but also the number of meshes, subsets and materials in the SASE scene. And you are free to combine meshes/subsets with different effects as you like. So it is possible to visualize more than one effect at the same time.
SolidShaderTool provides user customized variables like vectors, matrices and colors as well as system managed ones, for example the world/view/projection matrices, the position of the light source & camera or the light source/material colors. Especially the ambient/diffuse/specular color portions of the light source can be changed individually in an extra parameter view to keep permanent control over the RGB values.
While editing the vertex or pixel shader instruction code, the edit view marks comments, instructions and different registers with certain colors. You will see that this function is a great aid to keep clarity and readability and therefore the control over the code.
Different texture formats
The following file types are supported:
Several popular shader effects like basic lighting, bump mapping, phong shading, cartoon shading etc. are provided.