Click to go Home  
Render times
User Profiles
Macros / Scripts
Materials / VSL
User images
Image Contest
Realsoft images
VRgrafix images
By BTgrafik

Small multichannel rendering tutorial | Realsoft 3D 4.5

Tutorial by Tim Borgmann of (BT)Grafik. His website link HERE.

Download: [Sample scene with objects, shaders, channels, output objects, posteffects and rendersettings 50 kb]

This tutorial is not an all in one solution, but it shows some steps how you can access different channels in Realsoft to do a multichannel rendering for post editing in Photoshop or AE.

One Pass Render
For example if you have the following scene (some objects and an envoirment) and you need extra control on following passes:
  • Masks for the different objects (to color correct them later)
  • Specularity (to add some extra effect on specularity)
  • Reflection (to control the amount and sharpness of reflection)
  • depth (to fake DOF and fog)
Comment: There are serval ways to do this in RS3D, this tutorial shows only one possible solution.

The following tutorial shows step by step how to store these passes into different images. It's not the productive but more the easy to understand way ;-)
The scene

Click image for full size view

STEP 1 [setup the channels]

First of all we have to create the channels we need [fig 02]:
  • Xport_reflection - color channel (to export the reflection information)
  • Xport_specularity - color channel (to export the specularity information)
  • Z_Depth - float channel (to export the depth information for fake Fog)
  • Local_Z - float channel (to export the depth information for fake DOF)
  • Alpha_ball - float channel (to export the mask of the left side ball)
  • Alpha_woodthing - float channel (to export the mask of the middle object)
  • Alpha_oldthing - float channel (to export the mask of the right object)
  • Alpha_ground - float channel (to export the mask of the ground)
  • Alpha_ground_grid - float channel (to export the mask of the grid pattern on the ground)
output objects

after that we create the 'output objects' to get the images later [fig 03]. In this example I used BMP objects.

To create a new 'output object' just click with the RMB (right mouse button) into the 'output objects window' and choose 'new' - 'Window BMP'. Double click the new 'output object' to open the 'properties window' [fig 04] and rename it to a useful name. After that check the 'Edit bindings' checkbox. Now highlight the Channel bindings in the top of the window (for example Color:R -> Color:R) and use the remove button to delete them. After you did this with all three channels go to the bottom of the window and select a source channel in source window by highlighting it (for example Xport_reflection:R) also highlight a 'Destination channel' (for example Color:R) and use the Add button to add this binding. Do this for all the channels you need.

Hint: If you have a float channel, just bind it to all three RGB channels to get a grayscale image.

output objects properties

STEP 2 [the fun of masks]

Ball mask

Now we have to fill the channels with data. The simplest ones are the mask channels so we will start with them:

Select the material of the ball (metallic02) and open the 'properties window'. In the 'Surface properties shader' create a new 'constant' with value = 1 and output = surface: Alpha_ball [fig 05]. With this constant you assign the value 1 to this surface (which means white) while the other surfaces in the scene which doesn't have this constant will appear with the value 0 in this channel (which means black).

Now repeat the step for the other materials and mask channels:

  • Select the 'finished_wood02' material - add a constant in surface properties shader with value = 1 and output = surface: Alpha_woodthing
  • Select the 'ground' material - add a constant in surface properties shader with value = 1 and output = surface: Alpha_ground
ground grid mask

faded channel

You can also use the object properties window to assign a value to a channel:
  • Select the mesh in the 'mesh5+parallel Mapping11(..)' Level
  • Open the properties window and go the 'Col' tab
  • In the 'Attribute' drop down select the 'Alpha_oldthing' channel and change the value to 1
Now a little bit more tricky one: the mask for the grid of the ground [fig 06]:
  • Select the 'ground' material
  • In surface 'surface properties shader' add a color variable and name it 'Mask_Grid'
  • Duplicate the existing 'Texture(map coords)' object and change the output to 'surface: Mask_Grid'
  • Add a 'operation' object change the type to '1-p1' (invert the value) and change input = 'surface: Mask_Grid' and output = 'surface: Alpha_ground_grid'
  • So we get a mask channel of the grid pattern




If you want to mask the walls you can use the build in default alpha channel. Just select the walls, open the properties window, go to col tab and select alpha in the drop down. Change the value from 0 to 1 and they will appear white in the default alpha channel.

We should be ready with the masks channels now. Just Imagine what properties you can mask. Labels, parts of surfaces and so on.

If you want to mask faded or transparent objects not with solid but with a semitransparent masks just use a 'copy' object to fill the channel. For example 'copy' with input 'surface: fade' and output 'surface: my_mask_channel'.
Maybe you want invert this value to get a 100% mask where the object is solid and a 0% mask where the object is clear, then you can use an 'operation' object (type 1-p1) instead of the 'copy' object.

For example [fig 07]: 'operation', 'type=1-p1', input='surface: fade', output='surface: my_mask_channel'

STEP 3 [specularity]

Now a little bit more complex pass: the speculatrity[fig 08]:
  • select the metallic02 material and open the properties window
  • go to the surface illumination shader, because here is the definition of the specularity
  • duplicate the 'illumination+=Specular(Color)' object and change the output to 'surface: Xport_specularity'
  • If there are more than one Specular objects do this with every one
Do this steps with all materials which has a 'specular' object. (In this scene 'finished_wood02' and 'metallic02'). What this step does is very simple: It just fills the 'Xport_specularity' channel with the same information which is used by the raytracer to calculate the specularity.

Comment: As you can see we will have the specularity information in the raytraced image and in the export channel. So if you want total control over the specularity in post editing you have to remove the information from the raytraced image before. To do this disable the 'illumination+=Specular()' objects.
But be carefully on this step, because if you do this, the specularity which is seen in reflections is also gone. The reflection of specularity is not stored in the 'Xport_specularity' channel. In our case we don't disable the raytraced specularity, because we want only additional control over it and not a replacement.

Goto Page 2 of Tutorial ..

Page updated on Tuesday, 25 February, 2003 . For feedback / model submissions or articles - please email us.
Site proudly sponsored by VR.grafix
Goto Sponsors Site (VRgrafix)