[PD] [Gem] alpha transparency question........

chris clepper cgc at humboldtblvd.com
Thu Jul 8 02:30:47 CEST 2004


On Jul 7, 2004, at 6:11 PM, chun lee wrote:

> But don't you have to switch the rendering off and on again for the new
> rendering order to get effect? What was in my mind is that say both of 
> the
> cubes are in a global rotation so that sometimes A is in front and 
> other
> times B is in front.
>
> So there is no way to do this in openGL?

The alpha blending is done using the fragment unit, which requires all 
of the geometry to be rendered to 2D.  The blending functions take the 
pixels already in the pixel buffer and apply the transform, so 
obviously the pixels have to exist in the buffer before the transform 
happens.

This is an age old problem, and while solutions exist, there is no 
ideal one.  Probably the most accurate way to handle this involves the 
construction of a b-tree for sorting the geometry before rendering.  
This is pretty much impossible with the way GEM is structured currently 
since each Geo object directly renders using immediate mode GL calls, 
and thus has no knowledge of any other Geos in the scene.  There might 
be a way to do this with vertex-array rendering since that does not use 
immediate mode, and the vertex data is exposed and manipulatable.

If you are directly feeding in matrix transform info using translate 
then it would be possible to change render order on the fly to do front 
to back rendering.

cgc

> Cheers
>
> CHUN





More information about the Pd-list mailing list