|
|
| GDI+ and Allegro |
|
Korval
Member #1,538
September 2001
|
Currently, Allegro can do blitting to an arbiturary HDC via regular GDI functions. This process, however, is quite slow. Recently, Microsoft has built a new version of the GDI called GDI+. This one is much faster, and more full-featured (alpha blending), than the old GDI interface. Will Allegro have an option to use GDI+ blitting options (rotation, scale, blending, etc) in Allegro 5.0, or will it still only support blitting via the regular GDI? Note that GDI+ is a C++ class interface. Actaully, as I think about it, maybe Allegro could have, as an alternative to DDraw support, GDI+ support. The GDI+ seems to have the features and performance to make it useful, at the very least, in tools if not in games. |
|
Thomas Fjellstrom
Member #476
June 2000
|
If someone codes the driver, I don't see why not. Heck, If someone codes a driver for 4, It might just be included. Someone just needs to do the work. -- |
|
Korval
Member #1,538
September 2001
|
Quote: Heck, If someone codes a driver for 4 A driver for "4"? What does that mean? |
|
Thomas Fjellstrom
Member #476
June 2000
|
If someone writes an Allegro 4 driver so allegro can use GDI+ for drawing, it has a good chance (IMO) of being included. -- |
|
Korval
Member #1,538
September 2001
|
Oh, for version 4.0 of Allegro... What is involved with writing said driver? |
|
Thomas Fjellstrom
Member #476
June 2000
|
Probably just looking at the current GDI driver and adapting it to use the new GDI+ API. -- |
|
nonnus29
Member #2,606
August 2002
|
So where is this GDI+ ? In the VS.NET ? So it would be good for XP only? |
|
Johnny13
Member #805
October 2000
|
imho no reason to use gdi since we already have DirectX9::) Alg3D Praise my Games!!<code>#define SPAMMER (post>=666&&postperday>=6)</code><Mr.spellcaster>What post? <Mr.spellcaster>A useful post by me. |
|
spellcaster
Member #1,493
September 2001
|
Quote: imho no reason to use gdi since we already have DirectX9::)
And now use DirectX9 to draw on your win32 toolbar Don't be so single minded... I mean you have been coding for dos until recently... -- |
|
A J
Member #3,025
December 2002
|
if GDI+ is a new technology ___________________________ |
|
MiquelFire
Member #3,110
January 2003
|
Based on what he said, it sounds like something 2000 came up with. Unless he's including that "bubble" stuff from XP --- |
|
Korval
Member #1,538
September 2001
|
Quote: Probably just looking at the current GDI driver and adapting it to use the new GDI+ API. I didn't think there was an actual GDI driver. I mean, there are functions to blit a BITMAP to a HDC, but those are not the regular blitting functions, nor do they support normal Allegro functionality (trans, rotate, etc). Is there any documentation on writing a driver for Allegro? Quote: So where is this GDI+ ? GDI+ comes with WinXP, but if you download something off of Microsoft's site, even a Win98 machine or NT 4 (sp6) can use GDI+. |
|
Anomalous
Member #3,112
January 2003
|
GDI+ is included with WinXP, but prior versions of Windows don't support it by default. You can install it for older versions of Windows though, and package the redistributable with your applications...
_____________________________________________________________ |
|
Thomas Fjellstrom
Member #476
June 2000
|
Quote: I didn't think there was an actual GDI driver.
um.. What about the GFX_GDI driver? -- |
|
Korval
Member #1,538
September 2001
|
One of the main reasons for having this GDI+ driver is because, according to the Allegro developers, writing DirectX code that works reasonably well with a window that can resize is very difficult. The GDI, and GDI+, have no problems with this whatsoever. I want to have a version of Allegro that I can stick into an MFC app that will resize itself correctly (for tools), but I also want this version to run at a reasonable speed. GDI+ offers the reasonable speed part that the regular GDI did not. Quote: um.. What about the GFX_GDI driver? Thats what I was talking about. I didn't even realize that was there. |
|
Bob
Free Market Evangelist
September 2000
|
Quote: writing DirectX code that works reasonably well with a window that can resize is very difficult It would be possible if DDraw had facilities to do this. Unfortunately, it doesn't. This means that Allegro needs to destroy the DDraw surfaces, including all video bitmaps, then recreate them, every time the user moves the mouse to resize, and all while the application is drawing on to them at the same time. Quote: I want to have a version of Allegro that I can stick into an MFC app that will resize itself correctly (for tools), but I also want this version to run at a reasonable speed. Good idea! I'm all for it. -- |
|
spellcaster
Member #1,493
September 2001
|
This get's my vote as well. -- |
|
Korval
Member #1,538
September 2001
|
Quote: I mean, even with GDI, GDI+ you'll need to rectrate the buffers? Maybe the screen and soforth, but the GDI+ objects (BITMAPs, etc) don't rely on the existance of a HDC. |
|
|