Erge
2005-07-02 18:17:42 UTC
Mam nastêpuj±cy problem. Chcê wczytaæ z pliku graficznego surface i wrzuciæ
go do back buffera. To samo w sobie nie sprawia problemu. Problemem jest
zmuszenie Directa aby uwzglêdni³ kana³ alpha.
Poni¿ej zamieszczam wycinki kodu:
Wczytywanie:
LPDIRECT3DSURFACE9 sBB;
m_pd3dDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &sBB);
D3DSURFACE_DESC desc;
sBB->GetDesc(&desc);
m_pd3dDevice->CreateOffscreenPlainSurface(desc.Width, desc.Height,
desc.Format, D3DPOOL_SYSTEMMEM, &fgSurface, NULL);
D3DXLoadSurfaceFromFile(fgSurface, NULL, NULL, filename, NULL, D3DX_DEFAULT,
0, NULL);
Renderowanie:
LPDIRECT3DSURFACE9 sBB;
m_pd3dDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &sBB);
D3DXLoadSurfaceFromSurface(sBB, NULL, NULL, fgSurface, NULL, NULL,
D3DX_DEFAULT, D3DCOLOR_ARGB(255,0,0,0));
Jakie¶ rady, sugestie?
pozdrawiam
Erge
go do back buffera. To samo w sobie nie sprawia problemu. Problemem jest
zmuszenie Directa aby uwzglêdni³ kana³ alpha.
Poni¿ej zamieszczam wycinki kodu:
Wczytywanie:
LPDIRECT3DSURFACE9 sBB;
m_pd3dDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &sBB);
D3DSURFACE_DESC desc;
sBB->GetDesc(&desc);
m_pd3dDevice->CreateOffscreenPlainSurface(desc.Width, desc.Height,
desc.Format, D3DPOOL_SYSTEMMEM, &fgSurface, NULL);
D3DXLoadSurfaceFromFile(fgSurface, NULL, NULL, filename, NULL, D3DX_DEFAULT,
0, NULL);
Renderowanie:
LPDIRECT3DSURFACE9 sBB;
m_pd3dDevice->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &sBB);
D3DXLoadSurfaceFromSurface(sBB, NULL, NULL, fgSurface, NULL, NULL,
D3DX_DEFAULT, D3DCOLOR_ARGB(255,0,0,0));
Jakie¶ rady, sugestie?
pozdrawiam
Erge