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
[53473] Re:Panel 에 디바이스
방태윤 [nabty] 1291 읽음    2008-05-23 11:59
LPDIRECT3D9 g_pD3D=0;
LPDIRECT3DDEVICE9 g_pd3dDevice=0;

bool init_d3d9()
{
    //---------------------------------------------------------------------------
    // d3d9 init
    //---------------------------------------------------------------------------

    if(NULL==(g_pD3D=Direct3DCreate9(D3D_SDK_VERSION))){
        return false;
    }

    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory( &d3dpp, sizeof(d3dpp) );

    d3dpp.SwapEffect=D3DSWAPEFFECT_DISCARD;
    d3dpp.BackBufferCount=1;
    d3dpp.Flags=D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
    d3dpp.Windowed=true;
    d3dpp.BackBufferFormat=D3DFMT_A8R8G8B8;
    d3dpp.BackBufferWidth=Form1->Panel2->Width;
    d3dpp.BackBufferHeight=Form1->Panel2->Height;

    if(FAILED(g_pD3D->CreateDevice(
                                                D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,
                                                Form1->Panel2->Handle,
                                                D3DCREATE_SOFTWARE_VERTEXPROCESSING,&d3dpp,&g_pd3dDevice))){
        return false;
    }

  g_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,true);
  g_pd3dDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
  g_pd3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);

  g_pd3dDevice->SetTextureStageState(0,D3DTSS_TEXCOORDINDEX, 0);
  g_pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG1, D3DTA_TEXTURE);
  g_pd3dDevice->SetTextureStageState(0,D3DTSS_COLORARG2, D3DTA_DIFFUSE);
  g_pd3dDevice->SetTextureStageState(0,D3DTSS_COLOROP,   D3DTOP_MODULATE);
  g_pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAARG1, D3DTA_TEXTURE);
  g_pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAARG2, D3DTA_DIFFUSE);
  g_pd3dDevice->SetTextureStageState(0,D3DTSS_ALPHAOP,   D3DTOP_MODULATE);

  ShowMessage("ok");
  return true;
}

제가 테스트로 쓰던거...



윤.ian 님이 쓰신 글 :
: 패널에 direct x 디바이스를 넣고 싶은데 어떻게 하나요?

+ -

관련 글 리스트
53472 Panel 에 디바이스 윤.ian 1075 2008/05/23
53473     Re:Panel 에 디바이스 방태윤 1291 2008/05/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.