The reciprocity of BRDF Many books describe that a BRDF has the following property (reciprocity):

$$f_r(x, \Theta \to \Psi ) =  f_r(x, \Psi \to \Theta)$$

Why is the above equation correct?

I think the above equation should be changed as follows:

(because the two symbols $\Theta$ and $\Psi$ are direction vectors)

$$f_r(x, \Theta\to \Psi ) =  f_r(x,  -\Psi \to -\Theta)$$

What is my mistake?
(I am very confused about the concept.)
You probably know that the BRDF is to calculate the reflected light, from a light source to a camera (In examples a light source and a camera is used, but it does not need to be just that). 

The property that you are talking about, basically says that when you swap the light source with the camera, it still gives the same result.

Lets look at an example I quickly made.


Ok, so here you see the basic setup. You have a light source, a camera and a point on a surface. Wi is the direction towards the light, the incoming direction. Wo is the direction towards the camera, the outgoing direction. N is the normal of the surface.

The property says that if we switch Wi and Wo with each other the result is the same.

The example would then look like this.


This looks normal and logical. You said that you should invert the direction vectors. If we do that, this is then our result.

You can see that it now looks like the surface is illuminated from the other side, and since the normal is not inverted, it will end up looking black.

So that is where you made your mistakes. The property says that you can swap the incoming and outgoing vectors and the result will still be the same. This is called the Helmholtz reciprocity. And where you might got confused was this part "how a ray of light and its reverse ray encounter matched optical adventures" (from the wikipedia). But it is not talking about the inverse (multipled by -1) but about the outgoing ray of the event in something like a reflection or refraction.

I recommend reading up on the Helmholtz reciprocity. For example on the wikipedia: https://en.wikipedia.org/wiki/Helmholtz_reciprocity 

I hope I explained this properly, and if I made any mistakes, I am happy to learn and fix this answer.

Good luck with your adventures through the computer graphics universe!