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 :
An export SDK with a sample skeleton application
An Integration kit (for quickly enabling your projects to render
A Visual C++ AppWizard with a sample application
Hundreds of re-usable shader functions and sample materials
Access to ShaderWorks.com (Shader development community)
Code and information on each custom constant semantic type used in
Uses DirectX 9's powerful HLSL (High Level Shader Language) C style
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
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
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
HLSL Post rendering effects (16 or 32 bit floating point texture
HDR (High dynamic range)
Glare (Afterimage, Bloom, Streaks, Ghost)
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
ASM output viewer
Dual screen switching support
Artist layout and area for outputting custom data with exported
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 Mad-FX.com.
President / 3D Software Engineer
Mad Software, Inc.