1280x720

maxresdefault (1).jpg

๐Ÿงต PBR

Anonymous No. 869566

Someone explain to me why anyone in their right mind would use metalness as a texture. How can this realtime hack find its way into serious rendering workflows?
>the material is both metal and not metal
>the other shader attributes will fit to both just fine, hurr durr

Anonymous No. 869568

>>869566
>>the material is both metal and not metal

Because that is how real world materials work. Think the carbon in carbon steel is metal? Composites, ceramics, amalgams, minerals all exhibit metallic and dielectric properties simultaneously to some degree.

I agree the term sounds retarded but it's whats been established by PBR models to describe this phenomena.

Anonymous No. 869569

When you see 'metalness' what it means in terms of physics is where does this pixel sit between being a conductor and insulator on a scale from one to zero?

That's not a realtime hack but a property that describes something that happens in reality as well.

Anonymous No. 869570

>>869568
By that logic you would have to determine the precise percentage of metal in each material, and assign it accordingly. A metalness texture is supposed to only be black and white with no grayscale.

Anonymous No. 869574

>>869569
thats a good way of thinking about it

Anonymous No. 869577

>>869570
who fucking said that lol

Anonymous No. 869581

>>869570
Retard

Anonymous No. 869586

>>869566
>metal has rust
>rust isn't metallic
There's your real-world use for metallness on something that is both metallic and dielectric.

Here's some other uses
>painted metal with scratches showing metal underneath
>metal has impurities in it that have dielectric properties
>metal has mud/dirt/wallpaper paste all over it
>combined maps for a single object with multiple materials

While ideally a metallic map should only be black and white, that's a good way to get sharp edges and aliasing if you're not careful. Having it be grayscale is a good way of making the boundaries between metallic/dielectric a little bit more pleasing to the eye.
That being said, using values between 0-1 can also be handy for things that lets light through a bit. Like on the painted metal w/scratches example, maybe the scratches don't totally go through to the metal, but some of the metal's properties still show up since the paint layer is extremely thin from the scratch.

Anonymous No. 869588

>>869586
>Like on the painted metal w/scratches example, maybe the scratches don't totally go through to the metal, but some of the metal's properties still show up since the paint layer is extremely thin from the scratch.
nobody works like this

Anonymous No. 869594

>>869588
What are you talking about, everybody works like that. Have since forever.
Like the bulk of every real world surface you set out to describe in detail is gonna have
stains, oils, scratches and all kinds of impurities and imperfections across that surfaces
that will need to alter the spec/gloss of that surface to look correct..

In standard PBR terms what used to be 'specular' and 'gloss' now translate into how you compose your metal/roughness map.

>How can you not work like that anon?

Anonymous No. 869595

>>869594
...what?

Anonymous No. 869596

How to replicate materials like satin without it tho

Anonymous No. 869602

>>869588
Just because you're not capable of wrapping your head around common practices doesn't mean everyone else can't.
You're projecting your own ineptitude on the public at large and thinking that if you're incapable of doing something then it's not used in any meaningful capacity.
>If I don't use a seatbelt, everyone else must not either! The ones that do are clearly wrong, because I KNOW I'm right!

Anonymous No. 869605

>>869602
you're an idiot. Metallic is either 0 or 1. If you have layers you use a layered material system like Lama which lets you build up physically correct layers with each layer being either 0 or 1. There is no partially metallic in PBR metal rough. There is only full 0 or 1 in layers (lama)

Fuck off.

Anonymous No. 869608

>>869588
FFS Have you ever created a metal surface with dirt sticking to it? Going all the way with the metallic channel always produces sharp and ugly borders and make the dirt standout too much.
It makes sense if the dirt is thick and covers the surface fully, but if its something thin and see through like a fluid using grey instead of white in the metallic channel makes total sense and is usual practice.
Especially with real-time graphics when you don't have the texture budget for 4K metallic or alpha maps.

Anonymous No. 869611

>>869608
see >>869605

>>869608
>Especially with real-time graphics when you don't have the texture budget for 4K metallic or alpha maps.
you're making a hell of a lot of assumptions in regards to what rendering techniques and optimizations im using - note - i havent disclosed any information

Anonymous No. 869618

>>869566
noob here is it wrong to use specular roughness workflow instead of metal roughness? I just recently bumped into the problem that Arnold in Maya doesn't support specular roughness so my textures looked like shit because none of the metal parts looked metal

Anonymous No. 869626

I don't get it either.
>metalness is a mask over the albedo texture to specify whether it is a dielectric or conductive surface
>even with energy conservation, internally is still treated as specular colour once seperated from albedo
>despite this, several pieces of literature insist specular is "outdated", rather than an alternate way of specifying the colour of specular reflection for complex materials
>used primarily as a memory saving technique in realtime rendering
What am I missing here? It's dumb.

Anonymous No. 869627

