C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[22417] [질문]VCL에 다이렉트X D3D 초기화 하기?
왕초보 [proline1] 799 읽음    2002-11-03 14:10
안녕하세여..

VCL을 이용해서 D3D 을 초기화 해서 3D 툴을 만들려구 하는데
초기화가 잘 되지 않는군여..

이것저것 알아보구 초기화는 성공했는데

실제 돌려보면 폼이 활성화 시에는 빠른데 최소화 또는 선택이 되지 않을때는
화면이 멈출정도로 CPU점유을 하는군여..

아무리 생각해도 메세지 부분이 잘못 되서 CPU점유가 높은것 같은데
어떻게 해결해야 할지 모르겠습니다.'

..........................................................
h 파일

        // 3D
        void __fastcall SetWindowSize();
        void __fastcall Render_3D();

        BEGIN_MESSAGE_MAP
            VCL_MESSAGE_HANDLER(WM_INITD3D,  TMessage, InitD3D)
            VCL_MESSAGE_HANDLER(WM_INITDATA, TMessage, InitData)
            VCL_MESSAGE_HANDLER(WM_MAINLOOP, TMessage, MainLoop)
        END_MESSAGE_MAP(TForm)

        bool H_Loop;
        bool H_Render;

추가


Cpp 파일

void __fastcall TForm1::FormCreate(TObject *Sender)
{
    PostMessage(Handle, WM_INITD3D, 0, 0);
    PostMessage(Handle, WM_INITDATA, 0, 0);
    PostMessage(Handle, WM_MAINLOOP, 0, 0);
}

void __fastcall TForm1::MainLoop(TMessage &Msg)
{
    Application->ProcessMessages();
    if ( H_Render ) {
        Render_3D();
    }
}
..........................................................................

이런식으로 하라구 나와 있는데 그대로 했는데 잘 되기는 하나
최소화 또는 윈도우가 활성화 되지 않으면 CPU점유가 넘 커서 컴터가 느려지는군여
마우스가 안움직일정도 ㅡ..ㅡ;;


아시는분 답변 꼭 부탁합니다.
첫걸음부터 쉽지가 않습니다. ㅠㅠ





+ -

관련 글 리스트
22417 [질문]VCL에 다이렉트X D3D 초기화 하기? 왕초보 799 2002/11/03
22431     Re:[질문]VCL에 다이렉트X D3D 초기화 하기? 김성철.파란 834 2002/11/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.