Confused about BRDFs

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

Thread Tools Search this Thread Display Modes
Old 01 January 2004   #1
Confused about BRDFs

Hello everyone,

I've read alot about BRDFs for realistic image synthesis recently and I don't really understand what they are and what data they provide and how one would actually IMPLEMENT a particular BRDF in a e.g. Mental Ray or RenderMan shader.

Can anybody give me some hints or point me to some ressources?

thanks alot
Old 01 January 2004   #2
BRDF stands for Bi-directional Reflection Distribution Function. From what I understand, it just refers to the method used to calculate the fall off of specularity across a surface. so it basically takes a surface color and specular setting and interpolates from the angle of one normal to the next. Blinn, Phong, and anisotropic are all examples. There's a ton of resources and turotials out on the net. just do a search for BRDF. The only one I have any interest in currently is this one:

Old 01 January 2004   #3
Oops. This is a bit more spacific:
Old 01 January 2004   #4
thanks for the link ngrava
and you're right: actually there ARE tons of resources out there. I really don't know why I haven't found them in the first place :-(
Old 01 January 2004   #5

that is the best book on the subject that I have seen to this day.
Old 01 January 2004   #6
it's all phooey. all you need is a Blinn!

You can have your characters photoreal, fast or cheap. Pick two.
Old 01 January 2004   #7
@array: thanks, I'm gonna check that out. Actually I heard alot of good things about that book. I might be a good start...

@playmesumch00ns: what do you mean?
Old 01 January 2004   #8
Jenen's book sure is good, and it outlines the Photon Mapping approach really well, but I'm not sure if it's a good introduction to BRDFs. I'm reading it right now, and I think I'd be lost if I hadn't prior experience in rendering and shading - I would not have understood Jensen's explanation of radiosity if I hadn't read about it before.

I think the "traditional" books like Watts' "Advanced Animation and Rendering Techniques" are probably better suited as an introduction.
Old 01 January 2004   #9
I think they used a bit of Lafortune pretty effectively for Gollum (along with some Blinn). The maths is a little crazy though getting equations to approximate a sampled real illumination.

You can probably get away with standard RenderMan spec (based off Cook-Torrance - I think Maya's is kinda based off this too).

Most of the time a bit of displacement, environment maps and plenty of motion blur/grain disguises most of it from what I've seen.

Old 01 January 2004   #10
I looked into that LaFortune stuff a bit after it came up in relation to a post on c.g.r.renderman I think.... looked interesting, but kinda like one of things where you've got some guy at Stanford solving it all with a 100-term differential equation, but some other bloke gets just the same result by calling specular() 3 times with different parameters...

Do you have any good references for LaFortune, Simon?

M-J: What I mean is 9 times out of 10, just using a lambert with a blinn specular highlight will get you perfectly good results. On some occasions you need to use something different for anisotropic highlights, for example. Good textures and good lighting negate the need for a complex BRDF in most cases, imo.

If you're still having trouble with what BRDF actually is, it works like this. For a given point on the surface, the BRDF basically tells you how much of the light from a given light source is reflected off the surface towards the viewer.

The simplest example is Lambert's diffuse model. This states that the intensity of the reflected light is proportional to the cosine of the angle between the light's direction vector and the surface normal.

You can have your characters photoreal, fast or cheap. Pick two.
Old 01 January 2004   #11
No I don't really have any more information. There is a lafortune RenderMan shader by Stephen Westin here.
The velvet shader that comes with RenderMan is based off of his work.

Also they did some crazy real world based BRDF stuff on the Matrix triology - slight overkill from what I've seen here -

Very impressive, but you can have a real headache if you don't get the data you need.

I definitely agree about good texturing and lighting. Shader writing tends to be more about providing an architecture for it all to work in.

Getting good wrapping spec still isn't too easy though which is what a lot of the complex BRDF's do nicely.

Of course you could just move your lights a bit

Old 01 January 2004   #12
Cheers Simon, I'll have to pick that apart together with the paper. From a cursory examination seems like a lot of experimentally-determined results?

Have to agree about the overkill on the Matrix, though I thought it did work well in some cases, in others it just looked wrong (thinking particularly of the cloth shaders).

As a shader writer myself, I'd have to say there's a lot more goes into the mroe interesting shaders than just doing the texture calls... but a lot of the grunt work is little more than that.

You can have your characters photoreal, fast or cheap. Pick two.
Old 01 January 2004   #13
No problem. If you find anything useful that you can divulge then please do let me know (if not here by email).

Old 01 January 2004   #14
Looking into it now... I like this whole idea of having a bunch of coefficients to play around with. I'll knock up an interface in slim so as to control wavelength triplets all at the same time and do some experimentation... let you know what I dig up...

First few results indicate that the "blue paint" coefficients provided in that web page are quite similar to an oren-nayar with a roughness coefficient of about 0.3-0.5, but nicer looking... could be promising.

You can have your characters photoreal, fast or cheap. Pick two.
Old 01 January 2004   #15
I think that is the biggest problem with something like this - making an interface that is understandeable with meaningful knobs. Most artists aren't going to understand these coefficients - heck I only vaguely know what they mean.

This means either connecting them up cleverly, having a list of presets (easiest approach), or having some very clever interactive GUI.

Although looking at it I guess he has just done the scientist thing and compressed it into once huge array which could be split up. And the colour matrix is pretty unnecessary.

To be honest you might be able to get away with removing the wavelength dependent stuff (although of course I haven't read the original paper yet )

Thread Closed share thread

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Society of Digital Artists

Powered by vBulletin
Copyright 2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump

All times are GMT. The time now is 01:07 AM.

Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.