Some Post-Process Compositing Ideas |
||||||||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||||||||
If you’re new to the idea of playing with a render after you’ve made it, here are some starter ideas for some of the things you can do! Of course, there are bound to be more options than these, but there should be enough here to get you started. |
||||||||
![]() |
||||||||
Depth Cue / Fog Render your ordinary image from trueSpace. Paint the entire scene with the required Mask Distance shader(s), remove all lighting (these are reflectance shaders, and ignore lighting, so having trueSpace work out mapped shadows or otherwise even think about the existence of the lights will only slow things down unnecessarily!), and re-render. With your first render from tS in your art package, add a new layer on top of this. Fill it with a solid colour, which will be the colour of the fog / depth cue effect. Edit the alpha channel for this layer, and paste in your Mask Distance render - black areas will be transparent (so your original render shows through), and white areas will be solid (so only the fog / depth cue colour in this layer is seen), with greyscale values in between having a smoothly fading transparency. You can now fill this layer with different colours, until you get the fog / depth cue effect you want. You can use gradient fills, so that the fog /depth cue effect changes colour across the scene, or even fill the layer with a noise pattern, for randomness in the fog /depth cue colour. Don’t forget you can edit the alpha channel for the layer too - adding noise there will add noise to the transparency effect, making the fog primarily based on distance, but also with some randomness to it. Or use brightness and contrast editing tools, to adjust the transparencies of the fog to suit your tastes, giving you some control over the distance and intensity settings just like in the original Mask Distance shaders, all without having to re-render. Even if you need to re-render the mask image to change the distances and intensities, this will still be much quicker than needing to re-render the full scene in tS, just to alter this one effect. |
||||||||
![]() |
||||||||
Depth of Field |
||||||||
![]() |
||||||||
This is the same render as the title image - the depth of field was applied in post process, with no need to re-render the image from trueSpace (image was cropped after the post-process work). |
||||||||
As before, render your ordinary image from trueSpace, then paint the entire scene with the required Mask Distance shader(s), and remove all lighting, and re-render to get your alpha channel mask. With your first render from tS in your art package, this time copy this same image to a new layer on top of the original. Edit the alpha channel for this layer, and paste in your Mask Distance render - black areas will be transparent (so your original render shows through), and white areas will be solid (so only this layer is seen), with greyscale values in between having a smoothly fading transparency. At present, since both images are identical, this will have no noticeable effect. Now, apply a blur to this layer. The result will be an image which is sharp where the mask is transparent, and blurred when the mask is opaque, with a varying mix in-between the two, to give a convincing depth of field look. You can adjust the strength of the overall blur, by controlling how much you blur this layer by. Again, you can edit the alpha channel for this layer, to adjust contrast and brightness, or to add noise even, allowing to to alter the depth of field effect quickly, without the need to re-render. By using the Mask Distance Ramp Transmission shader, you can even get correct depth of field effects through glass or transparent objects (entirely optional, and easy enough to render with different types of Mask Distance shader, to see which effect you like best). |
||||||||
![]() |
||||||||
This image shows renders of the same scenes, with trueSpace inbuilt depth of field on the left, and post-process depth of field on the right. First, note that both are equally convincing. Next (and the reason why the images are kept so large), note the background through the glass in the top images, and through the transparency channel in the bottom - using the Mask Distance Transmission shader allows the background objects to appear blurred through the foreground objects. |
||||||||
![]() |
||||||||
Blurred Reflections As before, render your ordinary image from trueSpace, then paint the entire scene with the required Mask Distance shader(s), using Mask Distance Ramp Reflection for the reflective objects, remove all lighting, and re-render to get your alpha channel mask. Now paint the reflective objects with a white constant shader, and all other objects with black constant shader. This produces a solid mask, to isolate the reflective objects. You can then apply this solid mask to a copy of the original render, to give you a “cut out” of the reflective objects - here you’ll want to create an actual mask in the art package, and not an alpha channel. This mask will then limit the effects you apply to certain areas of the image - in other words, only to the reflective objects. Apply a blur within this mask, and the reflections become completely blurred, but the edges of the objects remain sharp (you may run into issues where reflective objects overlap each other, but that can be overcome by creating appropriate “cut out” solid masks, for one object at a time). Layer this resulting “blurry reflections” image onto the original render, edit its alpha channel, and paste in your Mask Distance render. This contains information about how far the reflected objects were, so with normal settings, the further away they were, the less transparent the mask will be.... so the more the blurred reflection will be solid. For nearer reflected objects, the blurred reflection will be more transparent. This is more complex to get right than straightforward depth of field, but it is possible. Not only that, calculating blurred reflections in tS using a shader tends to be very time consuming, so despite the extra steps involved, this can offer a nice option for lots of control, without the expense of long render times. |
||||||||
![]() |
||||||||
Getting Weird With Distance |
||||||||
![]() |
||||||||
Once more, the same render from tS, nothing altered - this time there’s some depth of field, and sepia, and noise, all being faded by distance. |
||||||||
The previous sections should give you some ideas for the most obvious uses of the Mask Distance shaders. Now you can see how to put them to use, you can get creative! You could blend between two entirely separate images using this, so that your scene appears solid in the foreground, and blends into another image with increasing distance (or vice versa, naturally - btw, don’t forget you can just invert the alpha channel image to reverse the transparent / solid mix of your Distance Mask render!). Or you could blend from a black and white or sepia image in the distance, to colour in the foreground, for a potentially dramatic effect. Naturally, you can process the alpha channel image in many ways too, adding blur to that, or adding noise, or even painting on it directly. You could render two versions of the scene, one with an object present, and one without - a similar effect to the Distance Transparency shaders can then be achieved in the composited images (or, in an animation, if you render out the entire animation twice, once with a moving object, once with it completely invisible, then a third time as a mask, you could have the object materialise or dematerialise as it approaches - with the ability to change just where that happened either through editing the brightness and contrast of the alpha mask images, or by re-rendering only the third pass of the animation). |
||||||||
![]() |
||||||||
Fresnel Reflection and Transmission The Mask ViewAngle shaders can be used in a similar fashion. A common use here would be to have reflection or transmission alter with the angle of view (as reflections and transmission usually do in the real world). To do this, you would need to render the ordinary scene without reflections. Then render the scene with the reflective objects purely showing reflection, and no other surface effects (eg, you could use TG MultiPass, which is intended just for this sort of thing). Once you have your reflection render (remembering this time that you want the other objects in the scene to be fully textured and lit), you can then add in those reflections to your scene, without needing to adjust the material and re-render, by adding the reflection render to a layer on top of the original “non-reflection” render. Adjusting the straightforward transparency of that layer lets you control the strength of the reflections, but if you add in an alpha mask from the Mask ViewAngle shaders, the reflection strength will vary with the angle of the surface (and you can still blend in the overall reflection strength with straight transparency for the layer). All the adjustments are then possible without needing to re-render the time consuming reflective pass, so you can control reflection strength, and how reflection falls off across the surface. The same principle applies with the transmission (which you would need another render pass for, and then add as another layer onto the image). |
||||||||
![]() |
||||||||
Fresnel Anything?! The same ideas applied to reflection and transmission above can also be applied to diffuse, or specular - again, you’ll need to isolate the particular effect you want to control post-process and give it its own render pass, but that’s what TG MultiPass is intended to help automate, for both stills and animations. So then you can have diffuse fall off (or grow brighter) with angle of view, etc. The effects possible are very similar to what you can do within trueSpace, using the TG Reflectance Ramp shader. |
||||||||
![]() |
||||||||
TG Glow Effects Yes, it’s possible to copy any of the view angle shader effects (like TG Glow, VariMirror, TG Glass, etc) by using the post-process compositing approach along with the Mask ViewAngle renders. For effects like TG Glow produces, render one version of the scene with the object, one without, and one Mask ViewAngle render. You can then have the object transparency vary with view angle, and alter the settings of that without the need to re-render. Not as immediately useful, I think, but does illustrate the sort of things you can do, and hopefully will get you thinking of more! |
||||||||
![]() |
||||||||
Weird Angles |
||||||||
![]() |
||||||||
The landscape test scene, from here, with various effects applied in an art package (chrome, greyscale, purple colouring, and blur), then blended by the angle of view render - the process being illustrated here. |
||||||||
The same “strange” ideas as listed for the Mask Distance shaders can be applied to the Mask ViewAngle shaders - objects that fade from black and white to full colour across the curvature of their surface (or cartoon to full colour, or oilpainting to chrome metallic... basically, any effects your art package offered can be applied to a layer, then that layer blended by view angle or distance, or both....), or that vary from blurred to sharp. At the end of the day, the idea is - experiment! Remember, it isn’t cheating to do some work outside of your 3D package - and neither is it a failure in the 3D package that leads to taking this approach, as adding such things in post-process is often a preferred means of working, regardless of 3D package, in a professional situation, due to the control it gives over the final result without the need to constantly re-render if you think “if only the relection had been just THAT much brighter...”! |
||||||||
![]() |
||||||||
Blooms No need for the Mask shaders to achieve this one, just use TG MultiPass to render the specular channel separately from the rest (you could render all channels separately, or render the scene normally without specular highlights, and then do a specular pass, and only combine those two). Take the specular layer, and then you can blur or otherwise exagerrate the image (a glow effect, perhaps), to adjust the shape, size, and brightness of the specular highlights. The thing to remember here is to blend the layers together using the Additive approach (otherwise, the dark “no highlight” areas will darken the original image!). This lets you play around with the specular highlights in post-process, without affecting the other material channels. |
||||||||
![]() |
||||||||
Combining Material Layers In General It needn’t just be the specular layer you restrict yourself too, of course, but you can adjust all the material channels separately. Although an Additive approach is the usual way to mix the material channels together (used inside most shaders), you can take other approaches just to see what you end up with... maybe multiplying the diffuse channel by the specular highlight channel, or combining layers only if brighter, or combining the same layer in several ways at once, etc etc... once again, creativity is the key! With batch image processing, you can apply the same set of effects to the material channels, and then combine them all together in a compositing program, to produce an animation, with TG MultiPass simplifying the route to producing all those layers for an animation. |
||||||||
![]() |
||||||||
Some Post-Process Compositing Ideas |
||||||||
![]() |
||||||||