Allegro °ÔÀÓ ÇÁ·Î±×·¡¹Ö ¶óÀ̺귯¸® ¾ð¾î: English  español  Deutsch  français  polski  Italiano 

 
 

Allegro
  ´º½º
  ¼Ò°³
  ¶óÀ̼¾½º
  °øÇåÇϽŠºÐµé
  Áö³­ ´º½º

´Ù¿î·Îµå
  ÃֽйöÀü
  ±¸¹öÀü
  CVS

¹®¼­ 
  API
  FAQ
  Æ©Å丮¾ó
  AllegroÀÇ ¹Ì·¡

Áö¿ø
  µµ¿ò¸»
  ¸ÞÀϸµ ¸®½ºÆ®
  IRC

°ÔÀÓ, À¯Æ¿¸®Æ¼, ¶óÀ̺귯¸® µîµî
  Allegro.cc

±âŸ
  DIGMID
  ¸µÅ©
  ¹Ì·¯
  Webmasters

 
 
  

...¹«Áö°³ÀÇ ³¡¿¡¼­

Allegro Æ®·çÄ÷¯ ½ÃÀÛÇϱâ


1998¿¡ ÇѸ¶µð: Allegro 3.0ÀÇ º£Å¸ ¹öÀüÀÌ ¸· ½ÃÀ۵ǾúÀ» ¶§, Àͼ÷ÇÑ 256 Ä÷¯ ÇÔ¼ö¿Í »õ·Î¿î Æ®·çÄ÷¯ ¸ðµå¿¡ ´ëÇÑ Â÷À̸¦ ¾Ë°í ½Í¾îÇÏ´Â »ç¶÷µéÀ» À§ÇØ, ÀÌ ±ÛÀ» ÀÛ¼ºÇÏ¿´½À´Ï´Ù. ¿ë¾î°¡ Á» ÀÌ»óÇÏ´Ù¸é À̰ÍÀº ´ÙÀ½ÀÇ ÀÌÀ¯¿¡¼­ÀÔ´Ï´Ù: ÀÌ ±ÛÀº Ãʺ¸ÀÚ¸¦ À§ÇÑ Æ©Å丮¾óÀÌ ¾Æ´Ï¶ó °æÇèÀÖ´Â »ç¿ëÀÚ¿¡°Ô ¸î°¡Áö »õ·Î¿î Ư¼º¸¦ ¼³¸íÇϱâ À§ÇØ ÀÛ¼ºµÇ¾ú½À´Ï´Ù. ÇÏÁö¸¸ ¾Æ¸¶µµ µÎ °¡Áö ¸ñÀû¿¡ ¸ðµÎ ºÎÇÕÇÒ ¼ö ÀÖÀ» °ÍÀ̸ç, À̰ÍÀÌ Á¦°¡ ÀÌ ±ÛÀ» ¿©±â¿¡ ³²°ÜµÐ ÀÌÀ¯ÀÔ´Ï´Ù.


ÀÚ, ½ÃÀÛÇÕ´Ï´Ù. ¼ö ¸¹Àº »õ·Î¿î ±×·¡ÇÈ ÄÚµå, ¼ö¹é¸¸°³ÀÇ Ãß°¡ »ö»ó, ±×¸®°í ±ÍÂúÀº 8ºñÆ® ÆÈ·¹Æ® À̹ÌÁö¸¦ »ç¿ëÇÏÁö ¾Ê´Â °Í. ÇÏÁö¸¸ ½ÇÁ¦·Î »õ·Î¿î ÇÔ¼ö°¡ ¸Å¿ì ¸¹Àº °ÍÀº ¾Æ´Õ´Ï´Ù: ±âÁ¸ ·çƾÀÌ Á¶±Ý ´Ù¸¥ ¹æ½ÄÀ¸·Î µ¿ÀÛÇÏ´Â °æ¿ì°¡ ´õ ¸¹½À´Ï´Ù. ¹°·Ð ¸ÞÀÎ ¶óÀ̺귯¸® ¹®¼­¿¡¼­ ÀÚ¼¼ÇÑ ¼³¸íÀ» ãÀ» ¼ö ÀÖÁö¸¸, ÀÌ ¹®¼­°¡ ÀÌ¹Ì 256 »ö»ó API¿¡ Àͼ÷Çϸç, ´ÜÁö Æ®·çÄ÷¯ ¸ðµåÀÇ Â÷ÀÌÁ¡À» ¾Ë°í ½ÍÀº »ç¶÷µé¿¡°Ô ¹Ù·Î ½ÃÀÛÇÒ ¼ö ÀÖ´Â À¯¿ëÇÑ °¡À̵尡 µÉ ¼ö ÀÖÀ¸¸®¶ó »ý°¢ÇÕ´Ï´Ù. ±×·¯¸é, ¾î¶»°Ô Æ®·çÄ÷¯ ÇØ»óµµ¸¦ »ç¿ëÇÏ´Â °ÍÀϱî¿ä?


ªÀº ´äº¯:

set_gfx_mode()ÀÇ ¾Õ¿¡¼­ set_color_depth()¸¦ È£ÃâÇϽʽÿÀ.


Áß°£ ´äº¯:

set_color_depth()¸¦ ÇÁ·Î±×·¥ÀÇ ½ÃÀÛ ºÎºÐ¿¡¼­ È£ÃâÇÕ´Ï´Ù (set_gfx_mode()¸¦ È£ÃâÇϱâ Àü¿¡, ±×¸®°í ºñÆ®¸Ê µ¥ÀÌÅ͸¦ µð½ºÅ©¿¡¼­ Àбâ Àü¿¡).

makecol() ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© (¶Ç´Â »ç¿ëÇÒ »ö»ó ºñÆ®¼ö¸¦ È®½ÇÈ÷ ¾Ë°í ÀÖ´Â °æ¿ì¿¡´Â makecol15(), makecol16() µîÀ» »ç¿ëÇÏ¿©) Red, Green, BlueÀÇ °ªÀ» ºñµð¿À Çϵå¿þ¾î¿¡¼­ »ç¿ëµÇ´Â Çü½ÄÀ¸·Î º¯È¯Çϰí, ±× °á°úÀÎ Á¤¼ö »ö»ó°ªÀ» ±×¸®±â ÇÔ¼ö¿¡¼­ »ç¿ëÇÕ´Ï´Ù.

¸¶½ºÅ© Çȼ¿¿¡ ´ëÀÀÇÏ´Â 0(zero) ´ë½Å¿¡ ¸¶Á¨Å¸ (Red¿Í Blue °ªÀº ÃÖ´ëÀ̸ç, GreenÀº 0ÀÎ »ö»ó)¸¦ »ç¿ëÇϽʽÿÀ.


±ä ´äº¯:

