Jump to content
  • Advertisement
Sign in to follow this  
Promit

Your preferred or desired BRDF?

This topic is 2054 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm just curious what everyone's using nowadays, or what you'd like to investigate looking forward. I guess Normalized Blinn Phong is the easy starter choice, and Cook-Torrance is a popular model amongst the more expensive ones. But I'm wondering what else is out there and what the advantages and disadvantages of those models are.

 

Also, what BRDF do you want to use that is currently near feasible? What would you choose if your min spec was 3x SLI GTX Titans? ;)

Share this post


Link to post
Share on other sites
Advertisement

If you are interested in a good overview of the semi-standard lighting models, take a look in the Lighting section of Programming Vertex, Geometry, and Pixel shaders.  Jack wrote a good, in-depth discussion of each of them individually, and the shader code should be at least a good starting point for your work (assuming HLSL of course...).

 

P.S.: My preference is: all of them!  Make your material system flexible enough to swap them in and out with data definitions!

Naturally -- this isn't an engineering thread. I'm just a bit tired of seeing the same four or so BRDFs over and over again and I was hoping for a wider view of the subject.

 

L.Spiro -- it looks interesting and I like a couple things about it. Something about the look of the brighter specular areas really goes down poorly with me though. I'm not sure it's the BRDF though; the highlights are very blown and I'm wondering if maybe I'm just not happy with the choice of tonemap in those shots. The roof of the orange car looks very odd to me, and the specular on the blue one is awfully wide. 

Edited by Promit

Share this post


Link to post
Share on other sites

I went over my shader again and found 2—count them—2 places where I used wrong dot products.

One should have been HdotL but was HdotN and the other should have been HdotN but was HdotL.

 

I also realized a way to remove a sqrt().

 

 

float Nu = fAnisotropy.x;
float Nv = fAnisotropy.y;
float Ps_num = sqrt( (Nu + 1) * (Nv + 1) );
 

Ps_num can be calculated ahead of time and sent to the shader.

 

I will post my results later but the crap specular you noticed is fixed.  I have been wondering about that for a long time too but every time I went over my shader I missed those little letters.

 

 

L. Spiro

Share this post


Link to post
Share on other sites

Naturally -- this isn't an engineering thread. I'm just a bit tired of seeing the same four or so BRDFs over and over again and I was hoping for a wider view of the subject.

There are pictures too - just pretend those ugly equations aren't there :P

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!