在Microsoft Windows中訪問每個窗口的渲染區域的最佳方式是什麼,所以我可以使用3D渲染它們?我知道桌面窗口管理器(dwm)爲每個窗口提供了一個rendertarget,並將它們全部渲染在屏幕上。 有很多3D窗口管理器,但找到一些代碼或其他信息對我來說很難,所以我問你。 我想在OpenGL中做到這一點,但我可以想象它在DirectX中是可能的,但也沒關係。 在此先感謝!訪問每個窗口的渲染區域
0
A
回答
2
您必須使用專用於該任務的操作系統/圖形系統專用API。 OpenGL是操作和圖形系統不可知的,並沒有「窗口」的概念。
在Windows中,您必須使用的API是DWM API。對於早於DWM API(XP和更早版本)的Windows版本,必須採用一些「髒」黑客來獲取窗口內容(基本上掛鉤WM_PAINT和WM_ERASEBACKGROUND消息,以及GDI的BeginPaint和EndPaint功能來複制窗口'內容轉換爲可用於更新紋理的DIBSECTION)。
在X11中,要使用的API是XComposite + GLX_ARB_texture_from_pixmap擴展
相關問題
- 1. 裁剪窗口渲染到一個區域
- 2. C++ SDL - 在窗口的特定區域內渲染
- 3. Leaflet/Mapbox渲染問題(灰色區域)
- 4. OpenGL窗口大小渲染問題
- 5. OGRE - 多個窗口 - 渲染窗口和菜單窗口
- 6. 覆蓋區域渲染
- 7. 直接渲染Magnolia區域
- 8. Directshow渲染窗口DLL,
- 9. GDI渲染到WPF窗口
- 10. Backgroundworker不能渲染窗口
- 11. 窗口拒絕渲染
- 12. SFML通過渲染窗口
- 13. C#窗口渲染PHP
- 14. DirectX11 2窗口渲染
- 15. 渲染透明窗口
- 16. 渲染大CATiledLayer成更小的區域
- 17. 骨幹木偶,渲染區域如果還沒有渲染
- 18. 窗口渲染不同的適配器
- 19. 無法渲染窗口內的ContentControl
- 20. 的WebPack渲染: 「沒有定義窗口」
- 21. 窗口的查看區域?
- 22. 導入Gtk並關閉窗口後訪問Gdk區域
- 23. OpenGL不渲染到Framebuffer而是渲染到窗口
- 24. 訪問控制器渲染
- 25. 訪問渲染的WPF頁面/窗口的底層DirectX表面/ rendertarget
- 26. 從MVC區域訪問Web窗體
- 27. jqplot在視覺區域外渲染
- 28. 從區域渲染動作MVC
- 29. jsf richfaces a4j:區域調用渲染
- 30. 渲染區域播放器會看到