Submitted by , posted on 17 July 2003

Image Description, by

First off, I will openly admit, the first thing I check when on the internet every day is flipCode's IOTDs. Very fun to see what everyone is working on. Ironically, this is only my first IOTD.

I've been developing a 3D program named Mad F/X and decided it was time for it to support HLSL and open up shader development to it's users. After seeing ShaderMan (a graph based RenderMan shader development tool) in action, I decided to write a similar program for today's shader hardware. The project is going even better than anticipated and there seems to be quite a bit of interest and demand for such a tool as many are looking for new ways and more powerful tools for creating complex HLSL shaders for use in their titles / projects.

The first image is ShaderWorks, sporting a smooth VC7 style interface. On the top right of the image, is the graph based shader editor. You can simply link functions and blocks to create HLSL vertex and pixel shaders. The window with all the code is an HLSL generated dynamically. The split-preview option is on showing regular rendering on the left and HDR + Effects on the right. As cinematic effects become more mainstream, and image based rendering is used more and more in games and demos, I decided to support HDR and many other image based rendering effects, as the high dynamic materials you create need to be visualized in an HDR environment for testing. The 4 bottom images, show some preview snapshots of HDR at work along with Motion Blur, AfterImage, Blooming, Ghosting and Streaking. It's 10x cooler in real-time.. believe me.

Here's some more info.


Introducing ShaderWorksT, the newest breed of hardware shader development tools. As hardware grows more powerful, the potential for shader complexity is inevitable. Developing and managing these complex shader entirely from scratch using ASM shader code is a thing of the past. Imagine yourself creating your own complex HLSL shader by simply loading from dozens of pre-defined input, output, constant, texture, sampler and function blocks and effortlessly linking them together with a few clicks of a mouse in only minutes! ShaderWorks will definitely further bridge the gap between artists and programmers by allowing both to seamlessly interact in the once pain staking shader development process.

More information and images can be found at :

ShaderWorks Includes
  • An export SDK with a sample skeleton application
  • An Integration kit (for quickly enabling your projects to render ShaderWorks materials)
  • A Visual C++ AppWizard with a sample application
  • Hundreds of re-usable shader functions and sample materials
  • Access to (Shader development community)
  • Code and information on each custom constant semantic type used in ShaderWorks
  • ShaderWorks Features
  • Uses DirectX 9's powerful HLSL (High Level Shader Language) C style shader standard
  • Extremely powerful and easy to use graph based user-interface
  • Little or no coding required
  • Supports distribution of re-usable HLSL shader blocks and functions (shader algorithms)
  • ShaderWorks materials and integration kit will be used in upcoming Mad F/X 2.0 software
  • Supports all shader models up to 2.0 extended
  • Global blocks and constants for use by every technique or rendering pass in the material
  • Exports to DirectX 9 proprietary Effect (.FX) file format
  • Split screen (for previewing regular rendering along side effect enabled rendering)
  • Dynamic DX9 HLSL parser (creates HLSL shaders on the fly while you edit your material)
  • Auto-compile feature dynamically compiles while coding
  • Full HLSL support enables Predication with upcoming DirectX 9.0a release
  • HLSL Post rendering effects (16 or 32 bit floating point texture support)
  • HDR (High dynamic range)
  • Glare (Afterimage, Bloom, Streaks, Ghost)
  • Motion blur
  • Depth-of-field
  • HLSL real-time post processing filter stack
  • Filters include (projector, emphasize contrast, edge soften, edge detection, pale coloring)
  • Defaults to FFP (Fixed Function Pipeline) rendering which is supported by older hardware
  • Half and Full precision float
  • User-defined custom semantics (they can then be handled by your own custom engine)
  • ASM output viewer
  • Dual screen switching support
  • Artist layout and area for outputting custom data with exported shaders
  • And much more ...
  • ShaderWorks is not yet available and pricing is not yet known. Beta testing will most likely begin in a couple of months. If you wish to bundle ShaderWorks with your products or re-sell ShaderWorks in the future, please contact me directly at Scott at

    Scott Bean
    President / 3D Software Engineer
    Mad Software, Inc.

    Image of the Day Gallery



    Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
    Please read our Terms, Conditions, and Privacy information.