Graphics Libraries

Started by
4 comments, last by MonkeyCookie 19 years, 10 months ago
I''m looking for a proffesional cross-platform graphics library thats able to run on Windows, Linux, and Macs. I wish it to be similar to GDI+ (what .NET uses) or Java2D. I am aware of SDL and Allegro but they are not able to draw complex primitives with curves, paths, strokes, brushes, textures, etc. I want good font support and transformations too. Alpha-blending is also neccesary. I''ve been having a lot of trouble finding one. If you know of any library that has maybe half these features, post a link! I don''t know if there are any other libraries out there that can do all of this but I''ll pick the best. Maybe SDL has some mods that do this? I don''t know. I emphasize drawing primitives. And before someone says OpenGL: I really want it to be 2D only because: a) My machine isn''t very powerful: no video card. b) I''m drawing GUI applications, no need for 3D or all the unneeded overhead. Free too btw ... C or C++. Thanks!
Advertisement
opengl can be used in 2D mode though, and using something like Mesa it will work in software (and probably quite fast, maybe even faster than the default MS OGL dll...)
"professional" and "free" don''t generally mix well...
____________________________________________________________AAAAA: American Association Against Adobe AcrobatYou know you hate PDFs...
SDL + SDL_ttf + SDL_gfx + SDL_rotozoom = what you need.

SDL_ttf will handle fonts
SDL_gfx will handle primitives
SDL_rotozoom will handle transformations.
SDL_gfx 2.0 absorbed rotozoom, but it isn't fast enough on most systems to do realtime rotation & zooming. An OpenGL or Direct3D solution will be the fastest. I used to maintain ZEngine but as you can see I am shifting my focus to a new library that will appear online as soon as sourceforge works out a CVS problem. Or you can code your own, but you said you didn't want the overhead.
atcdevil is right. SDL is simple, unable to do complex curves, shapes, and so forth, but it is designed to be that way. Its simplicity allows it to be very flexible.

There are a lot of libraries (some mentioned by atcdevil) that build upon the functionality of SDL. Go to www.libsdl.org and click on their libraries link. There are quite a number of libraries that extend the functionality of SDL available for you to use.

This topic is closed to new replies.

Advertisement