RE: [AD] No more video/system bitmaps

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


> 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).


Automatic back-buffer management is a separate issue from the
display/bitmaps problem. You can have multi-plane bitmaps that act as
displays. In fact, that's what AllegroGL currently does.



> Lastly, an AL_DISPLAY struct could have functions to derive and lock a
> bitmap as needed -- something like how Direct X does it? 

Bitmap locks are Evil.

What do you mean by "derive" a bitmap?


> 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 don't follow. Can you give an example?



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


You don't *need* to make bitmaps read-only for this to work. You just
need to better encapsulate it. The rest can be done automagically behind
your back. This is how ARB_vertex_buffer_object works, for vertex
buffers.






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