IT/DirectDraw

DirectDraw 기본적으로 사용하기!!!!

KSI 2005. 6. 24. 05:38
* 전체적인 순서

   1 .  DirectDraw 객체 생성

   2 .  협력수준 설정 (자원을 얼마나 쓸것인지, 전체모드, 창모드....)

      2-1.  해상도 조절 ( 전체모드 일때만 )

 

  

 

 

   ex)

     dxguid.lib , ddraw.lib 추가

     Tool->Option 에서  Include 와 라이브러리에서 DX가 가장 상위에 있게한다

 

    #include <unknwn.h>
    #include <ddraw.h>

   ...

   LPDIRECTDRAW     lpDD;
   LPDIRECTDRAW7   g_lpDD;

    .....hWnd값을 얻은 후에(SetCooperativeLevel 이 부분에서 hWnd 사용하기때문에)

   SetCooperativeLevel 윗부분은 hWnd얻기 전에 해줘도 무관하다

   if(FAILED(DirectDrawCreate(NULL,&lpDD,NULL)))
   {
        OutputDebugString( " DrawCreate 에러  ");    
   }   
   if(FAILED(lpDD->QueryInterface(IID_IDirectDraw7 , (LPVOID *)&g_lpDD)))
   {
  
   }

   if(FAILED(lpDD->Release()))      // DirectDraw겍체는 사용하지 않을때 Release()해준다
   {
   }  

   if(FAILED(g_lpDD->SetCooperativeLevel(hWnd, DDSCL_FULLSCREEN |

                                                    DDSCL_EXCLUSIVE  | DDSCL_ALLOWREBOOT )))
   {    
   }

   if(FAILED(g_lpDD->SetDisplayMode( 640, 480, 32, NULL, NULL)))
   {
   }

   .....  프로그램 종료되는 시점에서

   if(FAILED(g_lpDD->Release()))    // DirectDraw겍체는 사용하지 않을때 Release()해준다
   {
   }