Rendering destroys transparency?

Rendering destroys transparency?

Hi everyone,

first of all: please forgive me if this is a stupid question, but I'm just starting to get acquainted to Cheetah and 3D in general. I tried to read all threads in the forum that are relevant to my problem, but although there's a lot about transparency there, it did not seem to solve my problem – at least as far as I could see … :cool:

I'm trying to make what I thought would be a simple modification of Cheetah's "Hello World" example: I want to see only the continents, and the oceans should be transparent, i.e. you should be able to look through the areas covered by an ocean to the "other side of the world". :smile:

To achieve this, I modified earth.jpg of the Cheetah example to earth.png, with the oceans transparent (and all continents pink).

This looks exactly like I want in Cheetah's 3D view (apart from the fact that I want a white instead of a gray background). See attached screenshot1.

However, when I actually render the image (or the animation, no difference here), the sphere looks black (see screenshot2). It's still transparent – you can see the continents from the other side shine through – but mostly it's black. :confused: I tried everything I could think of to make the rendered image look like the 3D view (with a white instead of a gray background), but to no avail.

What am I doing wrong?

screenshot3 shows my material settings, and project.zip contains the complete project, so hopefully, someone more knowledgeable can see what I'm doing wrong. Thanks a lot in advance for your replies!

Bye

Uli
 

Attachments

  • screenshot1.jpg
    screenshot1.jpg
    104.5 KB · Views: 578
  • screenshot2.jpg
    screenshot2.jpg
    95.7 KB · Views: 582
  • screenshot3.jpg
    screenshot3.jpg
    131.5 KB · Views: 595
  • project.zip
    9 KB · Views: 305
Last edited:
Hi Uli and welcome.
Your png don´t contain any alpha channel. You can use this in the transparency channel with "use alpha cannel" unchecked - but the result is quite different.
So better establish an alpha channel, load texture into the color channel with "use alpha cannel" checked - if you don´t need any shadow values you can load it directly into a "solid color" material and the alpha channel will automatically be recognized.
And you need a background (plane, sphere or something) to render against - otherwise your render come to nothing.
Hope this clear this hurdle.

Cheers
Frank
 

Attachments

  • project 2.zip
    18.3 KB · Views: 288
Hi Frank,

Hi Uli and welcome.
Thanks :smile: and thanks very much for the working modification of my project! Having a working model is the ideal way to learn as I can apply modifications to a working state and see what is crucial for things to work and what breaks things. So thanks again! :-D

Having said that, I'm obviously at the very beginner's stage, as each answer seems to provoke two new questions … :wink:

Your png don´t contain any alpha channel.
You got me confused on this one. I'm not sure if you refer to some "special kind" of "alpha channel", but my png is certainly in the RGBA color space, and the area between continents is 100% transparent in any 2D imaging software I have. :confused: But anyway, your project also works just fine if I replace your modified png by my original one, so this point does not seem too important.

So better establish an alpha channel, load texture into the color channel with "use alpha cannel" checked - if you don´t need any shadow values you can load it directly into a "solid color" material and the alpha channel will automatically be recognized.
What do you mean by "directly" here, as opposed to load it into the color property of the material?

And you need a background (plane, sphere or something) to render against - otherwise your render come to nothing.
Ah, that seems to be the crucial point! When I remove the background sphere you added, my problem reoccurs. Obviously such a background is not necessary in the original Cheetah example project as there is no transparency there, and setting a background color for the camera proved to be sufficient in this case. This got me confused, and your solution would never have occurred to me …

One last question: as it is now, in the rendered image (contrary to the 3D view), both sides of the continent areas (the "outer" and the "inner" side of the sphere surface) have exactly the same color (whereas the inner sides are much darker in the 3D view). Is there a way to achieve the 3D view look in the rendered image, i.e. another color for the opposite/"inner" side of the texture areas?

Hope this clear this hurdle.
It really did, so thanks again!

Bye
Uli
 
You got me confused on this one. I'm not sure if you refer to some "special kind" of "alpha channel", but my png is certainly in the RGBA color space, and the area between continents is 100% transparent in any 2D imaging software I have. :confused: But anyway, your project also works just fine if I replace your modified png by my original one, so this point does not seem too important.
Have a look at attachement 1. I believe it is in rgba color space, but as you can see it didn´t show up in preview.app. All I did was open it in GIMP and saving the transparency to png - voilá - preview.app got noticed, the finder and so Cheetah3d.

What do you mean by "directly" here, as opposed to load it into the color property of the material?
Under the menu "Add Material" is one called "SolidColor" - it will instantly recognize the alpha - but solidColor will ignore any subtle lighting effects - that´s what it´s made for.

Ah, that seems to be the crucial point! When I remove the background sphere you added, my problem reoccurs. Obviously such a background is not necessary in the original Cheetah example project as there is no transparency there, and setting a background color for the camera proved to be sufficient in this case. This got me confused, and your solution would never have occurred to me
Rendering transparent areas will need geometry behind it to show up correctly in the renderer.

One last question: as it is now, in the rendered image (contrary to the 3D view), both sides of the continent areas (the "outer" and the "inner" side of the sphere surface) have exactly the same color (whereas the inner sides are much darker in the 3D view). Is there a way to achieve the 3D view look in the rendered image, i.e. another color for the opposite/"inner" side of the texture areas?
Have a look at attachement 2.

Happy modeling.

Cheers
Frank
 

Attachments

  • RGBAlpha.jpeg
    RGBAlpha.jpeg
    76.9 KB · Views: 516
  • Shadow+trans.jpeg
    Shadow+trans.jpeg
    70.5 KB · Views: 508
Have a look at attachement 1. I believe it is in rgba color space, but as you can see it didn´t show up in preview.app.
Well, it does in Preview.app for me (see screenshot).

This is in Leopard; your screenshot suggests that you are using an older version of Preview and thus Mac OS X, so maybe that's the reason. In any case, as I said, this wasn't the reason for my problem; the missing background sphere was.

Rendering transparent areas will need geometry behind it to show up correctly in the renderer.
Yep, that was the crucial point – now I know. :cool:

Have a look at attachement 2.
Again, thanks a lot! – All I needed to know. :smile: Now I can go on exploring Cheetah! :smile:

Bye

Uli
 

Attachments

  • screenshot4.jpg
    screenshot4.jpg
    145.1 KB · Views: 480
Last edited:
Global Maps

By the way, if anyone wants to try this at higher resolution,
in iMovie 08/09 (open package in context menu) in the Resources folder there are 32 MPx files of the world maps (Map-BlueMarble.jpg etc) !

BlueMarbleGlobe.jpg

OldWorldGlobe.jpg

EducationalGlobe.jpg
 
By the way, if anyone wants to try this at higher resolution, in iMovie 08/09 (open package in context menu) in the Resources folder there are 32 MPx files of the world maps (Map-BlueMarble.jpg etc) !
Thanks for the hint - great! :smile:

I would never have looked there …

Bye

Uli
 
More Blue Marbles

I'm trying to make what I thought would be a simple modification of Cheetah's "Hello World" example: I want to see only the continents, and the oceans should be transparent, i.e. you should be able to look through the areas covered by an ocean to the "other side of the world". :smile:

This inspired me to create a globe made from blue glass, giving the impression of real depht when looking into the sea,
so I spend the last days waiting for some long renders (radiosity with transparency, reflection and specular sampling) to finish...
actually the setting up of the lightning is difficult because in the image four layers, background, rear side, front side and reflections get mixed.

Cheers, Archie



globe0.jpg

globe1.jpg

globe3-.jpg
 
Back
Top