I'm trying to achieve a simple effect where an image map is used as a sticker on an object.
I was using the Uber Shader Glass material setting but because that introduces other issues I have also tested it on a Uber Shader Metallic material as well. The problem is even more apparent on metallic or diffuse objects.
I particularly want the background area of the assigned material zone to disappear so that the image appears to be printed onto the surface. The material of the sticker can be anything (e.g. an emission) but for this test simple diffuse materials were used.
I have included a test file. Embedded within the test file are four variants of each of the Logo image maps. These include black and white, white and black, black and transparent and white and transparent versions. Only the non transparent PNGs (those with solid black and solid white) have any effect.
The area around the image is UV mapped and scaled appropriately around the sticker image and the material slot for the image is assigned to this area. An Uber shader is then used to setup the material for the sticker and use of the transparent node map to mask out the background area (this is where it doesn't render correctly).
The problem is that the whole area where the sticker material is assigned renders black on diffuse or metallic objects and has an even odder effect on other materials such as glass.
Please see the renders below and the included test files.
RPR version 2.0.32. Blender 2.8.53 macOS.
GPU used: Radeon Pro 560 4GB on MBP 2017. (no eGPU used).
Please see file "Shader Ball v22-6 B280 Glass on Glass with LOGO ProRender Uber Mix.blend" for the problem.
It only occurs with Glass on Glass. The metal on metal Logo on the lower section of the image renders correctly.
I also include the version done with Principled shader and the Mix node which renders fine.
Update to this. When using the Principled shader and a Mix Shader (setting the bottom shader to the same exact material as you're trying to "show through") it works.
This was the same technique I used originally that isn't working on Uber Glass in v2.0.32 and why I started this whole test.
So I will do this again with an Uber instead.
I cannot get it to work using the Principled Transmission socket and the image mask as per the above Uber setup. So I believe it is the same problem.
So I see this as well. Not entirely sure and I'll investigate. The one thing I Will say is that it probably makes more sense to use an alpha channel mask and connect the alpha out socket of the image texture to the weight of the mix.
I think I tried that as well and the result was still not as expected. As far as I know, anything that involves decals , be they via alpha masking of maps, of shaders or simply masking via Transparency on another object, it still doesn't behave correctly.
Because this issue is exhibited under quite a few circumstances, it's very hard to pin-point the actual problem. It looks like as long as it's behind an alpha layer of any sort, it'll either affect normals, reflections or refraction or all at once.
I just tried the alpha socket and I've even embedded graphics into the test files with the alpha setup that way (click on the image node in the material for a sticker and select one of the other files named similarly to swap them).
It makes no difference to the outcome, unfortunately.
There's no way to pass through the underlying material and have the sticker behave as you would expect.
Just tried 2.0.150 and I'm sorry to say it's not fixed yet. You might have fixed the refraction part but it still cancels out any normal/bump mapping behind transparent areas of the decal layer.
https://community.amd.com/servlet/JiveServlet/download/2907253-1-116791/Shader_Ball_v5_B280_Concrete... That's the link to the file used in this image.