Author Topic: Designer/Photoshop Style Overlay Blend Mode in Painter (sRGB)  (Read 9136 times)

Substance Designer's overlay blending mode seems to work more or less the exact same as Photoshop's, which is great. However, Substance Painter's overlay gives me a very different, and less useful result. Is there something I'm missing, or is there a different blending mode in Painter that does this instead?

Thanks!
Last Edit: January 13, 2016, 08:18:59 pm

The blending mode between Substance Designer and Substance Painter are identical. We used the same formulas for both of our applications. The major difference (based on default settings) is that Painter and Designer perform their computation linear space, while Photoshop is in sRGB.

Can you show a screenshot of the difference that you get between Designer and Painter ? I will not be able to help in comparison to Photoshop however since we don't do our computations the same way.

Last Edit: January 12, 2016, 09:37:24 am
Don't forget your log file. It can be exported from the Help menu of the software.
-----------
Fabrice Piquet aka Froyok. Product Manager, Technical Artist and Documentation at Adobe.

Can you show a screenshot of the difference that you get between Designer and Painter ?

Sure! I put together a quick example showing the results of overlay blending in Photoshop and Designer in comparison to Painter.


http://i.imgur.com/QnZyf61.png - Full size

The first example is the test image I created in Designer, and has no blending applied to it. The Photoshop example was achieved by taking this texture and blending it over a solid fill of #A42E2E using Overlay. The third was made in Designer, and very closely resembles the Photoshop example and was achieved by blending the test image over a Uniform Color node of #A42E2E using Overlay. Finally, the last image was created in Painter by creating a fill layer of #A42E2E and placing the test image over top of it in the layer stack and setting it to Overlay.

As you can see, in my case, the results are very different between Painter and Designer. Also, in case it's relevant, I'm using Designer 5.2.5 and Painter 1.7.1.

When i try to replicate your layer stack in painter with that bricks image, I just get a field of red.  If i swap the order it doesnt look right either.  Are you sure you don't mean multiply instead of overlay?  I get a result closer to yours by using multiply.

Are you sure you don't mean multiply instead of overlay?  I get a result closer to yours by using multiply.

I'm certain it's overlay. I use overlay often, and have a pretty good idea of the sort of results it should produce. In my example, Photoshop and Designer produce nearly identical results. This is the behavior I've come to expect from overlay, which is exactly what I'm hoping to produce in Painter. However, Painter's results are not consistent with typical overlay results in my case.

I'll include a screenshot of my Painter test document, showing my layer stack alongside the UV. I've also set the Viewer Setting's Mode to Solo to ensure this effect is not the result of Painter's shader, lighting, etc.

http://i.imgur.com/DySMeH0.png

Is it possible that the shader/lighting settings are causing it to look darker?  I know that the lighting situation is passed onto the 2d view.

I've also set the Viewer Setting's Mode to Solo to ensure this effect is not the result of Painter's shader, lighting, etc.

As far as I can tell, setting the Viewer Setting's Mode to Solo displays the texture as it would look when exported, essentially bypassing the shader/lighting. So, what you see is what you get. Painter's overlay blending mode just isn't consistent with Designer's on my end.

I'll attach my test document in case anybody else wants to have a look, and see if there's anything they can find.

That is really weird.  I can't think of what is causing that.  I have no idea what else to try :(

