Problem with Transparency

Started by
2 comments, last by ongamex92 10 years, 7 months ago

When I render transparent object and the terrain is at the background, I see the sky instead of the terrain.

Which make it appear like the terrain doesn't exists behind the transparent object.

What's going wrong?

[attachment=17835:a.png]

Advertisement

You probably aren't drawing the terrain before the transparent objects. The right rendering order is like:

1. All opaque objects (in whichever order)

2. All transparent objects (sorted - furthest first, closest last)

When you are rendering a transparent object, the backbuffer already has to contain all objects that are behind the transparent one and that can be seen through it. Only this way the blending can work properly.

Also keep in mind the order of drawing your skybox and how the Z buffer is set at these moments

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

Drawing order (in regular* alpha blendig) is really important. What alpha bending operations to is that thay simply gets the current color value of the buffer and the transperant surface color values. After that those values are processed with the operation defined by you. There is a technique called orderless(or independant) alpha blending but it is a bit more advanced topic. So this is what you want to do to get accurate blending;

1. Draw all solid objects

2. Sort all all surfaces with transperancy by dist. from camera.

3. Draw those surcafes starting from the most distant surface from the camera.

Well here the most hardest thing is the sorting. It really depends on your scene.

Hope that will help.

Sry for by bad English.

This topic is closed to new replies.

Advertisement