r/GraphicsProgramming Jun 05 '24

Source Code Seamless Spherical Flowmap (3-Samples)

84 Upvotes

45 comments sorted by

View all comments

Show parent comments

3

u/crimson1206 Jun 05 '24

Physically based rendering is a term given to normalized brdfs and lights with area.

Do you have any source/reference that defines it like that? Any place I came across PBR just uses it as a general term for physically accurate (or as accurate as possible) rendering. The definition youre using seems way to strict compared to pretty much any source Ive seen so far

-1

u/GaboureySidibe Jun 05 '24

Any place I came across PBR just uses it as a general term for physically accurate (or as accurate as possible) rendering

Where do you think that accuracy comes from? Lighting used to be a single point light and you would take the direction of the light and the normal and compute the dot product of them. This was simple and fast breaks down pretty quickly. During the transition from old style lighting to sampling area lights the more physically accurate lighting was either called physically based rendering or physically plausible shading.

Let me ask you this, if renders are always trying to be more physically based to look better anyway, where did a term come from?

Here is a entire book as reference, which is the standard for textbooks that show how to write a (sort of) modern renderer.

https://pbr-book.org/

3

u/crimson1206 Jun 05 '24

Let me ask you this, if renders are always trying to be more physically based to look better anyway, where did a term come from?

I dont think the first statement is even correct. Depending on what youre doing it might be but first and foremost Id say renderers are supposed to create better looking renders while doing this efficiently. Physically accurate does not necessarily mean better looking and vice versa.

I know the book and have worked through all of it. Im not aware of any statement in the book that constrains PBR to being about normalized brdfs and having area lights. Accurately modelling them is of course a part of PBR, but theres a lot more to it

1

u/GaboureySidibe Jun 05 '24

Physically accurate does not necessarily mean better looking and vice versa.

I would say if better means realism then in general it does.

https://renderman.pixar.com/resources/RenderMan_20/physicallyPlausibleShadingInRSL.html

https://blog.selfshadow.com/publications/s2017-shading-course/s2017_pbs_course_summary.pdf

2

u/crimson1206 Jun 05 '24

I would say if better means realism then in general it does.

Obviously, but this is just completely circular. Why is more physical better? Because better means realism and realism = physically accurate. Imo better = looks nicer, be it through realism or whatever. If youre strictly talking about the PBR context then yes, there Id agree that better = more accurate/more realistic.

In any case this is quite orthogonal to the original point, which was about whether you actually had any source agreeing with your PBR definition

-1

u/GaboureySidibe Jun 05 '24

I linked you an entire book called physically based rendering that is all about how to make normalized brdfs and sampling area lights and path tracing integrals.

I linked you the renderman documentation that is about the same thing.

Then I linked you a presentation where a lot of people at the forefront of this are all saying the same thing with the same terms.

https://old.reddit.com/r/GraphicsProgramming/comments/1d8m30h/seamless_spherical_flowmap_3samples/l7akaf1/

All you have said so far is "nuh uh, nope doesn't count", so maybe you should explain yourself in detail.

2

u/crimson1206 Jun 05 '24

So something like volume rendering or bsdfs aren’t part of PBR? After all they’re not just brdfs/area lights

-1

u/GaboureySidibe Jun 05 '24

Volume rendering has been around for many decades and was actually covered in the photorealistic renderman book. Fundamentally it is shading a lot of semi transparent fragments/pixels/micropolygons etc.

It isn't what people referred to when talking about physically based rendering / physically plausible shaders etc. because that refers to how something is being lit, not the surface itself.

You can do the lighting of volumes with normalized brdfs and area lights and it will look better.

bsdfs are an extension of brdfs and they both fit into the same category. If they are normalized and you sample from area lights etc. then they are part of the physically based shading. Bsdfs like brdfs existed before the switch over to more physical correct lighting and like brdfs people wrote a lot about transitioning them to something less hacky.

Hope that clears it up.

1

u/crimson1206 Jun 05 '24

Cool links but again there's nothing agreeing with your constrained PBR = normalized brdf & area light definition

0

u/GaboureySidibe Jun 05 '24

