Another RT/PT comparison

Started by Hannes, March 28, 2019, 09:21:29 AM

Previous topic - Next topic

Hannes

After I optimised some of the materials (one by Fleetwood) I created to use with the path tracer here:
https://planetside.co.uk/forums/index.php/topic,22695.msg262940.html#msg262940
I did a test with the translucent plastic material (colors set to white). It's more or less the same for RT and PT, but it's incredible how much better it looks with the path tracer. It really seems a bit transparent showing things underneath. I'm aware it's probably not transparent at all, but at least it looks like.
The model is the mechanical spider I used in my "Robot games" image. To get a fair comparison I replaced all the metal materials by non-PT materials for the RT image.
Of course rendertimes are a big issue, but in this case it was worth the waiting I'd say.

Hannes

Here is a Full HD render of the PT version.

archonforest

Dell T5500 with Dual Hexa Xeon CPU 3Ghz, 32Gb ram, GTX 1080
Amiga 1200 8Mb ram, 8Gb ssd


bobbystahr

WOW..really gotta scrape some cash together to update....that's ultra real...
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist

Dune

It really does look softly transparent! Awesome.

Matt

#6
Interesting!

There is a potential pitfall when using translucency. If the material is 100% translucent, you should not use a colour any brighter than 50% (at the moment). In reality the amount of light leaving a surface cannot exceed the amount falling on it (unless it's luminous/emissive). Translucency acts as a percentage of the diffuse colour, and transmits that to the other side of the surface, adding to the total.

For example:

100% white diffuse, 0% translucency: Total = 100% + 0% = 100%
100% white difffuse, 50% translucency: Total = 100% + 50% = 150% (this is physically impossible)

Here are some settings that remain physically correct with a total output of 100%:

1.0 diffuse, 0.0 translucency
0.8 diffuse, 0.25 translucency (0.8 + 0.8 x 0.25 = 1.0)
0.75 diffuse, 0.33 translucency (0.75 + 0.75 x 0.33 ~= 0.998)
0.66 diffuse, 0.5 translucency (0.66 + 0.66 x 0.5 = 0.99)
0.6 diffuse, 0.66 translucency (0.6 + 0.6 x 0.66 = 0.996)
0.55 diffuse, 0.8 translucency (0.55 + 0.55 x 0.8 = 0.99)
0.5 diffuse, 1.0 translucency (0.5 + 0.5 x 1.0 = 1.0)

Problems occur if you don't consider this. Multiple bounces of light will cause excessive brightness to compound into a much larger excess. Not only can this look weird, it also increases noise in the image.

I might add a checkbox to the translucency control to make it automatically reduce the light-facing diffuse so that you don't have to think about this. If you're reading this in the future, look out for a checkbox labeled "physically correct", "physically correct diffuse/translucent balance", or something like that.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

AP

#7
What of Subsurface Scattering?

Matt

Subsurface scattering is not quite ready yet, but it is coming soon  8)
Just because milk is white doesn't mean that clouds are made of milk.

AP

#9
Quote from: Matt on March 28, 2019, 07:47:39 PM
Subsurface scattering is not quite ready yet, but it is coming soon  8)

Subsurface Scattering can solve the problems of the plastic and other surfaces that require such a shader. Correct?

Matt

The version of subsurface scattering that we have in development is an improved version of the subsurface effect in the Glass Shader and Water Shader. We haven't decided exactly how it will be added to other shaders such as the Default Shader, but it will be enough to let you simulate plastic with subsurface scattering.
Just because milk is white doesn't mean that clouds are made of milk.

bobbystahr

#11
Quote from: Matt on March 28, 2019, 08:34:29 PM
The version of subsurface scattering that we have in development is an improved version of the subsurface effect in the Glass Shader and Water Shader. We haven't decided exactly how it will be added to other shaders such as the Default Shader, but it will be enough to let you simulate plastic with subsurface scattering.

woo hoo...now I really get my maintenance up to date...praying for a generous tax return....and thanks for the wee comparison chart in your earlier post
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist

AP

Quote from: Matt on March 28, 2019, 08:34:29 PM
The version of subsurface scattering that we have in development is an improved version of the subsurface effect in the Glass Shader and Water Shader. We haven't decided exactly how it will be added to other shaders such as the Default Shader, but it will be enough to let you simulate plastic with subsurface scattering.

What of features such as BSSRDF, back scattering, layered scattering, scatter and subsurface color, scatter radius, and so forth?

Hannes

Even though Matt announced that there will be a method for subsurface scattering using a water or glass shader, I couldn't wait and took advantage of the way more accurate path tracer and used some edited version of my translucent "Fleshy" material (which is basically the same like the "Translucent plastic").
I faked the missing depth of the object by inserting a simplified and slightly smaller version of the actual head (without ears) representing a very simple version of skull and muscles, that don't let light go through.
In other apps this is done by using maps as far as I know, which is much easier, but if you don't have a map and don't know how to create one, it's a good solution to use geometry.

bobbystahr

that's great work Hannes, most obvious on the ear but effective over all.
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist