如何在OpenGL 3.1中正确渲染为纹理

彼得·克拉克

这将是我第一次渲染除默认帧缓冲区以外的任何内容,并且我的搜索显示FBO是执行此任务的方法。实际上,从我所见,它们似乎是唯一的方法-如果我在此方面做错了,请纠正我。

我专门试图将自己限制为自3.1以来便已成为核心的OpenGL功能根据OpenGL Wiki,FBO自3.0以来一直是核心。

我发现了大量关于设置FBO以及如何将纹理附加到它们的资源,但是它们都使用(自OpenGL Wiki以来)从3.2开始才是核心的函数(例如glFrameBufferTextureglFrameBufferTextureLayer)。

使用OpenGL 3.1或更低版本来渲染纹理的合适/推荐方法是什么应该注意的是,我将需要一个深度缓冲区来进行渲染(FBO提供的功能)。

注意:我最初的标题为“如何在OpenGL 3.1中将纹理附加到帧缓冲区对象。”,但是在有其他选项的情况下使用了更通用的标题。

数据狼

实际上,从我所见,它们似乎是唯一的方法-如果我在此方面做错了,请纠正我。

还有PBuffers,但您不想使用它们。它们使用起来很麻烦,难以设置,并且可能在不方便的时候使它们的内容失效。供参考:PBuffers是一种不可见的窗口。它们本身就毫无用处,因为它们无法渲染为纹理。即您必须在渲染到PBuffer之后复制到纹理。然后引入了扩展,以允许将PBuffer绑定为纹理。

不要打扰他们。

我专门试图将自己限制为自3.1以来便已成为核心的OpenGL功能。

实际上,帧缓冲对象已经存在了很多年了。而且由于它们主要是内存管理产品,因此即使是最老的GPU也可以支持它们。至少如果您要使其格式类似于典型的屏幕帧缓冲区。

直到OpenGL-3帧缓冲对象是所谓的扩展直到您查看帧缓冲对象扩展的规范ARB_framebuffer_object,您就会看到它们当时已被批准使用12年的OpenGL-1.1。它的工作早已以EXT_framebuffer_object扩展的形式开始了。

因此,它们得到了很好的支持。如果您将自己限制为OpenGL-3,则不必理会,但如果您想支持更广泛的硬件(例如我最近的项目,则以OpenGL-2.1为目标),那么您将必须使用该扩展名。

根据OpenGL Wiki

OpenGL Wiki不是权威参考。规格是。根据OpenGL-3.0,这些功能是指定功能的一部分。请注意,OpenGL确实仅在OpenGL-3.2中引入了核心兼容性配置文件,因此这就是为什么在OpenGL-3.2之前您不会找到任何核心的原因

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在OpenGL中正确正交渲染纹理?

来自分类Dev

如何在Metal中的四边形中正确渲染纹理?

来自分类Dev

如何在OpenGL中的3D对象上应用纹理

来自分类Dev

如何在Android的OpenGL ES中渲染深度纹理

来自分类Dev

如何在现代OpenGL中渲染多个纹理?

来自分类Dev

如何在HelmV3中正确声明卷?

来自分类Dev

在OpenGL中渲染纹理1到1

来自分类Dev

在OpenGL中以1到1渲染纹理

来自分类Dev

如何在OpenGL中为3D模型(网格)设置动画?

来自分类Dev

如何在opengl中为3d对象设置原点

来自分类Dev

D3D11如何将纹理中alpha值为0的像素渲染为透明?

来自分类Dev

如何在ionic 3中正确使用选项卡将root设置为我的主应用程序?

来自分类Dev

如何在OpenGL ES 2中正确缩放

来自分类Dev

如何在OpenGL中构造glutSolidTorus的纹理?

来自分类Dev

如何在OpenGL中反转纹理颜色

来自分类Dev

如何在OpenGL中处理纹理动画?

来自分类Dev

如何在OpenGL中正确纹理四边形

来自分类Dev

如何在Direct3D 11中实现“渲染到纹理”管道?

来自分类Dev

如何在iOS中的opengl 3d对象中做手势

来自分类Dev

如何在Rails 4中正确渲染局部

来自分类Dev

如何在GLFW 3中创建OpenGL 1.2上下文

来自分类Dev

如何在GLFW 3中创建OpenGL 1.2上下文

来自分类Dev

如何在Win32(C ++)静态控件中正确渲染OpenGL?

来自分类Dev

如何在Win32(C ++)静态控件中正确渲染OpenGL?

来自分类Dev

如何在ActiveX控件中正确初始化OpenGL?

来自分类Dev

如何在3D模型中为纹理设置动画?

来自分类Dev

如何在python 3中正确使用@property装饰器?

来自分类Dev

如何在JME3中正确侦听鼠标的移动?

来自分类Dev

如何在Sublime Text 3中正确格式化/缩进HTML和PHP代码

Related 相关文章

热门标签

归档