Cycles Renders Transparent Black & Transparent

I have a material that I created called Rete. It has a transparent background and works great. The same png is used for Diffuse and Bump.

I wanted to create another material, Tulle, that is identical other than the png image. I used the copy feature in Material and then just changed the image.

The new one won’t render transparent. It can’t be my render settings, because I can render the Rete at the same time and see the transparency. I checked both images in the UV Editor, to make sure that I didn’t do something stupid, like save the second as a jpg or something. Both png have transparent backgrounds.

I have attached several images. One is the material view in the 3D view showing both transparent. One is the render, showing the second black and the first transparent. My shader node is also shown. The only change between them is the image.

Any help would be very much appreciated.



Not sure why you would want to connect the Color output of the image texture with the Color input of the Transparent shader. Wherever the Transparent shader is used, the texture has an alpha value of 0 and therefore no color information at all… Cut that connection and see if it helps.


That fixed it. I don’t know why it was working for the Rete material and not others.

Obviously, I don’t really know what I’m doing in the Node Editor. I just try different things until I get what I want. It has been a ‘learn as you go’ experience. I know I have much to learn.

Thank you so much.

I just try different things until I get what I want.

That’s always a good start! :yes:

Hmm. Perhaps in that other fabric’s PNG files the transparent areas are not completely transparent (alpha > 0), but have a little bit of color information left?

What your Mix shader tells Cycles to do is:
“Wherever the texture is fully transparent (alpha = 0), exclusively use the shader that connects to the top input of the mix shader.
Wherever the texture is fully opaque (alpha = 1), exclusively use the shader that connects to the bottom input of the mix shader.
For all alpha values inbetween (0 < alpha < 1), mix top and bottom inputs accordingly.”

But:
You also tell Cycles to use the texture’s color information to tint the Transparent shader - and that’s where Cycles runs into a problem: If the texture is fully transparent in those areas, there is no color information available for Cycles to work with. Cycles searches for color and finds nothing. And therefore it puts out nothing and the transparent areas turn black.

That makes perfect sense. I’m trying to learn the logic, so that I can build good shader networks. I really hate to just copy other people’s work, because then you really don’t learn anything. But unfortunately, I often start off with someone’s example as a basis and then make changes. That’s where I get into trouble.

I really appreciate the detailed explanation. I will add this to my treasured notes.