refraction rendering Anrold vs Indigo

I’ve did little test to compare Arnold refraction rendering vs Indigo renderer. since Arnold used spectral calculations for refraction, it was interesting to see how its sticks up to full spectral renderer like Indigo.

the render settings are fairly optimized for Arnold, Indigo gives not much room for optimizing. to be as fair as possible i use only pure the path tracer in Indigo. Anrold6 GPU is disappointed like always.
GPU was Nvidia quadro RTX 6000 with clockspeed at 1455 Mhz, the CPU was Intel XeonE-2276M at 2.8Ghz


2 minutes render time

it turns Arnold and specially ArnoldGPU is extremely bad with HDRi textures. with physical sky the times improved by the factor 3-6. with resolution limits on Hdri, Arnold gets a decent speed up, but Arnold GPU calculates forever on noises.

testing new Arnold 6.0.3 GPU renderer update on particles


Recent HtoA 5.2.1 made it possible to actually use Arnold6 GPU in Houdini, i tool it on a test ride with particles. (5 million particles).

the setup is quite simple, pure diffuse shading only AA samples. I’ve chosen a darker frame to test the sample quality.


CPU 2 minutes on 6 core Xeon

GPU 1 minute (Nvidia Quadro RTX5000), same sample count the CPU render above but more little more noise.

GPU 1:30 minute, increased the sample to get a noise free render.

the Arnold GPU render it getting slowly faster the Arnold CPU in some cases, there is still long road ahead to for the GPU renderer speed to catch up with competition.

star simulation with OpenCL

birth of a massive star. for my little #astrophysics exploration, i’ve created a star simulation using openCL in houdini. its based on nbody #physics model, only driven by #gravity. using #nvidia #quadro rtx 5000 #NVIDIAStudio. #arnoldrender

the colours are not quite right, I am trying to integrate kelvin colour temperature.  the current colour is based on density and speed.  

In this simulation, I assumed  48% amount of negative gravity to fill the mystery of dark matter. I used 1 million nbodies for the simulation.  for the steps, I am planning to add finer particle streams to get more details.

atmossphere volume in arnold

rendered with Arnold in Houdini. I’ve tried the atmosphere volumes the first time. easy to setup. The render time was quite slow on the volumes, typically for volumes, but much faster then render the screen envr with VDB cloud. I’ve used a mesh light for inner character illumination. 

it’s a shame I could not use Arnold 6 GPU, because its missing features. Volumes would boost get huge speed boost with volume raymarching on a GPU. I had to use a denoiser from Affinity Photo in dark areas.

with Arnold 6 GPU it does not drop any errors, you have to wait 1-2 minutes if data is loaded to GPU and starts the rendering or not. even a wrong file pass to an Hdri image makes Arnold GPU drop out, you sitting and wait in front of a black screen and don’t know if it will render or not.

light simulation

I’ve made a simple scene to test the physics of light. for proper light calculation, I used spectral render Indigo and Octane.

Indigo has multiple Engines, standard Spectral Path tracer on CPU or GPU and Bidirectional path tracing with MTL sampling (metropolis Light Transport). Octane has only default Spectral Path tracer on GPU but includes an MTL sampling method. I’v also added Renderman 23 to the test with its unified rendering integrator. It supports bidirectional path, manifold caustics and path guiding on the CPU.  

Another render engine like Arnold or Cycles with regular Path tracing would impractical fro complex light calculation tasks.

The base scene is Sphere and squashed Sphere underneath inside a volume box (uniform VDB).      

The following image is the result of Indigo Renderer with BiDirectional path tracing and MTL. It was by far the fastest rendering.

About Render Engines part 2

Each render algorithms has different benefit in different Scene / Light Situations.  Some common Render engines using following Algorithms:

Here is list Pro and Con based on my own Experience :   

Pathtracer

Pro :

  • easy to use
  • best for exteriors
  • great characters and outdoor renderings

Con :

  • bad for caustic
  • not so good for interiors with much indirect lighting and small light sources

BiDirectional Pathtracing

Pro :

  • very good for interiors
  • good and fast caustic 

Con :

  • not so fast for outdoor rendering
  • slow for reflected caustics

Spectral Rendering

Pro :

  • super easy to use
  • most correct physics 
  • mediun rendering
  • make use of physical correct modeling
  • great out of box image quality

