디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

다이렉트x랑 api 소스 질문인데 알고있는분 있나요?

dire(116.43) 2010.01.07 16:24:06
조회 126 추천 0 댓글 12

월래 제가 directx 소스에 api 윈도우로 등록할려구 밑에 소스처럼 바꾸었어요
(바꾼 부분은 진하게 표시했음)

월래 소스대로 하면  밑에 소스에서 처럼 등록하는거에요
(밑에 원래 소스 있음)



#include <windows.h>해서 윈도우를 등록하니까
창크기조절에 갖다대면↔ 이거 표시가 실시간으로 바뀌는데
#include <d3d9.h> 이것만 쓰니까
창크기조절에 갖다대면 클라이언트 창에서 마우스 포인트가 실시간으로 바뀌지 않습니다
왜 그런건가요?

소스상으로는 특별히 다른점이 없는데.......

말로 설명하니까 힘드네요....

#include <d3d9.h>
#include <windows.h>

LPDIRECT3D9             g_pD3D       = NULL; /// D3D 디바이스를 생성할 D3D객체변수
LPDIRECT3DDEVICE9       g_pd3dDevice = NULL; /// 렌더링에 사용될 D3D디바이스

HRESULT InitD3D( HWND hWnd )
{
    /// 디바이스를 생성하기위한 D3D객체 생성
    if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )
        return E_FAIL;

    D3DPRESENT_PARAMETERS d3dpp;                /// 디바이스 생성을 위한 구조체
    ZeroMemory( &d3dpp, sizeof(d3dpp) );        /// 반드시 ZeroMemory()함수로 미리 구조체를 깨끗이 지워야 한다.
    d3dpp.Windowed = TRUE;                      /// 창모드로 생성
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;   /// 가장 효율적인 SWAP효과
    d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;    /// 현재 바탕화면 모드에 맞춰서 후면버퍼를 생성

    /// 디바이스를 다음과 같은 설정으로 생성한다.
    /// 1. 디폴트 비디오카드를 사용(대부분은 비디오카드가 1개 이다.)
    /// 2. HAL디바이스를 생성한다.(HW가속장치를 사용하겠다는 의미)
    /// 3. 정점처리는 모든 카드에서 지원하는 SW처리로 생성한다.(HW로 생성할경우 더욱 높은 성능을 낸다.)
    if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
                                      D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                                      &d3dpp, &g_pd3dDevice ) ) )
    {
        return E_FAIL;
    }

    /// 디바이스 상태정보를 처리할경우 여기에서 한다.

    return S_OK;
}


VOID Cleanup()
{
    if( g_pd3dDevice != NULL)
        g_pd3dDevice->Release();

    if( g_pD3D != NULL)
        g_pD3D->Release();
}

VOID Render()
{
    if( NULL == g_pd3dDevice )
        return;

    /// 후면버퍼를 파란색(0,0,255)으로 지운다.
    g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,255), 1.0f, 0 );
    
    /// 렌더링 시작
    if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
    {
        /// 실제 렌더링 명령들이 나열될 곳
    
        /// 렌더링 종료
        g_pd3dDevice->EndScene();
    }

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

LRESULT CALLBACK WndProc ( HWND, UINT, WPARAM, LPARAM );
HINSTANCE g_hlnst;
LPCTSTR IpszClass = TEXT( "First" );


int APIENTRY WinMain ( HINSTANCE hlnstance, HINSTANCE hPrevlnstance , LPSTR IpszCmdParam, int nCmdShow)
{
    /// 윈도우 클래스 등록
        HWND            hWnd;
        WNDCLASS        WndClass;
    g_hlnst        =    hlnstance;
        MSG                Message;

        WndClass.cbClsExtra                        = 0;
    WndClass.cbWndExtra                    = 0;
    WndClass.hbrBackground                = ( HBRUSH ) GetStockObject ( WHITE_BRUSH );
    WndClass.hCursor                            = LoadCursor ( NULL, IDC_ARROW );
    WndClass.hIcon                            = LoadIcon (NULL, IDI_APPLICATION );
    WndClass.hInstance                        = hlnstance;
    WndClass.lpfnWndProc                    = WndProc;
    WndClass.lpszClassName                = IpszClass;
    WndClass.lpszMenuName                = NULL;
    WndClass.style                                = CS_HREDRAW | CS_VREDRAW;
    RegisterClass ( &WndClass );
 
    /// 윈도우 생성
 hWnd = CreateWindow ( IpszClass, IpszClass, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
                                        CW_USEDEFAULT, NULL, (HMENU)NULL, hlnstance, NULL );

    /// Direct3D 초기화
    if( SUCCEEDED( InitD3D( hWnd ) ) )
    {
        /// 윈도우 출력
        ShowWindow( hWnd, SW_SHOWDEFAULT );
        UpdateWindow( hWnd );

      
    }
    while ( GetMessage ( &Message, NULL, 0, 0 ))
    {
        TranslateMessage ( &Message );
        DispatchMessage ( &Message);
    }
     
    return (int)Message.wParam;
}
LRESULT CALLBACK WndProc ( HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
{
    switch ( iMessage )
    {
         case WM_DESTROY:
            Cleanup();
            PostQuitMessage( 0 );
            return 0;

        case WM_PAINT:
            Render();
         //   ValidateRect( hWnd, NULL );
            return 0;
    }
    return ( DefWindowProc ( hWnd, iMessage, wParam, lParam ));
}

==============================================================================================================
월래소스
===========================================================================================
LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
    switch( msg )
    {
        case WM_DESTROY:
            Cleanup();
            PostQuitMessage( 0 );
            return 0;

        case WM_PAINT:
            Render();
            //ValidateRect( hWnd, NULL );
            return 0;
    }

    return DefWindowProc( hWnd, msg, wParam, lParam );
}

INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT )
{
    /// 윈도우 클래스 등록
    WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L,
                      GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
                      "D3D Tutorial", NULL };
    RegisterClassEx( &wc );

    /// 윈도우 생성
    HWND hWnd = CreateWindow( "D3D Tutorial", "D3D Tutorial 01: CreateDevice",
                              WS_OVERLAPPEDWINDOW, 100, 100, 300, 300,
                              GetDesktopWindow(), NULL, wc.hInstance, NULL );

    /// Direct3D 초기화
    if( SUCCEEDED( InitD3D( hWnd ) ) )
    {
        /// 윈도우 출력
        ShowWindow( hWnd, SW_SHOWDEFAULT );
        UpdateWindow( hWnd );

        /// 메시지 루프
        MSG msg;
        while( GetMessage( &msg, NULL, 0, 0 ) )
        {
            TranslateMessage( &msg );
            DispatchMessage( &msg );
        }
    }
    /// 등록된 클래스 소거
    UnregisterClass( "D3D Tutorial", wc.hInstance );
    return 0;
}






추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이번주 설문은 탈모 걱정 없어 보이는 머리숱 금수저 스타는? 운영자 25/07/14 - -
AD 휴대폰 액세서리 SALE 운영자 25/07/15 - -
273644 바이러스 만들기.. [1] ㅁㄴㅇ(14.45) 11.09.19 79 0
273643 방금 데스크탑 낑낑대며 들고 가는 살람을 봤어 [1] 분당살람갤로그로 이동합니다. 11.09.19 58 0
273641 C언어 입문 끝낸 뉴비들 보셔잉... [5] 이문동쮸쮸바갤로그로 이동합니다. 11.09.19 152 0
273640 블디표공지 3번실행 三didas갤로그로 이동합니다. 11.09.19 31 0
273638 입개르 [1] Unia갤로그로 이동합니다. 11.09.19 33 0
273637 씨언어를 다했다구?! [4] 三didas갤로그로 이동합니다. 11.09.19 99 0
273635 실시간상담 썰ㅋ [1] 三didas갤로그로 이동합니다. 11.09.19 47 0
273634 코갤중에 능력자들은 신상터는데 그정도면 어느정도임? [2] 힙꼬맹갤로그로 이동합니다. 11.09.19 66 0
273632 보안꿈나무야 [11] 三didas갤로그로 이동합니다. 11.09.19 106 0
273630 퇴근들 해라... 난 한솥먹을께 [3] 이문동쮸쮸바갤로그로 이동합니다. 11.09.19 66 0
273629 안되겟다 우리 날잡아서 아이티뱅크 ... [5] 좋은아버지갤로그로 이동합니다. 11.09.19 167 0
273627 어렸을때는 아무생각 없었지 [2] Purples갤로그로 이동합니다. 11.09.19 53 0
273626 존나 씨발 보안얘기 나오니 아이티뱅크 개새끼들 생각나네 [8] 힙꼬맹갤로그로 이동합니다. 11.09.19 209 0
273624 보안꿈나무봐라 [28] 三didas갤로그로 이동합니다. 11.09.19 198 0
273623 보안 꿈나무입네다 [10] Purples갤로그로 이동합니다. 11.09.19 118 0
273622 형들; 안드로이드 질문인데여 ㅜ;ㅜ [6] 안뇽하세용(175.206) 11.09.19 51 0
273621 여기 진짜 오랜만이다 형들 안녕? 잘지냈어? [21] 좋은아버지갤로그로 이동합니다. 11.09.19 134 0
273620 횽들 vs2010 영문판 쓰고있는데 한글 갈아타는 방법좀 가르쳐줭 ㅠ.ㅠ [1] 살려(203.247) 11.09.19 39 0
273619 $.ajax 이게 뭘 의미 하는지 아는 사람 설명점. [7] an(211.197) 11.09.19 65 0
273617 아무리 중복이 많더라도 함수로 여러번 감싸는건 아닌거 같아.. [4] SODMaster갤로그로 이동합니다. 11.09.19 71 0
273616 valve 포탈 opengl로 따라한거 ㅋㅋ [9] ㅁㄴㅇㄹ(115.137) 11.09.19 108 0
273614 xCode 쓰고싶어서 깔았어 [2] 나 프갤할레갤로그로 이동합니다. 11.09.19 68 0
273613 근데 밑에 리눅스 점유율이 맥보다 높은거말야 [2] .3(124.137) 11.09.19 69 0
273612 횽들 c#에서 참조 할수 있는 bin 파일에 대해서 아나? [1] 바람의파이터(210.118) 11.09.19 58 0
273611 좋아하는 여자애가 순애보네 ㅡㅡ [12] .3(124.137) 11.09.19 113 0
273607 형들 이거 MFC다이얼로그쓸까 SDI쓸까? [5] +어게인갤로그로 이동합니다. 11.09.19 82 0
273606 횽들 자연언어처리에 대해서 아는사람? [5] 바람의파이터(210.118) 11.09.19 80 0
273605 겅력1년인데 동종업계 신입지원하면 어때?? [2] 소스코드갤로그로 이동합니다. 11.09.19 86 0
273604 날 찾는자 누구냐! [21] 외계달팽갤로그로 이동합니다. 11.09.19 132 0
273603 윈도우7 점유율이 궁금해?? [8] blackd갤로그로 이동합니다. 11.09.19 113 0
273602 요즘에 윈도우7 점유율 얼만큼이나되나??? [4] ∫ 2t dt=t²+c갤로그로 이동합니다. 11.09.19 92 0
273600 안드로이드폰 쓰는 프갤횽들... [6] 행인갤로그로 이동합니다. 11.09.19 77 0
273598 2d게임개발 프롤로그 써봤음 [5] McHello갤로그로 이동합니다. 11.09.19 135 0
273597 알바한다고 해서 수주했는데... [23] .3(124.137) 11.09.19 174 0
273596 네이버가 하룻동안 다운되면 예상피해가 어느정도임? [5] ㅂㅈㄷ(210.178) 11.09.19 110 0
273595 XL 하고 L 중에 뭘 입어야 하지... [5] SODMaster갤로그로 이동합니다. 11.09.19 50 0
273594 아니, 회사에 일할때 실수도 씀? [3] 힙꼬맹갤로그로 이동합니다. 11.09.19 74 0
273592 힙꼬맹을보니 [3] 三didas갤로그로 이동합니다. 11.09.19 58 0
273591 횽들 논리회로 쉽게 설명한 책 추천점 [1] 예습복습갤로그로 이동합니다. 11.09.19 82 0
273590 보수공부하고그런거 [2] 三didas갤로그로 이동합니다. 11.09.19 68 0
273589 횽들은 낮잠 자냐 [1] 로하로하알로하갤로그로 이동합니다. 11.09.19 36 0
273588 가을옷을 사면 금방 겨울이 닥치지... [1] SODMaster갤로그로 이동합니다. 11.09.19 42 0
273587 ㅋ아니 내가 요즘 db빼는걸 배우는대 어떻게하는지좀알려줘사례금준다 [3] 발귀대장뿡뿡(112.151) 11.09.19 66 0
273586 멕헬형 미연시는? [1] Adelposs갤로그로 이동합니다. 11.09.19 44 0
273585 아횽들중에 체리키보드 중고로파실분없는건가요 ? ㅠㅠ Light search갤로그로 이동합니다. 11.09.19 40 0
273584 근데 2의 보수는 왜 2의 보수라고 하는거야??? [4] (125.208) 11.09.19 71 0
273582 맥헬횽 알피지는 안만들어? [1] SODMaster갤로그로 이동합니다. 11.09.19 31 0
273580 현존하는 모바일 개발환경들 Regi☆갤로그로 이동합니다. 11.09.19 50 0
273578 씨언어 동영상 볼수록 목소리 흠취된다 [20] 힙꼬맹갤로그로 이동합니다. 11.09.19 145 0
273577 저는 바이러스르 만들것입니다 [1] y녀6디리(211.246) 11.09.19 51 0
뉴스 ‘신세계 재벌 3세’ 애니, 용돈 얼마?…“달러로 생활비 정도 받아” 디시트렌드 07.14
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2