#### Archived

This topic is now archived and is closed to further replies.

# Strange blending

This topic is 5524 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Okey, I''ve two questions about blending. First I''ll tell you about the code. I have made a milkshape ascii loader, and a alpha-bledning function in it. But it''s damn difficult to get the blending right. As milkshape has two 24bits textures for alpha, instead of one 32bits, the code gets more complex... I think. Anyway. First I load the the texture and the alpha texture. Then I use blending on them, and it works but still a problem occurs and I can solve it. Here''s the code, ofcourse it''s more to it, but this is the part I''m wondering about..

for (l = 0 ; l<2 ; l++)
{
glEnable(GL_BLEND);
if (l==0)
{
glBlendFunc(GL_DST_COLOR,GL_ZERO);
material.texture();
}
if (l==1)
{
glBlendFunc(GL_ZERO, GL_ONE);
material.alphatexture();
}
}

The things that dosent work correct is shown below in the screenshot. Pic 1 and 2 displays two trees. Since I removed the texture on the ground, it''s not clearly that the blending works, but it does. Well, it works with the ground but not with another blended tree. When overlapping each others the first tree''s blended parts makes the second tree''s parts invisible. Yeah, the screenshot shows it and I hope you understand what I mean. And pic #3 shows fog in blending. I read that it''s hard to make it work together, but it must be possible since many games uses it, so does anybody know how? I need to solve this so any help and ideas is very helpful to me.

##### Share on other sites
The first problem is caused by writing the whole polygon into Z buffer, so when the second tree is drawn behind it it thinks it''s occluded and doesn''t draw the "hidden" part. Sort the trees (and any other translucent polygons) from back to front (and disable depth write).

You could also use alphatest instead of alpha blending. The edges of the sprite will look sharper which you may or may not like... But it''s faster and will probably fix the problems you''re having.

##### Share on other sites
AP is correct on the first point, but don''t alpha test. It looks ugly on cards which cheat at "FS"AA and only smooth the edges. (radeon 9700 for example).

##### Share on other sites
Alpha blending is dependent on the order of the objects, and it is also more expensive...

Height Map Editor | Eternal Lands | Fast User Directory

##### Share on other sites
Okey thanks for the help with the alpha. But how about the fog? Anyone know about it?

##### Share on other sites
If you use Alpha testing, you will not have this bug with the fog. Else, if you want to keep Blending, just disable FOG when drawing your trees, and fade them to the color of the fog depending the distance...
So, its more easy and powerful to use Alpha testing

##### Share on other sites
Alpha-testing. I don''t really know what it is. Anyone with a small code-example..? or just a word so I can search in msdn... I would help me alot. Thanks!

• 11
• 20
• 12
• 10
• 38
• ### Forum Statistics

• Total Topics
631400
• Total Posts
2999862
×