Page 2 of 2

Re: How does video work?

Posted: Mon Jan 26, 2009 9:47 am
by Creature
Tomaka17 wrote: - Qt, SDL, etc. are just libraries that are hiding OpenGL or o/s-dependent calls
Libraries like SDL, Qt, Glut, FreeGlut, Allegro, ClanLib, <Insert endless list here> are all libraries that plainly wrap OS-dependent code into one library, usually with a load of preprocessor-defines and #ifdefS. On Windows, there is (I believe) no way to go deeper than the Win32 API (unless you consider driver development deeper), there's no way you can say "Oh, I don't like the Win32 way of handling floppies, I'm going to write my own that uses BIOS interrupts.", cause that just won't work.

In these libraries, you get something like (very basic):

Code: Select all

#ifdef _WIN32
//We're on Windows
#elif defined(__linux)
//We're on Linux.

//Add more platforms here.
#endif
And sometimes even compiler-specific actions are needed:

Code: Select all

#ifdef _WIN32
//We're on Windows
#   ifdef _MSC_VER
     //We're on Windows with Visual C++.
#   endif
#elif defined(__linux)
//We're on Linux.

//Add more platforms here.
#endif