1. 30 Nov, 2018 1 commit
  2. 10 Sep, 2018 1 commit
  3. 11 Jul, 2018 1 commit
  4. 05 Jul, 2018 1 commit
  5. 04 Jul, 2018 1 commit
  6. 26 Apr, 2018 2 commits
  7. 11 Oct, 2017 3 commits
    • Ell's avatar
      spherize: reduce sphere radius to avoid out-of-bounds sampling · 3f5dafe1
      Ell authored
      Use (width-1)/2 and (height-1)/2 as the radii, rather than width/2
      and height/2, to avoid sampling beyond the center of the outermost
      pixels of the input buffer, so that the abyss color doesn't leak
      in.
      3f5dafe1
    • Ell's avatar
      spherize: disable negative curvatures · 5ce60d58
      Ell authored
      Restrict the "curvature" property to the [0, 1] range.  Negative
      curvatures produce the same result as positive curvatures when the
      angle of view is 0, and the choice of upper bound for their mapping
      to apex angles, depending on the angle of view, is arbitrary,
      unlike positive curvatures.
      
      Note that this commit only restricts the value range of the
      property, while keeping support for negative curvatures in the
      code, since it is trivial.
      5ce60d58
    • Ell's avatar
      spherize: remove keep-surroundings and background-color props · 3df8d5e1
      Ell authored
      They're mostly clutter, and may interfere with future enhancements.
      3df8d5e1
  8. 03 Oct, 2017 1 commit
    • Ell's avatar
      spherize: rename "amount" to "curvature"; add separate "amount" prop · ac86c341
      Ell authored
      Rename the "amount" property to "curvature" (which better conveys
      its function).  Negative curvatures apply the transformation using
      a concave spherical cap, having the same curvature as the convex
      cap of the corresponding positive curvature (restoring the original
      behavior).  Negative curvatures might be dropped later, especially
      since they produce the same result as positive curvatures when the
      angle of view is 0.
      
      Add a separate "amount" property, which controls the scale factor
      for the displacement (as in Photoshop).  Positive amounts use the
      forward mapping, while negative amounts use the inverse mapping.
      ac86c341
  9. 02 Oct, 2017 2 commits
    • Ell's avatar
      spherize: a few fixes · ebbd48e4
      Ell authored
      ebbd48e4
    • Ell's avatar
      spherize: wrap image aroudn the sphere, rather than projecting it atop it · e5f7c10b
      Ell authored
      Chnage the mapping so that the input image is wrapped around the
      spherical cap, rather than projected on top of it.  In particular,
      this produces an effect even when the angle of view is 0 deg.,
      i.e., when the focal length is infinite.
      
      Change the default angle of view to 0 deg.
      
      On a side note, taking a closer look at the Photoshop Spherize
      filter, it uses the "amount" property differently than us.  Both
      filters produce the same effect--wrapping the image around a
      hemisphere--when "amount" is 1 (and the angle of view is 0 deg.,
      which can't be changed in Photoshop.)  Likewise, both filters
      produce the inverse transform when "amount" is -1.  However,
      while we use fractional amounts to control the curvature of the
      spherical cap, by adjusting its apex angle and radius, Photoshop
      uses fractional amounts to scale the full-amount displacement.
      Furthermore, while we use negative amounts to perform the inverse
      transform of the corresponding positive amount, Photoshop uses
      negative amounts to scale the -1 displacemnt, which is *not* the
      inverse transform of the corresponding positive amount.  All in
      all, I like our version better, so I'm keeping it.
      e5f7c10b
  10. 01 Oct, 2017 5 commits