Iray performance tips to reduce fireflies

fireFlies_in_IRay

Picked up a few tips on the  Nvidia IRay forum

There is an Iray Performance tips PDF that suggests a couple of tricks to reduces fireflies.

Adjust texture resolutions to the scene requirements.

  • Textures compete with geometry for the GPU memory. The higher the resolution of
    textures, the less the memory available for geometry, and vice-versa.
  • High frequency textures at high resolutions may become a source of further noise
    and require more time to converge.

The total reflectivity (reflectivy * reflection_color) should be capped to 0.7. It’s OK to use a white reflection color with a reflectivity of 0.7. It’s also OK to use a reflectivity of 1.0 and a reflection color of 0.7.

At blog.irayrender.com/ I found a maxscript filter firefly-removal-max-script that may help.

I’m tempted to design a custom filter in fusion to deal with fireflies in animated sequences. But unless things improve with iray I’m likely to move over to VrayRT for GPU rendering

Maxscript alembic

While alembic support has finally been added to 3dsMax 2015 the maxscript documentation has yet to appear. With a bit of digging around this is what I have found.

Alembic Objects

selecting an object and using showproperties $ show these properties

 .source : filename
.object : string

Importing alembic files

files are imported using the ImportFile command. You can show a list of supported plugins by using:

 print importerPlugin.classes 

This will list Alembic_Import as a plugin class

 showInterfaces Alembic_Import 

Will show the following

Interface: AlembicImport
Properties:
.ZUp : boolean : Read|Write
.ImportToRoot : boolean : Read|Write
Methods:
Actions:

Interestingly while ImportToRoot IS included in the standard max dialog ZUP is not, and alas I cannot find a way to switch the time range options using max script.

Exporting alembic files

the exporter can be inspected in a similar way

 print exporterPlugin.classes 

This will list ABCEXP as a plugin class

 showInterfaces ABCEXP 

Will show the following

 

  Interface: AlembicExport
   Properties:
    .CoordinateSystem : enum : Read|Write
       CoordinateSystem enums: {#Max|#Maya}
    .ArchiveType : enum : Read|Write
       ArchiveType enums: {#HDF5|#Ogawa}
   Methods:
   Actions:

Again its not obvious how to access the time cache range shown in the Alembic Export dialog

VrayShadowBanner

Compositing shadows and mattes from V-Ray

Shadows help place the CG elements in the world. Literally grounding it in reality. Rendering them is easy, but for more control we need to separate the shadow layer for compositing. Creating them in 3dsMax isn’t hard and here’s how to setup V-Ray to separate the necessary passes.

Continue reading

VrayNormalMap in 3dsMax

Setting up the VrayNormalMap in 3dsMax

The correct setup for the using the VrayNormalMap in 3dsMax, isn’t hard but there are a couple of things to watch out for.

Set Maps to 100

VrayNormalMap

Green is up and Red is right

So when baking out normals for Vray textures I use the scan line renderer with the following settings.
vrayNormals_render2Texture_1vrayNormals_render2Texture_2

Note for substance designer

I believe that Green Up is OpenGL style while Green down is DirectX

Gamma is 1.0

If you’re using the recommended linear workflow using by enabling Gamma/LUT Correction in the max preferences you’ll need to make sure the Normal map loads with the correct linear Gamma.

To stop 3dsmax applying a reverse 2.2 gamma to your normal map go into the image file dialog and set the gamma to: override 1.0

The image looks wrong in the preview but will be correct in the render.

vrayNormals_gamma_Linear

People are also using a 3dsmax composite node to fix gamma issue. But the composite node is not supported in VRay RT.