The features of SolidShaderTool
Overview

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:

  • Integration of all relevant shader parameters and preferences into one intuitive graphical user interface
  • Live preview of rendered shader effects for testing purpose
  • 3D Studio Max™ plug-in to export geometry in a proprietary data format
  • Unlimited number of shader effects and meshes/subsets possible
  • Management of matrices, vectors, colors and textures
  • Instant control over all parameters/settings of the DirectX 8.1 API
  • Ability to save & restore both effect and workspace settings
  • Examples of shader effects provided
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 text format.
Though there are some example meshes provided, you might want to test the shader effects with your own models. Therefore, you will find an export module for 3D Studio Max™ in the standard download package of SolidShaderTool which can be used to convert your own MAX scenes into the SASE format.

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.

Variables Management

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.

Syntax Highlighting

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:

  • BMP
  • JPG
  • TGA
  • DIB
  • PNG
  • DDS

Sample Effects

Several popular shader effects like basic lighting, bump mapping, phong shading, cartoon shading etc. are provided.