2013-10-07 18:57:54 +0000 <edwardk> i'm a bit distracted but i can answer questions as i free up
2013-10-07 18:58:14 +0000 <edwardk> btw- i have a pile of random colorimetry data on my github
2013-10-07 18:58:21 +0000 <edwardk> i never did consolidate it into a package
2013-10-07 18:58:42 +0000 <edwardk> https://github.com/ekmett/colorimetry
2013-10-07 18:59:02 +0000 <Jeanne-Kamikaze> I have a series of questions that I would like you to respond really fast
2013-10-07 18:59:18 +0000 <edwardk> start firing =)
2013-10-07 18:59:22 +0000 <Jeanne-Kamikaze> ehm, not that you should respond really fast, anyways
2013-10-07 18:59:32 +0000 <edwardk> hahahahaha
2013-10-07 18:59:41 +0000 <Jeanne-Kamikaze> so I've been looking at these brdfs implementations, and it's generally 3 functions: f, sample_f, and rho
2013-10-07 19:00:24 +0000 <Jeanne-Kamikaze> 'f' seems to be the brdf itself, the ratio. For example, for a perfect lambertian surface, f(wi,wo) = material_colour / pi
2013-10-07 19:00:26 +0000 <Jeanne-Kamikaze> is this correct ?
2013-10-07 19:00:54 +0000 <Jeanne-Kamikaze> wait, I assume you're familiar with these implementations ?
2013-10-07 19:01:13 +0000 <Jeanne-Kamikaze> I am looking here for example: http://mpac.ee.ntu.edu.tw/~chiakai/project_ward/
2013-10-07 19:01:27 +0000 <Jeanne-Kamikaze> code being: http://mpac.ee.ntu.edu.tw/~chiakai/project_ward/src/ward.cpp
2013-10-07 19:02:01 +0000 <edwardk> f is the value of the distribution function given the two vectors one for the light and one for the eye
2013-10-07 19:04:08 +0000 <ocharles> Jeanne-Kamikaze: not to cut in, and i'm also not sure if this is relevent - but have you read 'Advanced Lighting and Materials with Shaders'?
2013-10-07 19:04:09 +0000 <Jeanne-Kamikaze> nope
2013-10-07 19:04:09 +0000 <ocharles> if you have time at some point, have a look and see if it's any interest
2013-10-07 19:04:10 +0000 <ocharles> i have a copy and it's doing nothing, so if you pay for postage you're welcome to have it
2013-10-07 19:04:10 +0000 <Jeanne-Kamikaze> where are you ?
2013-10-07 19:04:10 +0000 <ocharles> London
2013-10-07 19:04:23 +0000 <Jeanne-Kamikaze> sure then :D
2013-10-07 19:04:33 +0000 <edwardk> if you don't care about the angle, as in you are a Lambertian surface, then the result is just some constant.
2013-10-07 19:04:34 +0000 <edwardk> reflectivity / pi
2013-10-07 19:04:34 +0000 <edwardk> yeah
2013-10-07 19:04:42 +0000 <ocharles> just have a look and make sure it's relevant to you :)
2013-10-07 19:04:44 +0000 <Jeanne-Kamikaze> right, sorry
2013-10-07 19:04:48 +0000 <ocharles> then email me details ollie@ocharles.org.uk
2013-10-07 19:05:06 +0000 <edwardk> sample_f is used when you need something like a perfect mirror. you need one of the angles to determine the other more or less.
2013-10-07 19:05:08 +0000 <Jeanne-Kamikaze> so what is sample_f then ?
2013-10-07 19:05:48 +0000 <edwardk> th problem with f itself is it isn't useful for a perfect mirror. you want the reflectance to suddenly spike at one point
2013-10-07 19:05:59 +0000 <Jeanne-Kamikaze> the way I understood sample_f, is that given the reflected vector w_o, you wanna find it potential incidental vectors w_i that may have contributed to the radiant along w_o
2013-10-07 19:06:09 +0000 <edwardk> it has a kind of dirac delta like behavior
2013-10-07 19:06:11 +0000 <Jeanne-Kamikaze> *radiance
2013-10-07 19:06:43 +0000 <Jeanne-Kamikaze> so for example, for a lambertian surface, sample_f would sample the normal-oriented hemisphere