Link to home
Start Free TrialLog in
Avatar of PaulCaswell
PaulCaswellFlag for United Kingdom of Great Britain and Northern Ireland

asked on

Portable Graphics library in C

Hi All,

I am looking for a graphics library that will provide me with as many of the following features as possible:

1. Portability.

The tool I am working on will be useful on many platforms and I don't want to tie myself down to a specific OS at this stage.

2. C

I am hoping to implement a form of this tool as a device driver. Currently it is particularly complicated to write Windows device drivers in any language other than C.

3. Still AND moving image features.

This is less important. I am sure it should be possible to add moving image I/O but it certainly would be nice to have it for free as it were.

4. Hardware assist if available.

But only if it does not interfere with 1. above.

5. Source.

For debugging and deployment primarily. Not crucial but a definite plus.

6. 2d and 3d

Any maths stuff that comes with it needs to be capable of handling 3d as well as the usual 2d.

Clearly OpenGL is a good candidate but I would like to at least look at some other contenders. Thanks all in advance for your suggestions.

Paul
ASKER CERTIFIED SOLUTION
Avatar of LordWolfy
LordWolfy
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of F. Dominicus
OpenGL itself is worth a look but also, Cairo from GTK+
Please check.
http://cairographics.org/

Regards
Friedrich
Avatar of PaulCaswell

ASKER

Thanks Friedrich and LordW,

Both good ideas.

I had a look at Cairo. Am I right that Cairo relies on OpenGL? In which case Allegro may be my best choice. It would probably still function in DriverSpace while I doubt that the OpenGL stuff would still be available down there. Am I right?

Paul

OpenGL support is usually included in the drivers for most graphics cards.  The only problem is that its not well maintained.  It depends how complex the graphics need to be.  If its pretty simple then OpenGL should work fine.