0,0 → 1,102 |
((function refract |
(signature float |
(parameters |
(declare (in) float i) |
(declare (in) float n) |
(declare (in) float eta)) |
((declare () float k) |
(assign (x) (var_ref k) |
(expression float - (constant float (1.0)) |
(expression float * (var_ref eta) |
(expression float * (var_ref eta) |
(expression float - (constant float (1.0)) |
(expression float * |
(expression float * (var_ref n) (var_ref i)) |
(expression float * (var_ref n) (var_ref i)))))))) |
(if (expression bool < (var_ref k) (constant float (0.0))) |
((return (constant float (0.0)))) |
((return (expression float - |
(expression float * (var_ref eta) (var_ref i)) |
(expression float * |
(expression float + |
(expression float * (var_ref eta) |
(expression float * (var_ref n) (var_ref i))) |
(expression float sqrt (var_ref k))) |
(var_ref n)))))))) |
|
(signature vec2 |
(parameters |
(declare (in) vec2 i) |
(declare (in) vec2 n) |
(declare (in) float eta)) |
((declare () float k) |
(assign (x) (var_ref k) |
(expression float - (constant float (1.0)) |
(expression float * (var_ref eta) |
(expression float * (var_ref eta) |
(expression float - (constant float (1.0)) |
(expression float * |
(expression float dot (var_ref n) (var_ref i)) |
(expression float dot (var_ref n) (var_ref i)))))))) |
(if (expression bool < (var_ref k) (constant float (0.0))) |
((return (constant vec2 (0.0 0.0)))) |
((return (expression vec2 - |
(expression vec2 * (var_ref eta) (var_ref i)) |
(expression vec2 * |
(expression float + |
(expression float * (var_ref eta) |
(expression float dot (var_ref n) (var_ref i))) |
(expression float sqrt (var_ref k))) |
(var_ref n)))))))) |
|
(signature vec3 |
(parameters |
(declare (in) vec3 i) |
(declare (in) vec3 n) |
(declare (in) float eta)) |
((declare () float k) |
(assign (x) (var_ref k) |
(expression float - (constant float (1.0)) |
(expression float * (var_ref eta) |
(expression float * (var_ref eta) |
(expression float - (constant float (1.0)) |
(expression float * |
(expression float dot (var_ref n) (var_ref i)) |
(expression float dot (var_ref n) (var_ref i)))))))) |
(if (expression bool < (var_ref k) (constant float (0.0))) |
((return (constant vec3 (0.0 0.0 0.0)))) |
((return (expression vec3 - |
(expression vec3 * (var_ref eta) (var_ref i)) |
(expression vec3 * |
(expression float + |
(expression float * (var_ref eta) |
(expression float dot (var_ref n) (var_ref i))) |
(expression float sqrt (var_ref k))) |
(var_ref n)))))))) |
|
(signature vec4 |
(parameters |
(declare (in) vec4 i) |
(declare (in) vec4 n) |
(declare (in) float eta)) |
((declare () float k) |
(assign (x) (var_ref k) |
(expression float - (constant float (1.0)) |
(expression float * (var_ref eta) |
(expression float * (var_ref eta) |
(expression float - (constant float (1.0)) |
(expression float * |
(expression float dot (var_ref n) (var_ref i)) |
(expression float dot (var_ref n) (var_ref i)))))))) |
(if (expression bool < (var_ref k) (constant float (0.0))) |
((return (constant vec4 (0.0 0.0 0.0 0.0)))) |
((return (expression vec4 - |
(expression vec4 * (var_ref eta) (var_ref i)) |
(expression vec4 * |
(expression float + |
(expression float * (var_ref eta) |
(expression float dot (var_ref n) (var_ref i))) |
(expression float sqrt (var_ref k))) |
(var_ref n)))))))) |
|
)) |