ATI.com
 
 
Meet The Maker
Tribes: Vengeance
Mad FX
Perimeter
Tom Clancy's Rainbow Six: Raven Shield™
Unreal® Tournament 2003
Power Render X
Lejendary Adventure Online
New World Order
Cipher
Battlecruiser Millennium

Home Products Promotions Gaming Downloads Downloads

Mad F/X™ & Shaderwords™

   

Mad FX

About Mad F/X

Q: What exactly is Mad F/X and who would want to use it?

A: Mad F/X is the fastest real-time 3D world editor and visualization application for the desktop PC. Mad F/X is the perfect tool for 3D Artist / Animators, Engineers, Architects, Game Developers, Enthusiasts and Digital Content Creators who want to quickly create visually stunning 3D worlds and animations and interact with them at mind boggling speeds.




Title: Mad F/X 1.0
API Used: DirectX® 8.1
Developer: Mad Software, Inc.
Genre: Real-time 3D Visualization / Animation
Release Date: Jan 1, 2003


Q: Tell us about Mad F/X and how it came about.


A: A while back hardware acceleration was just starting to be supported by some PC games and was rarely taken advantage of by most graphics applications on the market. Most 3D editors relied solely on wireframe previewing and even when some 3D editors finally did support 3D acceleration, they did not exploit the full range of features supported by current graphic hardware. That is when I decided to write an application specifically designed for today’s leading 3D graphics accelerators. Mad F/X is dedicated on delivering top notch real-time graphics quality without compromising on speed.


Q: What new ideas / features did you bring to Mad F/X?

A: One of our biggest features was our Shader Management System (SMS). This is a mechanism that dynamically creates, manages and caches our shaders and allows us to do many things and increase performance on the fly. One of the original problems we faced with Mad F/X supporting hardware shaders was that Mad F/X was not a simple game or demo and needed to dynamically create shaders to support usage of undefined amounts of lights. Every time a user introduces a new light, changes a light type or property, or even flies through a scene having more than the maximum amount of lights (dependant on the hardware’s maximum shader instruction count), new shaders need to be created dynamically to reflect these changes. This allows end users to not worry about each material shader having to support a constant lighting setup.

Another feature related to SMS is our special material editor. This material editor does not just load a shader and allow the user to change variables, but automatically creates new shaders depending on which hardware accelerated wrap types you choose and even which blend mode or modifiers you choose. These new shaders are in ASM and can be shown in a preview window within Mad F/X for more experienced users or software developers. The combinations are endless.

One feature I should talk about is our “Dynamic Vertex Cache Optimization” tool. This feature takes the full scene and optimizes each mesh so that vertices are ordered in such a way that the graphics card can access this data more efficiently. Using this option on a mesh with over 500,000 polygons may take a few seconds, but the result we noticed was over 40% speed increase. And once you optimize the mesh once, you’re good to go. At the same time we made this optimization, we implemented a render state management system which optimized scenes with large amounts of objects (500+ for example) which also showed increases in these scenarios of up to 40% which is quite good considering Mad F/X was blazing fast to begin with!


Q: What developer tools were used in developing Mad F/X?

A: Mad F/X’s engine and interface were developed entirely using Visual C++ 6.0. Some of the particles, sprites, flares and textures where made using PhotoShop.


Q: What is ShaderWorks and how is a tool like this used with Mad F/X?

A: ShaderWorks is a visual (graph-based) shader development tool. It was originally developed so that Mad F/X users would be able to quickly and easily create complex and flexible shader materials which can then be easily used in Mad F/X 2.0 once it is released. This will allow users of any graphics accelerator to experience Mad F/X and will also pave the way for Mad F/X to support any upcoming shader version and take full advantage of upcoming graphics hardware capabilities. More details on ShaderWorks are covered later in this profile or can be found at www.ShaderWorks.com.


Q: What is so special about Mad F/X’s real-time rendering capabilities?

A: Simply outstanding rendering speed and visual quality. Mad F/X is highly optimized for speed but without compromising its rendering quality. We do this by supporting all of DirectX’s newest API features and fully taking advantage of hardware acceleration and today’s fastest GPUs like ATI’s Radeon 9x00 series.


Q: What is planned for upcoming versions of Mad F/X and when will this version be released?

