Re: [AD] No more video/system bitmaps

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


I hope I don't make a fool of myself by giving my opinion here. ^-^

I like the idea of separating the display from bitmaps, especially as
this would add to the cross-platform nature of Allegro once more. 
Double-buffering is a pain in the butt when you have so many different
modes to deal with.  For me everything comes down to OS X, and its
windowed modes are handled slightly differently from the full-screen
modes.  It'd be nice to write the same code and have the screen updates
handled automatically and in accordance with the underlying system
video driver (Windowed, FS, etc).

Moreover, it'll just be nice to have a lot of those *DESTinations
removed.  I find that 99% of the time all of my graphics calls are
using my double-buffer or whatever as the target.  I'd be willing to
bet it's the same for everyone, which perhaps was already mentioned.

Lastly, an AL_DISPLAY struct could have functions to derive and lock a
bitmap as needed -- something like how Direct X does it?  Plus,
displays need extra variables for placement -- I'd rather have monitor
position on desks stored in a convient place inside the struct with the
system display buffer.  (IE, I like my monitor on the left side of my
laptop, so when I pick display one I should be able to easily figure
out where the user has placed it.)

I can't speak on threads, though.

> But why? I would very much like Allegro to handle drawing to
> textures. SDL supports it, and doing it manually with
> pbuffers or whatever is quite hard.. so if possible (i 
> don't know if it is), Allegro should do this for you. 
> Such a bitmap shouldn't be kept in system RAM I guess,
> it should be a texture (well, and OpenGL then decides 
> where it keeps it, I guess).

I've thought this to be a fair point since the first 16-meg TNT2 cards
came out, but it's only now that 3D hardware accellerating 2D graphics
calls is really getting its limelight.

Essentially, since Mac OS X is already loading all windows, etc., into
texture ram, Allegro's actually a lot slower than it could be.  If
there were somehow a method of marking bitmaps as
read-only-and-for-texture-memory, the system could make use of all that
3D horsepower for much better framerates and effects.  I assume that at
least some of the people on this list have played Gish -- imagine how
nice it'd be to have that kind of power built in to Allegro.

Of course, that opens a whole other list of things to be thought about.
 But with the advent of Longhorn (the long-away advent), the fact that
OS X already supports this sort of blitting, and the fact that linux
programmers are geniouses who tend to roll the best ideas into their OS
as quickly as possible, I don't see that starting to support these
features while they're still in their infancy would be a bad idea.

- Charles




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/