RE: [AD] No more video/system bitmaps |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
- To: <alleg-developers@xxxxxxxxxx>
- Subject: RE: [AD] No more video/system bitmaps
- From: "Robert Ohannessian" <ROhannessian@xxxxxxxxxx>
- Date: Fri, 24 Jun 2005 21:20:28 -0700
- Thread-index: AcV5OuuwFOGvHPr3R0m/rwtlZpo5kwAAbCEw
- Thread-topic: [AD] No more video/system bitmaps
> 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.