A: Upcoming versions of Mad F/X will support fully customizable HLSL shader materials and will most likely be shipped with a free version of ShaderWorks. Also Mad F/X will support HDR (High Definition Rendering) and will introduce many exciting and jaw dropping cinematic effects like motion blur, depth of field and many blooming effects. In a later release we would like to introduce real-time physics simulation to Mad F/X’s animation system using Havok. These are just some of the major upgrades we have planned and many new tweaks and additions will also be implemented.

With hardware restrictions being lifted year after year, Mad F/X’s future will be extremely exciting.

Look for a new version of Mad F/X in Q1 / 2004.


Q: What makes Mad F/X shine above all other real-time 3D editors?

A: It would definitely have to be Mad F/X’s unmatched real-time rendering speed, outstanding visual quality, streamline interface and incredible ease of use.


Q: What Hardware 3D features do Mad F/X support?

A: Here is a quick list of some of the technical features that Mad F/X supports…

  • Uses DirectX 9.0 API for real-time rendering.
  • Supports hardware programmable shaders through Vertex Shader 1.1 and Pixel Shader 1.1-1.4 standards.
  • Supports 2D EMBM, 3D Blinn and Dot3 bump-mapping.
  • Complex shaders (ex: Toon, Chrome, Glass, Rubber, etc)
  • Hardware projected textures (ex: reflection, refraction, etc)
  • Photo realistic lens flares and sprites
  • Highly customizable particle systems
  • Multi-pass and multi-texturing (up to 8 textures per pass)
  • Cubic textures
  • Skyboxes
  • Mip-mapping and texture compression


Q: Can you give us some examples of how Mad F/X takes advantage of those features?

A: Here are some snapshots of Mad F/X using some of the features mentioned…

Check out our gallery for more snapshots…

http://www.mad-fx.com/gallery/gallery-images.shtml


Q: What feature of the Radeon 8x00 / 9x00 do you like the most? And why?

A: On the 8x00 series, I found TruForm to be quite exciting and useful in our application. Also the fact that these cards supported an updated Pixel Shader 1.4 standard as apposed to NVidia’s 1.1 limit which they where stuck at for quite a while. Now one of the MOST exciting features which ATI supports on it’s 9700 series (and up) is support for 64 and 128 bit floating point textures. This allows us to do very exciting cinematic effects such as HDR (High Dynamic Range) rendering, Motion Blur, Depth of Field, Post Rendering Filters, and everything you see used in ShaderWorks.


Q: If you could ask for any new 3D feature on the Radeon, what would that be? And how would you use that in your engine?

A: As a software developer, eventually I wouldn’t mind seeing support for larger primitive counts. Most games don’t ever need to send a 200,000 polygon mesh through the rendering pipeline at once, but in an application like Mad F/X, it’s not uncommon at all to see a model consisting of more than 1 million polygons. This would just allow us to not have to split up meshes which slow down load times, normal generation algorithms and presents many other problems. Also I would love to see ATI’s cards support a float-precision DEPTH render target so that we can do depth of field more efficiently and not have to alter the user’s final ShaderWorks shader dynamically. But besides that, I’ve been a VERY happy camper developing our software titles on ATI hardware.


Q: If you could sum up how much the Radeon 9700 improves Mad F/X in one sentence, what would you say?

A: In our tests, using Mad F/X with a Radeon 9700 is over 2X faster than a Radeon 8500, and I thought the 8500 was blazing quick with Mad F/X!


Q: If you could sum up your view on ATI's future in 3D, what would that be?

A: In the past, negative emphasis was put on ATI concerning poor driver development. Well as an experienced 3D software developer, I can proudly state that ATI has certainly taken care of this issue and now seems to be the leader in one of the roughest graphics sectors out there. I have no doubt in my mind that ATI will be a leader in this field for years to come and continue to pave the way for exciting new technologies that will make our lives as software developers easier and make the lives of gamers and computer enthusiasts even more exciting.


About ShaderWorks

Q: What exactly is ShaderWorks and who would want to use it?

A: ShaderWorks is a visual (graph-based) shader development tool based on DirectX and the HLSL (High Level Shader Language) standard. ShaderWorks was originally developed so that Mad F/X users would be able to quickly and easily create complex and flexible shader materials which can then be easily used in Mad F/X 2.0 once it is released. ShaderWorks will fit perfectly in many game development pipelines. ShaderWorks is very easy to use and now artists and developers can interact and create shaders without needing to write a single line of code.


Q: When will ShaderWorks be released and how much will it cost?