Con :

  • slower rendering 
  • more memory use 32 floats instead 3
  • need physical correct materials
  • hard to get aov etc..
  • shader limitation

Metropolis Light Transport

Pro : 

  • faster for reflected caustic
  • excellent for caustic
  • best for interiors (indirect lighting, small light sources)

Con :

  • very slow for exteriors

Path Guiding

Pro :

  • extreme good for interiors (indirect lighting, small light sources)
  • much faster than PT for scenes with very difficult lighting (e.g. light coming through a small opening, lighting the scene indirectly)
  • fast caustics

Con :

  • not so fast for glossy materials
  • more setup time (tweaking render settings)
  • problems with detailed geometry

Biased Rendering

Pro :

  • fastest rendering
  • very useful for caustics + reflected caustics
  • most flexible render setups
  • great shader hacks

Con :

  • hard to setup
  • need knowledge if optimization algorithms
  • hard deal with large dataset
  • biased, artefacts, splotchy, low frequency noise
  • can have large memory footprint

stochastic progressive photon mapping

  • best for indoor
  • small memory footprint
  • handles all kinds of caustics robustly

About Render Engines part 1

This is a quick overview of current render Engines for Houdini and General in terms of MotionGraphics and VFX usage. 

There are different RenderEngines out there, each one is unique and uses different method to solve a problem. I am looking into Arnold, RenderMan, Vray, Octane and Redshift. For comparison reason I added Indigo Renderer engine.

There are different way to render a scene with benefits and shortcomings. lets start with most common one.

image by Glare Technology

Pathtracing (PT)

to be precise Backward Pathtracing.  In backward ray tracing, an eye ray is created at the eye; it passes through the viewplane and on into the world.  The first object the eye ray hits is the object that will be visible from that point of the viewplane.  After the ray tracer allows that light ray to bounce around, it figures out the exact coloring and shading of that point in the viewplane and displays it on the corresponding pixel on the computer monitor screen. that’s classical way, which all of the Render engines uses as standard.

Metropolis light transport (MLT)

This procedure has the advantage, relative to bidirectional path tracing, that once a path has been found from light to eye, the algorithm can then explore nearby paths; thus difficult-to-find light paths can be explored more thoroughly with the same number of simulated photons. Metropolis light transport is an unbiased method that, in some cases (but not always), converges to a solution of the rendering equation faster than other unbiased algorithms such as path tracing or bidirectional path tracing. MetroPolis is often used in Bidirectional mode (BDMLT).

Path Guiding

Mix between Path-tracing and MLT, unbiased technique for intelligent light-path construction in path-tracing algorithms. Indirect Guiding that improves indirect lighting by sampling from the better lit or more important areas of the scene. goal is to allow path-tracing algorithms to iteratively “learn” how to construct high-energy light paths.

link to latest Siggraph paper

BiDirectional Pathtracing ( BDPT )

Regular backward Pathtracing has hard time in indoor scene with small light source because it take lot’s rays and bounce to find a tiny light in a room, just to see if a object gets light by the light.

with Bidirectional, rays are fired from both the camera and light sources. They are then joined together to create many complete light paths.

Spectral rendering

image by Silverwing

Unlike most renderers which work with RGB colours, Spectral renderers uses spectral colour throughout, from the physically-based sky model to the reflective and refractive properties of materials. The material models are completely based on the laws of physics.
This makes it possible to render transparent materials like glass and water at the highest degree of realism.
Spectral renderer are pretty good in simulate different medium atmospheric effects like under water or earth air atmosphere.

Biased Rendering

hat Biased Render Engine actually means is pre-computing a lot of information before sending out rays from the camera. In more simple words, It uses an optimization algorithm to greatly speed up the render time but doing so It is not strictly just modeling the physics of light but it is giving an approximation

here is an example what Spectral rendering able to do:

Indigo renderer Planet-scale atmospheric simulation

Unlike other rendering systems which rely on so-called practical models based on approximations, Indigo’s sun and sky system is derived directly from physical principles. Using Rayleigh/Mie scattering and data sourced from NASA, Indigo’s atmospheric simulation is highly accurate. It’s stored with full spectral information, and allows fast rendering and real-time changes of sun position.

some examples of Atmosphere simulations by Indigo Forum user Yonosoy.

image by Yonosoy.
image by Yonosoy.
image by Yonosoy.
image by Yonosoy.
image by Yonosoy., even complete Planet athmosphere simulation is possible