-
1. Re: No color management in Photoshop plugin!?
Kevin Goldsmith May 3, 2010 11:45 AM (in response to SimonTindemans)Actually, PS uses the same technology that is in the plug-in to do their color management, so it is totally possible for us to do that in a future release.
Some of your suggestions are straight-ahead UI features and some (getting the color space of the original image from within Pixel Bender) are language features (ie: bigger). These are all great suggestions though.
Thanks!
Kevin
-
2. Re: No color management in Photoshop plugin!?
SimonTindemans May 3, 2010 1:24 PM (in response to Kevin Goldsmith)Thank you for your response. It's good to know that a color-managed plugin could be in the cards. This would really be useful to me. Among other things, I'd like to port this plugin to PixelBender: http://21stcenturyshoebox.com/tools/tonability.html . It's currently written in C/C++, but programming for the combined Photoshop and win32 SDKs is such a pain that I'd prefer to move on sooner rather than later. Not to mention that a single PixelBender kernel could run on win/mac and 32/64-bit.
I realize that getting access to the color space of the image would require a language change. Furthermore, it would probably require a library (supplied or self-made) to make sense of all possible color spaces, or to transform images to and from standard color spaces. A simpler possibility would be to add a checkbox in the plugin (or a simple kernel option) that imposes a particular reference color space on all inputs and outputs. The plugin container would then take care of transforming the image to the proper space and back again. My personal favorite for such a space would be the linearized ProPhoto space used by Lightroom and ACR, because it's linear and sufficiently large. And if I may dream a little: this choice would also make it easier to insert PixelBender filters into the Lightroom workflow at some point in the future...
About the UI: a particular limitation I am running into is that I cannot control/restrict the sliders based on the values of other sliders. In my case, some inputs should always be higher than other inputs (and using relative numbers is not an option for the UI). The evaluateDependents() function is great for making sure that the kernel gets the right numbers, but there is no way to feed this information back to the user. For example, you cannot disable a slider, restrict its range or change its position from within the kernel. This is no surprise, given the one-way programming paradigm that the GPU is so good at, but a hindrance for writing 'stand-alone' plug-ins. Rather than changing the language to accomodate these features, would it be possible to have a flex/AIR container in the control section of the plugin? The Flex/AIR program could handle the UI, including feedback and other advanced functions, and could feed the PixelBender kernel with the correct parameters. Just another far-fetched suggestion, but it would make my life a lot easier.
Simon


