Is it possible to simplify this calculation so that one can get rid of the division? These are all float numbers:
float depthLinear = projMatrix_43 / (depthNonLinear - projMatrix_33);
Is it possible to simplify this calculation so that one can get rid of the division? These are all float numbers:
float depthLinear = projMatrix_43 / (depthNonLinear - projMatrix_33);
The denominator depends on depthNonLinear, and you are using it only once. No way to precompute it.
You can construct a crude approximation of function projMatrix_43 / (depthNonLinear - projMatrix_33) given a range of depthNonLinear and constant projMatrix_43 and projMatrix_33 values, but I wouldn't bet on making it both faster than the exact computation (one subtraction and one division) and accurate enough.
The denominator depends on depthNonLinear, and you are using it only once. No way to precompute it.
You can construct a crude approximation of function projMatrix_43 / (depthNonLinear - projMatrix_33) given a range of depthNonLinear and constant projMatrix_43 and projMatrix_33 values, but I wouldn't bet on making it both faster than the exact computation (one subtraction and one division) and accurate enough.
That's what I suspected. Thanks for the input!