Hey guys,
I created this thread for us to discuss blurring cube maps by a texture. I got this idea from EarthQuake who mentioned this in another thread. I found this to be very interesting to grasp and learn so here we go.
I'll start with a test case in Maya viewport, using a CGFX shader I have been tinkering a bit with today. This shader selects what Mip Map level to be used by sampling a "roughness" texture.
[ame]
http://www.youtube.com/watch?v=zO76loR_vbQ[/ame]
I'm curious what your opinions on this are. When do you modulate this? In a similar fashion as how you reason when defining specular gloss/roughness level or is this something totally different? My spontaneous thought is they would be the same.
Replies
I think it's really interesting to see the result you can achieve using the same cubemap but varying the gloss over it.
I think you can pretty much always rely on you wanting the cubemap roughness to be the same as the specular roughness most (all?) of the time. So having one map to control that would work imo.
Someone asked in the other thread for a game that uses this, Darkest of days is a game that i've worked on(and am allowed to talk about =P) that uses IBL for its base lighting system. DoD actually uses HDR cube maps as well, but only had a material set-able glossiness setting. The newest version of marmoset has proper per pixel gloss now.
3 Point Shader is something else to look at to get an idea of how this works, there are a lot more values exposed here, so much more room to experiment and get a good idea of how it all works. You can also load a ambient and reflection cube separately, and blur them separately too. Spiting the ambient and reflection into two separate maps allows you to do more advanced effects.
Generally, for film and games, most IBL systems will be based off of Debevec's work.
http://ict.debevec.org/~debevec/Research/LS/
http://gl.ict.usc.edu/skyprobes/
GPU gems:
http://http.developer.nvidia.com/GPUGems/gpugems_ch19.html
IBL has been around for quite some time, I dont have a list of games that use it off the top of my head, but it is quite common these days, and becoming even more common.
maybe there's a setting somewhere that solves that problem in udk.
examples looks very nice and i'd absolutely prefer using that instead of normal specular - even on rougher surfaces.
It can be used for really great effect, to simulate glossiness values with a cube.
And yeah, to re-inforce what's been said here, using ATI cubemapgen for this is pretty much absolutely necessary unless you have some engine-specific method for blurring your cube-mips (or generating several cubemaps at lower resolutions).
Read more about how to do this on the polycount wiki page for diffusely convolved cubemaps!
yeah, that. was just referring to cubemaps generated and downressed in udk having the seams. when exporting them and importing them again it's okay
How do you re-import them with their own pre made mips? I though the UDK could only handle texture formats that couldn't carry mips. It doesn't like DDS files to my knowledge.