Ç¥ÁØ 8ºñÆ® ÆÈ·¹Æ® ¸ðµå»Ó¸¸ ¾Æ´Ï¶ó, Allegro´Â ÀÌÁ¦ 15, 16ºñÆ® ÇÏÀÌÄ÷¯ ¸ðµå¿Í 24, 32ºñÆ® Æ®·çÄ÷¯ ¸ðµåµµ Áö¿øÇÕ´Ï´Ù. 15ºñÆ® ¸ðµå¿¡¼­´Â Red, Green, Blue °¢°¢ 5ºñÆ®¾¿ ÇÒ´çµÇ¸ç, »ç¿ëµÇÁö ¾Ê´Â 1ºñÆ®°¡ Ãß°¡µÇ¾î ÇϳªÀÇ Çȼ¿À» ±¸¼ºÇÕ´Ï´Ù. 16ºñÆ® ¸ðµå¿¡¼­´Â Red¿Í Blue 5ºñÆ®¾¿°ú Green 6ºñÆ®·Î ±¸¼ºµË´Ï´Ù. 24ºñÆ® ¸ðµå¿¡¼­´Â °¢ Çȼ¿ÀÌ Red, Green, BlueÀÇ 3°³ÀÇ ¹ÙÀÌÆ®·Î ±¸¼ºµÇ¸ç (ÀÌ·¯ÇÑ ±¸¼ºÀº µ¥ÀÌÅÍ Á¤·Ä»ó ÁÁÁö ¾Ê±â ¶§¹®¿¡ ó¸® ¼Óµµ¸¦ ´À¸®°Ô ÇÏ´Â °æÇâÀÌ ÀÖ½À´Ï´Ù), 32ºñÆ® ¸ðµå¿¡¼­´Â 24ºñÆ® ¸ðµå¿¡¼­¿Í ¸¶Âù°¡ÁöÀÇ ±¸¼º¿¡ Ãß°¡·Î ÇϳªÀÇ ¿¹ºñ ¹ÙÀÌÆ®°¡ Ãß°¡µÇ¾î µ¥ÀÌÅÍ Á¤·Ä»ó À¯¸®ÇÑ ÇüÅ·ΠÀ¯ÁöµË´Ï´Ù.

¾î¶² ¸ðµå¸¦ »ç¿ëÇÒ °ÍÀΰ¡´Â ±×·¡ÇÈ Ä«µå¿Í VESA µå¶óÀ̹ö¿¡ µû¶ó °áÁ¤µË´Ï´Ù. ´ëºÎºÐÀÇ ±×·¡ÇÈ Ä«µå´Â 15ºñÆ®¿Í 16ºñÆ® ¸ðµå ¸ðµÎ¸¦ Áö¿øÇÏÁö¸¸, µÑ ÁßÀÇ Çϳª¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì¸¦ ´ëºñÇÏ¿© °¡´ÉÇÑÇÑ µÎ°¡Áö ¸ðµÎ¸¦ Áö¿øÇϵµ·Ï Ãæ°íÇÏ°í ½Í½À´Ï´Ù (À̰ÍÀº ±×¸® ¾î·Á¿î ÀÏÀº ¾Æ´Õ´Ï´Ù..). ¾î¶² ±×·¡ÇÈ Ä«µå´Â 24ºñÆ®¿Í 32ºñÆ® Æ®·çÄ÷¯ ¸ðµå¸¦ Áö¿øÇϸç, ÀÌ °æ¿ì¿¡´Â 24ºñÆ®¸¦ »ç¿ëÇÏ¿© ¸Þ¸ð¸®¸¦ Àý¾àÇϰųª 32ºñÆ®¸¦ »ç¿ëÇÏ¿© ¼Óµµ¸¦ ³ôÀÌ´Â µÎ°¡Áö ÁßÀÇ Çϳª¸¦ ¼±ÅÃÇÒ ¼ö ÀÖÁö¸¸, ¿À·¡µÈ ±×·¡ÇÈ Ä«µå ÁßÀÇ »ó´ç¼ö´Â 32ºñÆ® ¸ðµå¸¦ °¡Áö°í ÀÖÁö ¾ÊÀ¸¸ç, ½ÅÇü ±×·¡ÇÈ Ä«µå ÁßÀÇ ¸¹Àº °ÍµéÀÌ 24ºñÆ® ¸ðµå¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ´ëºÎºÐÀÇ ±×·¡ÇÈ Ä«µå´Â Ç¥ÁØ SVGA ÇØ»óµµ¸¦ Áö¿øÇϸç, UniVBE¸¦ »ç¿ëÇϸé 320x200, 320x240 µîÀÇ ÀúÇØ»óµµ Æ®·çÄ÷¯ ¸ðµå¸¦ Áö¿øÇÒ ¼öµµ ÀÖ½À´Ï´Ù. 1MÀÇ ºñµð¿À RAMÀÌ ÀåÂøµÇ¾î ÀÖ´Â ±×·¡ÇÈ Ä«µå´Â 640x480 ÇÏÀÌÄ÷Π¸ðµå¸¦ Áö¿øÇϸç, ¼±Çü ÇÁ·¹ÀÓ¹öÆÛ¸¦ °¡Áö°í ÀÖ´Ù¸é 800x600 ¸ðµåµµ Áö¿øÇÕ´Ï´Ù. 2M ºñµð¿À RAMÀÌ ÀÖ´Â °æ¿ì¿¡´Â 2 ÆäÀÌÁöÀÇ 640x480 ÇÏÀÌÄ÷¯ ¸ðµå, 800x600 ÇÏÀÌÄ÷¯ ¸ðµå (¼±Çü ÇÁ·¹ÀÓ¹öÆÛ¸¦ °¡Áö°í ÀÖ´Â °æ¿ì¿¡´Â 2 ÆäÀÌÁö), 1024x768 ÇÏÀÌÄ÷¯ ¸ðµå, 640x480 Æ®·çÄ÷¯ ¸ðµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù (¼±Çü ÇÁ·¹ÀÓ¹öÆÛ¸¦ °¡Áö°í ÀÖ´Â °æ¿ì 800x600 Æ®·çÄ÷¯ ¸ðµåµµ °¡´É). 4M ºñµð¿À RAMÀÌ ÀÖ´Ù¸é °ÅÀÇ ¹«¾ùÀÌµç °¡´ÉÇÕ´Ï´Ù :-)

Allegro´Â Àü¿ª »ö»ó ºñÆ®¼ö ¼³Á¤À» »ç¿ëÇϸç, set_color_depth(newdepth)¸¦ È£ÃâÇÏ¿© º¯°æµÉ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ±× ÀÚü·Î´Â ¾Æ¹« Àϵµ ÇÏÁö ¾ÊÁö¸¸, ¼³Á¤ °ªÀº ÀÌÈÄÀÇ set_gfx_mode(), create_bitmap(), ±×¸®°í ¸ðµç ºñÆ®¸ÊÀ̳ª µ¥ÀÌÅÍÆÄÀÏ Àб⠸í·É µî¿¡ ¿µÇâÀ» ÁÖ°Ô µÇ¹Ç·Î, º¸ÅëÀº »ç¿ëÇϰíÀÚ ÇÏ´Â »ö»ó ºñÆ®¼ö¸¦ ÁöÁ¤Çϱâ À§ÇØ ÇÁ·Î±×·¥ÀÇ ½ÃÀۺο¡ Çѹø¸¸ À̰ÍÀ» »ç¿ëÇÕ´Ï´Ù.

¸ðµç Æ®·çÄ÷¯ Çȼ¿ °ªÀº 8ºñÆ® ¸ðµå¿Í ¶È°°ÀÌ Á¤¼ö °ªÀ¸·Î ±×¸®±â ÇÔ¼ö¿¡ Àü´ÞµË´Ï´Ù. °¢ »ö»ó ºñÆ®µéÀÌ ¾î¶»°Ô »ç¿ëµÇ´Â°¡´Â »ç¿ëÇÏ´Â ¸ðµå¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖÀ¸¹Ç·Î, ÇÁ·Î±×·¥¿¡¼­ ºñÆ® ÆÐÅÏÀ» ÇϵåÄÚµùÇÏ´Â °ÍÀº ÇÇÇØ¾ß ÇÕ´Ï´Ù (0À» °ËÀº»öÀ¸·Î, ¸ðµÎ 1ÀÎ °æ¿ì¸¦ Èò»öÀ¸·Î ÇÏ´Â °ÍÀ» Á¦¿ÜÇϰí). ´ë½Å makecol() ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© Red, Green, Blue °ª (0~255ÀÇ ¹üÀ§)À» ÇöÀç »ö»ó ºñÆ®µÎ¿¡ ¸Â´Â Çü½ÄÀ¸·Î º¯È¯Çϰųª, »ç¿ëÇÒ »ö»ó ºñÆ®¼ö¸¦ È®½ÇÈ÷ ¾Ë°í ÀÖ´Â °æ¿ì¿¡´Â ´õ ºü¸¥ ¹öÀüÀÎ makecol15(), makecol16() µîÀÇ ÇÔ¼ö·Î º¯È¯ÇÏ¿© »ç¿ëÇϽʽÿÀ. getr(), getg(), getb() ÇÔ¼ö³ª °í¼ÓÀÇ getr15(), getr16() µîÀÇ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© Çȼ¿ °ª¿¡¼­ °³º°ÀûÀÎ »ö»óÀ» ÃßÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. À̵é ÇÔ¼ö´Â set_gfx_mode()¸¦ È£ÃâÇϱâ Àü±îÁö´Â ¾Ë ¼ö ¾ø´Â »ö»ó ºñÆ®ÀÇ Çü½Ä (RGB ¶Ç´Â BGR Çü½Ä)À» ¾Ë¾Æ¾ß µ¿ÀÛÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ÀÌµé ·çÆ¾À» »ç¿ëÇϱâ Àü¿¡ Ç×»ó ºñµð¿À ¸ðµå¸¦ ¼±ÅÃÇÏ¿©¾ß ÇÕ´Ï´Ù.

ºñÆ®¸Ê ¿ÀºêÁ§Æ®´Â µ¥ÀÌÅÍÆÄÀÏ (¾î¶² »ö»ó ºñÆ®¼öµµ °¡´É), .PCX ÆÄÀÏ (8, 24ºñÆ® »ö»ó), .BMP ÆÄÀÏ (8, 24ºñÆ® »ö»ó), .LBM ÆÄÀÏ (8ºñÆ® »ö»ó), .TGA ÆÄÀÏ (8, 15, 24ºñÆ® »ö»ó)¿¡¼­ ÀÐÇôÁú ¼ö ÀÖ½À´Ï´Ù. ±âº»Àº µ¥ÀÌÅͰ¡ ÇöÀçÀÇ »ö»ó ºñÆ®¼ö Çü½ÄÀ¸·Î ÀÚµ¿ º¯È¯ µÇ¾î ÀÐÁ®Áö´Â °ÍÀÌÁö¸¸, set_color_conversion() ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¿ø·¡ÀÇ Çü½ÄÀ» À¯ÁöÇϵµ·Ï ¿ä±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̹ÌÁö ÀÐ±â ·çÆ¾Àº µð½ºÇ÷¹ÀÌ Çϵå¿þ¾î¿¡¼­ »ç¿ëÇÏ´Â Çȼ¿ Çü½ÄÀ» ¾Ë¾Æ¾ß ÇϹǷÎ, À̹ÌÁö¸¦ Àбâ Àü¿¡ ºñµð¿À ¸ðµå¸¦ ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù (ÅØ½ºÆ® ¸ðµå¿¡¼­ À̹ÌÁö¸¦ ÀÐ´Â´Ù¸é ¾î¶² ±×·¡ÇÈ Ä«µå¿¡¼­´Â »öÀÌ Á¤È®ÇÏ°Ô Ç¥½ÃµÇÁö ¾ÊÀ¸¸ç ºÒºÐ¸íÇÑ ¹ö±×¸¦ À¯¹ßÇÒ ¼ö ÀÖ½À´Ï´Ù). Æ®·çÄ÷¯ À̹ÌÁö¸¦ Æ÷ÇÔÇÏ´Â ÄÄÆÄÀÏµÈ µ¥ÀÌÅÍÆÄÀÏÀ» »ç¿ëÇÑ´Ù¸é, ½ºÅ©¸° ¸ðµå¸¦ ¼³Á¤ÇÑ ÈÄ¿¡ fixup_datafile()À» È£ÃâÇÏ¿© µ¥ÀÌÅͰ¡ ¿Ã¹Ù¸¥ Çü½ÄÀÌ µÇµµ·Ï ÇÏ¿©¾ß ÇÕ´Ï´Ù.

