Menu Close

renderStacks

renderStacks is coming soon. Very soon.

So, what’s renderStacks? It is a render pass/generic task manager for 3dsMax. If you have used RPManager, LPass Manager, Prism, StateSet, Scene State. It is something like that. But, it is aiming to be a lot smarter, faster and more stable.

In a nutshell, renderStacks allow you to define a sequence of tasks to be executed per pass, and you can have unlimited passes per scene. For example, you can tell renderStacks to “set viewport to Camera001 and resolution to 1920×1080 and assign output path to “Z:\project\awesome\…\v001\awesome_bty.exr” and set frame range to 100 to 300” and apply Red Plastic material for Teapots.” for pass called “Bty”.

renderStacks will eliminate many common scene management duties from artists. Just configure passes once and concentrate on making art! How much render node time has been wasted because of a simple mistake?  renderStacks will help to prevent many of the potential human errors. Even better, you can do all this with an artist firendly UI without coding a single line of script.

Some of inspirations

The developers of renderStacks have worked hands on with many other render pass solutions for 3dsMax and have studied videos of unreleased solutions like Hierarchical Render Pass Manager for 3dsmax.  We have even checked other DCCs solutions like Modo’s render pass system and Maya’s Render Setup and Render Layer. renderStacks is the result of  years of production experience as artists and is our attempt to combine the best features of other solutions. We like to think of renderStacks as the Uber render pass manager! 🙂

Here are some key features, highlights and thoughts behind renderStacks.

Control anything you want and only what you need

The main goal of renderStacks is to reduce the number of scene files you need to deal with. It allows you to do more things from a single scene file. For that, the tool has to provide very comprehensive control per pass. You can control camera, resolution ,frame range, object visibility, material object properties, renderer parameters and on and on and on. You can see the supported pmodifier(pass modifier) list at the end of this document. renderStacks will be shipped with 26 pmodifiers and we have many more planned.

But, even though renderStacks can control a lot of parameters things, you don’t have to control all of them all the time. For example, if you want to have a different threshold per pass, you don’t have to manage all renderer parameters per pass. renderStacks provide very fine granularity over what to control,  allowing you to explicitly choose what parameters will be used.

Stack based workflow

renderStacks is stack based. Surprise! I know some users like node-based workflows. But, there are a few reasons why we chose stack based workflow.

  • Stack is compact. Just see how compact the 3ds Max modifier stack is compared to a node-based counterpart. You can see many passes in less than a quarter of the screenspace with a stack approach..
  • Easy to read – Each pass is essentially a sequence of tasks. It is a lot easier to read and figure out what’s going on for the pass instead of navigating thought through a spaghetti of nodes or hunting down every possible UI window scattered around the UI.

For that matter, we took our cue from the modifier stack, LPass Manager, Prism and especially Hierarchical Render Pass Manager for 3dsmax.

Performance, Performance, Performance

No one likes to wait more than a few seconds to switch passes. We know users have hundreds of millions of polys and tens of thousands of objects in their scenes. We have put every single trick we have learned over the years to squeeze every single drop of performance from 3ds Max. We are sure there is still room to improve  but are confident that renderStacks will deliver the best performance among similar solutions.

One place to control everything

renderStacks allow you control all rendering related parameters in one place. It is like a parameter palette for all your render and scene management needs. You won’t don’t need to open the any of  Render Setup dialog nor Object Properties dialog as all of the parameters you need to control are collected at your finger tips.

Procedural and dynamic object selection

From the traditional 3ds Max selection sets to renderStack’s own layer sets, we provide various ways of dynamically defining groups of objects and utilizing them as a unified way.  

 Do you need to use a given set of objects in various ways(matte objects, lighting exclusion, etc)  for multiple passes and make sure they are in sync? renderStacks’ various object sets make those tasks easier and error free.

Pipeline/Team friendly

Do you need central control for your pipeline? Automatic pass setup? Total control over output? renderStacks provides all of that. renderStacks provides various pipeline hooks to override or block feature access from artists. We are open to add as many controls as you need. If you need even more control, just ask. Or, do you want to automatically generate passes with scripts? You can access every single functionality of renderStacks with Maxscript.

renderStacks also provides an easy way to save and share setup data between users. You can also save and merge selected passes between artists.

Tokens

No more typing output path. Just set a rule with various built-in tokens. You probably would not need more than that. But, if you are truly an unique flower, you can make your own token. Just set the output name once and save it in a startup renderStacks file. You will never need to open the output dialog ever.

Automatic and generic 3rd party support

You don’t need to wait for renderStacks to support whatever awesome new options of your choice of renderer or any plugins. As long as the feature is exposed to Maxscript, renderStacks will automatically see them and let you use them.

Currently it has a full support for VRay, Arnold, Corona, Redshift, FStorm, ART, Scanline. But, most of features work with any renderers.

No external file. No plugins

renderStacks stores everything it needs in the max scene file. You don’t need to deal with any external files. Also renderStacks data is just a sequence of instructions which need to be executed for passes. renderStacks doesn’t need any special plugins to activate passes.. You don’t need to install anything on render nodes. Do you want to send a scene file to the client or 3rd party render farm? Just activate the pass and save the file. Nothing will be needed on the client side or the render farm.

Truly for artists. No scripting needed

Most 3dsMax artists we have met don’t know or want to script. If users need to script, why would they need renderStacks?  They just could have made their own! We firmly believe artists should be able to do whatever they need without a single line of script involved. We put a lot of effort into making everything accessible through the UI.

Not just for rendering

Lastly, renderStacks is not just a render pass manager. It can do more than just submit renders. Do you need to experiment with various combinations of simulation settings for your fluid simulation? You don’t need to take notes to remember what you have changed. Just setup your simulation parameters and create a renderStacks pass.  Your simulation parameters will be saved with the renderStacks pass. Run your simulation and if you want to try another sim variation just change your sim parameters, create another renderStacks pass, and run the simulation again.  If you prefer the results of the first simulation just activate the initial renderStacks pass.  How about turning on/off all of your TurboSmooths in the scene while modeling, you can make a “Model” pass and “Preview” pass and let renderStacks turn on and off all your TurboSmooth.    You can essentially use renderStacks to toggle between different parameter states.

Current pmodifier list

  • Alignment – Per object parent and transform align
  • AnimationRange – Animation start and end frame
  • Atmospherics – Per atmospherics on/off
  • BackBurner – BackBurner submission
  • Camera – Camera, Aperture Width
  • Deadline – All Deadline settings
  • Environment – All parameters in Common Parameters rollout in Environment dialog
  • Exposure – All parameters of Exposure control
  • FrameRange – Render frame range with Skip Frame support
  • LightOn – Per lights on/off
  • ManyObjParams – All parameters of object include modifier with dynamic object selection
  • Material – Per object material assignment
  • ObjParams – All parameters of object include modifier
  • ObjPropsDisplay – Object display property per group of objects
  • ObjPropsRender – Object render property per group of objects
  • RenderCommon – All parameters in Common tab of render dialog
  • RenderElement – Per render element on/off
  • RenderOutput – Render output either via 3dsMax frame buffer or VRay frame buffer with token.
  • Renderer – Switching renderer per pass
  • RendererParams – All parameters of any renderer
  • Resolution – Resolution with one-click overscan support
  • Transform – Per object transform
  • VRayOverrideMtl – Global VRay Override Material with dynamic object selection
  • VRayRenderMask – VRayRenderMask with dynamic object selection
  • ViewportBackground – Viewport background
  • Visibility – Hide/unhide objects

This is just for v1. More pmodifiers are coming in the future!