>>869626
When light hit's a surface it's either absorbed and scattered in many directions - Diffusion, or reflected as when striking a mirror - Specularity.
The distribution how the light diffuses and reflects along the orientation of a surface is in physics called the 'Bidirectional reflectance distribution function'.
The so called 'BRDF' you prob heard about. Every shader that seeks to phenomenologically emulate what nature does try to match reality in materials BRDF.
Because science investigated light interactions long before CGI existed we borrowed all these terms for our shaders from there.

It's now confusing because unlike science there is no set aggreement as to exactly what the terms we use actually mean in computer graphics.
"Specular workflow is outdated" is then this sweeping statement about how legacy shading (blinn/phong)is outdated.
But in science 'specularity' is just a word that means you're talking about a mirrorlike reflection so many PBR shaders written by people who
know what these terms mean will still use that name for the reflected component of their shader and ofc include workflow for setting that specular value somewhere.

You may often happen on PBR shaders that call 'albedo' 'diffuse' for example, because that is the correct name for it.
Albedo in science does not mean color of diffused light, it's just a 0-1 measurement of how bright something is. The labels get switched around
depending what shader you use and may mean quite different things to different shaders, you will need to learn how the one you are working with behaves.
And just be aware that not all of them behaves the exact same way.

Anonymous No. 869629

>>869626
>>despite this, several pieces of literature insist specular is "outdated", rather than an alternate way of specifying the colour of specular reflection for complex materials

Because they're referring to pre PBR workflow where a spec map was mainly used rather than a roughness and a spec map.

Spec/gloss or spec/roughness is an alternative PBR system to metal/roughness that is actually objectively better, some engines like cryengine only allow spec/gloss

Anonymous No. 869634

>>869569
>>869577
>>869581
https://polycount.com/discussion/171689/pbr-the-problem-with-greyscale-metalness
>Metalness is a rendering optimization. Full stop. There is no real life property "metalness."

>We use this texture, which is stored in a multi use GBuffer with one channel, as a per pixel interpolator to inform the shader where to make those optimizations.

>By adjusting this value to be outside the typical range (greyscale) you create an predictably unpredictable result.

>When you use a grey value for metallness you end up mixing the GBuffers together. No longer is your base color map used explicitly for specular or explicitly for albedo. You end up mathematically using the same texture to define two values, both of which do not represent what the actual texture looks like.

It's a hack.

304x547

tenifer.jpg

Anonymous No. 869644

>>869634
Not a hack at all, bulk of all realworld surfaces have impurities diffused into them as permanent stains or surface grime
This will cause the surface to scatter light as if sitting somewhere between metal and insulator.

Case and point, look at the slides of these pistols. They show several different stages of what 'metalness' hints at.
The left slide is a surface finish know as 'tenifer' where nitrogen and carbon has intentionally been diffused into the metal to harden it against whetering.
The result is a surface that cannot be described by a metalness of zero or one because it's neither.
You can stick it under a electorn microscope and down to a near molecular level it'll keep display cahracteristics of both.

Salts stains olis and grime will oxidize and discolor all metallic surfaces exposed to the elements over time til they display plenty
of areas where you'll have these subtle and not so subtle transitions between more conductive and more insulating areas.

Read thru that thread and you'll see people raising this point.

1480x1480

magnetite.jpg

Anonymous No. 869647

>>869634
Metals in nature like found in magnetite ore is another fine example where you can see every conceivable stage between conductor and insulator occur across the surface at once.

Anonymous No. 869661

>>869644
No the optical properties of the materials you describe aren't what you get if you play with pbr metalness, it's not the right formula for the mix. See articles like this for how to achieve it the correct way and stop playing with metalness, it doesn't do what you think it does: https://www.chaos.com/blog/understanding-metalness

Anonymous No. 869662

Retarded OP saged

Anonymous No. 869675

>>869611
>you're making a hell of a lot of assumptions in regards to what rendering techniques and optimizations im using
I don't give a fuck about what you are using, I am informing you about the reality on the ground. Metalness workflow was invented with realtime shaders in mind and that is where it is used in the majority.
Also Mr.Smoothbrain, please tell me what happens to the black and white pixels of an metalness texture that is far away from the camera? If you understand the problem of limited resolution than you also understand why grey in the metalness map is an occurring factor.
Call it a hack or whatever, but it is what it is (a reality).

Anonymous No. 869702

>>869566
It's easier and more straightforward to use.

Anonymous No. 869775

>>869675
>Also Mr.Smoothbrain, please tell me what happens to the black and white pixels of an metalness texture that is far away from the camera?
This is covered in the full original Disney PBR presentation and basically the idea is grey would only even happen due to texture downsampling, and thus on very small, unnoticeable areas (pixel or even subpixel since movie renders are upersampled in the first place), in which case it's an acceptable approximation error, but it should never be present in large areas.

Instead, the PBR-correct way of handling materials that are a dielectric/metallic mix is to compute the full BRDF for both versions (full metallic and full dielectric) and then blend between the two results (which is mathematically not the same as just blending the metalness and computing the result).

The purpose of metalness is not to represent a physical quantity but a switch between two different paths of the PBR ubershader.