Pai nu poti sa ii dai tu din direct3d transparenta?<br><br><div class="gmail_quote">2009/6/16 Alin Popescu <span dir="ltr">&lt;<a href="mailto:alinpopescu@live.com">alinpopescu@live.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Salut!<br>
<br>
Nu are legatura cu ce s-a facut pe la so, dar are legatura cu mult prea obscurul WinAPI.<br>
Incerc sa fac o captura de fereastra si sa salvez pixelii intr-o textura de Direct3D. In final ferestre 3D cu transparenta :)<br>
<br>
Problema mea e ca nu reusesc sa salvez si alpha channel din fereastra.<br>
Am incercat sa folosesc si GetDIBits, dar fara rezultate.<br>
<br>
Poate a mai incercat cineva de pe aici si i-a gasit solutie.<br>
L-as ruga sa o impartaseasca cu comunitatea de WinAPI devs.<br>
<br>
void CaptureWindow(HWND hWnd, LPDIRECT3DTEXTURE9 Tex)<br>
{<br>
   HDC hdcWindow = GetWindowDC(hWnd);<br>
   HDC hdcMemory = CreateCompatibleDC(hdcWindow);<br>
   HBITMAP hBitmap = CreateCompatibleBitmap(hdcWindow, Width, Height);<br>
   hOld = SelectObject(hdcMemory, hBitmap);<br>
   bool bResult = PrintWindow(hWnd, hdcMemory, 0);<br>
<br>
   D3DLOCKED_RECT rect;<br>
   Tex-&gt;LockRect(0, &amp;rect, NULL, D3DLOCK_DISCARD);<br>
   GetBitmapBits(hBitmap, Width * Height * 4, rect.pBits);<br>
   Tex-&gt;UnlockRect(0);}<br>
<br>
   SelectObject(hdcMemory, hOld);<br>
   DeleteObject(hBitmap);<br>
   DeleteDC(hdcMemory);<br>
   ReleaseDC(hWnd, hdcWindow);<br>
}<br>
<br>
Thanx in advance.<br>
_______________________________________________<br>
so mailing list<br>
<a href="mailto:so@cursuri.cs.pub.ro" target="_blank">so@cursuri.cs.pub.ro</a><br>
<a href="http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so" target="_blank">http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Cibo<br>