Salut.<br><br>Ce vrei sa spui prin &quot;nu reusesc sa salvez si alpha channel&quot; ?. Din ce am inteles eu, vrei sa faci un print screen la o fereastra.<br>Unde ar fi alpha channel acolo? De asemenea, ce intelegi prin &quot;ferestre 3D cu transparenta&quot;?<br>
<br>Presupun ca vrei sa faci o fereastra de Direct3D care sa para transparenta, la fiecare frame facand un capture la ce se afla<br>in spatele ei, si randand respectiva textura in Direct3D (pe un quad eventual). Asta e?<br>
<br>Numai bine,<br>Dani<br><br><div class="gmail_quote">2009/6/16 Andrei Cibotaru <span dir="ltr">&lt;<a href="mailto:andreicibotaru@gmail.com">andreicibotaru@gmail.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;">
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" target="_blank">alinpopescu@live.com</a>&gt;</span><div>
<div></div><div class="h5"><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></div></div><font color="#888888"><br><br clear="all"><br>-- <br>Cibo<br>
</font><br>_______________________________________________<br>
so mailing list<br>
<a href="mailto:so@cursuri.cs.pub.ro">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>
<br></blockquote></div><br>