August 01, 2009

Masking & Smart Filters

When you’re using Smart (re-editable) Filters in Photoshop, you can apply a single mask to all the filters on an object. Why, then, doesn’t the app let you mask each one independently? This question came to mind when photographer Ellen Anon said,

But my main request is that each Smart Filter needs its own mask. PLEASE!!!!

I know. There’s no question about the desirability of this support. The details are tricky, however.

The fundamental problem here is how to make filters live-update as you alter their source data. If you’ve read my post on The Secret Life of Smart Filters, you know that we purposefully chose to impose some indirection, making it harder to feel like you should be seeing filters updating in real time as you paint.

Let’s say you’ve created a Smart Object, and you’ve applied Filter A & then Filter B. The source data that B will process depends on the results of A (including A’s mask, if one existed). If each filter had its own mask, then painting on A’s mask would demand one of two things:

  • B either has to keep running/updating as you paint (read: slow, at least in a lot of cases) or
  • B must be shut off while you’re painting, then later re-enabled (when?).

The more filters you stack, the more demanding they are, and bigger your brush and/or file, the more processing wallop would be required to keep things interactive. And even if it were all infinitely fast, there’s the big challenge of how to deal with filters that transform/offset pixels (see aforementioned post).

These aren’t impossible problems, but they aren’t easy to solve, either. We don’t want to set you up for a crappy experience.

Posted by John Nack at 7:25 AM on August 01, 2009

Comments

  • ValkyrieStudio — 8:08 AM on August 01, 2009

    I always appreciate when you explain this kind of thing, John. It’s something I’ve thought about sometimes when using Smart Objects, so I have to come up with creative workarounds. It’s another one of those “can’t you guys just do this”? things to the normal person, but when you hear it explained, it makes sense why it doesn’t happen.
    I expect you’d get much more complaints if you gave us all what we THINK we want, so thanks for looking out for the end user (even if you get accused of doing otherwise).

  • Steve Laskevitch — 8:18 PM on August 01, 2009

    Right on, ValkyrieStudio! I get asked about this single mask limitation every time I teach Smart Filters. I stumble when I try to explain why I think we’re limited to one mask…it’s great to have a concise explanation to refer to.

  • Eric Peacock — 10:16 PM on August 01, 2009

    I’ve wondered why on this myself, but that always leads me back to thinking that having Smart Filters working at a decent speed is fantastic.
    Smart Filters changed everything for me since I’m pro working non-destructively. They work great and my biggest hang up is addressed in CS4 (which I can’t afford yet): linking a mask to a Smart Object layer.

  • Les Holz — 8:14 AM on August 02, 2009

    A little taste of the Oshkosh Air Show.
    http://www.avweb.com/eletter/archives/avflash/1428-full.html#200930
    :)>

  • thinsoldier — 7:08 PM on August 15, 2009

    Hire some of the people who worked on real-time viewport display of complex shaders in any of the many 3d apps capable of showing very good approximations of very complex layered shaders.
    Honestly I’d trade real-time performance for super-high quality ‘rendered’ results later.
    But I think the main problem is that ALL the old standard photoshop filters need to be re-done, sped up dramatically, UIs made consistent, etc, before you do anything else involving filters.
    And it’s about time you added some new ones!
    Sure the community’s going to make some with the new super-fast flash based filter thing but it sucks when the author of your favourite community filter doesn’t get around to updating it for the next release, or worse, dies!

Copyright © 2014 Adobe Systems Incorporated. All rights reserved.
Terms of Use | Privacy Policy and Cookies (Updated)