Jus*_*cle 7 opengl-es ipad ios retina-display
当然,我在新iPad(4g)上尝试的第一件事就是旧的GLGravity示例.我做的唯一修改就是将目标设备设置为"iPad".
但是,在设备上运行时,UIView的边界设置为768,1024,createFramebuffer中的"backingWidth,backingHeight"也是如此.
眼球图像确认它仍然在768x1024呈现.我错过了什么 - 如何以原始分辨率渲染?
为了启用Retina图形的条件支持,就像我们为iPhone 4所做的那样,你需要在OpenGL ES托管视图的设置中的某个地方有一行代码(在本例中为GLGravityView):
self.contentScaleFactor = [[UIScreen mainScreen] scale];
Run Code Online (Sandbox Code Playgroud)
这确保了该视图中的内容(例如Quartz绘图)使用iPhone和iPad上当前Retina显示中使用的每像素2像素缩放进行渲染.
您的视图边界将保持在768 x 1024点大小,但渲染缓冲区将在查询时返回1536 x 2048作为其像素尺寸glGetRenderbufferParameterivOES().这将允许您在OpenGL ES上下文中呈现Retina级图形.
请注意,Apple的一些示例代码(如GLGravity)使用视图边界来调整其他显示元素的大小,因此它们在场景中显得太小.您可能需要根据视图边界(以磅为单位)和背景宽度(以像素为单位)替换计算,以确保将Retina图形的2.0缩放考虑在内.
| 归档时间: |
|
| 查看次数: |
3175 次 |
| 最近记录: |