Desktop als Textur verwenden ??
Übersicht

![]() |
loosergtBetreff: Desktop als Textur verwenden ?? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann man den gesammten Desktop als Textur verwenden ? Wollte diese Textur auf einen Cube kleben und im Vollbildmodus den Cube von der Cam wegdrehen oder was auch immer. Also Quasi-Desktop 3D-mäßig wegdrehen. Wie grabbe ich den Desktop-Inhalt als Textur ? ![]() |
||
Web : http://64kbyte.homeip.net
286@16MHz/8MB/40MB-HD/Voodoo 12MB/SB-16 Value/10MBit-Koax-LAN@topSPEED |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Ja geht, mit ScreenWidth = apiGetDeviceCaps(apiGetDC(0), 8) und ScreenHeight = apiGetDeviceCaps(apiGetDC(0), 10) Breite und Höhe auslesen lassen. Mit hWnd = apiGetActiveWindow() Fensterhandle, und mit hDC = apiGetDC(hWnd) den DeviceContext vom eigenen Fenster holen. Das eigene Fenster mit apiShowWindow hWnd, 0 unsichtbar machen. Nun kannst du jeden pixel des Desktops mit apiGetPixel(hDC, x, y) auslesen lassen. Dann das Fenster mit apiShowWindow hWnd, 5 wieder anzeigen, und den DeviceContext mit apiReleaseDC(hDC) freigeben. mfg olli |
||
![]() |
loosergt |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Also ich hab jetzt mal folgendes geschrieben : Graphics3D 1024,768,32,1 SetBuffer=BackBuffer() ScreenWidth = apiGetDeviceCaps(apiGetDC(0)) ScreenHeight = apiGetDeviceCaps(apiGetDC(0), 10) hWnd = apiGetActiveWindow() hDC = apiGetDC(hWnd) apiShowWindow hWnd, 0 For y=0 To 767 For x=0 To 1023 apiGetPixel(hDC, x, y) ;auslesen lassen. Dann das Fenster mit ;>>>>> hier weiss ich nicht weiter !! wohin mit den Pixeln ? Next Next apiShowWindow hWnd, 5 ;wieder anzeigen, und den DeviceContext mit apiReleaseDC(hDC) Hilf mir nochmal ... ![]() |
||
Web : http://64kbyte.homeip.net
286@16MHz/8MB/40MB-HD/Voodoo 12MB/SB-16 Value/10MBit-Koax-LAN@topSPEED |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
apiGetPixel(hDC, x, y) gibt wie ReadPixel(Fast) einen Integerwert zurück, den du mit WritePixel(Fast) in deine Texture reinzeichnen kannst. hier sei aber anzumerken, dass die Tetxuren natürlich auf 2er Potenzen skaliert werden, also entweder alles ersteinmal in ein Image und dann mit Blitz skalieren(lahm) oder gleich selber die Skalierung mit berechnen und Performencegewinn rausziehen. Ach und: SetBuffer=BackBuffer() geht nicht, und die For-Next-Schleifen kannst du als To-Wert auch ScreenWidth/Height-1 übergeben ![]() mfg olli |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group