首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将win32窗口呈现为opengl纹理?

如何将win32窗口呈现为opengl纹理?
EN

Stack Overflow用户
提问于 2018-04-28 07:42:04
回答 1查看 733关注 0票数 4

我希望能够在win32纹理中呈现一个OpenGL控件。以便能够对其进行三维变换。具体来说,我想嵌入Internet资源管理器,在3D转换窗口中显示网页和视频。

如何以足够快的速度将win32窗口呈现为纹理(我需要保留60 fps)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-28 09:15:24

有几种方法你可以这样做。在所有情况下,您都需要从目标窗口(GetDCGetDCEx )获取设备上下文(DC)。

然后,您可以直接读取像素(GetPixel;或者将内容混合到您自己的DC中) (BitBlt,然后访问它(例如,GetDIBits )。

由于您希望“嵌入”Internet Explorer,因此您可能意味着将其窗口隐藏起来;您将考虑如何在不可见、部分可见的窗口上工作,同时考虑您的windows版本和/或是否禁用了DWM (因此窗口的内容可能不可用)。看看PrintWindow来强制使用WM_PAINT/WM_PRINT

一个小的MSDN指南可以向您介绍所有这些,并有一个完整的例子是:捕捉图像

在任何情况下,您都可以通过将其他浏览器/引擎嵌入库(例如铬嵌入框架(CEF)Qt's WebEngine电子.)来寻找另一种解决方案。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50074138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档