+ HOUDINI VOLUMETRIC RENDERING

Houdini volumetric rendering

OUT

number of rays example

256 x 256 1 x 1 pixel samples 10 marches (vol quality) 4 avg secondary rays 1 area light (env ligh)

256 * 256 * 1 * 1 * 10 * 4 * 1 = 2 621 440 rays


1024 x 1024 3 x 3 pixel samples 40 marches (vol quality) 8 avg secondary rays 2 area light (env ligh)

1024 * 1024 * 3 * 3 * 40 * 8 * 2 = 6 039 797 760 rays


Render settings

  • mantra

    • rendering

      • sampling

        • pixel samples: 1 x 1
          Primary rays (send from the camera into the scene) the number of rays that are send per pixel. At 3 x 3 it will send 9 rays (so each pixel will be subsampled 9 rays per pixel9. At 1 x 1 it will use 1 ray (no subsampling)
        • min ray samples: 1
          min secondary rays (per ray march)
        • max ray samples: 9
          min secondary rays (per ray march) if the the secondary rays (pixel samples) differs more then the noise threshold send out more secondary rays until the max ray samples. Worth noting is that one sample is enough to determine the light contribution from a single point (spotlight, point light) or from a single direction (distant light) but when it comes to area lights or environment lights more sample are needed.
        • noise level: 0.1
          the treshold
        • volume step rate: 0.1
          1 / volume quality = number of voxels per march.
          0.1 = 1 / 0.1 = 10 voxels per march
          0.25 = 1 / 0.25 = 4 voxels per march
          2.0 = 1 / 2.0 = 0.5 voxels per march
        • volume shadow step rate: 0.5
          a factor to proportionally decrese the volume step rate only for shadows, relative to the volume step rate. smaller values means mantra will use larger ray march step size for shadows then other shading rays.
        • stochastic samples: 4
          the number of transparent samples to shade when stochastic transparency is on. Higher values improve shading quality and transparent surfaces, but are slower to render.
      • limits

        • volume limit: 1
          this will allow one bounce “indirect” light bounce in the volume

Shading

  • pyroshader

    • general

      • scattering pahse: 0
        controls the direction in which light enetring the volume is scattered. At the default 0 light scatter evenly in all directions. Positive values scatters in the directuon of the incomming light ( i.e. light passing through), a negative value scatters backwards (bounce back). The numer rarelt needs to be higher then .2
    • smoke field

      • noise

        • enable: 1

        • mode: scale (field * noise)
          it will multiply the density with the noise
        • type: simplex (improved perlin)

        • frequency: 2, 2, 2, 1

To preview the noise we can create a test volume and run it through a volume vop. We will use a unified noise to mimick the noise used in the pyro shader.

  • unifiednoise

    • noise type:
      • simplex (improved perlin)
    • fractal

      • fractal type: standard (fBm)

      • roughness: 1.0

    • output correction

      • bias: 0.1, 0.1, 0.1

      • output range (clamped)
        if we dont want it to knock things out a much we can (multiply by 0) we can raise the output minimum.
        • minimum: 0.125

        • maximum: 1.0

      • final amplitude: 4, 4, 4

filter

To avoid voxel stair-stepping on lower resolution volumes with drastically changing density we can adjust the shading volume filter on the geo node. Note that the improve ment is quite minimal and it add render time so might want to skip it.

  • geometry

    • shading

      • volume filter: gaussian

      • volume filter width: 1.5