emRPC (emRenderPointCloud) v.3.05emRPC is an ICE node and a bunch of compounds that render point clouds directly to disk as tga, pic or sgi images.
Even though the node renders the particles in a rather primitive way it can come in handy when dealing with many particles (>250.000), because it has one great feature: it is fast, so rendering a frame with anti-alias generally only takes a few seconds.
The plug-in consists of a "DLL" file (Windows) or "so" file (Linux) for the renderer (compiled C++ code for 32 bit and 64 bit versions of XSI) as well as a few compounds.
The ZIP file containing the demo version can be downloaded here:
download emRPC demo version (version 3.05).
The ZIP file containing XSI demo and tutorial scenes can be downloaded here:
download demo and tutorial scenes (version 3.05).
To take a look at the documentation:
emRPC documentation (version 3.05).
To purchase the full version of emRPC please click on the following link:
Order emRPC for ICE
If for some reason you have problems with the above link you can also contact me directly.
Each example has information concerning the amount of particles, the resolution of the rendered pictures, the average render time per frame, the CPU (Core-2-Duo, Core-2-Quad, Core i7), the OS (XP, Vista, Linux) used, etc.
Please note that the specified render times do not include
- the time it took to write the output picture to disk.
- the time it took to evaluate the rest of the ICE Tree.
- the time it took to render passes with Mental Ray.
---
More examples as well as tutorial videos can be found on my Vimeo Page.
---
This "zero-th"example contains several explosion - like sequences with over 7 million particles each that were animated with emFluid2 and rendered with emRenderPointCloud. The sequences (of about 250 frames each) were simulated and rendered with ICE and then composited in a simple Fx Tree: some "Gaussian Blur", "Color Correction" and "Math Compositing" nodes to get the glowly look and some "3D Transform" nodes to scale and position the sequences.
The fine details were obtained simply by using a large amount of very small particles.
| particles in point cloud: | 7.200.000 |
| CPU / Operating System: | Core i7 2.66 GHz / XP Pro 64 bit |
| render resolution: | 1600x1000 |
| type of output picture: | premultiplied 32 bit Softimage Pic |
| average render time: | about 6-7 seconds per frame |
Note: on Vimeo is a tutorial video that shows how to create the fluid and render setup: watch tutorial.
About 5.800.000 particles are contained in this scene. The moving cubes and spheres contain point lights with a falloff that are used to illuminate the particles. Also, the polygon meshes in the scene are used as masks, so that the rendered particles can be composited together with the background picture sequence.
| particles in p. cloud: | about 5.800.000 |
| CPU / OS: | Core-2-Quad 2.66 GHz / Linux 64 bit |
| render resolution: | 800x450 |
| type of output pic: | premultiplied 32 bit TARGA |
| average render time: | about 9 sec / frame with anti aliased masks |
For this example I took the XSI scene of the emFluid2 demo animation "U-Boot in the Sky with Diamonds", made some minor changes to the ICE Tree (more particles, different colors) and added two emRenderPointCloud compounds:
the first compound rendered the particles as fluffy balls (in additive mode) and the second one rendered the particles as very small dots (also in additive mode).
The two resulting TARGA picture sequences were composited in a Fx Tree. A little motion blur, some luminosity/color correction, the background and the submarine were also added in the post.
| particles in point cloud: | 320.000 |
| CPU / Operating System: | Core-2-Quad 2.66 GHz / Linux 64 bit |
| render resolution: | 720x448 |
| type of output picture: | premultiplied 32 bit TARGA |
| average render time: | about 3 seconds per "fluffy"-frame and about 0.38 seconds per "dot"-frame |
Example 3: "Give me Color or give me Death"
In this example about one million particles are contained in the point cloud and are animated with the emFluid2 plug-in.
The size of the particles is very small in order to produce finer structures
The animation was rendered in "additive" mode.
The final compositing (Fx Tree) consists of three layers:
The scene "emRPC_3.0_ColorsOrDeath.scn" is included in the ZIP file with the demo scenes, but you need the full versions of emFluid3 and emRPC to run it properly. The ICE Tree is commented and the Fx Tree is also contained in the scene.
| particles in point cloud: | about one million |
| CPU / Operating System: | Core i7 2.66 GHz / XP Pro 64 bit |
| render resolution: | 1024x576 |
| type of output picture: | premultiplied 32 bit Softimage Pic |
| average render time: | about 0.83 seconds per frame |
| particles in cloud: | 500.000 |
| CPU / OS: | Core 2 Duo 2.4 GHz Vista 32 bit |
| render resolution: | 512x640 |
| output pic.: | premultiplied 32 bit TARGA |
| av. render time: | about 1 sec / frame |
This example uses the demo scene "Particle_Motion_Control_Flow_Along_Curve_Oil_Fire.scn" that is contained in the XSI_SAMPLES database.
The ICE Tree contains five emRenderPointCloud compounds, each with different render settings. Below are the five resulting animations with some informations about what settings were used as well as the render times.
| _ | particles in point cloud: | about 3.300 |
| CPU / Operating System: | Core 2 Duo 2.4 GHz / Vista 32 bit | |
| _ | render resolution: | 256x192 |
| _ | type of output picture: | premultiplied 32 bit TARGA |
| _ | average render time: | about 0.013 seconds per frame |
| The render size of the particles is set to 1 pixel, the render color of the particles is set to white and the background is set to gray. In other words: the particles are rendered as simple white pixels. It's not fancy, but very fast. When dealing with large amount of particles this lets you render a preview in no time. And thanks to the perfect anti-alias you won't have any flickering even when rendering points smaller than or equal the size of a pixel :-) |
| _ | particles in point cloud: | about 3.300 |
| CPU / Operating System: | Core 2 Duo 2.4 GHz / Vista 32 bit | |
| _ | render resolution: | 256x192 |
| _ | type of output picture: | premultiplied 32 bit TARGA |
| _ | average render time: | about 0.027 seconds per frame |
| This animation uses the default settings of the emRenderPointCloud compound, except for the gray background.
The particles are drawn as filled circles using their size and color. Notice how some parts of a particle suddenly appear or disappear. This can occur when particles are very close to each other and are drawn in "normal" mode, because particles are rendered as flat circles, not as spheres. |
| _ | particles in point cloud: | about 3.300 |
| CPU / Operating System: | Core 2 Duo 2.4 GHz / Vista 32 bit | |
| _ | render resolution: | 256x192 |
| _ | type of output picture: | premultiplied 32 bit TARGA |
| _ | average render time: | about 0.03 seconds per frame |
| The settings here are identical to the ones of the previous animation except that this time the filled circles are drawn with a cubic falloff and the background is a little darker.
There are several falloff types when drawing the filled circles: "none", "linear", "square root", "square", "cubic" and "sine". |
| _ | particles in point cloud: | about 3.300 |
| CPU / Operating System: | Core 2 Duo 2.4 GHz / Vista 32 bit | |
| _ | render resolution: | 256x192 |
| _ | type of output picture: | premultiplied 32 bit TARGA |
| _ | average render time: | about 0.038 seconds per frame |
| The drawing mode here is set to "additive": the color is added to the underlaying color instead of replacing it. The settings in the emRenderPointCloud compound are set in a way so that the original particle sizes are multiplied by 1.5 and the original particle alphas are multiplied by 0.07 (small alpha and/or rgb values generally produce the nicest results when using the "additive" mode). The falloff is set to "linear". |
| _ | particles in point cloud: | about 3.300 |
| CPU / Operating System: | Core 2 Duo 2.4 GHz / Vista 32 bit | |
| _ | render resolution: | 256x192 |
| _ | type of output picture: | premultiplied 32 bit TARGA |
| _ | average render time: | about 0.35 seconds per frame |
| In this last animation the original particle sizes are multiplied by 4, the falloff is set to "linear" and a gradient with different shades of blue (and low alpha values) is used to replace the particle colors.
Again, the render mode is set to "additive". |
These two examples again use emFluid2 to control the motion of the particles and - as a novelty - they were both entirely simulated and rendered on a 64 Bit Linux machine (with an Intel Quad Core and 4 Gigabyte of RAM). Both animations were sort of my test projects to check whether the Linux versions of emFluid2 and emRenderPointCloud are stable... and they are :-)
6a. Swirly Fluids
About 150.000 small particles are emitted per second (with an average life time of 17 seconds) from a rotating polygon mesh that moves around in the fluid box. The final look was achieved by compositing the same picture sequence several times (Math Compositing: Screen Mode) using different blur and color correction values.
Note: the demo scene "emFluid2.25___inAction10_SwirlyFluids.scn" contains the fluid setup that was used in this scene. It can be downloaded on the emFluid2 page (download demo and tutorial scenes).
| particles in point cloud: | about 2.700.000 |
| render resolution: | 800x450 |
| type of output picture: | premultiplied 32 bit TARGA |
| average render time: | about 4.5 seconds per frame |
6b. Pseudo Volume 2
About 750.000 particles are emitted at once in the fluid box. The two polygon meshes that move around are used as velocity force emitters. They also have a few point light sources parented to them that illuminate the particles. The size and color of the particles is set at render time depending on their velocity.
For this animation three emRenderPointCloud compounds were used to render the same particles in three different ways: once as points, once as illuminated blurred dots and once as constant blue and blurred dots. These three pictures sequences were rendered with masks and composited together with the background and the rendered polygon meshes.
| particles in point cloud: | 750.000 |
| render resolution: | 1024x576 |
| type of output picture: | premultiplied 32 bit TARGA |
| average render time: | about 9.8 s per frame (as illuminated blurred dots in "Normal Mode", +masks, +overall anti-alias) about 1.5 s per frame (as points in "Screen Mode", +masks, +overall anti-alias) about 10 s per frame (as blue blurred dots, +masks) |
Limitations:
-the ICE render node only renders the point cloud to which it belongs. Polygon meshes can be used as masks, though.
Remarks:
-this plug-in runs fine with Softimage 2010 Service Pack 1
-if you want to work with really many particles (>1.000.000) I highly recommend the 64 bit version.