启用 MSAA 时,iPhone 中的 openGL 纹理渲染失败

2023-12-21

我的 iPhone 纹理渲染代码仅在禁用 MSAA 时才有效,否则我得到的只是黑色纹理。问题的原因可能是什么?

这是我的代码:

glViewport(0,0, target->_Width, target->_Height);
glClear(GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT Or GL_STENCIL_BUFFER_BIT);

glBindTexture(GL_TEXTURE_2D, target->_Handle);          

// render stuff here

glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, target->_Width, target->_Height, 0);
glBindTexture(GL_TEXTURE_2D, 0);

显然,当您将 MSAA 用于主帧缓冲区时,您还必须将其用于您想要渲染的任何其他 FBO。自从GL_TEXTURE_2D_MULTISAMPLE在 OpenGL ES 2 上不可用,我发现的解决方案非常简单,即应用从常规渲染到 MSAA 渲染所需的相同修改,以及渲染到纹理代码。

您需要 3 个额外的缓冲区:一个多重采样颜色渲染缓冲区、一个多重采样深度渲染缓冲区以及一个将它们附加到的新 FBO。在渲染之前绑定新的FBO而不是纹理FBO。渲染后,将新的 MSAA FBO 解析为纹理 FBO,与在主渲染代码中使用的方法相同glResolveMultisampleFramebufferAPPLE().

请注意,由于某种原因,启用 MSAA 的纹理渲染可以正常工作without这些修改是在模拟器中进行的。也许它使用GL_TEXTURE_2D_MULTISAMPLE自动地?

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

