[ Programing ]/DirtectX9

[해당 영역만 화면 출력 시키기] pd3dDevice->SetRenderState(); pd3dDevice->SetScissorRect();

Mister_Q 2010. 1. 31. 07:00
[ DirectX9.0 해당 영역만 화면에 출력 시키기 ] 

핵심 :
pd3dDevice->SetRenderState( D3DRS_SCISSORTESTENABLE, BOOL );    
pd3dDevice->SetScissorRect( &mRect );    

============================================================================== 

Rect m_Rect;            // 사각형 설정

// 공간 설정 
m_Rect.top          = 100;        
m_Rect.left          = 100;
m_Rect.right        = 500;
m_Rect.bottom     = 500;
 
IDirect3DDevice9* pd3dDevice
 
pd3dDevice->BeginScene();        // Render 시작
 
// Render 할 그림을 그린다. 
pd3dDevice->SetRenderState( D3DRS_SCISSORTESTENABLE, TRUE );        

// 가위 ON. 해당 영역에만 그리겠다는 것 설정
// 그 해당 영역을 사각형 공간 설정한 곳으로 지정

pd3dDevice->SetScissorRect( &mRect );         


// <<<<< 지정한 영역에 Render 할 그림을 그린다. >>>>>



// 가윈 OFF 해당 영역 그리겠다는 것 종료
pd3dDevice->SetRenderState( D3DRS_SCISSORTESTENABLE, FALSE );    
// Render 종료
pd3dDevice->EndScene();        
 




============================================================================== 

 - 그림을 그릴때 해당 그림이 해당하는 화면의 영역에만 출력하도록 하는 옵션
 - pd3dDevice->SetScissorRect( &mRect );