site_archiver@lists.apple.com Delivered-To: pro-apps-dev@lists.apple.com Hi Kristian, Both FCP and Motion expect premultiplied output from FxPlugs. - Paul On Jul 22, 2008, at 5:42 AM, Kristian Harms wrote: Thanks for your answers, both Steve and you :-) -- Kristian Harms _______________________________________________ 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/pschneider%40apple.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... Okay, but it seems that to provide consistent output for both Motion and FCP, I'll have to premultiply in one host but not the other. Can you confirm that this is the normal way to do this? Also, since I don't seem to get any information with which I can differentiate between the two cases, except -hostIsMotion et al. FCP will often convert your output back to straight to apply more processing. Motion works premultiplied internally, so in a simple test (one layer, just your generator in a timeline) it will just display your color channels directly to the screen. But you will still see problems when Motion starts using your alpha channel in more interesting ways (adding a shape, or working with more layers). Anyway, isn't half the point of making a generator instead of a filter that I should simply include an alpha channel and leave it to the host app to blend with lower layers? The host composites your output with the layers below, whether you are a filter or a generator (or a transition). But the rules for compositing premultiplied images are different than those for compositing straight images, as I'm sure you're aware. One reason why many compositing applications prefer working premultiplied is that the typical "over" operation is so much simpler; compositing two premultiplied images can be done by simply adding the color channels. Den 21. juli. 2008 kl. 18.32 skrev Darrin Cardani: The third problem is only in Motion: If an FxPlug effect generates pixels that are fully transparent, but have the R, G and B channels set to some non-zero value (e.g. 127 if we're talking UInt8), then Motion won't treat these pixels as fully transparent, but will instead show any underlying layer as "washed out", and the black default background will shine through as grey. This is with the normal blending modes. (Apple guys, the problem ID is #6079465.) As Steve mentioned, this is a problem on your end (and you're not the first person to have this problem). You just need to premultiply your pixel values, and everything will work as expected. Okay, but it seems that to provide consistent output for both Motion and FCP, I'll have to premultiply in one host but not the other. Can you confirm that this is the normal way to do this? Also, since I don't seem to get any information with which I can differentiate between the two cases, except -hostIsMotion et al. Anyway, isn't half the point of making a generator instead of a filter that I should simply include an alpha channel and leave it to the host app to blend with lower layers? This email sent to pschneider@apple.com This email sent to site_archiver@lists.apple.com
participants (1)
-
Paul Schneider