Home Technical Talk

Physicaly based viewport shader for max?

polycounter lvl 19
Offline / Send Message
doc rob polycounter lvl 19
Does anyone know of a viewport shader for max that uses the increasingly popular physically based approach - instead of determining specular reflections with a specular map, you use a specular mask and a roughness/smoothness map. This is a fairly common approach these days, but every max viewport shader I know of uses the traditional approach.

Thanks in advance for any recommendations.

Replies

  • Computron
    Options
    Offline / Send Message
    Computron polycounter lvl 7
    I am not sure there are any freely available. I wish there were some nice PBR viewport shaders for max.

    Meanwhile, wouldn't the built-in mental ray and it's custom shaders suffice if you are just looking for some portfolio renders? I know it's not real-time, but the Realtime and Offline rendering worlds have been converging recently, at least feature-wise. Obviously there are some large exceptions, like with special types of materials that include things like SSS, etc. in addition to the offline renderers' insanely high Image Quality.

    However, most game model portfolio renders today are already post processed and anti-aliased far beyond whats possible in realtime. I'm not sure that that would be considered 'cheating' since a lot of those features are at least partially supported in next-gen realtime graphics, but IDK, I want to know what you guys think.
  • sueds
    Options
    Offline / Send Message
    sueds polycounter lvl 11
    Why don't you implement one by yourself ? I mean you can add a fresnel equation on a classic blinn phong shader.

    http://www.thetenthplanet.de/archives/255

    here's a good link.

    I did implement on myself ( not quite this one) for maya and that quite simple.
  • sueds
    Options
    Offline / Send Message
    sueds polycounter lvl 11
    Also don't be afraid by all the math Just by understanding the overall concept you could implement it.
  • marks
    Options
    Offline / Send Message
    marks greentooth
    errrrr, no. The entire point of physically based is that the math is really quite important.
  • doc rob
    Options
    Offline / Send Message
    doc rob polycounter lvl 19
    @Computron Thanks for the idea, but real time is required for the use I have in mind.

    I guess the answer is no! Thanks everybody for your replies.
  • haiddasalami
    Options
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Would be a fun project. Havent done much shaders in a while haha
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    How physically correct are you looking for? Blinn with a proper graze and surface fresnel with an Oren Nayar will have about 90% of your needs covered, since it would be the easiest way to implement a large number of materials.

    However, if for example you're doing Skin, then you need Blinn + Phong due to surface curvature which is impossible to mimic with a single specular.

    If you're looking for a specific type of metal, then Cook-Torrance, for all it's artist unfriendly parameters, would serve well, but cannot be used for much else.

    Anything in particular you're looking for?
  • doc rob
    Options
    Offline / Send Message
    doc rob polycounter lvl 19
    UPDATE!

    1. It looks like Drew++ is working on a PBR shader in the Tech Artists WAYWO thread.

    2. I also found a solution that is pretty damn sweet. I had never heard of Octane Render, but it's a GPU renderer that is near real-time and uses PBR

    http://render.otoy.com/

    Check it out!
  • Joshua Stubbles
    Options
    Offline / Send Message
    Joshua Stubbles polycounter lvl 19
    The thing with physical materials is that they need glossy reflections, not specularity. Specularity is fake gloss. Everything reflects the world around it, just to varying degrees of roughness. Gloss masks need to be used to interpolate between different f0 values for the material you're trying to simulate. So that means the max shader would have to step down mip levels on the cubemap you're using for IBL, in order to simulate those f0 values. There definitely aren't any true physical material shaders for max's viewport right now, certainly not free at least. You can pick up Marmoset Skyshop for Unity, which is as close as you're going to get until Toolbag 2 comes out, unless you write your own plugin/shaders.
  • [HP]
    Options
    Offline / Send Message
    [HP] polycounter lvl 13
    The thing with physical materials is that they need glossy reflections, not specularity. Specularity is fake gloss. Everything reflects the world around it, just to varying degrees of roughness. Gloss masks need to be used to interpolate between different f0 values for the material you're trying to simulate. So that means the max shader would have to step down mip levels on the cubemap you're using for IBL, in order to simulate those f0 values. There definitely aren't any true physical material shaders for max's viewport right now, certainly not free at least. You can pick up Marmoset Skyshop for Unity, which is as close as you're going to get until Toolbag 2 comes out, unless you write your own plugin/shaders.

    This! Spec maps are slowly becoming a thing of the past! Gloss maps (aka roughness maps) are all we're gonna need in the near future! And I can't fucking wait.

    ss_materials.png

    http://www.marmoset.co/skyshop
  • Pedro Amorim
    Options
    Offline / Send Message
    Well, specular is still needed. Just call it, specular reflection.
    You still need specular to define materials.
  • Drew++
    Options
    Offline / Send Message
    Drew++ polycounter lvl 14
    The thing with physical materials is that they need glossy reflections, not specularity. Specularity is fake gloss. Everything reflects the world around it, just to varying degrees of roughness. Gloss masks need to be used to interpolate between different f0 values for the material you're trying to simulate. So that means the max shader would have to step down mip levels on the cubemap you're using for IBL, in order to simulate those f0 values. There definitely aren't any true physical material shaders for max's viewport right now, certainly not free at least. You can pick up Marmoset Skyshop for Unity, which is as close as you're going to get until Toolbag 2 comes out, unless you write your own plugin/shaders.

    Not exactly right! They absolutely need specularity, since it's part of the BRDF equations which drive these shaders! It's the core of a "microfacet". Specular map is 100% must. RGB Specular map controls the f0 of the Fresnel term which controls the reflection intensity/Fresnel and color. The gloss map simply controls the roughness/specular cone angle of any surface. We end up calling this direct lighting. Sorry, no cubemaps here! In game engines we use punctual light sources (directional / point / spot lights) for direct lighting.

    Indirect Lighting we generally call ambient lighting, which is comprised of diffuse ambient, and specular ambient( our cubemap reflections ). The cubemap reflection uses a pre-blured mipmap which should be blurred according to our BRDF term. We use the gloss map to select the mip level. The color and brightness of ambient specular also relies on a Fresnel f0, which is controlled by an RGB specular map!

    Coming soon!
    pbr_fxshader.jpg
  • .Wiki
    Options
    Offline / Send Message
    .Wiki polycounter lvl 8
    Well, specular is still needed. Just call it, specular reflection.
    You still need specular to define materials.
    Right.

    The point is that most renderers and engines treat reflections and specular as different parts of the shader. For example the 3dsmax standard material. Even with vray or mentalray you can seperate specularity and reflectivity, but then it gets physically inaccurate.
    Game engines currently dont have real specular reflections. Reflectivity allways needs to be set up seperatly, but i guess this will change in the near future.
  • EarthQuake
    Options
    Offline / Send Message
    The thing with physical materials is that they need glossy reflections, not specularity. Specularity is fake gloss. Everything reflects the world around it, just to varying degrees of roughness. Gloss masks need to be used to interpolate between different f0 values for the material you're trying to simulate. So that means the max shader would have to step down mip levels on the cubemap you're using for IBL, in order to simulate those f0 values. There definitely aren't any true physical material shaders for max's viewport right now, certainly not free at least. You can pick up Marmoset Skyshop for Unity, which is as close as you're going to get until Toolbag 2 comes out, unless you write your own plugin/shaders.

    Not quite, as pedro says, just think of it all as specular reflection. You still need a spec or substance map to set base reflectivity, and gloss map to set roughness/glossiness. Though you're right in the sense that specular and reflection shouldn't be thought of as separate components, which they often are in game engines.

    Toolbag 1 actually operates very similar to your average PBL shader works, with how it handles specular reflection. Skyshop is very close to Toolbag 1, though its a little more advanced in some cases, and Toolbag 2 will be a bit more advanced than Skyshop when it comes out as well, with gloss masked fresnel and screen space reflections, among other things.
Sign In or Register to comment.