PDA

View Full Version : Reflection blur



toby
12-16-2012, 10:40 PM
Which parts of this render have raytrace reflection blur? There's no cg lights in the scene. Best guess gets... emoticons :hat: :rock:

toby
12-17-2012, 04:51 PM
No guesses? Ok another hint - it was also rendered without GI.

Tobian
12-17-2012, 05:08 PM
Put it inside another object then I'll let you know right away! :)

toby
12-17-2012, 06:07 PM
?
:stumped:

probiner
12-17-2012, 06:24 PM
Hi toby I didn't get it either at first.
Andrew means the objects you want to check the reflection for to put them inside a room.
Below some reflecting objects inside a thick wall room with 2 windows.
Top uses Raytrace, bottom does not and therefore reflects the whole environment.

Side note thingy I found out, that same simple scene renders white pixels (forgot to turn the CG light off at first) and I was like horrified how LW couldn't handle just such simple setup without ray leaks. Ray precision set to 8 killed them though and then I remembered I used 8 too to fix a glass black pin-holes.

Cheers

toby
12-17-2012, 08:19 PM
Ah thanks for clearing that up. I'm sorry I should have known that I was being vague in American english, which doesn't translate well at all. When I said "best guess gets free emoticons", it meant that I want you guys to try and guess what I used reflection blur for in the render.

probiner
12-17-2012, 10:02 PM
ok... apparently.... the wheels... and the headlight black material.

djwaterman
12-18-2012, 02:02 AM
Possibly everything to varying degrees. Tires and black parts for sure. If you have no lights in the scene and no GI then everything needs to be reflective or we wouldn't see anything.

Danner
12-18-2012, 05:49 AM
Not necesarily you can have a backdrop gradient or hdri light the scene without using lights.

ohh wait.. tip two said no GI. so yeah. everything =)

toby
12-18-2012, 12:38 PM
yea that certainly gave it away :)
Even the white car paint and shadow on the ground are blurry reflection. I always wondered, since diffuse is just another kind of reflection, if this could work, but the 100% setting for blur was misleading. I reverse-engineered it and found that 100% only gives you a 45 degree cone angle. The 'diffuse' surfaces you see are all set to one hundred thousand percent blur; the higher the number, the less difference the higher value makes, so it must go very high to get near a 180 degree cone, like a diffuse shader.

The reason I wanted to try this was to see if just using one render engine would save time, just using raytrace reflection and not gi, cg lights' shadows, and spec & diffuse shading calculations. Doing this turned out to be about twice as fast as using monte carlo gi, comparing 8 bounce ray recursion to 8 bounce gi. This will help a lot on a project I need to render. I also wanted a way to map between reflection and diffuse gradually, without having to render 2 shaders for one surface.

But naturally there's problems with it. I'm pretty sure that reflection shaders are more camera/view dependent than difffuse shaders, and different renderers look different anyway, so these end up looking noticeably different. It can even look like lighting is coming from a different direction. CG lights have no effect on this render, so if you wanted a spotlight, you'd have to model it and put a very bright luminous object for the bulb; that means no control over the falloff, and difficult to control soft edges. There's no way to do a distant light. Lots of handy light features are unavailable. Rendering to different buffers is more difficult, since everything's in the reflection channel. I even plugged the car paint shader into the Diffuse Shading input, but lw still puts it in the Reflection Shading channel. And the 'shadow density' feature won't work.

I'll post more examples when I get home

Tobian
12-18-2012, 01:40 PM
Intriguing. I've often thought about trying that but ran into speed issues, since you need to have at least 2 reflection shaders for most dielectrics, like car paint. How did you get the diffuse absorbtion layer to be so.. smooth?

toby
12-18-2012, 04:08 PM
You mean 'smooth' as far as noise? I render with adaptive set to .01 - but I do that with everything else too, not just for this method.

Tobian
12-18-2012, 05:04 PM
Well the AA and the diffuse appearance. I've set the reflection blur to a billion and it still looks like a reflection blur, not a diffuse shader. It does render slightly faster than my MC render (because there's no additional calcs) but it's not that accurate.

Tobian
12-18-2012, 07:11 PM
Ok having done some comparison renders, frankly diffuse reflection doesn't really look like diffuse. I set reflection blur to 1 billion, and it still looks like a blurry reflection. I think some renderers mix in diffuse as the reflection blur gets higher, to help to both speed things up and to make it look more correct. Higher amounts of reflection blur look differently due to things like subsurface scattering (which technically all diffuse is), self-occlusion multi-bounces in the substrate. diffuse shaders like Lambert and Oren Nayer model this better than a blurry reflection can.... apparently...

In the example renders, once I'd balanced the settings (1 light samples, 2 shader samples, 2 mc samples, 16 min rays 128 max, as 0.006, os 0.1, box, low discrepancy) the MC shader rendered faster. I suspect it's because I put 4 mc bounces and I had 6 ray recursions, but there wasn't a lot in it, as the solutions started to converge in terms of the number of rays firing out.