启用 MSAA 时,iPhone 中的 openGL 纹理渲染失败 的相关文章

  • 在成为FirstResponder或resignFirstResponder的情况下将对象保持在键盘顶部?

    我目前在键盘顶部有一个 UITextField 当您点击它时 它应该粘在键盘顶部并平滑地向上移动 我不知道键盘的具体时长和动画类型 所以确实很坎坷 这是我所拥有的 theTextView resignFirstResponder UIVie
  • UiTextField 和 resignFirstResponder

    我有一个奇怪的设置 我有一个View called View1 and a ViewController call 视图控制器1 in IB View1是 的孩子视图控制器1 Inside View1 我使用代码创建UITextField并
  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • iPhone/Objective-C - 呈现视图和委托时的 UIDocumentInteractionController 类参考

    我在用UIDocumentInteractionController在我的应用程序中 以便在我的应用程序中呈现 Instagram 过滤器屏幕 如下所述 http instagram com developer iphone hooks h
  • 应用程序打开时处理推送通知

    我正在运行推送通知 有用 我收到通知并使用 application didReceiveRemoteNotification 获取传入数据 然后将用户发送到必要的屏幕 问题是 如果您正在使用该应用程序并收到通知 它会跳转到目标屏幕 而不会发
  • ios 在后台处理推送通知

    我想保存应用程序处于后台状态时到达的推送通知 我知道关于 void application UIApplication application didReceiveRemoteNotification NSDictionary userIn
  • 如何将相机中的图像保存到 iPhone 图库中的特定文件夹?

    嘿 我是 iPhone 新手 最近我一直在尝试制作一个应用程序 基本上 我想要做的是 如果用户将从相机捕获任何图像 那么它应该保存在设备库中 我知道如何将照片保存在图库中 它对我有用 但我无法将所有捕获的图像保存到设备图库中的特定文件夹 例
  • iPhone 应用程序在首次 Facebook Connect 授权/登录后崩溃

    我一直在到处寻找答案 但找不到 问题是 我有一个 iPhone 应用程序 在 AppStore 上 它使用脸书 iPhone SDK https github com facebook facebook iphone sdk 我使用 SDK
  • 将 Array Obj-c 的内容转储到控制台

    我寻找了如何转储和数组到我主要找到的控制台 for id name in arrayStuff NSLog Array contents d name 我尝试了不同的格式化程序 d g 等 它们确实打印了不同的内容 但不是我 99 确信被输
  • 当 UITextField 已满或空时显示警报 Swift

    下面的代码中 如果 userNameTF 或 passwordTF 已满或为空 则会显示警报 IBAction func LoginBtn sender AnyObject let userName userNameTF text let
  • 在 2D 纹理上绘制的红色矩形在绘制后立即消失

    跟随我的另一个问题 https stackoverflow com questions 18477291 render an outlined red rectangle on top a 2d texture in opengl 1847
  • 为什么 iPhone 上的纹理图像需要具有二维幂?

    我正在尝试解决 iPhone 上的闪烁问题 open gl es game 我有一些没有 2 维的图像 我将用具有适当尺寸的图像替换它们 但为什么尺寸需要是 2 的幂 大多数系统 甚至许多现代显卡 需要 2 的幂纹理的原因是 mipmap
  • CGImage/UIImage 在 UI 线程上延迟加载会导致卡顿

    我的程序显示一个水平滚动表面 从左到右平铺有 UIImageViews 代码在 UI 线程上运行 以确保新可见的 UIImageView 分配有新加载的 UIImage 加载发生在后台线程上 一切工作几乎都很好 除了每个图像变得可见时出现口
  • 在 swift3 中结合平移、alpha 和缩放动画

    我是 iOS Swift 开发的新手 我尝试将三个参数组合在一个动画中 但没有成功 我认为解决方案就在这里 Apple Dev Core 动画编程指南 https developer apple com library content do
  • 核心数据 NSFetchRequest 还获取实体的子对象

    我是 iOS 开发和 Core Data 的新手 我有一个父 NSManagedObject class Units interface Properties NSManagedObject property nonatomic retai
  • 在午夜更新应用程序徽章,并提供以下选项:应用程序未启动或在后台,徽章数量可能会减少

    我正在阅读许多有关本地通知的内容以及它们如何帮助更新应用程序徽章编号 我想在午夜更新此徽章 并将其值设置为我在午夜之前无法知道的数字 因此 如果可能的话 我想在午夜启动一个功能来更新 加载一些数据 检查要显示的数字 并将其显示在徽章上 当然
  • 径向渐变绘制性能 - OpenGL-ES 可以改进吗?

    我正在开发一个图像处理应用程序 它将径向渐变叠加在从照片库加载的图像上 在屏幕上 我有一个滑块可以动态地增大 减小径向渐变的半径 我发现模拟器上的性能很好 但在 iPhone 3G 或 3GS 上就很糟糕了much移动滑块时重绘速度较慢 我
  • iPhone 允许光传感器作为输入吗?

    我只是想知道 iPhone 的开发是否允许使用光传感器 作为按钮或动作元素 我在网上找到了这个链接 可以使用光传感器作为按钮吗 存档 Touch Arcade 如果有人能阐明这个问题 我将不胜感激 Apple 代表的官方答复位于苹果开发者论
  • 多次添加同一个子视图来查看

    我不知道这是否可行 但我想做的是将子视图多次添加到视图中 我尝试过这样的事情 self view addSubview newView newView center CGPointMake 160 100 self view addSubv
  • 如何减少典型 iPhone 应用程序的启动时间?

    需要明确的是 这是一个普通的 iPhone 应用程序 而不是游戏 我在网上读过几次 一些开发人员提到他们正在努力改进 减少应用程序的启动时间 但从来没有提供任何关于如何做到这一点的良好背景信息 那么问题很简单 如何减少 iPhone 应用程

