gpt4 book ai didi

ios - 如何为 iPad Retina 示例 (GLGravity) 创建 1536x2048 帧缓冲区

转载 作者:可可西里 更新时间:2023-11-01 03:29:14 25 4
gpt4 key购买 nike

当然,我在我的新 iPad (4g) 上尝试的第一件事就是旧的 GLGravity例子。我所做的唯一修改是将目标设备设置为“iPad”。

但是,当在设备上运行时,UIView 的边界设置为 768,1024,createFramebuffer 中的“backingWidth、backingHeight”也是如此。

目 View 像确认它仍在以 768x1024 分辨率呈现。我错过了什么 - 如何让它以原始分辨率呈现?

最佳答案

要启用对 Retina 图形的条件支持,就像我们对 iPhone 4 所做的那样,您需要在 OpenGL ES 托管 View (在本例中为 GLGravityView)的设置中某处有这样一行代码:

self.contentScaleFactor = [[UIScreen mainScreen] scale];

这可确保该 View 中的内容(例如 Quartz drawing)使用 iPhone 和 iPad 上当前 Retina 显示器中使用的每点 2 像素缩放比例呈现。

您的 View 边界将保持 768 x 1024 点大小,但渲染缓冲区将在 glGetRenderbufferParameterivOES() 查询时返回 1536 x 2048 作为其像素尺寸。这将允许您在 OpenGL ES 上下文中呈现 Retina 级别的图形。

请注意,Apple 的一些示例代码(如 GLGravity)uses the view bounds to size other display elements ,所以它们在场景中会显得太小。您可能需要将基于 View 边界(以点为单位)的计算替换为背景宽度(以像素为单位),以确保将 Retina 图形的 2.0 缩放比例考虑在内。

关于ios - 如何为 iPad Retina 示例 (GLGravity) 创建 1536x2048 帧缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com