Ultimate BRDF ?

Started by
8 comments, last by Pragma 16 years, 2 months ago
Which BRDF can be considered the most "generally realistic", best covering common case scenarios in real world ? I implemented Oren-Nayar and it looked a bit "clay-ish" but generally a lot nicer than standard phong/lambert, but i'm trying to do a deferred shading render and since everything needs to go trough the "uber" shader i would like to find the "most generic" one ... number of parameters doesn't really matter since i managed to pack Oren-Nayar roughness into diffuse alpha, position Z into normal alpha i got one four channel texture free (i could even pack normal as xy only, and gain 5 shading parameters extra). It's really not for anything practical so it can be slow, I'm building this as a showoff for (possible in the future) junior job interviews, so i'm going for the visual impression and physical correctness rather than scalability and performance.
Advertisement
I would recommend Strauss' model. Whilst it doesn't introduce anything fundamentally new it does provide an intuitive 'interface' to most of the BRDF characteristics you'll find in other models. It's also fairly clean and easy to implement.

The section of our Direct3D 10.1 book I'm writing has a chapter on Strauss and I included the following image:


(also in my journal)

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Quote:Original post by jollyjeffers
I would recommend Strauss' model. Whilst it doesn't introduce anything fundamentally new it does provide an intuitive 'interface' to most of the BRDF characteristics you'll find in other models. It's also fairly clean and easy to implement.

This paper? Or is there another one?
--
Quote:Original post by Enrico
This paper? Or is there another one?
Yup, that's the one. You have to purchase it as there aren't any freely available versions online. University libraries tend to stock old journals though so you might be able to get a look at it for free...

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Quote:Original post by jollyjeffers
Quote:Original post by Enrico
This paper? Or is there another one?
Yup, that's the one. You have to purchase it as there aren't any freely available versions online. University libraries tend to stock old journals though so you might be able to get a look at it for free...

Great, paying for a 18 years old paper :-(

As you have already implemented it: Is it really worth it?? I have not looked into buying this paper yet, so I am not sure about the price...

--
there surely is no "best BRDF". BRDFs are separated into three classes: mathematical, physical and empirical. an example for the latter class is the widely-spread Phong BRDF, though it violates energy conservation and reciprocity. most mathematical models sample real-world measured BRDFs and compress them using dimensional reduction. disadvantage: they cannot be changed afterwards, like the physical models can. probably the most flexible model is the microfacette BRDF by M. Ashikhmin, where you manually define the microfacette distribution.

so what do you want to render?


greetz,
nick
If this is for Ray Tracing, I'd like to invite you to the ompf-community: http://ompf.org/forum

We have realtime and non-realtime phorums, sections about optimization wizardry and and all other things related to the church of Ray Tracing :)
I'd cast my vote for Schlick, it's very general, fast and easy to implement. The "similar documents" on the page I linked above also contains a general survey of reflectance models.
"Math is hard" -Barbie
Sorry for the long reply delay

@jollyjeffers
That looks like the thing i was looking for, but i have to pay for it, and thats not an option due to the place i live (not Germany as the profile says ill have to change that and stop entering random info in to reg forms :D ) - is there any shader code / implementation that i can look trough ?


Quote:Original post by Pragma
I'd cast my vote for Schlick, it's very general, fast and easy to implement. The "similar documents" on the page I linked above also contains a general survey of reflectance models.

That's the exact opposite of what i had in mind if you read my original post.
Quote:Original post by RedDrake
That's the exact opposite of what i had in mind if you read my original post.


Yes, I read it. You said you wanted something general, but it didn't have to be fast. You never said it had to be slow.

I also read my own post. Which says that the Schlick model is quite general.

I also read the papers by Schlick, in which he describes a very general model that allows for any degree of anisotropy, microfacet distribution and multi-layered materials by including features from a wide range of previous reflectance models. It just so happens he also shows how to make it fast.
"Math is hard" -Barbie

This topic is closed to new replies.

Advertisement