oktatas:programozas:c:konzolgrafika_svga
Tartalomjegyzék
Konzolgrafika SVGA
Bevezetés
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.
SVGA Könyvtárak telepítése
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.
Használat
Két fejállományt használhatunk:
- vga.h
- vgagl.h
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
Külső link
oktatas/programozas/c/konzolgrafika_svga.txt · Utolsó módosítás: 2019/08/21 17:56 szerkesztette: admin