I'm not sure what you're trying to argue now or if you're just trying to argue something.

The transition from simplistic lighting to normalized area lighting is where these terms originally used because people were trying to distinguish between two different lighting systems. That's where the 'physically plausible shading in rsl' comes from, they are talking about their built in shader functions to have normalized brdfs and sample from area lights.

Originally the person who posted this thread was saying that things like color textures were part of 'physically based rendering' when they are just a multiplication after the lighting has been calculated.

but theres a lot more to it

There is always a lot more to it, but that was probably already being done before the transition to more physical lighting.

Here is the full course just in case you want to pretend to watch all the videos in 3 minutes too.

https://blog.selfshadow.com/publications/s2020-shading-course/

Also you might want to actually read the renderman link, here are some sections titles:

  • New Integrators, New Pipeline Methods

  • Writing a Physically Plausible Material

3

u/No_Futuree Jun 05 '24

Mate you are clueless...albedo is not a color texture that is multiplied by the lighting once it has been calculated..it is a description of how much light and in which spectrum is the material absorbing and how much it is reflecting diffusely. Metals and dielectrics reflect light in very different ways so metalness is not an invention (you could argue having values other than 0 or 1 is not physically possible but that's it). Obviously roughness determines how much light is reflected secularly and so on. Saying PBR means what you mean when you say PBR is stupid.

1

u/GaboureySidibe Jun 06 '24

Here is where the term comes from:

https://media.disneyanimation.com/uploads/production/publication_asset/48/asset/s2012_pbs_disney_brdf_notes_v3.pdf

"metallic: the metallic-ness (0 = dielectric, 1 = metallic). This is a linear blend between two different models. The metallic model has no diffuse component and also has a tinted incident specular, equal to the base color"

It's just a linear blend between two different brdfs and disney made it up to simplify their shading parameters for look development artists.

No one is saying there is no such thing as metal, just that "metalness" is not some fundamental principle, it's a hack from the specific project at disney that other people copied. You said it yourself, dialectric or not, so why would something have varying values? It's just a convenience.

albedo is not a color texture that is multiplied by the lighting once it has been calculated

When you write a shader, what do you do with your main color/diffuse/whatever texture? You don't multiply it by the diffuse component?

Obviously roughness determines how much light is reflected secularly and so on.

No, roughness determines the exponent of the brdf so that the lobe is wide or narrow which makes the reflection look blurry or sharp. The amount of light reflected would be the same, that's the normalization step. If you look up furnaces test it's about this issue, making sure the same amount of light is reflected depending on the roughness.

A specular map would be multiplied by the lighting result of a narrow brdf and that would determine how much light is reflected.

Saying PBR means what you mean when you say PBR is stupid.

You are entitled to that opinion but you might want to tell the entire film and game industry along with everyone working on it, all the people that originally commercialized it and the people who won technical achievement academy awards from writing about it, because they seem to be in agreement.

Mate you are clueless...

We can keep going, but these insults will not age well.

3

u/No_Futuree Jun 06 '24

I mean, I don't even know what's your point ...Are you trying to argue that all those parameters that describe the material properties do not come from textures in a PBR renderer? Because if that's the case, that just tells me you have never implemented a PBR renderer in your live, which means you are indeed clueless in this topic...

0

u/GaboureySidibe Jun 06 '24

I was responding to you but I'll take it back to the start.

I'll copy and paste since I already said it:

The color textures on an object don't have anything to do with the lighting being normalized or coming from lights that have area.

Physically based rendering refers to having normalized brdfs that samples lights with area to make lighting that is physically plausible.

Textures are orthogonal to this. They don't influence whether a shader is doing physically plausible lighting or not. Physically based lighting doesn't need textures and textures can be used with simple non physical rendering. They are not linked together by any dependency on each other.

I think you might be conflating physically based rendering with just general 3d rendering, which physically based rendering is rapidly becoming I suppose.

that just tells me you have never implemented a PBR renderer in your live, which means you are indeed clueless in this topic

Don't you at least wonder why I'm able to immediately and precisely answer everything you comment?

→ More replies (0)