Volumetric Light-Scattering Attempt

toneburst's picture

I'll post the QTZ after I've cleaned it up a bit.

a|x

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

.lov.'s picture
Re: Volumetric Light-Scattering Attempt

nice work!

cybero's picture
Re: Volumetric Light-Scattering Attempt

Cartoon Sugar Cubes - nice :-)

franz's picture
Re: Volumetric Light-Scattering Attempt

sw33t !

toneburst's picture
Re: Volumetric Light-Scattering Attempt

Thanks guys!

a|x

dust's picture
Re: Volumetric Light-Scattering Attempt

man tb your rocking this glsl stuff. i have to give you props for really pushing qc's limits. its like somehow you find a limit and you break it, its sweet would love to see how this is done.

gtoledo3's picture
Re: Volumetric Light-Scattering Attempt

This looks like a combo of your SSAO stuff, but like you added the fake light halo thing that comes from zoom blur when you use it as a mask, but like you did some other shananigans to get it more shadow like. With the pulse/color change middle, it really makes it look like that is a spotlight! This is very gnarly.

toneburst's picture
Re: Volumetric Light-Scattering Attempt

It's not really like the SSAO effect, as it doesn't actually take scene depth into account at all. The trick is to render the foreground objects as black in a pre-pass with the light-source comped in behind then, apply the light-scattering shader (which is essentially a zoom blur, with some extra physics-related parameters) to this texture, then additively blend the lit foreground objects in on top.

I managed to avoid rendering the geometry twice by rendering them with an RIA, then using the alpha-channel of the result to extract the foreground elements as black on a transparent background.

Anyway, rather than explaining the whole thing, I'll just post the QTZ as-is.

a|x

toneburst's picture
Re: Volumetric Light-Scattering Attempt

Here it is.

Work in progress, no guarantees, if it makes your computer blow up, not my fault, etc.

a|x

PreviewAttachmentSize
tb_NVVolumeLight_100709.qtz20.13 KB

gtoledo3's picture
Re: Volumetric Light-Scattering Attempt

That's really nice... that one hits one some of my big "likes". I'm really into effecting stuff like light rays, shadows... and then anti-aliasing, mipmapping, and adding subtle reflections to surfaces. Those are all the light touches that really make something amazing.

I mean, we pretty much are all going for "real time stuff" (well, sometimes I totally go the opposite route)... but it occurs to me how the Skywalker ranch would have killed to have a tool like QC for stop animation stuff. I can't even begin to fathom what could come out of QC with an art department on the front end, and a mix of using it for basically realtime setups and stop time stuff for more complex, to make an animated movie.

Anyway, I love this... I have done that cop out of the zoom blur mask to get a kinda light ray in the past, but always thing of it as a "cheat" technique, because it is contingent upon someone really NOT looking at it too hard to leave the right impression... THIS, is nice and polished. The only thing I see (not to take away at all), is that certain positions of light/cube placement make some striations in the light/shadow pattern...

I feel like this was right under my nose :) Kudos times a million.

toneburst's picture
Re: Volumetric Light-Scattering Attempt

Hey, thanks for the positive feedback!

gtoledo3 wrote:
The only thing I see (not to take away at all), is that certain positions of light/cube placement make some striations in the light/shadow pattern...

Yes, true. I think maybe it's supposed to do that. The other thing to look out for is that beams (or shadows) from apparently further-away geometry also tend to fall on apparently-nearer objects in an unrealistic way. There's no way around that, as far as I can tell, except maybe for multi-pass rendering, or maybe somehow also rendering a depthmap and taking depth into account at the compositing stage. I've still not found a decent way of rendering a depthmap though, so that's out, at the moment.

a|x