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.
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?
Can you describe more about what you have done, want to do, or plan to do?
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.
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.
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.
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.
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.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement