Those in the audience who have had a chance to play with the RenderMan Shading Language may recognize this Map as bearing a uncanny resemblance to one of the excellent tutorial samples from Steve May's RmanNotes. This Max version started its life as a direct copy and has subsequently been added to. In some ways the RenderMan Shading Language is very close to C++ and this makes it fairly trivial to convert shaders over to something Max can deal with. This isn't always the case, but it's a great place to start if you are interested in learning how to write Max materials and Maps.
I don't expect to see this used anywhere for anything serious. It's kind of a one trick pony. As I've mentioned elsewhere it's really more of graphical test than a real useful map. That being said, it is fairly full features as far as Max maps go.
Layers: This controls the number of iterations the function goes through. Each layer produces successively smaller squares. The number of layers caps out at 20.
Seed: Sets the seed for pseudo-random generation of the pattern. Changing this number can completely change the pattern, even if other settings remain the same.
Blend%: Mixes the random hue of the confetti with a percentage of the Confetti Color. This is used to tint the confetti globally.
Base Color and map: Controls the background color.
Confetti Color and map: Used to affect the color of the Confetti but only apparent if the blend% is greater than zero.
Check boxes: When on, enables the associated map. When off, disables the associated map (the color reverts to the color swatch).
Currently the map has no built in AA. While this is ugly and certainly not how Id like it to be you can get around it. If you enable super sampling in the material rollout the aliasing will generally disappear. In addition, if you are fortunate enough to be running Brazil it isn't a problem.
Another gotcha is with the bump map. While this is supported it has some issues. You will most likely want to turn down the amount from the default.
I may go back
and revisit these issues and anything else that is brought up as time
allows. As I pointed out above creating this map was more for my own edification
than in the hopes of creating something useful. If you find a bug please
drop me a piece of mail.
Please do not redistribute these files. Changes/bug fixes may be made to the plugin and it makes it much easier to guarantee you have the latest version if it is grabbed it from this site. Thanks.
Version 1.0 released on 03/01/03
Here is a bit of ancient history about the development of the map.
Unfortunately, getting the actual shader to work isn't the hard part of writing a plugin for Max. If you want to expose one or more parameters there is a fair amount of work in store to get the UI all working correctly. I wish I could point interested parties to just one place for a simple explanation on how to take care of all the UI but I haven't found it yet. Fortunately, I have access to several programmers here at work that have built custom materials for our projects and have some experience getting all the various parts to work reasonably well. In addition the Splutterfish guys have been great answering all kinds of questions as well. The real trick is to work with the plugin wizard in the Max SDK and look through the rather cryptic sample files. Best of luck. to anyone who wants to give this a try. Oh and if I hadn't mentioned it you really should know C++; I don't so I'm having to learn as I go which is no cake walk.
I still have some parameters I would like to expose, so it will still be a bit before Confetti is released. And if I get really motivated I may tie in some other options as well. Only time will tell.