Home Quixel Megascans

IN PROGRESS: blinn-phong calibration not correct for ggx shaders...

ngon master
Offline / Send Message
almighty_gir ngon master
Hi there,

I was just wondering if you guys had any plans to look into the disparity between the calibrated values you're using (i'm assuming they're calibrated for blinn-phong) for glossiness when using shaders other than blinn-phong?

an observation i've made is that, with metals in particular, surfaces don't look as they should...

for example Blinn-Phong on the left, GGX on the right:

brushed metal
o9cRKmP.png

galvanized metal
8UjPOPr.png

dirty steel
dITB1Fj.png

dusty metal
wC78RTL.png

aluminium
oDtYnJm.png

tin
6XDiylz.png

and here's that last one after i added a slight curve adjustment to the gloss map.
piSWj1x.png

and here's the shape of the curve i used.
NZ3F40S.png'



Now, i understand that the overall shape of a highlight from ggx should be quite different from blinn-phong. but i would argue that if you checked your source materials visually and then compared the output materials generated in quixel, you'd probably find that the ggx materials just don't look the same as your real world materials/sources.

I'm trying to do some conversion math on my end and if i manage to get anything solid i'd be glad to share, but in the mean time it might be nice to get confirmation from Quixel that they know about this and they're working on it as well? otherwise Quixel suite isn't really what it claims to be when looking at any engine that uses ggx as its shader model (ie: quixel suite isn't physically accurate in those cases).

Replies

  • marks
    Options
    Offline / Send Message
    marks greentooth
    ...any engine that uses ggx as its shader model...

    Which is basically every engine that adheres to PBR ¬_¬
  • almighty_gir
    Options
    Offline / Send Message
    almighty_gir ngon master
    marks wrote: »
    Which is basically every engine that adheres to PBR ¬_¬

    yes and no...

    ggx is seemingly becoming the standard, but a lot of people see this:

    (D * G * F) / (4 * NoL * NoV)

    and go "that's ggx". but it's not... it's the cook-torrance BRDF which allows people to use a whole bunch of different math for their shader. the most important part being D, for Distribution (or more specifically Normal Distribution Function (NDF)).

    ggx and blinn-phong are just two types of NDF.

    i know you already know that Mark, just posting for the sake of educating others who don't. i believe Treyarch are using a blinn-phong based cook-torrance BRDF, for example.
  • teddybergsman
    Options
    Offline / Send Message
    Hi almighty_gir,

    Thanks for bringing this up. You are right, the DDO beta does not yet have GGX support and the gloss curves are currently calibrated for Blinn-Phong BRDFs. This is a blunder on my end, and the calibration profiles have now been updated to support the GGX model in the upcoming 1.4.

    Thanks again,
    - Teddy
  • almighty_gir
    Options
    Offline / Send Message
    almighty_gir ngon master
    Cheers Teddy!

    Just wanted to say this wasn't posted as any kind of disliking of dDo or anything, just an observation.
  • Electro
    Options
    Offline / Send Message
    Electro polycounter lvl 18
    Great thread almighty_gir

    I've also been struggling to find any way to match the look of 3do in a game engine. It appears the values that 3do are using are manipulated before being displayed. So trying to plug in the textures output from dDo into another engine is never in sync. I understand what Teddy is saying in that the gloss curves are wrong, but is there also something else to do with ranges and curves being manipulated in the shader that isn't publicly documented/available?
  • Goeddy
    Options
    Offline / Send Message
    Goeddy greentooth
    man i've been tweaking around this for ages, cause ggx highlights just look better :/ and somehow more realistic.

    gues 1.4. is not coming before petrol blood deadline

    i dunno but marmoset realy has no chance against 3do... i've tried dual reflections all kinds of exposures and fresnelintensities, nothing helps

    tumblr_najj2vwwtL1sljkhxo5_r1_1280.png

    next thing im going to try is artificially increase contrast in my HDR skyboxes
  • Add3r
    Options
    Offline / Send Message
    Add3r polycounter lvl 11
    Goeddy wrote: »
    next thing im going to try is artificially increase contrast in my HDR skyboxes

    Just saw this thread. yeah, if you are able to pop a specific LDR/HDR reflection map into the material, could push the levels together so your whites are white and you darks are dark with very little between. This way you are simulating the harsher specular highlight with the smaller range of brights. That is the one way I could think about getting around this, its a common tactic for water shaders from what I have experienced. Using the nice gradients found in a standard skybox will smooth out the spec highlights and give the water a glossier coating on its surface without any trickery or harsh normal/displacement to create peaks on the surface.
  • teddybergsman
    Options
    Offline / Send Message
    Hey guys! 1.4 has finally been released and with that comes GGX support. Since UE4 imports Roughness as sRGB by default the GGX adjusted roughness is exported as sRGB for the UE4 calibration profile. Let me know if this is an issue. Hoping UE4 export should be a little less painful now!

    Thanks,
    - Teddy
  • Eric Williams
    Options
    Offline / Send Message
    Eric Williams polycounter lvl 16
    Goeddy wrote: »
    man i've been tweaking around this for ages, cause ggx highlights just look better :/ and somehow more realistic.

    gues 1.4. is not coming before petrol blood deadline

    i dunno but marmoset realy has no chance against 3do... i've tried dual reflections all kinds of exposures and fresnelintensities, nothing helps

    tumblr_najj2vwwtL1sljkhxo5_r1_1280.png

    next thing im going to try is artificially increase contrast in my HDR skyboxes

    How can you compare overcast hillside in Marmoset, to a sunset in quixel?
  • Goeddy
    Options
    Offline / Send Message
    Goeddy greentooth
    because im stupid lol

    jokes aside i spent way more time testing this then i should have.
    didnt try the new ggx export yet, hope this makes my life a bit easier.

    also some shots with overcast in ddo
    tumblr_nbp4sdBWNi1sljkhxo2_1280.png

    and marmoset
    tumblr_nbp4sdBWNi1sljkhxo1_r1_1280.png
  • Eric Ramberg
    Options
    Offline / Send Message
    Goeddy - have you tried it yet, if so any luck? :)
  • Eric Williams
    Options
    Offline / Send Message
    Eric Williams polycounter lvl 16
    How'd you get an overcast sky into ddo? Maybe drop hdr image into the proper directory? I thought the software was stuck to the 5 background images. First 3 are outdoor with the sun out, the last 2 are indoor. You can find the sun with the default plane set to high reflectivity.

    I've been calibrating with Pisa courtyard, 3rd environment in 3d0, mostly because both marmoset and quixel have it. And some of my other softwares, too. Seems a very common hdr/exr image.
  • Goeddy
    Options
    Offline / Send Message
    Goeddy greentooth
    it is stuck to the 5 background images as far as i know, the overcast is one of those 5.
    the "sun" in there is just a pointlight they added in there.

    anyways if you have been calibrating with pisa courtyard you probably noticed the discrepancies aswell.

    Eric, the GGX calibration export doesn't seem to work for me right now, im gonna report back as soon as i manage to get some results.
  • Eric Ramberg
    Options
    Offline / Send Message
    hi guys!

    We´re looking in to the opportunity to add custom hdri images to 3do!
    Goeddy looking forward to your report!
  • Eric Williams
    Options
    Offline / Send Message
    Eric Williams polycounter lvl 16
    Sorry for being difficult. You are right, 3do render engine does give different results it's a bit of an odd duck. I can match a lot of other renders a lot closer. Including Modo (software render), Substance, Marmoset and Cryengine can all be matched very close with the same set of output images from Substance Designer or DDO. Haven't really decided which texturing software I like best yet, no reason they can't work together. They both snagged my money on a sale, lol. Anyway.

    Load 3do up all by itself. Test with the plane or sphere, set spec between half and full, gloss all the way. Easier to see the background this way, too blurry checking with "use Backdrop" off.

    Scene 1 the sun is not overcast, it's coming around the side of the building right by where the image was taken. The buildings in the distance have a hard light on them, tall church with the bell tower?

    Scene 2 the hillside, with sunset.

    Scene 3 pisa courtyard, another sunset, over the top of the buildings.

    Scene 4 and 5 are both interior, if I remember one is window light and the other is some overhead lights.

    All the scenes are very contrasty compared to an overcast sky.

    The lights turn off when you turn on image based reflections, I think? Checking that box off and on shows the scene lights disappear and the background image appear. Again using the default plane or sphere set to reflective so things are very clear. It looks as if the scene lights turn off.

    The first scene looks as if the main light is right on top of the sun by default, give the background a spin (shift drag), toggling the "image based reflections" shows the light doesn't go along for the ride. So, I don't think the scene is lit with anything but the image when image based reflections are on? Question mark for uncertainty.


    Again, sorry for being a pain. If I'm incorrect about any of this, let me know.
  • chris6666
    Options
    Offline / Send Message
    Hi guys, any news about this problem ? We encouter same issues using marmoset toolbag 2.

    In fact, boosting the gloss map seems to be an unappropriate answer to the problem : the intensity is better but you still get very different (less natural) highlights.
    For example with skin, boosted glossiness makes it look as plastic with GGX and is far more correct with blinn-phong.

    I will be interested to hear what you guys at Quixel think about that ? For us it seems that blinn-phong model is a better fit to reality than GGX...(maybe this is why 3DO uses it ?)
Sign In or Register to comment.