🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: free.pl.comp.games.development
4 messages
4 total messages Started by Erge Sat, 02 Jul 2005 18:17
DirectX, problem z surface'ami
#218
Author: Erge
Date: Sat, 02 Jul 2005 18:17
30 lines
1903 bytes

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
Re: DirectX, problem z surface'ami
#219
Author: Daniel Biesiada
Date: Tue, 05 Jul 2005 13:06
14 lines
1787 bytes
Nie za bardzo znam sie na DX9 ale post render processing jak juz innej 
drogi nie znajdziesz to moze przez Lock i zoptymalizuj sobie jakis 
alphablending rodem z starych rozwiazan jeszcze ddrawowych. Zrodel na 
alpha blending optymalizowane na mmxy/sse/inne jest w cholere na sieci.
Tutaj masz pokrewny przyklad jeno z gausem:
http://www.gamedev.net/reference/articles/article2108.asp

Ale byc moze nie bedzie takiej potrzeby jednak nie mialem okazji 
sprawdzic zrodla dostepnego pod tym adresem:
http://www.codesampler.com/dx9src/dx9src_4.htm#dx9_alpha_blending_framebuffer

pozdrawiam,
hollowone
Re: DirectX, problem z surface'ami
#220
Author: Erge
Date: Wed, 06 Jul 2005 20:55
24 lines
2066 bytes
> Nie za bardzo znam sie na DX9 ale post render processing jak juz innej
> drogi nie znajdziesz to moze przez Lock i zoptymalizuj sobie jakis
> alphablending rodem z starych rozwiazan jeszcze ddrawowych. Zrodel na
> alpha blending optymalizowane na mmxy/sse/inne jest w cholere na sieci.
> Tutaj masz pokrewny przyklad jeno z gausem:
> http://www.gamedev.net/reference/articles/article2108.asp
>
> Ale byc moze nie bedzie takiej potrzeby jednak nie mialem okazji
> sprawdzic zrodla dostepnego pod tym adresem:
>
http://www.codesampler.com/dx9src/dx9src_4.htm#dx9_alpha_blending_framebuffe
r

witam

Zrobi�em to ju� za pomoc�  zwyk�ych tr�jk�t�w (przetransformowany typ
wierzcho�ka) i tekstury. Dzia�a idealnie. Co ciekawe szukaj�c w Internecie
sposobu rozwi�zania tego problemu za pomoc� surface'�w zauwa�y�em �e sporo
os�b te� tego pr�bowa�o ale odpowiedzi nigdzie nie ma :D C�, chyba to
pozostanie tajemnic� Microsoftu.

pozdrawiam
Erge
Re: DirectX, problem z surface'ami
#223
Author: Ko�ek Szymon
Date: Mon, 18 Jul 2005 05:49
13 lines
1466 bytes
> 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));

Hardkorowy killer wydajnosci :). A nie lepiej utworzyc sobie teksturke i
Draw*Primitive uzyc ?. (To pytanie retoryczne - bo oczywiscie lepiej :) ).
Operacja bedzie w pelni akcelerowana, nie ma zadnych problemow z kanalem
alpha itp itd.

pozdr.
   Simon
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads