OpenGL:仅使用一个帧缓冲区并切换目标纹理

2024-04-18

我是否可以只创建一个帧缓冲区对象并通过在需要时切换其目标纹理来实现相同的结果,而不是使用多个帧缓冲区对象?

  • 在所有情况下这都是一个坏主意吗?如果是,为什么?

我一直在实现一个功能render.SetTargetTexture()在我的程序的 API 中,从逻辑上讲,如果在幕后使用更多的帧缓冲区,它就不会工作。然后我必须完全暴露帧缓冲区。


FBO 本身只是一些逻辑构造,由实现维护,并且它只会消耗其参数所需的少量内存。 FBO 的主要目的是拥有一个保持一致状态的对象。

每当您对 FBO 的结构进行更改时,实施过程都必须检查有效性和完整性。 OpenGL 规范没有提及此操作的复杂性,但可以安全地假设对 FBO 结构的更改是最耗时的操作(可能会花费大量时间)。

由于 FBO 本身不消耗显着的内存,只有附件占用内存,它们是独立的对象,因此我建议分配多个 FBO 并切换它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenGL:仅使用一个帧缓冲区并切换目标纹理 的相关文章

  • OpenGL:重复使用具有不同参数的相同纹理

    在我的程序中 我有一个纹理 它在不同情况下使用多次 在每种情况下 我都需要应用一组特定的参数 我想避免创建额外的缓冲区 并在每次需要将其用于其他用途时实质上创建纹理的副本 所以我想知道是否有更好的方法 这是什么采样器对象 http www
  • 如何减慢从BVH文件读取opengl动画的速度?

    使用 GLFW3 我目前制作了一个 bvh 文件解析器 它读取文件并将其转换为我在 opengl 中制作的人体模型 然而 每当我启动它时 移动速度太快 以至于眼睛看不到动画 所以我想把动画速度调低一点 这是我的渲染循环 while glfw
  • GLubyte 与 GLshort 指数

    查看 OpenGL 中顶点数组的文档 我发现用于索引的两种最常见的内存类型是 GLubyte GL UNSIGNED BYTE 和 GLshort GL SHORT 我想知道使用两者作为索引是否有任何实际区别 谢谢 龙鹩莺 GL UNSIG
  • 设置 GLEW 窗口?

    我有 Visual Studio 2010 我想在其上设置 glew h 我执行了这一步 但仍然出现链接器错误 1 下载glew包 2 将 h文件复制到C Program Files x86 Microsoft SDKs Windows v
  • 编写每个三角形/面具有纯色的 GLSL 片段着色器的方法

    我有顶点和三角形数据 其中包含每个数据的颜色triangle 面 不是每个顶点 即单个顶点由多个面共享 每个面可能具有不同的颜色 我应该如何在 GLSL 中解决这个问题以获得每个的纯色分配face正在渲染 通过平均顶点相邻多边形的颜色来计算
  • 如何读取 Windows 特定扩展名

    在 OpenGL superible 中 示例说我可以通过以下方式读取 Windows 特定扩展 Type defined in the book as char but that is not what glGetString retur
  • 如何使用 Linux 帧缓冲区旋转 Qt5 应用程序?

    我有一个直接在 Linux 帧缓冲区 无 x Windows 上运行的嵌入式 Linux 应用程序 现在我们必须将显示屏物理旋转 180 度 如何让我的 Qt 应用程序旋转 使其不会出现颠倒 我看到参考使用以下选项 platform lin
  • 给定焦点和相机主中心,如何创建透视投影矩阵

    我设法使用 OpenCV 获取相机的内在和外在参数 因此我有 fx fy cx 和 cy 我还有屏幕 图像的宽度和高度 但是如何根据这些参数创建 OpenGL 透视投影矩阵呢 glFrustum 展示了如何在给定 Z 近 Z 远以及图像宽度
  • 从活动顶点数组生成平滑法线

    我正在尝试通过挂钩 OpenGl 调用来破解和修改旧版 opengl 固定管道游戏的多个渲染功能 而我当前的任务是实现着色器照明 我已经创建了一个适当的着色器程序 可以正确照亮大部分对象 但该游戏的地形是在没有提供正常数据的情况下绘制的 游
  • 着色器/矩阵问题 - 看不到对象

    我试图在屏幕上放置一个立方体并点亮它 我想要在立方体上添加 phong 阴影 当我运行代码时 我可以看到背景图像 但看不到立方体 我相当确定立方体本身是正确的 因为我已经设法用纯色着色器显示它 我已经设法编译着色器程序 但我根本看不到立方体
  • 静态链接库时出现 glew 链接器错误

    我正在尝试在 Visual Studio 2012 中构建一个 opengl 项目 我想静态包含 glew 库 因此我从源代码构建它并将生成的 glew32sd lib 复制到我的 lib 目录 我将此 lib 路径提供给 Visual S
  • 将glm四元数转换为旋转矩阵并与opengl一起使用

    所以我将对象的方向存储在 glm fquat 中 我想用它来旋转我的模型 我怎么做 我试过这个 glPushMatrix glTranslatef position x position y position z glMultMatrixf
  • 使用 openGL、SOIL 加载图像

    我尝试了很多使用 SOIL 在 openGL 中加载和显示图像的示例 运行下面的源代码时 它仅显示一个没有图像的白色四边形 我尝试打开一个名为 foto 的图像 我将图像文件放在程序的文件夹中 bool keyStates new bool
  • 退出 glutFullScreen()

    我不明白为什么当我按 f 时它进入全屏但不退出全屏 在这个方法的开头我已经设置了bool fullscreen false 这是我的切换代码 case f toggle screenmode if fullscreen glutFullSc
  • 纹理openGl。 C++、qt

    我试图用草纹理覆盖我的地形 由高度图制成 但它没有按预期工作 我什至无法在简单的 GL QUAD 上获取纹理 结果是多色网络 void GLWidget initializeGL glEnable GL TEXTURE 2D 在 QGLwi
  • (定义一个宏)方便OpenGL命令调试?

    有时插入条件打印和检查需要很长时间glGetError 使用二分搜索的形式来缩小范围 其中第一个函数调用是 OpenGL 首先报告错误 我认为如果有一种方法可以构建一个宏 我可以包装所有可能失败的 GL 调用 并有条件地调用 那就太酷了gl
  • 如何用opengl制作2D地形?

    我想制作一个简单的二维地形 只有一些颠簸和高度变化 我想过只使用随机数来描述某个顶点的高度 但我不知道如何从中制作一个网格 我正在寻找一种方法来查找地形的顶点和索引缓冲区 我该怎么做呢 您可以仅将 GL POLYGON 与所有顶点的列表一起
  • 法线在 openGL 中表现得很奇怪

    我一直在为 openGl 编写一个 obj 加载器 几何体加载得很好 但法线总是混乱的 我尝试在两个不同的程序中导出模型 但似乎没有任何效果 据我所知 这就是将法线放入 GL TRIANGLES 的方法 glNormal3fv norm1
  • QOpenGLFunctions 缺少重要的 OpenGL 函数

    QOpenGLFunctions 似乎缺少重要的函数 例如 glInvalidateFramebuffer 和 glMapBuffer 据我了解 QOpenGLFunctions 加载桌面 OpenGL 函数和 ES 函数的交集 如果是这样
  • OpenGL:调试“单通道线框渲染”

    我正在尝试实现论文 单通道线框渲染 它看起来很简单 但它给了我所期望的厚暗值 论文没有给出计算海拔高度的确切代码 所以我按照自己认为合适的方式进行了操作 代码应该将三个顶点投影到视口空间中 获取它们的 高度 并将它们发送到片段着色器 片段着

