DirectX建立物件到surface的Example |
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
作者:上班正
資料來源 :http://programmer.eforum2000.net/pc2020v5/forum/ShowSameTitle.asp?board_pc2020=directx&index=169&id=13&mode=&type_pc2020=sametitleLevel-2# 希望對初學著有幫助因為這都是既定模式copy回去就可以用了....
#define D_SCR_WIDTH 640
#define D_SCR_HEIGHT 480
#define D_BYTE_PIXEL 16 LPDIRECTDRAW pDD;
LPDIRECTDRAW7 pDD2;
DDSURFACEDESC2 DDSD;
LPDIRECTDRAWSURFACE7 pPRISURFACE;
LPDIRECTDRAWSURFACE7 pBACKSURFACE; DirectDrawCreate(NULL,&pDD,NULL); //建立direct draw
pDD->QueryInterface(IID_IDirectDraw7,(LPVOID*)&pDD2); //建立Direct Draw 7 pDD2->SetCooperativeLevel(GetSafeHwnd(),DDSCL_EXCLUSIVE|DDSCL_FULLSCREEN)//設定工作型態
pDD2->SetDisplayMode(D_SCR_WIDTH , D_SCR_HEIGHT , D_BYTE_PIXEL, 0 , 0 )//設定顯示模式
ZeroMemory(&DDSD , sizeof(DDSD));
DDSD.dwSize = sizeof(DDSD);
DDSD.dwFlags = DDSD_CAPS|DDSD_BACKBUFFERCOUNT;
//Only use ddsCaps member
DDSD.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE|DDSCAPS_COMPLEX|DDSCAPS_FLIP;
//Use primary surface..
DDSD.dwBackBufferCount=1; pDD2->CreateSurface(&DDSD,&pPRISURFACE,NULL);
DDSCAPS2 DCAP;
DCAP.dwCaps = DDSCAPS_BACKBUFFER;
pPRISURFACE->GetAttachedSurface(&DCAP,&pBACKSURFACE); 這是建立覆合surface的範例......希望有用喔接下來把圖檔copy到surface就行了...........複合surface在搭配offscreen surface一啟用就可以有效的提昇FPS囉 時間就是金錢
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |