Search:

emRPC4 (version 4.0)   Online Documentation
last modifications to this page: April 3rd 2011

 


Chapter 1: Introduction

This plugin for Softimage|XSI's ICE is a renderer specialized on rendering point clouds.

On the emRPC4 web page you can:

  • download the demo version of this plugin.
  • download demo and tutorial scenes.
  • purchase the full version of this plugin.

Content:

On my Vimeo page are many video tutorials in which I show and explain different aspects and techniques concerning emRPC4 and its usage. You might also try to search for "emRPC4" on Vimeo to find some videos made by other people.

Note: If you feel that something is not well explained (or not explained at all) then please write me a short e-mail. I will then update the documentation and/or make a demo scene as quickly as possible.

 


Chapter 2: Installation

Important:

  • You need to install the two addons that are contained in the zip file:
    the emRPC4 addon and the emTools addon.

  • If you have a version 4.0 or higher already installed then you must uninstall it first.
    To do that go into Softimage|XSI's "Plugin Manager", right-click on the plugin and choose "Uninstall Addon".

  • emRPC version 3.xx and emRPC4 can co-exist and be used simultaneously. You need not uninstall your emRPC version 3.xx if you still want to use it.

This plugin comes as a so called "Addon", here's how to install it:

  1. Open the "Plugin Manager". It is located under the "File" menu: "File ->Plugin Manager":
  2. As mentioned above: please remove / uninstall any previous version 4.xx of this plugin. This is really important, because if Softimage|XSI finds two times the same plugin then one (maybe even both) might not work.
    Note: this does NOT concern emRPC version 3.xx.
  3.  

  4. To install the plugin into the user directory simply right-click onto the folder "User Root" and choose "Install .xsiaddon...":
  5. A browser dialogue will be displayed: go to where you copied the .xsiaddon file, select it and click on "OK". The Addon is automatically installed.
  6.  

  7. Close Softimage|XSI. The plugin is now installed and ready to be used.
    For more information concerning Addons and how to install / uninstall them please check the chapter "Working with Addons" in the XSI Guides.

 


Chapter 3: Demo Version Restrictions

If you are using the full version of this plug-in then you can skip this chapter. If not, please read the following list of restrictions of the demo version:

  • The maximum render resolution is 640 x 480.

  • You can only render between frame 1 and 250.

  • The text "Demo Version" is contained in the output pictures.

 


Chapter 4: Quickly creating an emRPC4 Setup

There is a very easy way to create a emRPC4 setup.

 


Chapter 5: The Compounds

All emRPC4 compounds can be accessed in the ICE Tree viewer.

They are located in "Task -> Mootzoid -> Renderers".

Tip: all compounds contain the word "emRPC4" in their names, so simply enter "pc4" in the search field to see all the available compounds.

 


The Compound "emRPC4 _ Main"

This is the main compound of emRPC4.
It expects several other compounds to be plugged in it. Those additional compounds contain all the settings concerning the file path, the image, the particles, etc.
The easiest way to create a correct emRPC4 setup is to use the so-called "explode me" compound.

  • The Input Port(s) and Parameter(s):

    • Main
      • Enable
        Enables/disables this compound.
      • Display Progress Bar
        Enables a progress bar during rendering.
        Note that the progress bar can sometimes be very annoying ! Especially when you press playback or if you jump to a frame.
      • Enable Left + Right CTRL to cancel
        If enabled then you can cancel the render process by simultaneously pressing the left and right CTRL keys.
        Note: this is only available for Windows.
      • Verbose in History Log
        Enable this to have some information outputted into the history log.

    • Options (OGL Preview)
      • Set Particle Colors from Rendering
        If enabled, then the colors that were calculated by the renderer are mapped onto the particles.
      • Set Alpha=1
        If enabled, then the particles alpha is set equal 1.

    • Options (File Settings)
      • Write Images to Disk
        Enable this to render and write images. In some cases you might want to disable this, for example when you are using the OGL preview mode (see previous parameter group "Options (OGL Preview)").
      • Skip rendered Frames
        If enabled then already rendered frames are skipped.
      • File Path Sequence
        Plug the output port of a emRPC4 _ Build File Path compound in here.
      • File Format
        The file format for the output pictures.
        Available formats:
        • Targa (8 bit per color channel, rle compressed)
        • Softimage (8 bit per color channel, rle compressed)
        • SGI (8 bit per color channel, uncompressed)
        • SGI (16 bit per color channel, uncompressed)
        • OpenEXR (HDR, zip compressed)
        Note: OpenEXR is only available for Windows 64 bit.

    • Options (Rendering)
      • Enable Strands
        Enables/disables the use of strands for rendering.
      • Calculate Lighting only for visible Points
        If enabled, then lightning is only calculated for particles that are visible by the current camera, thus resulting in better render times, especially when calculating shadows.
        Enabling this option is however not recommended when working with AO or GI.
      • Anti-Alias (only needed when using Masks)
        If enabled, then the entire picture is anti aliased (=> render times are 2-4 times longer!).
        This is off by default, because particles are always rendered with anti aliasing. However, when using masks it might be necessary to turn this on, because masks have no anti-alias due to the z-buffering algorithm used.

    • Freshly Born (Options (Rendering))
      • Use Particles with an Age equal Zero
        Particles that have just been created (and have an age equal zero) can sometimes cause trouble, because certain ICE data might not yet be correctly set.
        If new particles look strange then disable this parameter.
      • Use Strands with an Age equal Zero
        Same as the above parameter but for strands.

    • Masks (Options (Rendering))
      • Use visible Meshes as Masks
        If enabled, then all polygon meshes that are visible for rendering are used as masks.
      • Shrink
        If enabled, then the outer line of a mask is not used. This helps reduce the toon-like lines around masked objects during compositing.
      • Cast-Shadows-on-Masks
        If enabled, then the particles cast shadows on the masks. The shadows can be rendered into the Alpha channel or into the RGBA channels.
      • Density
        High values produce harder shadows, low values produce smoother shadows.
      • Maximum Darkness
        Defines the maximum darkness of the shadows.

    • Auto Fade-out giant Particles
      • Fade Active (Recommended)
        Enables the automatic fade-out of giant particles.
      • Fade Start
        Percentage of output x-resolution where fading starts.
      • Fade End
        Percentage of output x-resolution where fading ends

    • Settings
      • Settings (Camera)
        Plug the output ports of the camera settings compound in here.
      • Settings (Image)
        Plug the output port of the image settings compound in here.
      • Settings (Particles)
        Plug the output port of the particle settings compound in here.
      • Settings (Strands)
        Plug the output port of the particle settings compound in here.
      • Settings (Shadows)
        Plug the output port of the shadow settings compound in here.
      • Settings (GI AO)
        Plug the output port of the AO GI settings compound in here.


  • The Output Port(s):

    • Execute
      Plug this into an execute port.

 


The Compound "emRPC4 _ Build File Path"

This compound contains the settings for the path and filenames of the output images.
  • The Input Port(s) and Parameter(s):

    • Path
      The path for the output images.
      Note that you can use tokens (e.g. "[Project Path]") for the path.
    • Name
      The filename (without extension and padding).
    • Padding
      The frame padding.

    • Name's Appendices for Stereo
      • Left / Right Eye
        When rendering stereo sequences these strings are appended to the above filename.

  • The Output Port(s):

    • Settings
      Plug this into the "File Path Sequence" port of emRPC4's main compound.

 


The Compound "emRPC4 __ Settings1 _ Camera"

This compound contains the camera settings.

  • The Input Port(s) and Parameter(s):

    • Use
      This parameter lets you specify which camera shall be used for the rendering.
      You have three possibilities:
      1. You can use the camera from the current pass.
      2. You can use a custom camera specified via its name (that would be "Camera C" of the custom camera names, see next parameters.).
      3. You can use a stereo camera setup. The three cameras must be specified via their names (see next parameters).

    • Custom Camera Names
      • Camera C
        The name of a custom camera or - in case you are rendering stereo - the center camera.
      • Camera L
        The left eye's camera when rendering stereo.
      • Camera R
        The right eye's camera when rendering stereo.

    • Depth of Field
      • Enable
        Turns on depth of field.
      • Strength
        The strength (or amount) of depth of field.

    • Focal Distance (Depth of Field)
      • Use
        For the focal distance you can use either the distance to the center of interest or you can use a custom distance (see next parameter).
      • Custom Distance
        The custom focal distance (only used if the previous parameter is set accordingly).
      • Focus Range
        The range (in SI units) around the focal distance that defines the focus area.
      • Max Blur
        The maximum amount of blur for the unfocused areas.
      • Compensate Alpha
        Use lower values if unfocused areas tend to be too transparent.

    • Motion Blur
      • Enable
        Turns on motion blur.
      • Speed
        Defines the shutter speed for the camera.
      • Offset
        An offset when the shutter opens.
      • Position
        Defines where the motion blur starts and ends.
      • Shape
        The shape of the motion blur (square or triangle).

    • Detail / Space (Motion Blur)
      • Level-of-Detail
        emRPC4 creates a motion blur effect by adding virtual points along the velocity vectors. This parameter defines how many virtual points are created. Higher values look better but can take a little longer.
      • Space
        This defines the space in which the motion blur is calculated.
        You can choose world space or pixel space. Latter is the recommended setting.


  • The Output Port(s):

    • Settings
      Plug these two ports into the "Settings (Camera)" ports of emRPC4's main compound.

 


The Compound "emRPC4 __ Settings2 _ Image"

This compound contains the settings for the output images.

  • The Input Port(s) and Parameter(s):

    • Width / Height
      The resolution of the output images.
    • Pixel Ratio
      The pixel ratio.
      Note that only pixel ratios between 1 and 2 are allowed.
    • Premultiply with Alpha
      Enable this to save premultiplied images.
    • Background Color
      The background color of the images.
      This is set to (0, 0, 0, 0) by default.

  • The Output Port(s):

    • Settings
      Plug this into the "Settings (Image)" port of emRPC4's main compound.

 


The Compound "emRPC4 __ Settings3 _ Particles"

This big compound contains all the "per point of point cloud" parameters for the particles and/or the strands.
By default only one compound is used for both, the particles and the strands. But if you wish to use different settings for the particles than for the strands you can simply plug one compound into the "Settings (Particles)" port and another one into the "Settings (Strands)" port of the main compound.

On the right side you can see not one, but two pictures of the "Settings Particles" compound. The upper one is sort of a "lighter" version of the lower one. Only the most common parameters are exposed. You can nevertheless access all available parameters at any time by simply entering the compound. Or by exploding it.

As mentioned above all parameters in this compound are "per point of point cloud". This allows you to give each particle some own settings. For example you could use the State ID to have some particles cast shadows and others not. Or you could set the ray visibility of particles depending on where they are located. Or you might give some particles more motion blur than others. The possibilities are endless !

  • The Input Port(s) and Parameter(s):

    • Main
      • Use this Particle or Strand
        Enables/disables the use of the particle or strand.
      • Strand LOD
        The level of detail for the strands. This is equal the amount of points that are generated between the strand points.
      • Strand LOD x2 for Particle to first Strand Point
        The name says it all.

    • Drawing
      • Shape
        The shape to use when drawing the particle.
      • Drawing-Mode
        One of the following drawing modes:
        • Overlay
        • Add
        • Screen
      • Opacity
        Opacity of the particle when drawing.
        Note: this value is multiplied with the particle's alpha channel.
      • Scale
        Particle scale when drawing.
      • Number-of-virtual-Points
        It is possible to draw a particle "as is" or to sort of break it into several smaller particles. The value of this parameter defines into how many pieces the particle shall be split.

    • Shading
      • Shader
        The shading mode.
      • Lighting-Scale
        An overall scale for the final lighting.
      • Illumigain
        This parameter is useful when you want to see some lighting on very dark particles. Normally the lighting is multiplied by the particle's color => dark particles remain dark. By using Illumigain values greater than zero the lighting will be considered no matter what the particle's color is. For example you could use this parameter to illuminate some black smoke.
      • Boost
        This parameter is only used with the shader "Shaded (Boost, 6 Vectors)". Higher values produces brighter results.

    • Particle Size
      • Use
        Defines the particle size.
      • Custom Size
        Custom size.

    • Particle Color
      • Use
        Defines the particle color to use during rendering.
      • Custom RGBA Color
        Custom RGBA color.

    • Motion Blur
      • Amount
        The amount of motion blur for the particle.
        This value only has an effect if motion blur is enabled in the camera settings.

    • Ray Visibility
      • Primary
        Primary ray visibility.
      • Secondary
        Secondary ray visibility.

    • Shadows
      • Cast
        The amount of shadow the particle casts.
      • Receive
        The amount of shadow the particle receives.

    • Ambient Occlusion / Global Illumination
      • Calculation-Method
        Sets the calculation method for AO and GI. The look-up table is best most of the time but in special cases (or for special particles) you might want to use the "per Particle" method. Latter requires more calculations.

    • AO
      • Cast
        The amount of AO the particle casts.
      • Receive
        The amount of AO the particle receives.

    • GI
      • Cast
        The amount of GI the particle casts.
      • Receive
        The amount of GI the particle receives.
      • Illumigain
        This special parameter is useful when you want to see some GI on very dark particles. Normally the lighting is multiplied by the particle's color => dark particles remain dark. By using Illumigain values greater than zero the lighting will be considered no matter what the particle's color is. For example you could use this parameter to see some GI on black smoke.
        Note: this parameter is unaffected by the cast and receive values => it is "added on top" of the "normal" GI stuff. However if GI is disabled then this has no effect.
      • Emission
        With this parameter you can add some further GI emission as if the particle were glowing.
      • Emission RGB Color
        The RGB color of the emission.
      • Add Emission to final Lighting
        The amount of the "Emission RGB Color" that will be added to the final lighting.


  • The Output Port(s):

    • Settings
      Plug this into the "Settings (Particles)" and/or "Settings (Strands)" port of emRPC4's main compound.

 


The Compound "emRPC4 __ Settings4 _ Shadows"

This compound contains the global settings for shadowing and self-shadowing.

  • The Input Port(s) and Parameter(s):

    • Self-Shadowing
      • Enable Self-Shadowing
        Enable/disable self-shadowing.
      • Amount
        Amount of self-shadowing.
      • Density
        The density of the medium. The lower this value the more particles are needed to produce full shadows.
        Use low values for softer shadows and larger values for dark, hard shadows.
      • Maximum-Darkness
        Defines the maximum darkness of the shadows.

    • Fallin/Falloff Distance (Self-Shadowing)
      Note: these parameters let you define an interval for the shadow calculations. The distances are all relative to the particle for which shadows are being calculated. Using the fallin/falloff is recommended, because it considerably reduces calculations and produces nicer results.
      • In-Start
        The distance (in SI units) at which shadow calculations start.
      • In-End
        The distance (in SI units) at which shadow calculations reach their maximum.
      • Fade-out
        Enable/disable fade-out for shadow calculations.
      • Out-Start
        The distance (in SI units) at which shadow calculations start to fade-out.
      • Out-End
        The distance (in SI units) at which shadow calculations end to fade-out. From this point on no shadows calculations are performed.

    • Luma (Self-Shadowing)
      • Use
        Enable luma effects.
      • Level In
        Higher values will make the dark shadows even darker.
      • Gamma
        Gamma adjustment.
      • Level Out
        Lower values will make the bright shadows even brighter.

    • Octree
      • Level-of-Detail
        The level of detail for the shadows. Using higher values will produce more detail (if needed) but also use more memory space and calculations.
        Note: it is nearly always a good thing to use a low level of detail.
      • Caster-Size-Multiplier
        This value can be used to increase the size of particles when they cast shadows. If for example you have very small particles that hardly cast any shadow you can increase this value to make them virtually bigger so that they cast more shadows but are still drawn in their original size.
      • Percentage-of-Particles-to-use-in-the-Octree
        The name says it all: this defines the percentage of the input particles that are used in the octree. When working with many particles (>1.000.000) it most often is not necessary to use all of them in the octree. Values of about 20% will produce nearly the same results but significantly reduce the time it takes to build the octree.
      • Density-Limit
        The maximum density of an octree cell.
      • Memory-Limit-(MBytes)
        The maximum amount of memory (in megabytes) that may be used for the octree.

    • Blur (Octree)
      • Strength
        Strength of the octree blur. Blurring the octree produces smoother shadows and less artefacts.
      • Iterations
        Amount of iterations when blurring the octree. More iteration result in more blurriness.


  • The Output Port(s):

    • Settings
      Plug this into the "Settings (Shadows)" port of emRPC4's main compound.

 


The Compound "emRPC4 __ Settings5 _ AO GI"

This compound contains the global settings for ambient occlusion (AO) and global illumination (GI).

  • The Input Port(s) and Parameter(s):

    • Main
      • Enable AO
        Enable/disable AO
      • Enable GI
        Enable/disable GI.
      • Number-of-Samples
        The amount of AO/GI samples that are calculated per particle. Higher values produce smoother results but require more calculations.
      • Order
        The order in which lighting, AO and GI are combined.

    • AO (Ambient Occlusion)
      • Amount
        Amount of AO.
      • Density
        High values produce harder and darker AO, low values produce smoother AO.
      • Maximum-Darkness
        Defines the maximum darkness of the AO.

    • Fallin/Falloff Distance (Ambient Occlusion)
      • In-Start
        The distance (in SI units) at which AO calculations start.
      • In-End
        The distance (in SI units) at which AO calculations reach their maximum.
      • Out-End
        The distance (in SI units) at which AO calculations end.

    • Luma (Ambient Occlusion)
      Note that the luma for AO is enabled per default.
      • Use
        Enable AO luma effects.
      • Level In
        Higher values will make the dark AO values even darker.
      • Gamma
        Gamma adjustment.
      • Level Out
        Lower values will make the bright AO values even brighter.

    • GI (Global Illumination)
      • Amount
        Amount of GI.
      • Ray Depth
        The GI ray depth. This could also be referred to as "the amount of times the light bounces of surfaces". Using values greater than 1 will produce brighter images but require more calculations.
      • Density Max
        Maximum density of the "GI medium".

    • Fallin/Falloff Distance (Global Illumination)
      • In-Start
        The distance (in SI units) at which GI calculations start.
      • In-End
        The distance (in SI units) at which GI calculations reach their maximum.
      • Out-End
        The distance (in SI units) at which GI calculations end.

    • Luma (Global Illumination)
      • Use
        Enable GI luma effects.
      • Level In
        Higher values will make the dark GI values even darker.
      • Gamma
        Gamma adjustment.
      • Level Out
        Lower values will make the bright GI values even brighter.

    • Octree
      • Level-of-Detail
        The level of detail for the AO/GI. Using higher values will produce more detail (if needed) but also use more memory space and calculations.
        Note: it is nearly always a good thing to use a low level of detail.
      • Memory-Limit-(MBytes)
        The maximum amount of memory (in megabytes) that may be used for the octree.

    • Blur (Octree)
      • Strength
        Strength of the octree blur. Blurring the octree produces smoother AO and GI.
      • Iterations
        Amount of iterations when blurring the octree. More iteration result in more blurriness.


  • The Output Port(s):

    • Settings
      Plug this into the "Settings (GI AO)" port of emRPC4's main compound.

 


The Compound "explode me _ emRPC4"

This compound contains an entire emRPC4 setup. Usage:

  1. Drag and drop this compound into your ICE Tree.
  2. Select and explode it.
  3. Connect it to your ICE Tree.

 


Chapter 6: The emRPC4 Viewer

The viewer of emRPC4 - a so-called "Custom Display Host" - can be used to see the last rendered picture(s), similar to the flipbook.

Accessing the viewer as a floating window:

  1. In the menu choose "View -> General -> Custom Display Host".

  2. A floating window pops up. Right-click into the window and select "emRPC4 Viewer".

Some good-to-know things about the viewer:

  1. You should only open one viewer at a time. If you have several viewers then only the last one will work.

  2. The viewer can handle more than one image, so if you have several emRPC4 setups in your scene then the viewer will display a list of all images. Simply click on an item in the list to view the picture.

  3. The viewer uses hotkeys that are more or less identical to the hotkeys of the flipbook. To see the whole list of available hotkeys simply press the "i" key.

  4. Left-click into the viewer and move the mouse to move the image.

  5. Use the mouse wheel or the right mouse button to zoom the image.

  6. Use the hotkey "d" to set back the default settings.

  7. You can flip through the list of images using the Page-up / Page-down keys.

 


Tips and Tricks, Trouble Shooting

  • Tips and Tricks:

    • Don't use the Softimage "Simulation Root" compound.
      It is recommended to not use the above compound.

    • Put your emRPC4 setup into the Post-Simulation stack
      Rendering is typically done once all the particles have been created and simulated. In other words: emRPC4 needs to be executed after the "Simulate Particles" node.
      It is recommended to put the emRPC4 setup into the Post-Simulation stack of the point cloud. That allows you to tweak the emRPC4 settings without having to re-simulate the main ICE Tree.

    • Watch the "old" video tutorials !
      Even though this new version is somewhat different from the old emRPC 3.xx you can still take a look at the old tutorial videos. Many techniques also apply to this new version.
      A list of the old emRPC tutorials can be found here.

  • Trouble Shooting:

    • PROBLEM: the rendered particles don't have the same position as in the viewports.
      PROBABLE CAUSE: you might be using a camera with a global scale different from (1, 1, 1).

 


Version History

  • New in Version 4.0:

    • motion blur.
    • depth of field.
    • ambient occlusion.
    • global illumination.
    • ability to abort rendering at any time.
    • camera: projection plane now supported.
    • rendering of stereo.
    • all render settings are now defined in the compounds.
    • custom display host "emRPC4 Viewer".
    • virtual points.
    • improved workflow.
    • the compounds have been "cleaned".
    • improved multithreading.
    • strands: points are now drawn between the particle and the first strand point.
    • strands: a LOD can be specified for strands.
    • new shape called "Box (no falloff)".

 


Limitations and Remarks

  • emRPC4 runs fine with Softimage 2011 SP1 or above.