On Wed, Mar 3, 2010 at 11:07 AM, Philippe <[email protected]> wrote:

> can you tell a bit more about the "blending equations" ?
> I have no idea where to look for that and how I can use it to solve
> my problem.
>

I think you had better explain exactly what you are trying to achieve,
because the problem isn't entirely trivial to solve.

For repeated blending to work correctly, the alpha values of incoming
fragments have to be combined with the alpha values already in the
framebuffer:
- In your case, I believe that you start by rendering an opaque background,
which will fill the backbuffer with alpha values of 1.0
- Then you render a sprite with 50% transparency (i.e. alpha = 0.5) over the
opaque background.
- This will result in the alpha values being multiplied, and 1.0 * 0.5 =
0.5, so the resulting value in the backbuffer will be 0.5, and your
screenshots will come out partially transparent wherever you rendered a
sprite.

If you don't want your resulting screenshot to have transparent areas, just
don't save the alpha channel (i.e. convert to RGB). Note that this won't
affect the rendered transparency in any way, because the colours have
already been blended in the framebuffer.

If you do want the image to retain proper transparency, then disable
blending, render the background with alpha=0.0, and re-enable blending
before rendering sprites.

-- 
Tristam MacDonald
http://swiftcoder.wordpress.com/

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pyglet-users?hl=en.

Reply via email to