Áö³ ÀÏ¿äÀÏ¿¡ AVEJ¿¡ ¾²ÀÏ ÆùÆ® ¿£ÁøÀ»
¸¸µé¾î º¸ÀÚ´Â ¶æ¿¡¼ anti-aliasingÀ» Áö¿øÇÏ´Â ÆùÆ®
Ãâ·Â Ŭ·¡½º¸¦ ¸¸µé¾ú´Ù. ¿ë·®À» ÁÙÀ̱â À§Çؼ ¿ÜºÎ
ÆùÆ® ¿£ÁøÀ» »ç¿ëÇÏÁö ¾Ê°í win32ÀÇ true type font¿ë
API¸¦ »ç¿ëÇßÀ¸¸ç Ãâ·ÂÀº DirectX¸¦ »ç¿ëÇß´Ù. (DirectX9¿¡
µþ·Á ¿À´Â ÆùÆ® Ŭ·¡½º°¡ ÀÖÁö¸¸ ÀÌÁ¦¿Í¼ º°·Î °øºÎÇÏ°í
½ÍÁöµµ ¾Ê°í..)
ÀÌ°ÍÀº AVEJÀÇ ÀϺηΠÁ¦À۵Ǿú±â
¶§¹®¿¡ Delphi°¡ ¾Æ´Ï¶ó VC++ÀÌ´Ù.
fontTest.cpp -
ÀÌ font test¸¦ ½ÃÀÛÇϱâ À§ÇÑ WinMain() ÇÔ¼ö°¡ ÀÖ´Â
°÷
smAppWin32.cpp -
Win32¿ë applicationÀ» ½ÇÇàÇϱâ À§ÇÑ message loopµîÀÌ
ÀÖ´Â °÷
smMain.cpp -
Platform¿¡ ºñ ÀÇÁ¸ÀûÀÎ ½ÇÁ¦ main loop (ÇöÀç´Â
Å×½ºÆ®¸¦ À§ÇØ DirectX 9ÀÇ method¸¦ Á÷Á¢ È£ÃâÇÑ´Ù.)
smVideoWin32.cpp -
Win32¿ë video Ãâ·ÂÀ» Çϱâ À§ÇÑ ³»¿ëÀÌ ±¸ÇöµÇ¾î ÀÖ´Â
°÷
smFontWin32.cpp -
Win32¿ë font Ãâ·ÂÀ» Çϱâ À§ÇÑ ³»¿ëÀÌ ±¸ÇöµÇ¾î ÀÖ´Â
°÷
fontTest.cpp | smAppWin32.cpp | smMain.cpp | +------------+------------+ |
| smVideoWin32.cpp
smFontWin32.cpp
|
´Ù¿î ·Îµå (½ÇÇàÆÄÀÏÀº
¾øÀ½)
Anti-aliasing font¸¦ ±¸ÇöÇϱâ
À§Çؼ´Â ¿Ü°û¼±¿¡ ´ëÇÑ ºí·»µùÀÌ ÇÊ¿äÇÏ´Ù. ÀϹÝÀûÀ¸·Î
ÀÌ ºÎºÐÀº S/W ºí·»µùÀ» ÅëÇØ ±¸ÇöÇßÁö¸¸ °ÔÀÓ¿¡¼´Â
H/WÀÇ ±â´ÉÀ» ÀÌ¿ëÇؼ ºí·»µùµµ °¡´ÉÇÏ´Ù.
1. Direct3DÀÇ texture¸¦ »ý¼ºÇÑ´Ù. 2.
Texture¿¡ ÆùÆ®¸¦ ±×¸®µÇ anti-aliasing Á¤º¸´Â ¸ðµÎ
¾ËÆÄ°ªÀ¸·Î¸¸ ÁöÁ¤ÇÑ´Ù. 3. ÀÌ·¸°Ô ¸¸µé¾îÁø texture¸¦
D3DBLEND_SRCALPHA¸¦ ÀÌ¿ëÇØ back-buffer¿¡ blitingÇÑ´Ù.
¹®Á¦Á¡
Àý´ë ÃÖÀûÈ µÇ¾î ÀÖÁö ¾Ê´Ù. TextureÀÇ
buffer¿¡ Á÷Á¢ lockÀ» °É°í ³»¿ëÀ» °»½ÅÇØ¾ß Çϱ⠶§¹®¿¡
¿øÇÏ´Â ¼Óµµ°¡ ³ªÁö ¾Ê´Â´Ù. µû¶ó¼ ÀϹÝÀûÀÎ ÅؽºÆ®
Ãâ·ÂÀ» À§Çؼ´Â »ç¿ëÇϱâ Èûµé°í texture¿¡ °íÁ¤µÈ
ÆùÆ®¸¦ Áý¾î ³Ö°Å³ª ÷ºÎµÈ ¼Ò½º¸¦ ¼öÁ¤Çؼ, ÇѲ¨¹ø¿¡
±×¸°ÈÄ Á¶±Ý¾¿ º¸¿©Áְųª font cashingÀ» ±¸ÇöÇؾß
ÇÒ °ÍÀÌ´Ù.
Memory off-screen buffer ¿¡ ÆùÆ®
Ãâ·ÂÀ» ÇÏ°í UpdateSurface·Î °»½ÅÇغ¸±âµµ ÇßÁö¸¸
¿ÀÈ÷·Á ´õ ´Ê¾îÁ³´Ù. ÀÏ´Ü ³»°¡ ¾²·Á°í ÇÏ´Â ¿ëµµ¿¡´Â
¸ÂÁö ¾Ê±â ¶§¹®¿¡ ÀÌ°ÍÀº ¹ö¸°´Ù.
|