We plan on releasing ShaderWorks in Q4 / 2003 in the form of a public beta. ShaderWorks’ initial price is not yet decided. If all goes well for Mad F/X, ShaderWorks will most likely be shipped free of charge for Mad F/X users and.


Q: Tell us about ShaderWorks and how it came about.

A: The idea of a high level visual shader development tool is by no means “new”. Many tools of this nature were available for high-end software based renderers like RenderMan and BMRT and expensive graphics applications. So for over a year, I’ve been playing around with these development tools and wondered to myself… “Damn it would be COOL to have this kind of tool specifically designed for hardware shaders”. But as ASM was the language of choice, and HLSL was just being introduced, it seems nearly impossible to build such a concept on an assembly-like language. A few months later, after throwing the idea around some more, I decided I REALLY wanted to give our Mad F/X users unlimited control over their materials and so I quickly began work on ShaderWorks.

After letting ATI know of our plans to develop such a tool, ATI began to show much interest as it could serve well for any game / software developer as well as Mad F/X users. So I decided to put the project in overdrive and decided that ShaderWorks would also be a developer tool. Progress on ShaderWorks was as smooth as can be and in 3 months ShaderWorks was ready to start demoing. Since then, there has been large interest from independent software developers and companies like EA Sports, NDL, ATI, NVidia and Microsoft to name a few.


Q: What is so special about ShaderWorks and why does it defer from other shader development tools currently on the market?

A: Currently there are a few solutions for simple shader creation including ATI’s RenderMonkey and NVidia’s CgFX which are somewhat alike and allow a simpler interface to setup shaders to be coded using ASM, HLSL, or CG (which is not a standard). These tools along with Microsoft’s EffectEdit are more or less straight shader editors making it easier for developers to setup registers, shader versions, textures and render states.

ShaderWorks took a large step forward and is special in the fact that no other HLSL development tool has a visual graph interface which allows even non-programmers to load re-usable shader blocks (code) and easily link them together to form a shader, without any coding necessary. ShaderWorks takes care of the rest by intuitively creating the actual shader code internally. More experienced users can tweak or edit the shader code directly using our HLSL shader function editor from within ShaderWorks as you can see in the application image.

Also we will be releasing an integration kit along with ShaderWorks which allows developers to quickly tie ShaderWorks (.SW) material files into their projects.


Q: What is planned for upcoming versions of ShaderWorks and when will this version be released?

A: A beta version of ShaderWorks is due to be released in Q4 / 2003. ShaderWorks IK (Integration Kit) should be released shortly after. Upcoming versions of ShaderWorks will support newer HLSL standards, have more shader blocks to experiment with, have many new interface upgrades to make linking and will make creating shaders even easier for the end user.


Q: What Hardware 3D and technical features do ShaderWorks support?

A: Here is a list of some of the key 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 ...


Q: Do you have some early snapshots of ShaderWorks in action?

A: Sure do! Here is the ShaderWorks UI.

Check out our product page for more material snapshots…

http://www.shaderworks.com/shaderworks/shaderworks-snapshots.html


Q: If you could sum up how much the Radeon 9700 improves ShaderWorks in one sentence, what would you say?

A: More instructions = more realistic shaders! The Radeon 9x00 series supports VS / PS 2.0 which support more shader instructions and registers which in turn allow ShaderWorks developers to really take advantage of a high level shader language like HLSL.


About Mad Software:

Q: Gives us a brief history of Mad Software.

A: Mad Software was founded in February of 2000 by me (Scott Bean). The company is also privately held and funded by myself. We are currently based in Sudbury, Canada (near Toronto). The primary goal of the company is developing high performance real-time 3D visualization / animation software. Our flagship product is Mad F/X™ and our upcoming product is ShaderWorks™.


Q: How closely have you been working with ATI and how do you see that continuing going forward?

A: ATI has been providing us with hardware and technical support for years now and have always made sure we had the latest graphics cards to develop on. ATI has also been extremely helpful in terms of forming a business to business relationship with Mad Software. We can see our upcoming products continuing to be developed on ATI hardware for years to come and hopefully ATI and Mad Software can continue to work closely together on future products.


Q: Any exclusive parting hints / comments on upcoming titles you wish to share?

A: Come check out Mad F/X for yourself at www.Mad-FX.com and you will be pleased to see how fast your Radeon hardware REALLY performs in a real world scenario.

Also, feel free to come to our forums at www.ShaderWorks.com and post questions and comments about ShaderWorks (registration not required).