Firefly removal Max script
Instead of using the progressive default/internal firefly filter mechanism of iray, you can now also try this script for Max (supports all iray Max versions: 2013, 2014 & 2015):
The script was kindly provided by Jonathan de Blok from JDBgraphics, so thanks to him for releasing it here!
Copy the file to the scripts folder of Max (e.g. C:\Program Files\Autodesk\3ds Max 2015\scripts).
Run the script via “MaxScript”->”Run Script…” within Max (which will create a macro).
Go to “Customize”->”Customize User Interface…”
There select the “Keyboard” tab and then “JDBgraphics” in the “Category” dropdown and “Assign” a “Hotkey” to the new macro.
Render image as usual.
Use Hotkey to bring up the UI for the Filter.
(Optionally this can also only work in regions)
Now for some examples (please open in a separate tab if you cannot spot the fireflies), the toy scene was originally provided by Delta Tracing, thanks a lot, as for the other two scenes, see the recent posts below!
As usual, render time was kept low intentionally to not get rid of the fireflies for these quick tests.
Caustic and Architectural Sampler revisited
As seen in an earlier post (http://blog.irayrender.com/post/51722647664/the-architectural-and-caustic-samplers), some difficult lighting setups can be very hard to simulate using the standard iray sampling techniques.
But even seemingly “simple” scenes like a swimming pool can already require the use of the caustic and architectural samplers:
Here in comparison using the two additional sampler-flags:
If one thinks about it a bit more though, this obviously makes a lot of sense as everything below the water surface is clearly a caustic, even if the water surface would be plain flat.
Note that due to current limitations of iray, one has to model the water surface slightly glossy (i picked 0.95 here) to help the simulation process.
Original scene by kcpr (www.rendergarden.org/en), see http://forum.nvidia-arc.com/showthread.php?12969
Light Path Expressions sample scene
Remember the LPE scene that Ruediger did setup in http://blog.irayrender.com/post/76948894710/compositing-with-light-path-expressions?
Here is a hacky conversion for Max 2015 for you to play around with:
Skydive/Dice making of
Another nice guest post, this time from Jonathan de Blok, Agency: Ogilvy Amsterdam (Directed by Frits Jan Smit, VFX/3D by Jonathan de Blok), also make sure to watch the final video here: http://www.jdbgraphics.nl/portfolio-item/kpn-een
For this project I needed to add a CG dice to a few skydiving shots. Part of a common approach for rendering CGI into real world video is to shoot a spherical HDRI at the set and use that as a source for an IBL setup to get an initial match for the overall lighting and reflections. Obviously shooting this HDRI in mid-air was a bit of a problem so I had to fake one. By using a few stills from the video a spherical map was created in which a sun from an existing HDRI was pasted. After some trial and error it matched the video nicely with a greenish tint from the below and white bluish tint from the top and correct sun/shadow intensities. The only thing left to do now was to simply eyeball the HDR’s in to the correct orientation for each shot.
After tracking the footage, which was quite a challenge in itself, everything was loaded into 3dsMax and I did the animations. Behind the CG dice there is a reference skydiver who is just falling down fairly statically to give the other skydivers a point to focus on and I used it for reference as well. By just manually animating the dice to be roughly in that position it quickly started to look like there was some interesting interactions going on, exploiting those “happy little accidents” as Bob Ross would have called them.
When everything was ready, it all rendered very quickly using iray, in about 5 seconds a frame! (On a Titan, 1920x1080px frames) I guess normally people would only think of iray if designer-interiors or fancy cars need to be rendered, but it really shines when used for the simpler things as well. Especially for outdoor IBL’ed scenes it is insanely fast and accurate. A great advantage of iray when used for rendering animations is that it is inherently flicker free, unlike classical FG/GI solutions, and there are no jittery AA artifacts around subpixel details, no harsh Moire patterns, it all behaves very much like real film.
Compositing with linear image output vs Fireflies
In one of Ruedigers earlier posts (Compositing with LPEs), he mentioned the need for a linear output (i.e. disabling the tonemapping step) to support the compositing workflow, while at the same time still requiring a guidance for iray’s internal firefly filter. The workaround in his post back then was to tweak the tonemapper settings.
Nowadays, iray has builtin functionality for this via the nominal luminance option.
To use it, simply disable the tonemapper (in Max: Rendering->Exposure Control: <no exposure control>) and then set a meaningful value for iray_nominal_luminance (in Max: Rendering->Render Setup->Renderer->String Options->”iray nominal luminance” off).
Here is an example scene to demonstrate the effects of this (note that all renderings are run only for a very short time ~10sec intentionally). First the tonemapped variant (which automatically steers the firefly filter):
Now with firefly filter turned off completely:
And in addition without tonemapping (so raw, linear output like we need it for compositing):
To get rid of the fireflies (open the pictures in a separate tab please if you cannot spot them) one can now reenable and guide the firefly filter with the nominal luminance option. For an initial value you can for example use the irradiance buffer of iray to get a feeling for the range of your rendering (here it’s roughly in the 4 lux range). If the fireflies still are present after the “normal” noise begins to vanish from the rendering, downscale the value in 2x steps. Here I’m using a rather low value of 0.5:
Using a very very low value of 0.175, while the result is still acceptable:
But be careful, setting the value way too low (in this case 0.05) will remove essential details (look at the highlights especially) from your rendering:
From 2D to photoreal (making of by Delta Tracing)
Coming up is a nice guest post by our long time users Delta Tracing, thanks a lot for that!
Since 2010, year after year, NVIDIA Iray, thanks to its code innovation, optimizations and the constant integration in Autodesk 3ds Max, showed us the high quality and emotions that software evokes when is piloted by professional and talented artists around the globe.
Delta Tracing, an Italian based visualization agency, are testimony to this quality and emotions. We open up our doors to show you a glimpse of the workflow we use in our daily pipeline.
The photorealistic visualization of kitchen compositions has a particular complexity due to the high number of elements to be modeled and represented in the photographic set.
At the beginning, the kitchen manufacturer needs to provide all the technical 2D drawings and details of the composition, as well as all the material samples of the finishes.
A very important step during the visualization process, is the digitalizing process of these materials. Thanks to the advanced iray capabilities, bump maps are rendered perfectly and the visual result is very realistic and convincing.
Bump effect on the wood panels:
All the sample materials are photographed in high resolution (20 mpx) and after an accurate color calibration and retouching, are ready to be used in the scene.
Example of a high definition wood texture used in the scene:
All the materials used are based on the powerful iray material. The BSDFs layer model is a huge step forward to achieve realistic results of any finish but in some cases is enough a simple combination of maps and settings to achieve a very realistic result. For example: The wood panels in this project are simulated only by two maps, diffuse and bump. The final result is so real…
Settings of some materials in the scene:
In almost all the materials, thanks to the new layer structure,
Delta Tracing artists use dirt maps in the coating layer to increase the realism of the overall scene:
But good and realistic materials are not enough, a bad lighting solution can destroy the final result and realism of a scene. Delta Tracing production images are known for the natural feeling and warmness they transfer to the observer’s eyes.
The team prefers to simulate the exterior natural light by using high quality HDRI maps. The overall lighting solution is a true simulation of how the light travels and distributes itself in the architectural space and lray masters the distribution perfectly.
In this case, as you can see from the example below, adding IES files and self-illumination materials in the scene, compensates naturally the HDRI Iighting effect and warms the final image. No tricks here, the setup is very simple, natural and effective.
The final rendering production, is made by an 8 NVIDIA Tesla C2050 GPU system which renders a 5k image in about 3 hrs & 30 sec.
Once output the images in OpenEXR 32bit format, we proceed with manual tone mapping and colour grading in Adobe After Effects. As you can see, the changes made in Color Grading process are minimal. We add a bit of contrast and glow effects, change the overall saturation and brightness.
Food Scape breakdown
There is now an extensive breakdown video of developing this awesome animation here:
It demonstrates very well how the Light Path Expressions can help a lot in post and color grading.
Tuning iray performance
Nice post on exploiting some post-tonemap/gamma-blurring by rendering in higher resolutions:
(something we hinted on already way back here, but maybe that was too subtle :))
Morgan 3 Wheeler Rendering Contest
Germano Vieira is the winner of the rendering contest held by Autodesk, HP, NVIDIA and the Morgan Motor Company (of course made with iray :)):
As a bonus, here is another iray rendering made by finalist Pavel Huerta:
3dsMax 2015 (Part II)
Continuing the mini series accompanying the newest Max release, todays post will demonstrate some of the supported features of the long wanted blend material.
Due to various reasons, iray so far did support interesting layered materials only via the iray material plugin in Max. Starting with Max 2015, one can now use a large number of materials that can be hierarchically combined on top of each other.
So lets start off with a red velvet (original scene made by Alexia Rubod, but now abused for some of my coder art, sorry :)).
This can now be blended with a blue silk and a procedural checker board in the mask slot.
But of course one isn’t limited to simple checker boards, one can also use a procedural noise with added turbulence as the mask.
Or have some procedural red carpaint with flakes splattered over ceramic/bitmapped tiles.
And of course these already blended materials again can be combined with a mask.
On a sidenote: The last, very complex material renders only ~50% slower than the initial simple red velvet! (And even this already good performance will be beaten by our next gen rendering core :))
iray material plugin (updated for 3dsMax 2015)
To avoid confusion and also to have a central place for all the latest releases, here are the most current versions of the material plugin for all our supported 3ds Max versions..
Max 2013 (version 1.2): ftp://ftp.nvidia-arc.com/pub/iray_material_plugin_1.2_Max2013.zip
Max 2014 (version 1.3): ftp://ftp.nvidia-arc.com/pub/iray_material_plugin_1.3_Max2014.zip
Max 2014 (version 1.5): ftp://ftp.nvidia-arc.com/pub/iray_material_plugin_1.5_Max2014.zip
Max 2015 (verson1.5g): https://s3.amazonaws.com/arcdownload/iray_material_plugin_1.5g_Max2015.zip
3dsMax 2015 (Part I)
As an initial kick-off post for the newest Max release, here is a list of the most useful string options supported by iray through mental ray, now easily usable directly in the options:
"iray bloom filtering" <bool>
activates or deactivates a crude bloom filter (default off)
"iray bloom filtering radius" <float>
radius of filter in percent of image resolution (default 0.01)
"iray bloom filtering brightness scale" <float>
scales the intensity of the bloom effect (default 1.0)
"iray bloom filtering threshold" <float>
values beyond the threshold will be considered “bright” and thus used for the bloom effect (default 0.9)
"iray degrain filtering" <int>
select degrain filter (0 = None, 1..5: different variants) (default 0)
"iray degrain filtering radius" <int>
radius of filter in pixels (default 3)
"iray degrain filtering blur difference" <float>
only needed for modes 4 and 5 (default 0.05)
"environment dome mode" <string>
set the environment dome mode, which can be “infinite” (standard
infinite environment lookup), “sphere” (sphere shaped dome),
"hemisphere" (sphere shaped dome where the lower hemisphere is projected on the plane dividing upper and lower hemisphere), or "ground"
(infinite environment, but with a textured ground as in hemisphere
mode), default “infinite”
"environment dome position" <float float float>
set the center of the environment dome (default 0 0 0)
"environment dome radius" <float>
set the radius of the environment dome sphere (default 100)
"environment dome rotation axis" <float float float>
set the axis to rotate the dome (default 0 1 0)
"environment dome rotation angle" <float>
set the angle (0..1) for the rotation around the rotation axis (default 0)
"environment dome ground" <bool>
enable or disable the shadow catcher plane (default off)
"environment dome ground position" <float float float>
set position of the ground plane (default 0 0 0)
"environment dome ground shadow intensity" <float>
controls the intensity of the shadow on the ground plane, values above
1.0 are allowed but can lead to strange behavior (default 1)
"environment dome ground texturescale" <float>
adapt the scaling of the texturing of the ground plane texture
"environment dome ground glossiness" <float>
set glossiness of ground plane
"environment dome ground reflectivity" <float float float>
set reflectivity of ground plane
"iray interactive mode" <bool>
enables interactive scheduling (otherwise batch scheduling is used)
"iray baking texture width" <int>
"iray baking texture height" <int>
controls maximum texture baking size (for unknown texture shader nodes)
"environment lighting resolution" <int>
allows reducing preprocessing time at the cost of lower resolution
"environment lighting blur" <bool>
allows to additionally blur the environment slightly (low resolution
environments will tend to look blocky/pixelated otherwise) (default off)
"iray firefly filter" <bool>
enables/disables the firefly filter (default on)
"iray nominal luminance" <float>
The nominal luminance is a hint to iray on what is considered a
“reasonable’’ luminance level when viewing the scene. This luminance
level is used internally to tune the firefly filter and error estimate.
When the nominal luminance value is set to 0, iray will estimate the
nominal luminance value from the tonemapper settings. If a user
application applies its own tonemapping without using the built-in
tonemappers, it is strongly advised to provide a nominal luminance.
Recommendations: For visualization, a reasonable nominal luminance would be the luminance value of a white color that maps to half the maximum brightness of the intended display device. For quantitative
architectural daylight simulations (e.g. irradiance buffer), a reasonable nominal luminance could be the luminance of white paper under average day light. (default 0.0)