#include #include float fresnelReflectanceAtNormal_f(float index) { float partial = (1.0f - index) / (1.0f + index); return partial * partial; } double fresnelReflectanceAtNormal_d(double index) { double partial = (1.0 - index) / (1.0 + index); return partial * partial; } float blinToBeckmann_f(float alpha) { return sqrtf(2.0f / (alpha + 2.0f)); } float beckmannToBlinn_f(float slope) { return 2.0f / (slope * slope) - 2.0f; } double blinToBeckmann_d(double alpha) { return sqrtf(2.0 / (alpha + 2.0)); } double beckmannToBlinn_d(double slope) { return 2.0 / (slope * slope) - 2.0; } int main() { float xf; double xd; int l; l = scanf("%f", &xf); l = scanf("%lf", &xd); printf("%f\n", fresnelReflectanceAtNormal_f(xf)); printf("%lf\n", fresnelReflectanceAtNormal_d(xd)); printf("%f\n", blinToBeckmann_f(xf)); printf("%lf\n", blinToBeckmann_d(xd)); printf("%f\n", beckmannToBlinn_f(xf)); printf("%lf\n", beckmannToBlinn_d(xd)); }