Original Post
I've been looking into implementing a BRDF reflection on some objects using directx 9.0c and a HLSL shader. I'm a little confused on the theory however. My understanding is that a particular BRDF models the properties that a specific material has (say gold) when light hits it. So you use two different cube maps and simply calculate the reflected vector from the camera to the object and determine the texture coordinates for the two cube maps. My question is if the input position into both cube maps is the same, why do you need two separate cube maps? Couldn't you just merge them into one and save the calculation. Obviously this isn't correct and there is a simple, logical explanation. Is it that you don't simply use the reflected vector of the object to calculate the environment map texture coordinate? Or that the two cube map positions are calculated in a different way each, to give you two different positions on each cube map. Cheers.