toby
12-18-2012, 08:59 PM
No it's not going to look the same, it's not quite as diffuse as lambert, much less oren-nayer. Not only is it a differnt type of shader and rendering, but also - as I forgot to mention - lw reflection blur uses a cheat that works against it looking like GI, which is that it doesn't blur past a certain amount of bounces, maybe 2? It does dramatically increase the speed though, I'm pretty sure that was the big speed bump they gave it with the 9.3 release. It used to absolutley crawl.

Not everything has to look 100% diffuse, so this could be used for lots of things. Are you doing this with a linear workflow?

This is an early comparison test

toby
12-18-2012, 09:05 PM
Being able to go from diffuse to reflection in one shader might be useful, but it's pretty tricky to map a value from 0 to as high as 100k! I had to work on the gradient for a while to get this.

toby
12-18-2012, 09:54 PM
car with no clearcoat, 6.5min.

toby
12-18-2012, 10:23 PM
switched to GI, 26min. (!)
I dropped the gi rays from 9 to 3 and it finished in 8min. 10sec., but it also had plenty of noise. You'd still need to trace reflections to complete the image too. I had Use Transparency and Use Bumps on to be fair.

toby
12-18-2012, 10:54 PM
Ok having done some comparison renders, frankly diffuse reflection doesn't really look like diffuse. I set reflection blur to 1 billion, and it still looks like a blurry reflection. I think some renderers mix in diffuse as the reflection blur gets higher, to help to both speed things up and to make it look more correct. Higher amounts of reflection blur look differently due to things like subsurface scattering (which technically all diffuse is), self-occlusion multi-bounces in the substrate. diffuse shaders like Lambert and Oren Nayer model this better than a blurry reflection can.... apparently...

In the example renders, once I'd balanced the settings (1 light samples, 2 shader samples, 2 mc samples, 16 min rays 128 max, as 0.006, os 0.1, box, low discrepancy) the MC shader rendered faster. I suspect it's because I put 4 mc bounces and I had 6 ray recursions, but there wasn't a lot in it, as the solutions started to converge in terms of the number of rays firing out.
Forgot something else - using the low sample / low adaptive threshold trick will keep the reflection blur from looking as diffuse as it could. If you set reflection blur samples to 2 it will look noticeably more shiny than if you set it to 8. MC seems to be a little different; with low samples/low adaptive it'll be more ambient-looking, more evenly lit than most hdrs should provide. Using a sphere with 2 gi samples, I find that it requires .003 adaptive, take just as long, and leaves artifacts, compared to 9 samples at .01. I am using 9.6 though. Can you try your reflection blur example with higher samples?

toby
12-18-2012, 10:57 PM
Comparing the last 2 car renders you may notice that the reflection blur one looks front-lit, while the mc one looks top-lit. Well, that's why they call it a "cheat" :p

Tobian
12-19-2012, 05:42 AM
I'll have a go later. flip the values, but I imagine it will be about the same, if I understand unified sampling. Also the caveat regarding tertiaty reflection bounces shouldn't affect those test scenarios, on the outer shells, since it's a single bounce.

I suspect the reason they look different is the scattering of the rays and the bsdf's being totally different: specular and diffuse models are just different. In theory it would be better to build a reflection based diffuse bsdf, but that's boyond my skills :-)

Tobian
12-19-2012, 05:44 AM
double post :-)

Tobian
12-19-2012, 09:54 AM
Raised the samples to 8 for shaders and 8 for MC and lowered the AA samples to 4

Yeah bit of a disaster really. Looks pretty much the same but the MC one took about 50% more time and the reflection one took hmm, 3 times as long :) The interpolated one took 10% of the time :D

I know this scene isn't exactly good at stressing the engine, but yeah MC is epic slow still! Just a bit faster and more controllable with unified sampling. and yeah, both results seem to be similar as before really... Just less optimised, and slower...

toby
12-19-2012, 05:21 PM
regarding tertiaty reflection bounces shouldn't affect those test scenarios, on the outer shells, since it's a single bounce.
Yea that's true if it's only reflecting the dome -


I suspect the reason they look different is the scattering of the rays and the bsdf's being totally different: specular and diffuse models are just different.
Err that's what I said - but so do your MC and interpolated renders. It's a tradeoff in the same way, as is phong to cook-torrance. Not to mention all the other gotcha's I listed! It's only going to work for a few things. As for interpolated gi I haven't been testing it because it's not very good for animations.

toby
12-19-2012, 05:28 PM
Raised the samples to 8 for shaders and 8 for MC and lowered the AA samples to 4

Yeah bit of a disaster really. Looks pretty much the same but the MC one took about 50% more time and the reflection one took hmm, 3 times as long :) The interpolated one took 10% of the time :D

I know this scene isn't exactly good at stressing the engine, but yeah MC is epic slow still! Just a bit faster and more controllable with unified sampling. and yeah, both results seem to be similar as before really... Just less optimised, and slower...
You may have to use 9.6 to get the same results as I do, or it needs to be tweaked to work with unified. 2 samples of MC looks horrible in a simple test in 9.6.

toby
12-19-2012, 09:18 PM
Here's the scene with the 0 to 100k, reflection-to-diffuse gradient in case anyone's interested. HDR compliments of Openfootage.net (they have 10k hdr's!)