|
|
下面是网上下的一个例子中的函数
VOID Render()
{
g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, NULL, 1.0f, 0 );
if( SUCCEEDED( g_pd3dDevice->BeginScene() ) )
{
g_pd3dDevice->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );
g_pd3dDevice->SetFVF( D3DFVF_CUSTOMVERTEX );
g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 2 );
if ( SUCCEEDED( g_pSprite->Begin(D3DXSPRITE_ALPHABLEND) ) )
{
g_pSprite->Draw(g_pTexture, NULL, NULL, NULL, 0xffffffff);
其他东西基本了解了,就是这里画完纹理后怎么怎么在画N副图?
比方说上面纹理是张大地图,我现在要加载张图片是个小人怎么画啊?
我试过
D3DXCreateTextureFromFile(g_pd3dDevice,"F:\\qb.png",&g_pTexture1);
g_pSprite->Draw(g_pTexture, NULL, NULL, NULL, 0xffffffff);
这样是可以显示就是太占CPU资源了,消息刷新CPU4-8%这样,我想一定有更好的办法吧?
以前我用GDI都是直接画好所有的进内存,最后COPY到DC就可以了。
高手回复下 谢谢。
g_pSprite->End();
}
g_pd3dDevice->EndScene();
}
g_pd3dDevice-> resent( NULL, NULL, NULL, NULL );
} |
|