Integration of HLSL (High Level Shader Language) into 3DS Max and other major 3D packages have been helpful tools for 3D artists over the past few years. They work by offloading the rendering process to the GPU thru DirextX to provide fairly accurate “in-game” previews of 3D models right in your viewport in real time. Artists were given a way to avoid complicated light setups, render settings, material settings, and long render times; all while . What’s not to love?
Now for many years, 3DS Max has shipped with the ability to preview normal maps with its basic materials via hardware previews. However, it was never terribly accurate in depicting how a model might truly look in a “next-gen” game engine. It really served as a base to make sure your normal maps were generally functioning properly, but that was about it. Spec, gloss, reflections, and accurate normal map rendering had to be previewed in the game engine constantly—which requires continual asset exporting, and lost time.
3DS Max does ship with some basic DirextX shaders (found in Max’s ”\maps\fx” directory). As handy as these are, they still don’t get the job done by any stretch, often lacking support for the full range of maps (Spec, Gloss, Reflection, Environmental Cube Maps), plus they render with harsh shadows.
What was a game artist to do? Who can save them from their dreaded plight of constant asset exporting, or worse: constant rendering? Alas, kind souls have come to the rescue—some generously offering their services for free to the community at large, others charging a nominal fee. I’ll list our favorite three that we’ve run across so far.
Back in 2006 Ben Cloward released 8 HLSL shaders of varying complexity. The site for these hasn’t been updated since then (or so it seems). Thus the shaders are a bit dated, but still handy to play with, especially since they were made for what are now older GPU’s. Because of this, they tax your system a bit less if all you need is a quick and dirty preview. These shaders are free to use.
3Point Studios’ 3Point Shader
A Norwegian studio has released a rather robust package that utilizes HLSL. They provide a fixed form “Lite” version for free which is extremely handy and renders well in Max. They also have a paid version.
A more recent shader set was also developed by Laurens Corijn called XoliuShader. To date, this has been one of the fullest features HLSL shaders we’ve seen, and for the low, low price of “free” it’s very easy to fall in love with the shader set.
Now Lauren’s has provided a few good tutorials on his shader at cg.tutsplus.com and at laurenscorijn.com, along with several handy webpages that cover the shader’s feature set and how to set it up. If your graphics card can handle it, he provides some very handy post processing shader FX to add extra “oomph” to your viewport renders.
With real time rendering readily available in Max, HLSL is an invaluable tool in speeding up the creative process for game artists, and preserving their sanity.
In short: “I gladly bid thee adieu, render button.”
Let us know what HLSL shaders you use in a comment below.