Jay Link ±Û¾´ÀÌ ¼Ò°³: |
¸®´ª½º½Ã½ºÅÛ¿¡¼ °£´ÜÇÑ ±×·¡ÇÈÆÐÅ°Áö¸¦ ã°í ÀÖ½À´Ï±î? ¸¸¾à ±×·¸´Ù¸é ´õ º¼ ÇÊ¿äµµ ¾ø½À´Ï´Ù. SVGAlib´Â °£´ÜÇÑ ±×·¡ÇÈ ÀÀ¿ëÇÁ·Î±×·¥À» ¸¸µå´Â °£´ÜÇÑ ¹æ¹ý°ú XÀ©µµ¿ì ½Ã½ºÅÛÀÇ ÀåȲÇÑ ºÎºÐÀ» ¾ø¾ÖÁÝ´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ C¿¡¼ ±âº»ÀûÀÎ ÇÁ·Î±×·¡¹Ö ¼öÁØÀ̶ó¸é SVGAlib¸¦»ç¿ëÇϼ¼¿ä.
SVGAlib´Â ¸®´ª½º¸¦ À§ÇÑ Àú¼öÁØÀÇ ±×·¡ÇÈ ¶óÀ̺귯¸®ÀÌ´Ù. ±×·¡ÇÈÀÇ Áö¿øÀ» Á¦°øÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó CÇÁ·Î±×·¡¹ÖÀÇ ±â´ÉÀ» È®Àå½ÃÄÑÁÖ´Â °ÍÀÌ´Ù.
¹°·Ð C·Î Â¥¿©Áø ±×·¡ÇÈ ÇÁ·Î±×·¥Àº ¾ÆÁÖ ¸¹´Ù.
±×·¸´Ù. ±×·¯³ª ±×·± ÇÁ·Î±×·¥µéÀº ¿ÜºÎ ¶óÀ̺귯¸® ÇÔ¼öµé¿¡ ÀÇÁ¸ÇÑ´Ù. C ÀÚü·Î´Â ´ÜÁö ÅؽºÆ®¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸ðµç ±×·¡ÇÈ °ü·Ã ÇÔ¼öµéÀº ½Ã½ºÅÛ¿¡ ÀÇÁ¸ÀûÀ̸ç Æ÷ÆÃÀÌ ºÒ°¡´ÉÇÏ°Ô µÇ´Â °ÍÀº À̶§¹®ÀÌ´Ù. ºÒÇàÇÏ°Ôµµ ÇÑ ¿î¿µÃ¼°è¸¦ À§ÇØ ¸¸µé¾îÁø ±×·¡ÇÈ ·çƾµéÀº ¸ðµÎ »õ·Î Á¦ÀÛµÇÁö ¾ÊÀ» °æ¿ì´Â ´Ù¸¥ ½Ã½ºÅÛ¿¡¼ µ¿ÀÛÇÏÁö ¾ÊÀ»¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î óÀ½ºÎÅÍ DOS³ª Windows¿¡¼ ¸¸µé¾îÁø ±×·¡ÇÈ ÇÔ¼öµéÀº ¸®´ª½º¿¡¼´Â ¾µ¸ð¾ø´Â °ÍÀÌ´Ù.
¸®´ª½º»ó¿¡¼ C·Î ±×·¡ÇÈ ÇÔ¼öµéÀ» Â¥±â À§Çؼ, ¸®´ª½º¿¡ ¾Ë¸Â´Â ¿ÜºÎ ÇÔ¼öµéÀ» »ç¿ëÇÏ´Â °ÍÀÌ ÇÊ¿äÇÏ´Ù. SVGAlib´Â ±×·¯ÇÑ ÇÔ¼öµéÀÇ ¸ðÀ½Áß ÇϳªÀÌ´Ù.
|
X À©µµ¿ì ½Ã½ºÅÛ(XFree86)Àº ½ÇÁ¦·Î ¼¹öÀÌ´Ù. ÀÌ ¼¹ö´Â X»óÀÇ ¾î¶² ÀÀ¿ë ÇÁ·Î±×·¥À» »ç¿ëÇÏ´Â °Íµéº¸´Ù ¿ì¼±ÀûÀ¸·Î ½ÃÀ۵ȴÙ. ´õ±º´Ù³ª X ¼¹ö´Â ´ç¿¬È÷ ½Ã½ºÅÛ¿¡ ÁýÁßÀûÀÌ¾î¼ (¿¹¸¦ µé¸é X´Â ¿©·¯ºÐÀÇ ÀÚ¿øÀ» °è¼Ó ¿ä±¸ÇÒ ¼öµµ ÀÖ´Ù.) »ç¿ëÀÚ°¡ °¡»ó Å͹̳Î(ALT 1-6)À» ÀÌ¿ëÇÏÁö ¸øÇÏ°Ô ÇÒ°ÍÀÌ´Ù.
±×·¯³ª SVGAlib´Â X À©µµ¿ì¸¦ ½ÇÇàÇÏ´Â °Íó·³ ½ÇÇàÀÌÀü¿¡ ´Ù¸¥°ÍÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù. SVGAlib´Â ´ÜÁö C ÇÁ·Î±×·¥¿¡ ÀÇÇØ È£ÃâµÇ´Â ´Ù¸¥ ¸ðµç ¶óÀ̺귯¸®µé(/lib°ú /usr/lib)°ú °°Àº ¹ÙÀ̳ʸ® C ¶óÀ̺귯¸®ÀÌ´Ù.°á±¹ SVGAlib´Â ÇϵîÀÇ Áغñ°¡ ÇÊ¿ä¾ø´Ù. ¸¸¾à SVGAlib°¡ ÀûÀýÈ÷ ÀνºÅçµÇ¾îÀÖ´Ù¸é º¸ÅëÀÇ À¯ÀúµéÀº ±× Á¸ÀçÁ¶Â÷µµ ¾ËÁö ¸øÇÒ °ÍÀÌ´Ù. °á°úÀûÀ¸·Î SVGAlib´Â °¢°¢ÀÇ °¡»óÅ͹̳ο¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê°í, Æò»ó½Ãó·³ ´Ù¾çÇÑ ¾îÇø®ÄÉÀ̼ÇÀ» ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ÇϳªÀÇ Å͹̳ο¡¼´Â ÅؽºÆ®¸¦ »ç¿ëÇÏ°í, ´Ù¸¥ Å͹̳ο¡¼´Â ±×·¡ÇÈÀ» ÀÌ¿ëÇÒ ¼öµµ ÀÖ´Ù.
X À©µµ¿ì ½Ã½ºÅÛÀº (´Ù¾çÇÑ Ç÷§Æû¿¡¼ »ç¿ëµÇ¾îÁöµíÀÌ) ½Ã½ºÅÛ¿¡ µ¶¸³ÀûÀ̱⶧¹®¿¡ SVGAlib ·Î ¸¸µé¾îÁø °Íº¸´Ù X À©µµ¿ì¿ë ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ ÈξÀ ´õ ¸¹´Ù. ´ÜÁö ¸®´ª½º¸¸ÀÌ SVGAlib¸¦ »ç¿ëÇÑ´Ù. ¶ÇÇÑ À߸ø ¸¸µé¾îÁø SVGAlib ÀÀ¿ëÇÁ·Î±×·¥Àº ÄܼÖÀ» ÀÌ»óÇÏ°Ô ¸¸µé¾î¹ö·Á °á±¹ ÀçºÎÆÃÀ» Çؾ߸¸ ÇÒ ¼öµµ ÀÖ´Ù. °á±¹ SVGALIB·Î ¸¸µé¾îÁø ±×·¡ÇÈÀ» »ç¿ëÇÒ °æ¿ì µÎ°³ÀÇ Äֻܼ󿡼 À̸®Àú¸® ¹Ù»ß ¿Ô´Ù°¬´ÙÇÏ¸é ¾ÈµÈ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ȸ鿡 Ãæµ¹ÀÌ ÀϾ¼ ´Ù½Ã ÀçºÎÆÃÀ» ÇؾßÇÒ °ÍÀÌ´Ù.
SVGAlib°¡ º¸¾È»ó À§ÇèÀÌ ÀÖ´Ù´Â °ÍÀº ¿¾³¯¸»ÀÌ´Ù. SVGAlib¸¦ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥ÀÌ setuid°¡ root°¡ µÇ¾î ½ÇÇàµÇÁö¸¸ ½ÇÇàµÈ ´ÙÀ½ °ð¹Ù·Î Ư±ÇÀ» Æ÷±âÇÏ°Ô µÈ´Ù. º¸¾È¿¡ ´ëÇؼ´Â ½Å°æ¾µ ÇÊ¿ä°¡ ¾ø´Ù.
¿ä¾àÇؼ, ¾Õ¼ ¾ð±ÞÇÑ ¹®Á¦Á¡µéÀÌ ÀÖÀ½¿¡µµ ºÒ±¸ÇÏ°í SVGAlibÀÇ ¼Óµµ¿Í »ç¿ë»óÀÇ ¿ëÀ̼ºÀº ¸¹Àº »óȲ¿¡¼ ¸Å·ÂÀûÀÌ´Ù. ƯÈ÷ ȸ鿡 ¸¶À½´ë·Î ±×·Áº¸°í½ÍÀ» °æ¿ì´Â ´õ¿í ±×·² °ÍÀÌ´Ù.
SVGAlib¸¦ »ç¿ëÇϱâ À§ÇØ, C ÇÁ·Î±×·¥¿¡¼ ´ÙÀ½À» ÂüÁ¶½ÃÄÑ¾ß ÇÑ´Ù. ´ÜÁö #include <vga.h>¸¦ Æ÷ÇÔÇÏ¸é µÈ´Ù. ¿©±â¿¡ °¡Àå ½¬¿î SVGAlib ÇÁ·Î±×·¥À» »ìÆ캸ÀÚ.: ´Ù¿î·Îµå
#include <stdio.h> #include <vga.h> int main(void) { vga_init(); vga_setmode(5); vga_setcolor(4); vga_drawpixel(10,10); sleep(5); vga_setmode(0); exit(0); }
ÀÌ ÇÁ·Î±×·¥Àº ȸé»óÀÇ »¡°£ »ö Á¡À» ±×¸± °ÍÀÌ´Ù. 5ÃÊ ÈÄ¿¡ ÄܼÖÀ» ÅؽºÆ® ¸ðµå·Î ¹Ù²Û ´ÙÀ½, ÇÁ·Î±×·¥Àº Á¾·áµÈ´Ù.
À§¿¡ ±â¼úÇÑ ÇÁ·Î±×·¥ÀÇ Ã¹ ¹®ÀåÀÎ vga_init()¿¡ ÁÖ¸ñÇØ º¸ÀÚ. ÀÌ°ÍÀº root ±ÇÇÑÀÇ »óŸ¦ Æ÷±âÇÏ°í SVGAlib ¶óÀ̺귯¸®¸¦ ÃʱâÈ ½ÃŲ´Ù. µÎ¹ø° ¶óÀÎÀÎ vga_setmode(5)´Â ȸéÀ» 320X200X256ÀÎ mode 5·Î ¼³Á¤ÇÑ´Ù. Áï ȸéÀ» °¡·Î·Î´Â 320°³, ¼¼·Î·Î´Â 200°³ÀÇ Çȼ¿À» °¡Áö´Â 256Ä®¶ó¸¦ Áö¿øÇÏ´Â °ÝÀÚÇüÅ·Π¸¸µç´Ù. ÀÌ°ÍÀº vga_setmode(G320x200x256)°ú µ¿ÀÏÇÑ ±â´ÉÀ» ÇÑ´Ù. ´Ù¸¥ Ç¥Çöµéµµ °¡´ÉÇÏ´Ù. ´ÙÀ½ ¹®ÀåÀÎ vga_setcolor(4)´Â Çö »ö»óÀ» »¡°À¸·Î ¸¸µç´Ù. 0¿¡¼ 256±îÁö, ¾î¶² ¼ö·Îµµ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ´Ù¸¥ ¸í·Éµé¿¡ ÀÇÇØ ´õ ¸¹Àº »ö»óµéµµ °¡´ÉÇÏÁö¸¸, ¿ì¸®´Â ÀÌ·¯ÇÑ ¿¹µéÀÇ ±âº»ÀûÀÎ »ö»ó¸¸À» »ç¿ëÇÑ´Ù. ¸¶Áö¸·À¸·Î ÁÂÇ¥ 10, 10¿¡ ÇÑ Á¡À» Ä¥Çغ¸ÀÚ. ±×°÷Àº È¸é ¿ÞÂÊÀÇ °æ°è¼±ÀÇ ¿À¸¥ÂÊÀ¸·Î 11¹ø°°í ¾Æ·¡·Î 11°ÀÇ °ø°£ÀÌ µÈ´Ù. ÁÂÇ¥ÀÇ °ÝÀÚÁ¡Àº 0¿¡¼ ½ÃÀÛÇϱ⠶§¹®¿¡ 11ÀÌ ¾Æ´Ï¶ó 10ÀÌ´Ù. ÁÂÇ¥ 0,0Àº ÁÂÃøÀÇ »ó´Ü¿¡ ÀÖ´Ù. vga_setmode(0)´Â ½ºÅ©¸°À» ÅؽºÆ® ¸ðµå·Î µ¹·ÁÁØ´Ù. vga_setmode(text)´Â vga_setmode(0)º¸´Ù´Â ´õ °³¼ºÀûÀÌ´Ù. ÇÁ·Î±×·¥ÀÇ ÈĹ̿¡ ÀÌ °úÁ¤À» Ç×»ó Çصδ °ÍÀÌ ÁÁ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ÇÁ·Î±×·¥ÀÌ ´Ù¸¥ »ç¿ëÀÚµéÀÇ Á¤»óÀûÀÎ »ç¿ëÀ» ¹æÇØÇÒ °ÍÀÌ´Ù.
ÀÌ Äڵ带 ÄÄÆÄÀÏÇϱâ À§ÇØ, ÀϹÝÀûÀÎ gccÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇÏÀÚ. -lvga Ä¿¸Çµå¸¦ »ç¿ëÇÏ¿©, SVGAlib¸¦ ¸µÅ©½ÃÅ°´Â °ÍÀÌ ÇÊ¿äÇÏ´Ù. ¸¶Áö¸·À¸·Î, °¡Àå ÁÁÀº ¼öÁØÀÇ ÃÖÀûȸ¦ À§ÇØ -O3Ä¿¸Çµå¸¦ »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.:
gcc -O3 -o sample sample.c -lvga
±×¸®°í ³ª¼, ·çÆ®ÀÇ ±ÇÇÑÀ» °¡ÁöÁö ¾Ê´Â °èÁ¤»ç¿ëÀڵ鵵 »ç¿ëÇÒ ¼ö ÀÖ°Ô ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» ³»¸°´Ù.:
chmod u+s
½ÇÇàÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù:
sample <¶Ç´Â »ç¿ëÀÚ°¡ ºÙÀÎ À̸§>
SVGAlib ¸í·ÉÀÇ ¿Ïº®ÇÑ ÁýÇÕµéÀº SVGAlib ¸Å´º¾ó ÆäÀÌÁö·Î ¹®¼ÈµÇ¾î ÀÖ´Ù. ¿©±â¼ ¸ðµç °ÍµéÀ» »ìÆ캸Áö´Â ¾Ê´Â´Ù. ±× ´ë½Å¿¡ ´õ¿í ºü¸¥ SVGAlib ÇÔ¼öµéÀÇ ÁýÇÕµéÀ» »ç¿ëÇÏ¿©, ¿ì¸®ÀÇ µÎ¹ø° ¿¹Á¦¸¦ ÀÛ¼ºÇغ¸·Á°í ÇÑ´Ù.: vgagl.
"man vgagl"À̶ó°í Ãĺ¸ÀÚ. ±×·¯¸é vgaglÀº "SVGAlib¸¦ ±âÃÊ·Î ÇÏ´Â ºü¸¥ ÇÁ·¹ÀÓ ¹öÆÛ ¼öÁØÀÇ ±×·¡ÇÈ ¶óÀ̺귯¸®ÀÌ´Ù."¶ó°í µÇ¾î ÀÖ´Ù. ±âº»ÀûÀ¸·Î »ç¿ëÀÚ¿¡°Ô ÇϳªÀÇ ¹®À常À¸·Îµµ Çü»óÀ» ±×¸±¼ö ÀÖÀ» Á¤µµÀÇ Á» ´õ ³ªÀº ±×·¡ÇÈ ÇÔ¼öµéÀ» Á¦°øÇÏ°Ô µÉ °ÍÀÌ´Ù.
¾Æ·¡´Â vgaglÀ» »ç¿ëÇÑ ÇÁ·Î±×·¥Àε¥, ¸î¸îÀÇ ÀνºÅç ÇÁ·Î±×·¥µéÀÌ »ç¿ëÇÏ´Â ÆĶõ ºûÀ» ³»´Â ȸéÀ¸·Î ¸¸µé¾î ÁÙ °ÍÀÌ´Ù. ÀÌ°ÍÀº ȸéÀÇ »ó´Ü¿¡¼ ¹àÀº ÆĶû»öÀ¸·Î ½ÃÀ۵Ǿî, ¼¼È÷ ¾îµÎ¿öÁö¸é¼ ¹ØÀ¸·Î ¿Å°ÜÁü°ú µ¿½Ã¿¡ ¾ø¾îÁú °ÍÀÌ´Ù. óÀ½ ÇÁ·Î±×·¥°ú ´Ù¸£°Ô µ¿ÀÛÇÏ´Â °ÍÁßÀÇ Çϳª°¡ º¸ÀÌÁö ¾Ê´Â "°¡»óÀÇ" ȸ鿡¼ ±×·ÁÁÖ´Â ÀÛ¾÷À» ½ÇÇàÇÑ´Ù´Â °ÍÀÌ´Ù. ±×·¡¼ ¸ðµç ÇàµéÀÌ ´Ù ±×·ÁÁö¸é, ÃÖÁ¾ÀûÀ¸·Î ¸¸µé¾îÁø ±×¸²µéÀ» ÇϳªÀÇ "¹°¸®ÀûÀÎ" ȸ鿡 ´Ü¹ø¿¡ ¿Å±â°Ô µÈ´Ù. ÀÌ·± °ÍµéÀº ȸéÀÇ ¶³¸²À» ¹æÁöÇÏ°í »ç¿ëÀÚ°¡ ¸¸µç ¾îÇø®ÄÉÀ̼ǵéÀ» º¸´Ù ´õ Àü¹®°¡ÀûÀ¸·Î º¸ÀÌ°Ô ÇÑ´Ù. ³ª´Â °¡»óÀÇ È¸éÀ̶õ "¹è¿ì"µéÀÌ °ø¿¬À» ÇÏ°í ÀÖ´Â µ¿¾È "ºÐÀå»ç"µéÀÌ ¿½ÉÈ÷ ²Ù¹Ì°í ÀÖ´Â "ºÐÀå½Ç"°ú °°´Ù°í »ý°¢ÇÑ´Ù.
ÄÄÆÄÀÏÀ» ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÑ´Ù.:
gcc -O3 -o gradient gradient.c -lvgagl -lvga
-lvgaglÀÌ -lvgaÀÇ ¾Õ¿¡ ¿Â´Ù´Â °ÍÀ» ÁÖ¸ñÇÏÀÚ. ±× ¶óÀ̺귯¸®¸¦ »ç¿ëÇϱâ À§ÇØ vgaglÀ» ÂüÁ¶ÇÏ·Á¸é ÀÌ·¸°Ô ÇÏ´Â °ÍÀº ÇʼöÀûÀÌ´Ù.chmod u+s¸¦ ±â¾ïÇÏÀÚ.
¿©±â¿¡ ¼Ò½ºÄڵ尡 ÀÖ´Ù: ´Ù¿î·Îµå
#include <stdio.h> #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(5); gl_setcontextvga(5); gl_setcontextvgavirtual(5); physicalscreen = gl_allocatecontext(); gl_getcontext(physicalscreen); virtualscreen = gl_allocatecontext(); gl_getcontext(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); getchar(); gl_clearscreen(0); vga_setmode(0); exit(0); }
Áö±Ý #include <vgagl.h>°¡ Æ÷ÇԵǾî¾ß ÇÑ´Ù´Â °ÍÀ» ±â¾ïÇصÎÀÚ.
ÄÚµùÀº ±×·¡ÇÈ ÄÞÅؽºÆ®µéÀ» ¼³Á¤Çϴµ¥¼ ½ÃÀ۵ȴÙ.:
GraphicsContext *physicalscreen GraphicsContext *virtualscreen
±×¸®°í ³ª¼ º¯¼öµéÀ» ¼±¾ðÇÏ°í È¸é ¸ðµå¸¦ ¼ÂÆÃÇϱâ À§ÇØvga_setmode()¸¦ »ç¿ëÇÑ´Ù. ±×´ÙÀ½ ÄÜÅؽºÆ®µéÀ» º¯¼öµé·Î ÀúÀåÇÑ´Ù.¿ì¸®´Â ¾Õ¿¡¼¿Í °°ÀÌ 5¹ø ¸ðµå(G320320x200x256)¸¦ »ç¿ëÇÑ´Ù.
¸ÕÀú º¸¿©Áö´Â "½ÇÁ¦"ȸé°ú º¸¿©ÁöÁö ¾Ê´Â "°¡»ó"ȸéÀ» ¸ðµÎ ÃʱâȽÃų ÇÊ¿ä°¡ ÀÖ´Ù. ±×¸®°í ¿ì¸®´Â ±× ´ÙÀ½ ÄÁÅؽºÆ®¸¦ º¯¼ö·Î ÀúÀåÇÑ´Ù.:
gl_setcontextvga(5) gl_setcontextvgavirtual(5) physicalscreen = gl_allocatecontext() gl_getcontext(physicalscreen) virtualscreen = gl_allocatecontext() gl_getcontext(virtualscreen)
ÀÌÁ¦ °¡»óȸ鿡 µ¿ÀÛ½ÃÅ°·Á ÇÑ´Ù´Â °ÍÀ» ¾Ë¸®·Á°í ÇÑ´Ù.: gl_setcontext(virtualscreen).
gl_setpalettecolor()´Â ÆĶõ»ö¿¡¼ 64°¡ÁöÀÇ ¸í¾ÏÀ» Á¦°øÇÑ´Ù. °¢°¢ÀÇ ¸í¾Ïº°·Î 3°³ÀÇ ¶óÀÎÀ» ±×¸®·Á°í ÇÑ´Ù. ÀüüÀûÀ¸·Î´Â 192°³ÀÇ ¶óÀÎÀÌ µÈ´Ù. ³ª¸ÓÁö 8°³ÀÇ ¶óÀÎÀº °ËÁ¤»ö °è¿ÀÌ µÉ °ÍÀ̹ǷΠ³ªÅ¸³ªÁö ¾ÊÀ» °ÍÀÌ´Ù.
ÀÌ °úÁ¤ÀÌ ³¡³ª¸é, °¡»óÀÇ È¸é¾ÈÀÇ ³»¿ëµé(ÇöÀç ½ºÅ©¸°)À» gl_copyscreen(physicalscreen) ¸í·ÉÀ» ÀÌ¿ëÇÏ¿©, ½ÇÁ¦ ȸéÀ¸·Î ¿Å±ä´Ù.
À̶§, »ç¿ëÀÚµé·Î ÇÏ¿©±Ý ¾ó¸¶µ¿¾È ±× ±×¸²µéÀ» º¸À̵µ·Ï ÇÒ °ÍÀΰ¡¸¦ °áÁ¤ÇÏ°Ô ÇÑ´Ù. getchar()´Â »ç¿ëÀÚÀÔ·ÂÀ» ±â´Ù¸°´Ù. ¾Æ¹«Å°³ª ÀÔ·ÂÀ» ¹Þ°Ô µÇ¸é gl_clearscreen(0)°ú vga_setmode(0)À» ÀÌ¿ëÇÏ¿© ºüÁ® ³ª¿À°Ô µÈ´Ù.
SVGAlib¸¦ »ç¿ëÇÑ ¸ðµç ÇÔ¼öµéÀÇ ÁýÇÕÀº "man svgalib"¿Í "man vgagl"¸¦ ÀÔ·ÂÇÏ¸é º¼ ¼ö ÀÖ´Ù. ¶ÇÇÑ °¢°¢ÀÇ ÇÔ¼öµéµµ ÇϳªÀÇ ¸Å´º¾ó ÆäÀÌÁö¸¦ °¡Áö°í ÀÖ´Ù. ¿©±â¿¡ ¼Ò°³ÇÑ °ÍÀ» ÀÐ°í³ ÈÄ¿¡´Â, ºñ±³Àû ½±°Ô ¿©·¯ºÐÀÇ ÇÁ·Î±×·¥¼Ó¿¡ »õ·Î¿î ¸í·ÉÀ» »ðÀÔÇÒ¼ö ÀÖ°Ô µÉ °ÍÀÌ´Ù. ¶ÇÇÑ ¹è¿ü´ø ¹Ù¿Í °°ÀÌ, SVGAlib¿Í °°ÀÌ ¼³Ä¡µÇ¾î ÀÖ´Â ¿¹Á¦ ÇÁ·Î±×·¥µéÀ» °¡Áö°Ô µÉ °ÍÀÌ´Ù.
/libs/graphics³ª tsx-11.mit.eduÀÇ pub/linux/sources/libs¿¡¼ SVGAlibÀÇ ÃֽŹöÁ¯À» ±¸ÇÒ ¼ö ÀÖ´Ù. ÀÌ ±â»ç¸¦ ¾²°í ÀÖ´Â µ¿¾ÈÀÇ ÀÌ ÇÁ·Î±×·¥ÀÇ ¹öÀüÀº 1.3.0ÀÌ´Ù.
¸¶Áö¸·À¸·Î ½½·¢¿þ¾î ¹èÆ÷º»Àº ÁÁ±ä ÇÏÁö¸¸, SVGAlib¸¦ À߸øµÈ µð·ºÅ丮¿¡ ¼³Ä¡Çϱ⵵ ÇÑ´Ù. Sunsite³ª MIT·ÎºÎÅÍ »õ·Î¿î SVGAlib¸¦ ¹Þ¾Æ¼ ÀνºÅçÀ» ÇÏ¸é ±×·± Çö»óÀ» °íÄ¥ ¼ö ÀÖ´Ù.
º» À¥½ÎÀÌÆ®´Â Miguel Angel Sepulveda°¡ °ü¸®ÇÕ´Ï´Ù. © Jay Link 1998 ¸®´ª½ºÆ÷Ä¿½º 1998 |