![]() |
|
Allegro 4.2.0 beta |
Evert
Member #794
November 2000
![]() |
Quote: I think it would be rather cool to use openGL for 2d allegro stuff IF it does provide a performace boost, (GFX_AUTODETECT_OPENGL?)
What would be rather cool is if Allegro could detect OpenGL by passing GFX_AUTODETECT. That would be my prime motivation for merging it with Allegro. If we decide not to do that (and I personally would prefer to, but it's not up to me) then I really want an enhanced build system that also detects and builds plugins as it finds them. Well, I want that anyway. Quote: I would love much much more to see allegro impliment threading first...
Hmm... my point of view on this: any threading API Allegro exposes is going to be very limited in scope and rudimentary. Allegro has a private threading API I think, but it isn't something we want to expose. There is also no need to have Allegro present a poor threading API, since a freely available and portable threading API already exists in the form of pthreads. Allegro should be more thread-safe than it is now internally (although that situation has actually improved quiet a bit lately), but that is a different issue. |
Elias
Member #358
May 2000
|
Maybe make it GFX_AUTODETECT_OPENGL, so there is a way to tell if something else is preferred (GFX_AUTODETECT tries first non-GL, then GL), or OpenGL is preferred (GFX_AUTODETECT_OPENGL tries first OpenGL, then falls back to something else). About threading, if we follow a modular principle, then anyone can write a threading addon, and it can be in that user-distribution which includes some addons. Having an easy way for users to get platform independent threading sure would be nice, rather than having them hunt for pthreads themselves. But it need not be in the core Allegro. At least not if we have only like, quite a few, main developers. Although, according to Shawn, there should be at least: 1 dictator, 6 core developers, 6 who are in charge of different areas (probably the same 6). -- |
Arthur Kalliokoski
Second in Command
February 2005
![]() |
This is a bit off the subject, but I tried 3 times on 3 different days to download 4.2 by clicking on the link in the original post, and kept getting a "Couldn't read file" error. Now it occurs to me that going directly to that address w/o the allegro frame thing in front might be the problem. Downloading it now.:) They all watch too much MSNBC... they get ideas. |
Michael Jensen
Member #2,870
October 2002
![]() |
Quote: it already utilizes threading. But it does not expose threading for us to use... Eh, I figure yes you can download other libraries to work with allegro for things like threading, networking, opengl, etc, but I usually have a hard time getting them to make, it's always a wild goose chase "Oh by the way for this library to build it needs these other 10 libraries," and for each dependant lib it's almost the same... I rather like how smoothe the allegro build usually is, and it would be neat if I could distribute the source code to linux/whateverOS users and say "Oh... all you need is allegro" anyway, that's just me being lazy I guess... Speaking of allegro's build, 4.2.0 doesn't build right under DJGPP... it complains about midi.c 1537, I tried redirecting the output to a dump file but it would only dump the successful things to the dump file and the rest went to the screen so that's kind of useless, basically it said that midi_timer_frequency was undeclared, I commented the line out since I don't plan to use any of the midi functions on my graphics only test (this is on a p100 running dos 7.1)
|
Evert
Member #794
November 2000
![]() |
pthreads is fairly self-contained. It doesn't take more than dowloading the procompiled libraries in Windows and installing them along with the headerfiles. Quote: Speaking of allegro's build, 4.2.0 doesn't build right under DJGPP... Already fixed in CVS. |
Thomas Fjellstrom
Member #476
June 2000
![]() |
Quote: But it does not expose threading for us to use... Why should it? -- |
Kitty Cat
Member #2,815
October 2002
![]() |
If Windows had done proper POSIX support (pthreads is POSIX-standard), this wouldn't be an issue. But Windows had to break standards (surprised?) and make its own. Even if pthreads weren't standard when Windows' threads were made, they still could've supplied some sort of built-in compatibility. -- |
Bob
Free Market Evangelist
September 2000
![]() |
Quote: But no, because apparently we already have AllegroGL, and so you can use Allegro to do the graphics with OpenGL, or even combine with Allegro's API. After working on AllegroGL for the last few years, I have to agree with Shawn. It really wasn't that much of a good idea. Large parts of AGL are overly complex and unwieldy to work around various GPU's limitations or odd behaviors. Allegro's API also doesn't map all that well to OpenGL. -- |
Elias
Member #358
May 2000
|
Quote: Allegro's API also doesn't map all that well to OpenGL. Is this also true for the new API? Wasn't that designed a bit with OpenGL in mind? Like, having full support for alpha bitmaps in the Allegro API should make it easy to just have the bitmap it in a texture and then draw a quad for rotated_scaled_tinted_alpha_blit(). Also, the new DISPLAY design will completely get rid of all the ugly screen hacks, and so on. So at least, with the new API, I hope it will be much better than with the current. And then, of course using Allegro's API won't be as efficient as directly using OpenGL. But I don't think this should matter for what the Allegro API does (blitting and some basic graphics primitives). -- |
Chris Katko
Member #1,881
January 2002
![]() |
Quote: Allegro has a private threading API I think, but it isn't something we want to expose. This confuses me. If it's not good enough for anybody to really use, then... why have two threading systems in the same application? Why not just use pthreads for Allegro? Quote: The problem is you won't benefit much from OpenGL acceleration when doing 2D graphics. Moreover, things may be even slower.
I-I want to hurt you... I'll ignore the second statement because it's obviously false in almost every scenario. The first part irritates me though. With every single game that I have ever worked on, I have felt cramped by Allegro's graphics. It's performance is horrible when it comes to any kind of blending. Which is an extremely powerful artistic tool. This is somewhat off-topic, yes, but it leads into my question: "Why not have an OpenGL driver for Allegro?" Quote: Allegro's API also doesn't map all that well to OpenGL. Could you explain how? Unless you're refering to using extra functionality of OpenGL (like the whole draw_rotated_trans_lit_mirrored_superimposed_sprite() thing, but solutions to that were voiced). For 3-D, use AGL, OGL, D3D, or whatever you fancy. Allegro doesn't need to be a wrapper for a real library, I'm well aware of that. But I'm talking about 2-D acceleration. -----sig: |
ReyBrujo
Moderator
January 2001
![]() |
Quote: This confuses me. If it's not good enough for anybody to really use, then... why have two threading systems in the same application? Why not just use pthreads for Allegro? If you haven't realized yet, developers are really reluctant to add extra dependencies to the base Allegro system. -- |
Chris Katko
Member #1,881
January 2002
![]() |
Quote: If you haven't realized yet, developers are really reluctant to add extra dependencies to the base Allegro system. I know. But duplicate code seems like such a waste. -----sig: |
Kitty Cat
Member #2,815
October 2002
![]() |
I think that means Allegro builds upon the existing threading system (pthreads for Unix/Linux, and whatever Windows uses), for its own internal uses. -- |
Michael Jensen
Member #2,870
October 2002
![]() |
Quote: (pthreads for Unix/Linux, and whatever Windows uses), I believe that microsoft just calls it threading, anyway, in DOS it uses software interupts... it would really be desirable, IMHO, to use pthreads because then we can expect the same behavior on multiple platforms also...
|
Peter Wang
Member #23
April 2000
|
Quote: it would really be desirable, IMHO, to use pthreads because then we can expect the same behavior on multiple platforms also... Cross-platform user programs might benefit from using only pthreads, but Allegro won't. The Windows-specific part of Allegro needs to access Windows-only APIs anyway (by definition) thus we can use Windows threading primitives there. Using an emulation of pthreads for that would be pure overhead.
|
Elias
Member #358
May 2000
|
..and the reason to not expose the internal API also for user programs is that user programs can as well use pthreads and then have a proper API, since for them, clean design and an easy to use API is more important than the overhead. Allegro's internal threading AOU only would be a too-small-to-be-useful subset, only the things that are needed internally (mostly if not only locks so far). But then, there's no real strong reason to not expose this API at some point.. just since pthreads can be used, that is always the better solution. -- |
Shawn Hargreaves
The Progenitor
April 2000
![]() |
Quote:
Shawn's last message to the AD mailinglist was on 12th of July 2002 and concerned packfile functions and filters. I'm not actively subscribed, but I browse the forums here, and the maillist archives on Sourceforge, every now and then. As a matter of principle, I hate the idea of obfusticating email addresses, but I get so much spam at my old talula.demon.co.uk address that I just can't be bothered to use it any more. I have a hotmail address that I check pretty regularly, though: concat("shawn", "hargreaves", at, "hotmail.com"); |
Peter Wang
Member #23
April 2000
|
Hi Shawn! I hope we're not messing up your baby :-)
|
Elias
Member #358
May 2000
|
Wow, Shawn himself. me gasps in awe -- |
Trezker
Member #1,739
December 2001
![]() |
O_o Shawn dropping by... I was taken by surprise Let's have a look at his profile...
Quote: I have a hotmail address that I check pretty regularly, though Do you lack gmail, or are you just hiding it from the public? /me thinks this thread is gonna be offtopic now, talking about teh Shawn! |
ReyBrujo
Moderator
January 2001
![]() |
Yeah, we can give you a couple of invitations for you to subscribe them to the lists, if anything. -- |
Shawn Hargreaves
The Progenitor
April 2000
![]() |
Quote: I hope we're not messing up your baby :-) I don't think you can really call Allegro a baby anymore: it seems pretty much full-grown :-) All looks good to me, anyway! It's really cool for me to see regular releases, bugfixes, etc, carrying on for so many years... Quote: - I have a hotmail address that I check pretty regularly, though Do you lack gmail, or are you just hiding it from the public? I just never bothered to set one up: Hotmail works well enough for what I use it for, and it's a pain to keep changing address all the time! |
Trezker
Member #1,739
December 2001
![]() |
For the Allegro 5 release, I'd like to see a release party somewhere in the world. |
Gideon Weems
Member #3,925
October 2003
|
BAF
Member #2,981
December 2002
![]() |
hey shawn! I've never seen you before. I love allegro, thanks man. |
|
|