Translucent reflections and nvidia

For future reference the appropriate English translation is “double Dutch” :slight_smile:

“black talk” means “you might aswell have been speaking Chinese”? Are there many black Chinese in Denmark?

I’ve got a friend there, maybe I should have him count next time he rides his bike to work.

naw, sounds like a good research project, think I could get a sponser to send me there to count?

OK back to the subject. You said you didn’t understand, but I’ve presented 2 solutions to your problem, I’ll try one more time.

The zbuffer approach I mentioned initially WILL solve your problem without z sorting, but it requires you draw the object twice. I don’t think that is too difficult to understand, it has no more need for sorting than any other multipass implementation.

The single pass approach with vertex alpha and glAlphaTest is the better solution. What I was saying is that the precision will be OK if your alpha interpolation between 0 and 1 is confined to a small region either side of the water plane. This means that you want to specify the alpha ramp in as narrow a region around the water plane as possible. You cannot do this for big triangles which extent either side of the water because you cannot specify alpha >1 or <0. So you are forced to apply alpha on triangles where 1 >= alpha >=0. That should be clear enough, but what are the consequences? It means you should be able to specify alpha in a region either side of your water based on the size of triangles likely to intersect the water. In otherwords interpolation precision need only be spent across a region determined by your triangle size. This in turn means that you very probably have enough precision to do what you need, and for any geometry you have where this doesn’t help some geometry division will correct the problem. The remaining triangles which don’t intersect the water will either have vertex alpha all < .5 or all > .5 clamping at 0 and 1.

I can’t do any better without pictures. I can assure you both approaches can work if you take time to think about their implementation.

Good Luck.