Æ®·çÄ÷¯ ¸ðµå¿¡¼­´Â 256»ö ¸ðµå¿¡¼­¿Í´Â ´Þ¸® 0À» °ËÀº»öÀ» ÀúÀåÇϴµ¥ »ç¿ëÇϹǷÎ, ½ºÇÁ¶óÀÌÆ®¿¡¼­ Åõ¸íÇÑ Çȼ¿À» ¸¶Å·Çϱâ À§ÇØ 0À» »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ Allegro´Â ¹àÀº ÇÎÅ© (Red¿Í Blue´Â ÃÖ´ëÀ̰í GreenÀº 0ÀÎ »ö»ó)¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ °ªÀº makecol(0xFF, 0, 0xFF)¸¦ È£ÃâÇÏ¿© ±¸ÇÏ°í³ª, °¢ »ö»ó ºñÆ®¼ö¿¡ µû¶ó Á¤ÀǵǴ »ó¼öÀÎ MASK_COLOR_8, MASK_COLOR_15, MASK_COLOR_16 µîÀÌ µÉ ¼ö ÀÖÀ¸¸ç, ƯÁ¤ ºñÆ®¸ÊÀÇ Åõ¸í »ö»óÀ» ¾Ë°í ½ÍÀº °æ¿ì¿¡´Â bitmap_mask_color(bmp)¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù.

ÀϹÝÀûÀ¸·Î, Allegro´Â Çѹø¿¡ ÇϳªÀÇ »ö»ó ºñÆ®¼ö¸¸À» »ç¿ëÇϵµ·Ï ¼³°èµÇ¾úÀ¸¹Ç·Î, set_color_depth()¸¦ Çѹø È£ÃâÇÏ°í¼­ ¸ðµç ºñÆ®¸ÊÀ» °°Àº Çü½ÄÀ¸·Î ÀúÀåÇô »ç¿ëÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. ¿©·¯ °¡Áö Çȼ¿ Çü½ÄÀ» È¥¿ëÇÏ¿©¾ß ÇÏ´Â °æ¿ì¿¡´Â, create_bitmap() ´ë½Å create_bitmap_ex()¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, bitmap_color_depth()¸¦ È£ÃâÇÏ¿© ƯÁ¤ À̹ÌÁöÀÇ Çȼ¿ Çü½ÄÀ» ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëºÎºÐÀÇ ±×·¡ÇÈ ·çƾÀº ¸ðµç ÀÔ·Â ÆÄ¶ó¹ÌÅͰ¡ µ¿ÀÏÇÑ Çü½ÄÀÏ °ÍÀ» ¿ä±¸ÇÕ´Ï´Ù (¿¹: 15ºñÆ® ºñÆ®¸ÊÀ» 24ºñÆ® ºñÆ®¸Ê¿¡ È®ÀåÇÏ¿© ±×¸± ¼ö ¾ø½À´Ï´Ù). ÇÏÁö¸¸ ¼¼°¡Áö ¿¹¿Ü°¡ ÀÖ½À´Ï´Ù: blit()´Â ´Ù¸¥ ºñÆ®¸Ê Çü½Ä »çÀÌ¿¡¼­ »ç¿ëµÉ °æ¿ì µ¥ÀÌÅÍ Çü½ÄÀ» ÀÚµ¿À¸·Î º¯È¯Çϸç, draw_sprite()´Â 256»ö À̹ÌÁö¸¦ ¾î¶°ÇÑ Çü½ÄÀÇ ºñÆ®¸Ê ¾È¿¡¶óµµ ±×¸± ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í draw_character()´Â ¾î¶² Çü½ÄÀÇ ºñÆ®¸Ê ¾È¿¡ ±×¸®´Â °æ¿ì¶óµµ _Ç×»ó_ 256»ö ºñÆ®¸ÊÀ» ´ë»óÀ¸·Î »ç¿ëÇÕ´Ï´Ù. 256»ö ºñÆ®¸ÊÀ» Æ®·çÄ÷¯ ºñÆ®¸Ê ¾È¿¡ ±×¸®µµ·Ï ÇÏ´Â °ÍÀº ¸Å¿ì ºü¸£°Ô µ¿ÀÛÇÕ´Ï´Ù (ÀÌ·¯ÇÑ º¯È¯ ÀÛ¾÷ Àü¿¡ ¿Ã¹Ù¸¥ ÆÈ·¹Æ®¸¦ È®½ÇÈ÷ ¼³Á¤ÇØ µÎ¾î¾ß ÇÕ´Ï´Ù!). ´Ù¸¥ Æ®·çÄ÷¯ Çü½Ä »çÀÌÀÇ º¯È¯Àº Á¶±Ý ´À¸®¸ç, Æ®·çÄ÷¯ À̹ÌÁö¸¦ 256»öÀ¸·Î º¯È¯ÇÏ´Â °ÍÀº ¸Å¿ì ´À¸³´Ï´Ù (º¯È¯Çϱâ Àü¿¡ Àü¿ª rgb_map Å×À̺íÀ» ¼³Á¤ÇÏ¸é ¼Óµµ°¡ »ó´çÈ÷ »¡¶óÁú ¼ö ÀÖ½À´Ï´Ù).