Last Edit: January 13, 2016, 05:48:56 am

    You could try use an outputted version from designer with the overylay completed as a single img, and take it into painter as a fill layer and see if it displays any different in painter.

    The problem is that Painter's version of overlay doesn't work as you'd expect when compared to Designer, Photoshop, etc. If I use another application to create my textures, and import them into Painter, they'd be fine. Sure. But, they'd be fine because I'm skipping Painter's incorrect overlay blending, since I'd have done all of my layer-work in another application. So, Painter doesn't have trouble displaying textures, it's creating them that's the problem.

    There is an obvious difference between a flat-image blended correctly using Photoshop / Designer side-by-side with one generated in Painter. In my case, it's exactly what I first demonstrated in my opening comparison above.

    http://i.imgur.com/8xgkcu3.gifv - To hopefully better illustrate the problem, I've recorded a gif where I compare the blended result in Painter (wrong) versus a composite created in Photoshop (correct). Note, that while the composite I use as an example of correct blending is made in Photoshop, Designer would have also correctly produced nearly identical results to Photoshop's when using Overlay blending. So, the problem is unique to Painter as far as I can tell.

    That said, if anybody downloaded my example project, I'd really appreciate hearing back with how the texture appears on your end. Does it match my images for how Painter is blending these two layers? Or does it produce a more accurate result like those shown in my Photoshop and Designer examples? I'd really like to know if this problem is only on my end, as it seems strange that I'd be the only one to notice an issue like this.[/list]
    Last Edit: January 13, 2016, 07:00:40 am

    It seems Designer do its computation in sRGB and not in Linear as I thought initially (I have confirmed that with a developer). To get the same behavior as in Painter, you will have to use the node "convert to linear" then do your blending and finally use the "convert to srgb" node. In my tests this give me exactly the same results.
    Don't forget your log file. It can be exported from the Help menu of the software.
    -----------
    Fabrice Piquet aka Froyok. Product Manager, Technical Artist and Documentation at Adobe.

    It seems Designer do its computation in sRGB and not in Linear as I thought initially (I have confirmed that with a developer). To get the same behavior as in Painter, you will have to use the node "convert to linear" then do your blending and finally use the "convert to srgb" node. In my tests this give me exactly the same results.

    I'm not sure if I'm doing a bad job of explaining my problem, or if I'm just misunderstanding your suggestion.

    I don't want to make Designer behave like Painter when using overlay, because Painter's overlay is not producing conventional results. I understand now, with your explanation that Painter uses Linear computations instead of the more conventional sRGB (like Designer, Photoshop, etc.) That said, making Designer's overlay blending Linear does not solve my problem, as I consider Painter's linear implementation of overlay to be "broken." So, making Designer also produce these unconventional linear results just means I now have two programs I can't use overlay in instead of just the one. (i.e., not ideal)

    I'm really not sure how else to explain it, and I'm running out of examples to demonstrate at this point, so I'll try to explain the question again using the information you've given me:

    How do I make Painter's overlay blending mode use sRGB / produce more conventional results like those found in Designer, Photoshop, etc.? Is this possible, or do I need to stop using Painter and return to Photoshop for my texturing needs?

    To reiterate, the goal of this post has always been to find a way to make Painter's overlay blending behave conventionally, like Designer / Photoshop. Painter's default implementation of overlay does not behave conventionally when compared to other graphics applications, and produces unpredictable results when compared to Designer, Photoshop, etc.



    Update: I've been doing a fair bit of research on the forums, and online, and I'm pretty confident that there is no way to overlay blend using sRGB in Painter. I can understand why this might be from a PBR accuracy stand point, but it's very disappointing none the less with respect to Painter's ability to create stylized, or retro-engine textures.

    The blending mode between Substance Designer and Substance Painter are identical. We used the same formulas for both of our applications. The major difference (based on default settings) is that Painter and Designer perform their computation linear space, while Photoshop is in sRGB.

    It seems Designer do its computation in sRGB and not in Linear as I thought initially (I have confirmed that with a developer).

    If Designer has a working sRGB-based overlay blending mode, could that same blending formula be applied to an "Overlay (sRGB)" blending mode for painter? This would be extremely useful for creating stylized textures, and solve about 90% of my problems with Painter.
    Last Edit: January 13, 2016, 08:17:38 pm

    Painter is indeed doing linear computation and this cannot be changed at the moment (you can make a feature request if you want). There are multiple reasons as for why we work in Linear space, for example : http://ninedegreesbelow.com/photography/linear-gamma-blur-normal-blend.html

    There is a workaround however : perform gamma conversions manually via custom filters to counteract Substance Painter blending. See my attached image and filter, with it I was able to reproduce the overlay blending as in Designer. Note that you may want to switch your BaseColor channel to 16F instead of the default sRGB8 to avoid loss in quality because of the multiple gamma conversions.
    Last Edit: January 14, 2016, 03:44:38 pm
    Don't forget your log file. It can be exported from the Help menu of the software.
    -----------
    Fabrice Piquet aka Froyok. Product Manager, Technical Artist and Documentation at Adobe.

    Thanks for the suggestions.

    I checked out your filter, and it looks like it's more or less the same filter I'd created yesterday after reading your advice about conversions. In my efforts I wasn't able to get the effect working to my liking. I can get close, maybe 80%-90% of the way there, but it's just not the same. I could probably further tweak it within Painter to bridge the gap a bit more, but at that point things are getting awfully tedious for a single, basic, overlay blend. But, maybe I'm doing it wrong? Could I get an upload of your example project so I can compare it to my own?
    Last Edit: January 14, 2016, 08:31:06 pm

    In my case the result is identical : I have imported the final texture in Painter in a fill layer and when I toggle between the two results I see no difference. I have attached my project to this post.
    Don't forget your log file. It can be exported from the Help menu of the software.
    -----------
    Fabrice Piquet aka Froyok. Product Manager, Technical Artist and Documentation at Adobe.

    Thanks for the project file, Froyok.

    I took a look at it, and I think the reason you're seeing identical results is due to the "pureness" of the color you've selected. A darker, or more mixed color would produce very different results. If you convert your color by itself to sRGB or Linear, you'll notice nothing changes. So, the reason you're seeing identical results is because they are identical, the conversion didn't have to convert anything. I don't know the math going on behind the scenes, and my understanding of the linear gamma curve is a tenuous at best, but at either extreme, linear and sRGB colors are identical. So, pure-black is pure-black, pure-white is pure-white, pure-red is pure-red, so on and so on, regardless of them being linear or sRGB. Example

    That said, your layer stack is pretty much identical to my test project's, and with it, once again, I was only able to get about an 80% match. Anything past that requires tedious amounts of compensation filters which need to be adjusted on a per image basis to match (i.e., Not worth it.)

    I've made a suggestion on the Painter UserVoice that will hopefully lead to a native sRGB Overlay blending port from Designer into Painter, but I'm not really holding my breath on that.

    Anyways, thanks again for all the help. I appreciate the effort and information.