Tutorial1_Render()함수


//-----------------------------------------------------------------------------

// Name: Render()
// Desc: Draws the scene
//-----------------------------------------------------------------------------
VOID Render()
{
    if( NULL == g_pd3dDevice )
        return;
 

    // Clear the backbuffer to a blue color
    // 후면 버퍼를 파란색(0, 0, 255)으로 채운다.

    g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET,

                                 D3DCOLOR_XRGB(0,0,255), 1.0f, 0 );
    
    // Begin the scene( 렌더링 시작)
    if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
    {


        // 실제 렌더링 명령들이 나열될 곳
    
        // End the scene( 렌더링 종료)

        g_pd3dDevice->EndScene();
    }
 

    // Present the backbuffer contents to the display (후면 버퍼를 보이는 화면으로!)
    g_pd3dDevice->Present( NULL, NULL, NULL, NULL );
}






설명:
Reder()
 함수 알고리즘

 

1. Screen Clear()

2. 폴리곤을 그리겠다고 D3D에 통보(BeginScene())

3. 폴리곤을 다 그렸다고 D3D에게 통보(EndScene())

4. Display Screen(Present())

 

대부분의 실시간 3차원 그래픽은 2개 이상의 화면으로 구성되어 있다. 실제 그려지는 모든것은 후면버퍼에서 이루어지며 특정 명령에 의해 전면버퍼로 전송한다.
이렇게 하는 이유는 화면의 깜빡임현상(flickerint)을 막기 위함이며, 이러한 방식을 페이지 플리핑 방식이라한다. 후면버퍼에서 전면버퍼로 화면을 전송(flip)하는 명령은 Persent()다.

 

DirectX 9  김용준님의 IT EXPERT 3D 게임프로그래밍,정보문화사의 DirectX 9를 이용한 3D GAME 프로그래밍 입문 책 참고

[출처] 화면 그리기|작성자 누리블루

이 글을 공유하기

댓글

Designed by JB FACTORY