Jump to content
  • Advertisement
Sign in to follow this  
rajesh_nest

OpenGL BRDF

This topic is 2537 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 am bored of implementing lighting effects provided by Opengl (GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR). These lights are least realistic.
They lack proper shining effect, glowing effects and the quality varies from mesh modesl to models.

Then Some body suggested to use BRDF lighting. After reading few articles, I am not convinced about its effect.

Are any Graphcs Rendering tools use BRDF? How is it computationaly suitable for large mesh models.

Share this post


Link to post
Share on other sites
Advertisement
What exactly do you mean by BRDF lighting? Do you mean implementing BRDFs in shaders? Which functions are you trying to use? This is a very broad topic that you are talking about, and can basically refer to any lighting model (in fact, the OpenGL standard lighting models are a limited form of BRDF).

Can you describe more about what you have done, want to do, or plan to do?

Share this post


Link to post
Share on other sites
Any kind of lighting uses a BRDF. A BRDF is a function describing how much light reflects off a surface towards the eye/camera, given a certain lighting environment. The fixed-function OpenGL lighting implements a basic form of the Blinn-Phong BRDF.

If you use shaders, you can implement a different BRDF if you wish. Other BRDF's can look substantially better than Blinn-Phong for certain material types, but can also be more expensive. However in your case you would get a huge benefit just by using a fragment shader to implement per-pixel lighting.

Share this post


Link to post
Share on other sites

The fixed-function OpenGL lighting implements a basic form of the Blinn-Phong BRDF.



So, you mean Opengl lights GL_LIGTH0, GL_LIGTH1.. are a form of BRDF.


[color="#1C2837"] Other BRDF's can look substantially better than Blinn-Phong for certain material types, but can also be more expensive. However in your case you would get a huge benefit just by using a fragment shader to implement per-pixel lighting.


What are the other BRDF functions.

What kind of lighting does Meshlab, VTK and other graphics packages support? I don't think they use shaders. Because they give high quality lighting in machines without graphics card.





Share this post


Link to post
Share on other sites
I don't know what BRDF's those packages support, I'm not familiar with them. Some other common BRDF's are Phong, Cook-Torrance, Ward Anisotropic, Oren-Nayar, and Ashikhmin-Shirley.

Share this post


Link to post
Share on other sites


What are the other BRDF functions.

What kind of lighting does Meshlab, VTK and other graphics packages support? I don't think they use shaders. Because they give high quality lighting in machines without graphics card.



Shaders and BRDF are not a graphic card related concept: they existed before and they exist outside the game domain. Renderman and Mental ray both support the Renderman language which allow 'shaders'. BRDF is a function: you can implement it by software or by hardware, it's the same.
It happens that OpenGL and DirectX implement simplified and non physically plausible versions of that function (for performance reasons, of course) and that you can make use of pixel fragments to implement any other BRDF you like. There are BRDF that emulate velvet, other that emulate brushed metals, and other that emulate plastic. Skin and glass and other materials also have BRDF.

I don't know which one are used today for real time rendering, but offline rendering uses quite a few of them:


[color=#1C2837][size=2]Some other common BRDF's are Phong, Cook-Torrance, Ward Anisotropic, Oren-Nayar, and Ashikhmin-Shirley.
[color="#1c2837"][/quote]
[color="#1c2837"]

[color="#1c2837"]and more.
[color="#1c2837"]The important thing is that a brdf descibes how the incident and the reflected light are related.


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!