Re: Core Image in FxPlug example
site_archiver@lists.apple.com Delivered-To: pro-apps-dev@lists.apple.com Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=dk20050327; d=earthlink.net; b=VTQnbjY9QdL/gZzX2sjdHbN3XJ4M1pG7GcZWiBJXyGtncn/MNJAY8wUeDC8kFl7f; h=Received:Cc:Message-Id:From:To:In-Reply-To:Content-Type:Mime-Version:Subject:Date:References:X-Mailer:X-ELNK-Trace:X-Originating-IP; Seems FRIGHTFULLY inefficient... why not use the RGBA values for this? I am confused, Patrick On Apr 28, 2009, at 9:01 AM, Darrin Cardani wrote: So let's say the grayscale version of your map image looked like this: 0.75 0.89 0.23 0.52 It takes (0.75 - 0.89) = -0.14 as the x offset It takes (0.75 - 0.23) = .52 as the y offset Does that make sense? Darrin On Apr 27, 2009, at 5:53 PM, Patrick Sheffield wrote: Thank you Darrin - this helps a lot. Thanks, -- Darrin Cardani dcardani@apple.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Pro-apps-dev mailing list (Pro-apps-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/pro-apps-dev/site_archiver%40lists.ap... This email sent to site_archiver@lists.apple.com So - it requires 4 pixels to determine which direction to shift each pixel? How can that work? Does it scan starting at the upper left and take the pixel and its right most and then the two pixels below it to determine where to move the first pixel? and how could I even build such a buffer, since the value that was subtracted to determine the first pixel's displacement is being subtracted FROM to determine the second pixel. And what happens at the right/bottom edges? Glad it helps! It looks to me like Displacement Distortion is using the magnitude and direction of edges in the map image to offset pixels in the source image. I believe it first converts the map image to grayscale, then finds the difference of each pixel with its neighbors in the x and y directions. It multiplies the x and y differences by the scale parameter and uses the resulting vector as an offset from the current pixel in the source image. It then multiplies those values by the scale parameter. Let's say it's set to 25, so it comes up with an offset of (-3.5, 13). It adds that to the current (x,y) coordinate and samples the input image at (x - 3.5, y + 13). I wonder if you could shed some light on a specific CoreImage filter - specifically DisplacementDistortion... In Shake and in FxScript, the X-Displacement is governed by one channel in the displace image and the Y-Displacement by another. I can't find any documentation on the CI filter as to how it handles this. Patrick smime.p7s
participants (1)
-
Patrick Sheffield