首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >OpenGL :如何将OpenGL设置为只渲染到FBO,而不输出到屏幕/窗口/控件?

OpenGL :如何将OpenGL设置为只渲染到FBO,而不输出到屏幕/窗口/控件?
EN

Stack Overflow用户
提问于 2011-01-07 07:15:03
回答 1查看 987关注 0票数 4

首先,我在一个WPF应用程序中使用了OpenTK,但我认为这更像是一个通用的OpenGL。

在我的应用程序中,我希望能够将3D内容渲染到纹理中。我不需要输出到窗口或屏幕上的控件-我只想渲染到背景纹理。

那么,我应该如何设置OpenGL来做到这一点呢?通常,应使用devicecontext作为参数来创建图形上下文。但在我的例子中,我不想输出到devicecontext,而是想渲染到具有设置的固定大小的FrameBufferObject (f.e.1024x1024、32bpp、32位ZBuffer),与窗口或显示器无关。

我希望任何人都有这样的设置经验:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-07 08:01:17

上下文创建超出了OpenGL应用编程接口本身的范围。GL上下文由目标图形系统创建,如Windows GDI、X11/GLX、Quartz/AGL。现在有了一个名为PBuffers的概念,它可用于创建不绑定到窗口的硬件加速OpenGL上下文。但是,PBuffers通常只能作为扩展访问,因此您需要一个OpenGL上下文才能做到这一点。解决方案是创建一个虚拟窗口,该窗口永远不需要在屏幕上可见,使用该窗口可以创建虚拟GL上下文以获得扩展。然后使用该PBuffer和在该OpenGL上创建的上下文。

但是,如果您想要使用FBO,那么您不需要跳过PBuffer环。带有OpenGL上下文的不可见虚拟窗口也完成了这项工作,因为渲染目标将是FBO。

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

https://stackoverflow.com/questions/4621024

复制
相关文章

相似问题

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