I have just started learning how to use and create shaders in ThreeJS and, while going through some shaders in the example folder, I have come across a bokeh shader. Inside the shader, blur is computed using a formula, but I dont really understand where does this formula come from and what it really computes. Here is some code:
float f = focalLength; // focal length in mm",
" float d = fDepth*1000.0; // focal plane in mm",
" float o = depth*1000.0; // depth in mm",
" float a = (o*f)/(o-f);",
" float b = (d*f)/(d-f);",
" float c = (d-f)/(d*fstop*CoC);",
" blur = abs(a-b)*c;",
What I don't understand is what c is and how I can then use it to compute the blur. For reference, the shader I am talking about is BokehShader2 by Martins Upitis. Can anyone help me out?