Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. ((function smoothstep
  2.    (signature float
  3.      (parameters
  4.        (declare (in) float edge0)
  5.        (declare (in) float edge1)
  6.        (declare (in) float x))
  7.      ((declare () float t)
  8.       (assign (x) (var_ref t)
  9.               (expression float max
  10.                           (expression float min
  11.                                       (expression float / (expression float - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))
  12.                                       (constant float (1.0)))
  13.                           (constant float (0.0))))
  14.       (return (expression float * (var_ref t) (expression float * (var_ref t) (expression float - (constant float (3.0)) (expression float * (constant float (2.0)) (var_ref t))))))))
  15.    (signature vec2
  16.      (parameters
  17.        (declare (in) float edge0)
  18.        (declare (in) float edge1)
  19.        (declare (in) vec2 x))
  20.      ((declare () vec2 t)
  21.       (assign (xy) (var_ref t)
  22.               (expression vec2 max
  23.                           (expression vec2 min
  24.                                       (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))
  25.                                       (constant float (1.0)))
  26.                           (constant float (0.0))))
  27.       (return (expression vec2 * (var_ref t) (expression vec2 * (var_ref t) (expression vec2 - (constant float (3.0)) (expression vec2 * (constant float (2.0)) (var_ref t))))))))
  28.  
  29.    (signature vec3
  30.      (parameters
  31.        (declare (in) float edge0)
  32.        (declare (in) float edge1)
  33.        (declare (in) vec3 x))
  34.      ((declare () vec3 t)
  35.       (assign (xyz) (var_ref t)
  36.               (expression vec3 max
  37.                           (expression vec3 min
  38.                                       (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))
  39.                                       (constant float (1.0)))
  40.                           (constant float (0.0))))
  41.       (return (expression vec3 * (var_ref t) (expression vec3 * (var_ref t) (expression vec3 - (constant float (3.0)) (expression vec3 * (constant float (2.0)) (var_ref t))))))))
  42.  
  43.  
  44.    (signature vec4
  45.      (parameters
  46.        (declare (in) float edge0)
  47.        (declare (in) float edge1)
  48.        (declare (in) vec4 x))
  49.      ((declare () vec4 t)
  50.       (assign (xyzw) (var_ref t)
  51.               (expression vec4 max
  52.                           (expression vec4 min
  53.                                       (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression float - (var_ref edge1) (var_ref edge0)))
  54.                                       (constant float (1.0)))
  55.                           (constant float (0.0))))
  56.       (return (expression vec4 * (var_ref t) (expression vec4 * (var_ref t) (expression vec4 - (constant float (3.0)) (expression vec4 * (constant float (2.0)) (var_ref t))))))))
  57.  
  58.    (signature vec2
  59.      (parameters
  60.        (declare (in) vec2 edge0)
  61.        (declare (in) vec2 edge1)
  62.        (declare (in) vec2 x))
  63.      ((declare () vec2 t)
  64.       (assign (xy) (var_ref t)
  65.               (expression vec2 max
  66.                           (expression vec2 min
  67.                                       (expression vec2 / (expression vec2 - (var_ref x) (var_ref edge0)) (expression vec2 - (var_ref edge1) (var_ref edge0)))
  68.                                       (constant float (1.0)))
  69.                           (constant float (0.0))))
  70.       (return (expression vec2 * (var_ref t) (expression vec2 * (var_ref t) (expression vec2 - (constant float (3.0)) (expression vec2 * (constant float (2.0)) (var_ref t))))))))
  71.  
  72.    (signature vec3
  73.      (parameters
  74.        (declare (in) vec3 edge0)
  75.        (declare (in) vec3 edge1)
  76.        (declare (in) vec3 x))
  77.      ((declare () vec3 t)
  78.       (assign (xyz) (var_ref t)
  79.               (expression vec3 max
  80.                           (expression vec3 min
  81.                                       (expression vec3 / (expression vec3 - (var_ref x) (var_ref edge0)) (expression vec3 - (var_ref edge1) (var_ref edge0)))
  82.                                       (constant float (1.0)))
  83.                           (constant float (0.0))))
  84.       (return (expression vec3 * (var_ref t) (expression vec3 * (var_ref t) (expression vec3 - (constant float (3.0)) (expression vec3 * (constant float (2.0)) (var_ref t))))))))
  85.  
  86.    (signature vec4
  87.      (parameters
  88.        (declare (in) vec4 edge0)
  89.        (declare (in) vec4 edge1)
  90.        (declare (in) vec4 x))
  91.      ((declare () vec4 t)
  92.       (assign (xyzw) (var_ref t)
  93.               (expression vec4 max
  94.                           (expression vec4 min
  95.                                       (expression vec4 / (expression vec4 - (var_ref x) (var_ref edge0)) (expression vec4 - (var_ref edge1) (var_ref edge0)))
  96.                                       (constant float (1.0)))
  97.                           (constant float (0.0))))
  98.       (return (expression vec4 * (var_ref t) (expression vec4 * (var_ref t) (expression vec4 - (constant float (3.0)) (expression vec4 * (constant float (2.0)) (var_ref t))))))))
  99. ))
  100.  
  101.