Æ®·çÄ÷¯ ¸ðµå¿¡¼­´Â Çϵå¿þ¾î ÆÈ·¹Æ®°¡ ¾ø½À´Ï´Ù. ±×·¯¹Ç·Î ÆÈ·¹Æ® ÆäÀ̵ù ÇÔ¼ö´Â µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù. 256»ö°ú Æ®·çÄ÷¯ Çü½ÄÀÇ º¯È¯À» À§ÇØ »ç¿ëµÉ ÆÈ·¹Æ®¸¦ ÁöÁ¤Çϱâ À§ÇØ set_palette()¸¦ È£ÃâÇÒ ¼ö´Â ÀÖ½À´Ï´Ù. Àü¿ª ¹è¿­ÀÎ palette_color[]´Â ÇöÀç ºñµð¿À ¸ðµå¿¡ ¸Â´Â Çü½ÄÀ¸·Î ¸ðµç ÆÈ·¹Æ®ÀÇ »ö»ó °ªÀÌ ÀúÀåµË´Ï´Ù. ±×·¯¹Ç·Î Æ®·çÄ÷¯ ¸ðµå¿¡¼­ ÇöÀç ÆÈ·¹Æ®ÀÇ 3¹ø »ö»óÀ¸·Î ÇÑ ¶óÀÎÀ» ±×¸®·Á¸é palette_color[3]À» line() ÇÔ¼ö¿¡ »ö»ó °ªÀ¸·Î ³Ö¾îÁֽʽÿÀ.

¹ÝÅõ¸í °ü·Ã ÀÛ¾÷Àº Æ®·çÄ÷¯ ¸ðµå¿¡¼­´Â ¿ÏÀüÈ÷ ´Ù¸£°Ô µ¿ÀÛÇÕ´Ï´Ù: color_map Å×À̵éÀº »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ´ë½Å¿¡ set_blender_mode()³ª set_trans_blender()¸¦ ºû³ª°Å³ª ¹ÝÅõ¸íÀÎ ¿ÀºêÁ§Æ®¸¦ ±×¸®±â Àü¿¡ È£ÃâÇÏ¿©¾ß ÇÕ´Ï´Ù.

