diff options
author | Kenneth Graunke <[email protected]> | 2010-06-09 13:27:16 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2010-06-09 13:27:16 -0700 |
commit | 539f29323f16717da25502f7b0e2846289ef1399 (patch) | |
tree | a6c099299ecf85e871216ae872b5f405d63c4c47 /builtin_function.cpp | |
parent | 29b22287fe18afe5b2c55878a59046edad544089 (diff) |
Implement 'faceforward' builtin.
Diffstat (limited to 'builtin_function.cpp')
-rw-r--r-- | builtin_function.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/builtin_function.cpp b/builtin_function.cpp index bdcf891d851..754a721c7e7 100644 --- a/builtin_function.cpp +++ b/builtin_function.cpp @@ -689,6 +689,46 @@ static const char *builtins_110_exp2 = { "))\n" }; +static const char *builtins_110_faceforward = { + "((function faceforward\n" + " (signature float\n" + " (parameters\n" + " (declare (in) float N)\n" + " (declare (in) float I)\n" + " (declare (in) float Nref))\n" + " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n" + " ((return (var_ref N)))\n" + " ((return (expression float neg (var_ref N)))))))\n" + "\n" + " (signature vec2\n" + " (parameters\n" + " (declare (in) vec2 N)\n" + " (declare (in) vec2 I)\n" + " (declare (in) vec2 Nref))\n" + " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n" + " ((return (var_ref N)))\n" + " ((return (expression vec2 neg (var_ref N)))))))\n" + "\n" + " (signature vec3\n" + " (parameters\n" + " (declare (in) vec3 N)\n" + " (declare (in) vec3 I)\n" + " (declare (in) vec3 Nref))\n" + " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n" + " ((return (var_ref N)))\n" + " ((return (expression vec3 neg (var_ref N)))))))\n" + "\n" + " (signature vec4\n" + " (parameters\n" + " (declare (in) vec4 N)\n" + " (declare (in) vec4 I)\n" + " (declare (in) vec4 Nref))\n" + " ((if (expression bool < (expression float dot (var_ref Nref) (var_ref I)) (constant float (0)))\n" + " ((return (var_ref N)))\n" + " ((return (expression vec4 neg (var_ref N)))))))\n" + "))\n" +}; + static const char *builtins_110_floor = { "((function floor\n" " (signature float\n" @@ -2215,6 +2255,7 @@ static const char *functions_for_110 [] = { builtins_110_equal, builtins_110_exp, builtins_110_exp2, + builtins_110_faceforward, builtins_110_floor, builtins_110_fract, builtins_110_greaterThan, |