随机推荐

  • 删除列表内数据框中的列

    我根据 A 列中的因子水平 从数据框中创建了一个列表 在列表中 我想删除该列 我的脑子里在说 lapply 但没有别的意思 P A ID Test A 1 A 1 B ID Test B 1 B 3 B 5 进入这个 A Test 1 1
  • 由 VBA 关闭的工作簿未关闭引用的 IsAddin 工作簿

    Version Excel 2016 桌面版 Context VBA 项目 客户端 xlsb 具有对另一个工作簿的引用 工具 菜单 gt 引用 参考书目isn t一个插件 它是一个普通的 xlsb 文件 这会导致如果客户书籍仍处于打开状态
  • Scala 中对象的 Mockito

    我正在使用 Scala 2 10 specs2 和 Mockito 我想模拟 scala io Source fromURL 问题似乎是 fromURL 是一个函数io Source 的对象 http www scala lang org
  • C++:错误:“类”没有命名的成员

    对于我的毕业论文 我正在编写一些有限元代码 或者更准确地说 我正在修改现有程序 该程序基于我的教师提供的 2 类库 因此 我无法修改这些类 因为它们是通用的 我创建了一个类BurgersMSrc 它继承自父类ValSrc 我用一种方法扩展了
  • Java ImageWriter BufferedImage 到 GIF

    我希望你们能帮我解决这个问题 我不确定这是 Java 中的错误还是我做错了什么 但我会选择后者 我想将 BufferedImage 转换为 GIF 图像 然后我希望将 GIF 以字节数组的形式保存在内存中 我不想将文件保存到磁盘 该程序应该
  • >> Python 中的运算符

    什么是 gt gt 运营商做什么 例如下面的操作是做什么的10 gt gt 1 5 do 它是右移位运算符 将所有位向右 移动 一次 10 的二进制是 1010 向右移动它变成 0101 这是 5
  • Python 单击多个命令名称

    是否可以使用 Python Click 执行类似的操作 click command name my command my cmd def my command pass 我希望我的命令行是这样的 mycli my command and m
  • Spring JPA 原子获取或创建方法

    我正在使用 Spring Boot 和JPA with Hibernate 我有一个方法 进入我的服务 检查数据库中是否已存在特定实体 例如我 需要检查是否已经有用户 为此 我使用自定义 JPQL 查询我的 JPA 存储库 之后 如果上一步
  • 在 Android 中打开日历

    如何在按钮单击上打开日历并获取可单击的日期 看一下这个 http www developer com ws article php 3850276 Working with the Android Calendar htm http www
  • 如何使用 Phonegap 将图像加载到 HTML5 Canvas 上

    尝试将图像加载到 html5 画布上 然后使用 Phonegap 在 Android 上运行 html5 这是我的 HTML
  • Vaadin 14 组合框选择鼠标悬停时的工具提示

    我正在使用 Vaadin 14 Java 我有一个带有枚举的组合框作为可能的选择项 我想在组合框中显示枚举作为可能的选择 但我想在鼠标悬停 工具提示上显示较长的属性 名称 我看到旧版本的 Vaadin 也存在同样的问题 显然没有解决方案 并
  • CSS 注入在 content_scripts 中使用声明失败,但在通过注入的 JavaScript 加载时有效

    我注意到将 CSS 注入第三方页面的预期方式似乎无法正常工作 相关的manifest json部分 content scripts matches youtube com watch v css css youTubeInject css
  • 我无法访问 SQL 2005 实例的所有原因

    我已经安装了 SQL 2005 Express 的实例
  • 如何将循环中的变量更新为对循环内创建的值的引用?

    我想进入一个带有变量的循环n这是函数借用的 每一步 n取新值 当退出循环时 工作在其他变量的帮助下完成 并且n will never再次使用 如果我不使用引用 我会有这样的东西 fn test n Thing gt usize stuff
  • JDBC.SQLServerException:结果集没有当前行

    因此 我创建的解决方案引发了此异常 jdbc SQLServerException The result set has no current row在下面代码中标记的行上 public String get64BitEncodedImag
  • Scala 映射函数签名的解释?

    此代码将函数应用于整数列表 并将选项列表中的每个值设置为值 4 val l List 1 2 3 4 5 gt l List Int val v 4 gt v Int 4 def g v Int List v 1 v v 1 gt g v
  • CSS 容器 div 未获取高度

    我希望我的容器 div 获得其子级高度的最大值 不知道孩子的身高div将会有 我正在尝试JSFiddle http jsfiddle net gtdfY 2 容器div为红色 哪个没有出现 为什么 添加以下属性 c overflow hid
  • 为什么 DOMDocument 嵌套段落 (

    ) 标记?

    有没有办法阻止 DOMDocument 嵌套 标签 这是一个例子 dom gt loadHTML p text1 p p text2 p LIBXML HTML NOIMPLIED LIBXML HTML NODEFDTD Outputs
  • python删除字符串中的2个字符

    python搜索字符 x 下一步删除该字符 x 字符 x 1字符串中的位置 Example x 1 520 2 529 我要搜索x 并删除 和 之前的数字最后我希望它看起来像x 520 529 在我创建这个主题之前 我只发现用一个字符替换一
  • OpenGL:仅使用一个帧缓冲区并切换目标纹理

    我是否可以只创建一个帧缓冲区对象并通过在需要时切换其目标纹理来实现相同的结果 而不是使用多个帧缓冲区对象 在所有情况下这都是一个坏主意吗 如果是 为什么 我一直在实现一个功能render SetTargetTexture 在我的程序的 AP