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.
