order independent alpha blending?

Started by
6 comments, last by grady 22 years, 8 months ago
Hi I'm making a model of a big machine that has lots of glass in it. I can't just draw the glass surfaces in a regular order though because the ones drawn last can't be seen through the one's drawn earlier. Is there a way to get around this. I've heard of something called "alpha testing", but i don't know what it is. Can it help me with this? Here's the executable of what i'm working on http://members.home.net/gradyfield/boomc.zip. Its coming along well so far, but i'm already doing alot of math on the CPU and I don't really want to have to sort 1280 glass bulbs. for those that download the zip file and run the program: w- moves forward s- moves backward a- side step left d- side step right ctrl- runs space- hauls ass ESC- exits mouse movement rotates the view Edited by - grady on August 3, 2001 2:50:11 PM Edited by - grady on August 3, 2001 2:55:06 PM
----------------------------www.physicsforums.comwww.opengl.org
Advertisement
that''s way too many polygons for a lot of computers, i got around 4 fps or less...

you could do all the trasparency aditively and not sort it, just draw it last.

alpha testing wouldn''t do much for this, it is used to only draw parts of something that are of a certain alpha value

you also might want to make the lights in the distance less detailed, to improve the speed of the whole thing
alpha testing won''t help you here. alpha test is like color keying in directx. it just chooses one color to be "transparent." yes, you do need to sort your alpha blends, even if you render them last. that goes into BSPs and octrees and other sorting algorithms, you''ll have to look into that if you want it to look right. however, when i saw the demo, i didn''t see any problem with the rendering. should i have been looking at a certain angle?

a2k
------------------General Equation, this is Private Function reporting for duty, sir!a2k
quote:that's way too many polygons for a lot of computers,


Yeah it already draws less polygons as you get further from a bulb. I have it made to where you can change the overall geometric level of detail real easily, I just haven't put a button in yet to make it happen. sorry about that. It runs at least 45 fps on a P800 geforce 256. What is your hardware? All the bulbs are in display list. Without display lists the frame rate is dead meat on this demo.

quote:however, when i saw the demo, i didn't see any problem with the rendering. should i have been looking at a certain angle


If you get next to one side of a bulb and look through it you might see other bulbs behind it. But then turn your head and look through the bulb sitting next to that one and you can't see through that one because your looking at a bulb that was drawn before the ones behind it. Its only a noticeable problem in a few places, but i want everything perfect.

Edited by - grady on August 3, 2001 4:58:36 PM
----------------------------www.physicsforums.comwww.opengl.org
You have to sort after the distance from the camera. To get the order right for the glass in a bulb can you first draw backfacing polygons and then frontfacing.
quote:Original post by Obelix
can you first draw backfacing polygons and then frontfacing.


Yes, there is just a function that draws a hemisphere, I rotate the model view matrix and then draw another hemisphere.
----------------------------www.physicsforums.comwww.opengl.org
using BSP will solve a lot of your problems.
also there was a paper recently on the nvidia website about order independant transparency but from my quick look it doesnt look to be to usefull for the most hardware esp if u have a lot of overlapping polygons
i was running it on a pII-350, tnt2 agp
it went faster than i thought it would though

This topic is closed to new replies.

Advertisement