Æ®·çÄ÷¯ ºñÆ®¸ÊÀÇ ³»¿ëÀ» Á÷Á¢ ¾ï¼¼½ºÇÏ°í ½ÍÀº °æ¿ì, 256»ö ¸ðµå¿¡¼­ ÇÏ¿´´ø °Í°ú ¸¶Âù°¡Áö·Î bmp->line[] Å×À̺íÀ̳ª bmp_write_line() ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. 15³ª 16ºñÆ® ¸ðµå¿¡¼­´Â line Æ÷ÀÎÅ͸¦ (unsigned short*)·Î ij½ºÆÃÇÏ¿© »ç¿ëÇϰųª _farpokew() ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, 32ºñÆ® ¸ðµå¿¡¼­´Â (unsigned long*)À¸·Î ij½ºÆÃÇϰųª _farpokel()À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. 24ºñÆ® ¸ðµå¿¡¼­´Â ÇϳªÀÇ Çȼ¿ÀÌ 3°³ÀÇ ¹ÙÀÌÆ®·Î Ç¥½ÃµÇ¹Ç·Î ¾ï¼¼½ºÇϱⰡ Á¶±Ý ´õ Èûµì´Ï´Ù: ¿¬¼ÓµÇ´Â 3°³ÀÇ ¹ÙÀÌÆ®¸¦ 8ºñÆ® line µ¥ÀÌÅÍ¿¡ ¾²µµ·Ï Çϰųª, ÇϳªÀÇ short¿Í ÇϳªÀÇ Ãß°¡¹ÙÀÌÆ®·Î ij½ºÆ®ÇÏ¿© »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

_putpixel()°ú _getpixel() ÀζóÀÎ ÇÔ¼ö´Â 256»ö ¸ðµå¿¡¼­¸¸ µ¿ÀÛÇϸç, 3D ´Ù°¢Çü ±×¸®±â ÇÔ¼öµµ Æ®·çÄ÷¯ ¸ðµå¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. ´Ù¸¥ ¸ðµç ±×·¡ÇÈ ÇÔ¼ö´Â ¾î¶°ÇÑ ¸ðµå¿¡¼­µµ µ¿ÀÛÇÒ °ÍÀÔ´Ï´Ù.

Æ®·çÄ÷¯ ¸ðµå¿¡¼­ GUI ·çƾÀ» »ç¿ëÇÏ°í ½ÍÀº °æ¿ì¿¡´Â, Àü¿ª º¯¼öÀÎ gui_fg_color, gui_mg_color, gui_bg_color¸¦ Àû´çÇÑ °ªÀ¸·Î ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù (makecol() ÇÔ¼öÀÇ ¸®ÅÏ °ªÀ¸·Î, º¸Åë °ËÀ½»ö, ȸ»ö, Èò»öÀ» »ç¿ëÇÕ´Ï´Ù).

´©±º°¡´Â ÀÌ ¹®¼­°¡ À¯¿ëÇÏ´Ù°í »ý°¢ÇÏ°Ô µÇ±â¸¦ ¹Ù¶ø´Ï´Ù (±×·¸Áö ¾ÊÀ¸¸é Á¦°¡ ¾ÆÄ§ ³»³» ÇÑ ÀÛ¾÷ÀÌ ¾µ¸ð ¾ø´Â °ÍÀÌ µÇ±â ¶§¹®ÀÔ´Ï´Ù :-) ÇÏ°í ½ÍÀº ¸»À̳ª Áú¹®, ¹®Á¦Á¡ µîÀº shawn@talula.demon.co.uk·Î º¸³» ÁֽʽÿÀ.


No ePatents ¾î¶² ºê¶ó¿ìÀú¿¡¼­µµ º¼ ¼ö ÀÖÀ½ Valid HTML 4.0!

À¥¸¶½ºÅÍ¿¡°Ô ¿¬¶ôÇÏ·Á¸é ¸¶Áö¸· ¼öÁ¤ÀÏ: 2002³â 8¿ù 22ÀÏ 12:35 (UTC).