随机推荐

  • vim 中的向后杀字?

    是返回并删除一个词的最快方法Esc or Ctrl and db 我想我搞砸了很多 P 并且习惯了使用M
  • Spring Boot - 自动装配数据源 Bean

    我有一个基本的 Spring Boot 应用程序 注释如下 SpringBootApplication public class ApiApplication public static void main String args Spri
  • java Finals 是否有助于编译器创建更高效​​的字节码? [复制]

    这个问题在这里已经有答案了 可能的重复 Java中使用final关键字会提高性能吗 https stackoverflow com questions 4279420 does use of final keyword in java im
  • 获取 Facebook 页面拥有的事件列表

    有谁知道如何获取 Facebook 页面拥有 创建 的活动列表 我似乎能够使用 graph api 来生成实体参加的事件列表 我还查看了 FQL 但它似乎要求 where 子句是可索引字段 当然 id 是唯一可索引字段 为了获得奖励积分 我
  • vista有没有API来检测桌面是否全屏运行?

    例如 用户是否全屏播放电影 或者以全屏模式查看 powerpoint 我发誓我以前见过 IsFullScreen Interactive API 但现在找不到它 我是这样解决这个问题的 using System using System C
  • 将 Java 系统退出值返回到 bash 脚本

    我正在尝试从 java 程序获取返回值 System exit 1 到 shell 脚本中 但它似乎返回 jvm 退出代码 如果它不崩溃 则该代码始终为 0 出于测试目的 这是我的 main 中的第一行 有人知道怎么做吗 我的bash代码
  • SELECT COUNT(*) - 如果没有匹配的行,则返回 0 以及分组字段

    我有以下查询 SELECT employee department count AS sum FROM items WHERE employee 1 AND department 2 OR employee 3 AND department
  • asyncore python 挂起

    我尝试使用 asyncore 做简单的异步 http 客户端 这段代码工作正常并且输出 足够快 www gmail com recv http code 301 www yandex ru recv http code 200 www py
  • 重复一段代码固定次数

    我试图在不使用条件的情况下重复一段代码 但仍然只重复特定次数 基本上是这样的 repeat 50 Do stuff here 有没有办法做到这一点 除了复制粘贴50次之外 我这样做是因为我想如果我知道我想重复某件事多少次 它会比每次都检查条
  • 使用双指针进行动态分配

    我有一个基类 Toy 和派生类 Toy remote car amd Toy battery car 我正在这样做 Toy ptr ptr new Toy ptr 0 new Toy remote car 1 ptr 1 new Toy b
  • 为什么material-ui占用太多空间?

    我正在使用 webpack 来捆绑我的 React 项目 我的项目依赖于以下组件的material ui material ui Dialog material ui styles getMuiTheme material ui style
  • Kotlinx 序列化,避免其他数据类型崩溃

    我在应用程序中使用外部 API 而反序列化是使用 Kotlinx 序列化包完成的 当 api 结果是多个值的 Int 数组和单个值的原始 int 时 我遇到问题 我怎样才能避免在此过程中崩溃 是否有更好的方法来避免崩溃或创建数据类 ex i
  • 如何从 Rails Integration Test 访问会话?

    考虑以下集成测试 test if there is no user in session redirect to index and flash message do open session do sess post login emai
  • 下载大文件,保存在数据库中

    我们有很多文件 以二进制形式保存在 SQL Server 数据库中 我制作了一个 ashx 文件 将这些文件传递给用户 不幸的是 当文件变得相当大时 它会失败 并出现以下错误 算术运算中的上溢或下溢 当我将二进制文件加载到 byte 中时
  • Airflow - 外部 API 调用给出 Negsignal.SIGSEGV 错误

    我正在使用 Python 脚本调用天气 API 但气流任务失败并出现错误 Negsignal SIGSEGV 调用天气 API 的 Python 脚本在 Airflow 外部运行时工作正常 DAG from airflow import D
  • 无法在 iOS6 中的 UITextField 或 UITextView 中输入文本

    在我的一个应用程序中 当我尝试编辑 输入一些文本 时UITextField UITextView或任何其他 可文本 UIControl光标只是闪烁但是没有输入任何字符除了退格键 仅当我有一些初始文本时才可能 回车键和切换字符类型 这适用于整
  • 如何在 C# 中使用多个修饰键

    我正在使用 keydown 事件来检测按下的按键 并有多个用于各种操作的组合键 if e KeyCode Keys C e Modifiers Keys Control e Modifiers Keys Shift Do work else
  • PyCharm 中的 Python 错误消息:无法附加到共享内存段

    我开始在 Ubuntu 15 04 中使用 PyCharm 和 Python 2 7 编写代码 同时 我已经安装了Ubuntu 15 10和PyCharm 4 5 4 CE 现在 当我运行我的代码时 我收到此错误 QNativeImage
  • 一旦我的应用程序进程被终止,什么会保持我的活动状态?

    我一直在通过运行一个消耗内存的应用程序来测试我的程序的行为 该应用程序会强制杀死我的应用程序 阅读完以下问题的答案后onSaveInstanceState的bundle保存在哪里 https stackoverflow com questi
  • 启用 MSAA 时,iPhone 中的 openGL 纹理渲染失败

    我的 iPhone 纹理渲染代码仅在禁用 MSAA 时才有效 否则我得到的只是黑色纹理 问题的原因可能是什么 这是我的代码 glViewport 0 0 target gt Width target gt Height glClear GL