Nyílt forráskódú alacsony szintű grafikai műveletek tesz lehetővé. Váltható videó módok és teljes képernyős mód is lehetséges. Néhány népszerű program is használja az eredeti verziójában, úgymint Quake, Doom, stb.
Debian rendszeren
apt-get install libsvga1-dev
A dokumentum jelenlegi verziója csak Debian rendszeren mutatja, be az SVGA könyvtárak telepítését.
A MinGW alapból nem tartalmazza az SVGALIB-et ezért be kell azt szerezni.
Két fejállományt használhatunk:
Parancssoros fordításhoz:
gcc -l vga -o main main.c gcc -l vgagl -o main main.c
Egyszerű példaprogram:
#include <stdlib.h> #include <vga.h> int main(void) { vga_init(); vga_setmode(G320x200x256); vga_setcolor(4); vga_drawpixel(10, 10); sleep(5); vga_setmode(TEXT); return EXIT_SUCCESS; }
#include <stdlib.h> #include <vga.h> #include <vgagl.h> GraphicsContext *physicalscreen; GraphicsContext *virtualscreen; int main(void) { int i, j, b, y, c; vga_init(); vga_setmode(G320x200x256); gl_setcontextvga(G320x200x256); physicalscreen = gl_allocatecontext(); gl_getcontext(physicalscreen); gl_setcontextvgavirtual(G320x200x256); virtualscreen = gl_allocatecontext(); gl_getcontext(virtualscreen); gl_setcontext(virtualscreen); y = 0; c = 0; gl_setpalettecolor(c, 0, 0, 0); c++; for (i = 0; i < 64; i++) { b = 63 - i; gl_setpalettecolor(c, 0, 0, b); for (j = 0; j < 3; j++) { gl_hline(0, y, 319, c); y++; } c++; } gl_copyscreen(physicalscreen); vga_getch(); gl_clearscreen(0); vga_setmode(TEXT); return EXIT_SUCCESS; }
Fordítás:
gcc -O3 -o gradient gradient.c -lvgagl -lvga