I am trying to make a painting setup to paint over already rendered Cycles passes and combine them. Specifically, Diffuse and Gloss Direct, Indirect, and Color. This cannot easily be done in other programs like photoshop due to them not having proper linear color 32bit support, and i'd rather work with blender's UI anyway. All of Blender's painting setup seems to be aimed at Textures on a model, so this is not intuitive to setup.
What I've figured out so far is that if I load my images (.exr) into a Cycles material, I can set up the combining with Mix Nodes. If that material is then on a flat plane of the same aspect ratio as my rendered image, then it all works fine. I can use the material nodes as if it was the compositor. In texture paint mode, I can use the new Slots set to Material to paint on each pass.
If I set a window to the 3D viewport on Material view mode (my material being textures+emission shader), then I can see the combined image. This seems to work fine in real time as I paint in the texture paint window, even with 4k images.
Overall it works very nicely, except for one small problem: The viewport Material view isn't quite accurate. My Gloss pass doesn't seem to have full strength, which is basically the same problem you have if you do this in photoshop. I know the images have the right data as when I live render it looks fine. But for whatever reason, the viewport Material view isn't handling this all correctly.
Does anyone know a way to fix this, or can you suggest another method of doing all this?
UPDATE: Looks like Krita handles it all pretty well. I'd still be interested to know why the cycles material view doesn't handle it correctly, and if it's possible to fix.