Èñâ¸ÞÀÎ

 

 

½ºÅ©¸³ÅͶõ?

directXÀÇ ¼Ò°³

 

 

direct»ý¼º,ÇÁ·Î¼¼¼­µ¶Á¡,¸ðµå¼ÂÆÃ

´ÙÀÌ·ºÆ®¹öÆÛ»ý¼º Àü¹Ý¿¡ ´ëÇØ

 

 

¸éÀÇ »ý¼º°ú Çø®ÇÎ,ºñÆ®¸Êº¹»ç

´ÙÀÌ·ºÆ® ÆÄ·¿Æ® °ü¸®

 

 

Lock,unlock,Blt,BltFast

Direct Sound

 

 

 

 

 

    

    ¿äÁò ±¹»ê °ÔÀÓÀº ¿ö³« ¶Ù¾î³­ °ÍµéÀÌ ¸¹¾Æ¼­ °ÔÀÓ ½ÃÀå¿¡ ³ª°¡¼­
        ¾î¶² °ÔÀÓÀ» »ç¾ß ÇÒÁö ¸ð¸£°Ú´õ±º¿ä~
        °ÔÀÓÀº ¸¸µå´Â Àç¹Ìµµ ÀÖÁö¸¸ ½ÇÁ¦·Î Á¦À۵Ǿî ÀÖ´Â °ÔÀÓÀ» Áñ±æÁÙ
        ¾Æ´Â °ÔÀÓ ¸ÞÀÌÄ¿µéÀÌ µÇ¾úÀ¸¸é ÇÕ´Ï´Ù.

        »ç½Ç 94³âµµ¿¡ ½è´ø ½ºÅ©¸³ÅÍ¿¡ °üÇÑ ±ÛÀ» °è¼Ó À̾°¡¾ß Çϴµ¥
        Á¦°¡ ½Ã°£ÀÌ ¾ø´Ùº¸´Ï(ÇΰèÀΰ¡?) ´ë½Å ´ÙÀÌ·ºÆ®¿¡ °üÇÑ ±Û·Î ´ë½Å
        ÇÏ·Á°í ÇÕ´Ï´Ù.

        ¾ó¸¶Àü¿¡ DirectX 5.0ÀÌ ³ª¿ÔÁÒ? 3D±â´ÉÀÌ ¾öû³ª°Ô ÁÁ¾Æ Á³´õ±º¿ä
        ±â´ÉÇâ»óÀÌ ÀÌÁ¨ 3Â÷¿ø °ÔÀÓÀ» °ÔÀÓ ¸ÞÀÌÄ¿¶ó¸é ´©±¸³ª ÇÒ¼ö ÀÖ´Â
        ¼öÁØÀ̴ϱî¿ä~

        ÀÏ´Ü ´ÙÀÌ·ºÆ® ¿¢½º¶ó´Â °³¹ßÅøÀ» »ç¿ëÇÏ·Á¸é ºñÁê¾ó 2.0ÀÌ»óÀÌ
        ÀÖ¾î¾ß ÇÕ´Ï´Ù. (´ç¿¬ 32ºñÆ® °³¹ßÅøÀ» ¶æÇÏ´Â °ÍÀÌ°ÚÁÒ~)
        ¶Ç´Â º¼·£µåÀÇ ºô´õ¶ó´Â °ÍÀ» ¾²½Ã¸é µË´Ï´Ù.

        ÀÏ´Ü ´ÙÀÌ·ºÆ®(ÀÌÇÏ ÆíÀÇ»ó ´ÙÀÌ·ºÆ®¶ó°í¸¸ Ç¥½ÃÇÏ°ÚÀ½)¸¦ ¼³Ä¡ÇÏ
        °í ³ª¸é »ùÇÃÀ̶ó´Â µð·ºÅ丮·Î °¡¼­ °¬°¡Áö µ¥¸ð¸¦ º¸½Ê½Ã¿ä?
        ¾Æ´Ï ÀÌ·²¼ö°¡? ¶Ç´Â ÀÌ°Ô¹¹¾ß? ÀÌ°Í ¹Û¿¡ ¾ÈµÇ? ÇÏ´Â µîµîÀÇ ¿©
        ·¯°¡Áö Ç¥ÇöÀ» ÇϽÇÅÙµ¥...

        ¿ì¼± Foxbear¶ó´Â ÇÁ·Î±×·¥¿¡´Â 2D¿¡¼­ Ç¥ÇöµÇ´Â ¸ðµç ±â¹ýµéÀÌ
        µé¾î ÀÖ´Ù°í ÇÒ¼ö ÀÖ´õ±º¿ä~ (¸¹Àº ¿¹Á¦¸¦ Âü°í ÇϽÉÀÌ ÁÁÀ» µí...)

        ¸ÕÀú Âü°í ¼­ÀûÀ» º¸½Ã·Á¸é...

                1. ÀÚü ¿Â¶óÀÎ ¸Þ´º¾ó (´ç¿¬ ¿µ¹®ÀÌÁÒ~ ¹ø¿ª °¡´ÉÇÑÀÚ¸¸...^^;)
                2. Windows 95 Game °³¹ßÀÚ °¡À̵å - µµ¼­ÃâÆÇ ¿¡ÇÁ¿ø
                3. À©µµ¿ì 95¿ë Game SDK Àü·« °¡À̵å - Á¤º¸¹®È­»ç
                4. À©µµ¿ì API ¹ÙÀ̺í I, II - »ý°¢¾È³²
                5. À©µµ¿ì ÇÔ¼ö ·¹ÆÛ·±½º »ó,Áß,ÇÏ (2¸¸8õ¿ø Â¥¸® 3±ÇÀΰ¡? - ¿ª½Ã ±â¾ï¾È³²)
                6. Inside Visual C++
                7. MFC °ü·Ã Ã¥ÀÚ
                8. ±âŸ À©µµ¿ìÁî °ü·Ã Ã¥ÀÚ¹× Âü°í ÇÒ¸¸ÇÑ Ã¥µé

        ¿ì¿Í~ ¸¹ÁÒ? Àü À§¿¡¼­ ¸ðµç Ã¥À» ÀÐ¾î º¸Áø ¸øÇßÁö¸¸...^^;
        Âü°í´Â Ç׽à ÇÏ°í ÀÖ½À´Ï´Ù. Ã¥À» ÆÄ´Â »ç¶÷ÀÌ ¾Æ´Ï¹Ç·Î µµ¼­°üÀ̳ª
        ¼­Á¡¿¡¼­ Àá½Ã º¸½Ã°Å³ª Âü°í Çϱâ À§ÇØ º¹»ç³ª ÂüÁ¶ Çϼ¼¿ä~
        ±»ÀÌ »ç½Ç ºÐÀº »ç½Ã±¸¿ä~ (ÇÁ·Î±×·¡¸Ó¶ó¸é Ã¥¿¡ ¾²´Â µ·Àº ¾Æ±î¿ö
        ÇÏ¸é ¾ÈµÇ°ÚÁÒ~)
        
        º»·ÐÀ¸·Î µé¾î°¡ÁÒ~ ±¦È÷ Ã¥¿¡ °üÇÑ À̾߱⸸ ¸¹ÀÌ ´Ã¾î ³õÀºµí..--;

        1. ºñÆ®¸ÊÀ» Ãâ·ÂÇÏ´Â ¸ð½Äµµ

        ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤
        ¦¢     À©µµ¿ì »ý¼º, ÃʱâÈ­ ÇÑ´Ù.      ¦¢
        ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥
        ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ª¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤
        ¦¢       DirectDrawÀÇ ÀÎÅÍÆäÀ̽º      ¦¢
        ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥
        ¦£¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ª¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¤
        ¦¢     Off ScreenÀ¸·Î ºñÆ®¸Ê º¹»ç     ¦¢
        ¦¦¦¡¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¥
        ¦£¦¡¦¡¦¡¦¡¦ª¦¡¦¡¦¡¦¤  ¦£¦¡¦¡¦¡¦ª¦¡¦¡¦¡¦¤
        ¦¢ ½ºÇÁ¶óÀÌÆ® Blt ¦¢  ¦¢  ¹è°æ Blt    ¦¢ <- ÈÄ¸é ¹öÆÛ·Î
        ¦¦¦¡¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¥  ¦¦¦¡¦¡¦¡¦¨¦¡¦¡¦¡¦¥    º¸³»´Â °úÁ¤
        ¦£¦¡¦¡¦¡¦¡¦ª¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦ª¦¡¦¡¦¡¦¤
        ¦¢     ½ÇÁ¦ º¸ÀÌ´Â È­¸éÀ¸·Î Fliping   ¦¢
        ¦¦¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¥
        
                ±×¸² 1 : ´ÙÀÌ·ºÆ® ¾×½º Ãâ·Â °úÁ¤ ¸ð½Äµµ

                À§¿¡¼­ º¸¸é ÀÎÅÍÆäÀ̽º ÇÏ´Â ºÎºÐ¿Ü¿¡´Â µµ½º¿¡¼­ °ÔÀÓÀ»
                Á¦ÀÛÇÏ´Â °úÁ¤°ú Èí»çÇÏ´Ù°í º¼¼ö ÀÖÁÒ~
                »ç½Ç ÀÎÅÍÆäÀ̽º ºÎºÐÀº ÀÚ½ÅÀÇ ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´Â
                ºÎºÐÀ̶ó°í »ý°¢Çصµ µÉ°Ì´Ï´Ù.

        2. DirectDrawÀÇ µ¥ÀÌÅÍ ½ºÆ®·°ÃÄ

                ´ÙÀÌ·ºÆ®¸¦ »ç¿ëÇϱâ À§Çؼ± Å«Áö¸·ÇÑ ±¸Á¶Ã¼µéÀ» ¾Ë¾Æ¾ß
                ÇÑ´Ù. À̹ø¿¡´Â ±× ±¸Á¶¸¦ ¾Ë±â À§ÇØ ºÐ¼®À» Çغ¸ÀÚ.
                ÀÚ¼¼ÇÏ°Ô´Â ÇÏÁö ¾Ê°í ´ë°­ ÀÌ·¸´Ù°í Á¤ÀǸ¸ ÇÏ°Ú´Ù.

        ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
                DDCAPS
        ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
        ºñµð¿À Ä«µåÀÇ »óŸ¦ È®ÀÎ¹× Ã¼Å©ÇÑ´Ù.

                ¿¹) ¸Þ¸ð¸®ÀÇ ¾ç, Çϵå¿þ¾îÀÇ ´É·Â(3D)

        ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
                DDRVAL
        ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
        DirectDraw ÇÔ¼öµéÀÌ ¹ÝȯÇÏ´Â °ªÀ» ¶æÇÑ´Ù.

        ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
                DDSCAPS
        ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
        DDCAPS¿Í °ÅÀÇ ºñ½ÁÇѵ¥ DDCAPS´Â Çϵå¿þ¾îÀÇ ±â´ÉÀ»
                Ã¼Å©ÇÏ´Â °ÍÀ̶ó¸é ÀÌ°ÍÀº ¼ÒÇÁÆ®¿þ¾îÀÇ ±â´ÉÀ» üũÇÑ´Ù.
                Áï, DirectDrawSurfaceÀÇ ´É·ÂÀ» üũÇÑ´Ù.

        ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
                DDSURFACEDESC
        ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
        »ý¼ºÇÑ °¢°¢ÀÇ Ç¥¸é(¶Ç´Â ¹öÆÛ)¿¡ ´ëÇÑ Off ScreenÀ»
                ¶æÇÑ´Ù.

                À×? ÀÌ°ÍÀÌ ÀüºÎÀΰ¡? ÀÏ´Ü Draw¿¡ °üÇÑ °ÍÀ» ´Ù·çµµ·ÏÇÏ
                ±â·Î ÇÏ°í ÀÌ°ÍÀÌ ¿©±â¼­ ¸¶Ä¡°í...

        3. DirectDrawÀÇ »ý¼º
                ±×·³ ½ÇÁ¦·Î DirectDraw¸¦ ¾î¶»°Ô ÀÎÅÍÆäÀ̽º ÇÏ°í ÃʱâÈ­
                ÇÏ´ÂÁö ¾Ë¾Æ º¾½Ã´Ù.

        ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
                HRESULT DirectDrawCreate(GUID FAR *lpGUID,
                        LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter)
        ¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡
        À©µµ¿ìÁî °ü·Ã ÇÔ¼ö¸¦ º¸¸é Create°ü·Ã ÇÔ¼ö¸¦ ¸¹À̺¼¼ö
                ÀÖ½À´Ï´Ù. ´ÙÀÌ·ºÆ®µµ ºñ½ÁÇÑ ¹æ½ÄÀ» ¾²´Âµ¥ µ¥ºÎºÐ ÃʱâÈ­
                ¶Ç´Â »ý¼ºµîÀ» ÇÒ¶§ ¾²ÀÌ´Â ÇÔ¼öµéÀÌ Create¶ó´Â ºÎºÐÀÌ
                ¸í½ÃµÇ¾î ÀÖ½À´Ï´Ù.

                ±×·³ À§ÀÇ ÇÔ¼öÀÇ ÀÎÀÚµéÀº ¹«¾ùÀ» ¶æÇÒ±î¿ä?
                lpGUID´Â µð½ºÇ÷¹ÀÌ µð¹ÙÀ̽º¸¦ ¶æÇÕ´Ï´Ù. ÀÌ°ÍÀÌ ¹«½¼ ¶æ
                À̳ı¸¿ä? È­¸é¿¡ ³ªÅ¸³ª±â À§ÇÑ ÀåÄ¡¸¦ ¶æÇÑ´Ù´Â À̾߱âÁÒ
                º¸Åë ÀÌ°ªÀÌ NULLÀ̸é GDI¿¡ °øÀ¯µÈ µð½ºÇ÷¹À̸¦ ¶æÇÕ´Ï´Ù
                lpDD´Â DirectDraw ÀÎÅÍÆäÀ̽º¸¦ À§ÇÑ Æ÷ÀÎÅ͸¦ °¡¸®Å°°í,
                ¸¶Áö¸· ÀÎÀÚ´Â ÇâÈÄ »ç¿ëµÇ±â À§ÇØ ¿¹¾àÇصР°ÍÀ̶ó°í ÇÕ´Ï
                ´Ù. º¸Åë NULLÀ̶ó°í ÇÏ¸é µË´Ï´Ù.

                LPDIRECTDRAW lpDD;
                HRESULT ddrval;
                ddrval = DirectDrawCreate(NULL, &lpDD, NULL);
                if(ddrval != DD_OK)
                {
                        return FALSE;
                }

                ¾ÆÁÖ °£´ÜÇÏÁÒ? OLE COM¿¡¼­ ¹ÝȯµÇ´Â ÇüÀº HRESULT¸¦ »ç¿ë
                ÇÕ´Ï´Ù. ¿À·ù°¡ ¹ß»ýÇÏ¸é ½Å¼ÓÇÑ Ã³¸®¸¦ À§Çؼ­ HRESULT¸¦
                »ç¿ëÇÕ´Ï´Ù.

                À§ÀÇ ¿¹Á¦´Â »ý¼ºÇÏ°íÀÚ ÇÏ´Â DirectDraw °´Ã¼¸¦ ¼±¾ðÇÏ´Â
                °£´ÜÇÑ ¿¹Á¦ ÀÔ´Ï´Ù.