On Tue, Sep 9, 2008 at 12:31 PM, 3TATUK <[EMAIL PROTECTED]> wrote:
>
> Ah! Thank you very much. Yes, window.Window.dispatch_events() certain
> _does_ set it up properly so I can now use the active framebuffer as a
> 'drawing board' for alpha blitting. So for example, say I have
> 20,000x20,000 pixel texture.. it will take ``only'' 1302
> blit_into()s.  This also assumes that the 'destination' texture
> doesn't have any alpha in it :)

All OpenGL implementations I'm aware of have a maximum texture size of
8192x8192, and most have maximum 4096x4096.  Older cards are limited
to 2048x2048.  Also be aware that most older non-nvidia cards will not
keep textures intact when swapped out of memory -- if you exceed your
graphics memory you'll start getting blank textures.  (Newer cards
don't have this problem).

> Also, your suggestion of setting up a hidden window for use as this
> 'temporary buffer' isn't quite a good idea because I've tested it
> thoroughly and there's no obvious way to avoid that window having
> 'popped up' at some time, for a fraction of a second.

Use the visible=False parameter in the Window constructor.

>
> Well, actually now that I think about it, I haven't tried it with
> dispatch_events() which might help.. but even so it would be much
> nicer if pyglet.image.Texture.blit_into() would call the necessary GL
> for alpha preservation. :>

It think you misunderstand: there _is_ no GL command that does this.
blit_into uses glTexSubImage2D, which has no options for blending or
masking.  OpenGL can only composite into a framebuffer or renderbuffer
(using the framebuffer object extension), or by creating a separate
context on a pbuffer rendering to the texture (not supported at all on
Linux or older video cards; and pyglet does not (yet) have any pbuffer
support).

Alex.

--~--~---------~--~----~------------~-------~--~----~
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