- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 OpenGL 在 Mac OS 中绘图。当我的代码在 Retina 显示器上运行时,除文本绘制外,一切正常。
在视网膜显示下,文本是应有的两倍大。发生这种情况是因为字体大小以磅为单位,每个点在 Retina 下为 2 个像素,但 OpenGL 是基于像素的。
下面是标准显示下正确的文字绘制:
这是 Retina 显示下错误的文本绘制:
这是我通常绘制字符串的方式。由于 OpenGL 没有文本绘制功能,为了绘制文本,我执行以下操作:
最佳答案
OpenGL 坐标系实际上是基于点而不是基于像素的,但是您是决定这些点的人。上下文通过 glOrtho 函数(或者您可以手动构建正交矩阵)定义 2D 坐标系,该函数在屏幕上设置最小和最大 x,y 坐标。例如,可以设置正交投影,使 0 位于屏幕左侧,而 100 位于右侧,无论您渲染到的帧缓冲区的大小如何。
字体纹理似乎创建得很好。问题是你在几何图形上渲染它是它需要的两倍。在 OpenGL 中,纹理大小不会影响屏幕上渲染对象的大小。屏幕上的大小由传递给 glDrawArrays
的几何图形定义。或 glBegin
等不是纹理。
我认为问题在于您使用字体纹理的像素大小来定义用于在屏幕上呈现的四边形大小。这会将您的问题放在“其他 OpenGL 绘图代码”部分。为了解决这个问题,您可以对绘图应用某种比例因子。在 Retina 模式下,比例因子为 0.5,对于普通屏幕,它将是 1.0(UIKit 使用类似的想法来呈现 UIView 内容)
四元计算可能如下所示:
quad.width = texture.width * scaleFactor
quad.height = texture.height * scaleFactor
关于macos - 如何在带有 Retina 显示屏的 Mac OS 上的 OpenGL 中绘制文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12821144/
我正在尝试初始化 STM32F10B 主板上的 DT028ATFT-TS 显示屏。该系统之前可与 DT028TFT-TS 配合使用,但该显示器已停产。由于使用了新的显示器,接口(interface)也
使用一点计算机视觉,我想在有人走到设备前(距离 2 英尺)时打开壁挂式 Android 设备的显示屏。 我是一名经验丰富的开发人员,但我对计算机视觉几乎一无所知。以编程方式打开显示器非常简单。任何指导
我正在使用phoneGap为iPhone创建一个应用程序,但我确信它无法使用视网膜显示屏工作,而是使用旧的iPhone3分辨率。 使用phoneGap开发时有没有办法让iPhone有2个版本?这是一个
我正在使用 Cocoa Touch 开发 iPhone 应用程序。 我将货币金额以及 ISO 4217 货币代码列表中的相关货币代码存储在表中: 例如:123.45 英镑、456.45 美元、321.
有没有办法以编程方式将 Apple Watch 显示屏旋转 180 度?这将使佩戴 Apple Watch 的人能够调整 Apple Watch 显示屏的方向,以便站在佩戴 watch 的人对面的人更
开始游戏后,游戏不会使用整个 Android 屏幕。这种情况仅发生在游戏本身中,如图像所示,因为用户无法到达屏幕底部。已尝试找到解决方案,但我尝试过的所有尝试似乎都不起作用。不确定要提供哪个代码,因此
我正在使用 SDL2,现在在 iOS 和 iPhone 5S 上使用它时遇到一点问题。当我创建一个窗口时,SDL 将创建一个分辨率为 320x568 像素的窗口。如果我通过创建窗口使用 SDL_WIN
只是这个问题,我想在我的 MonoTouch 应用程序中检测视网膜显示。谢谢。 最佳答案 已经有 answers对于 ObjectiveC 但这是 C# 版本: bool retina = (UIS
我有一个 Quartz 2D 游戏,它直接绘制到上下文上。因此,我必须调整代码,以便它可以在适合视网膜显示屏的情况下进行缩放。我使用以下代码执行此操作: - (CGFloat) displayScal
所以我认为我很接近,但我碰壁了。这是我想要完成的:我有一个计算点击次数的程序,并且会在值更新时将串行数据发送到 Arduino (UNO)。 到目前为止,我有以下工作:- LED 显示屏上的滚动字幕(
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
如何以编程方式 (Objective-C) 确定 iPad 是否具有 Retina 显示屏? 最佳答案 if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceI
我正在开发一个具有大量 Assets 的应用程序。由于该应用程序同时具有 Retina 显示屏和正常分辨率的资源,因此我认为在开发结束时它将接近 2 GB。 是否可以发布一个支持 Retina 显示屏
我在互联网上哪里可以找到代码的 UI 元素来实现类似于 XCode 4 和 iTunes 中的 LCD 显示器。 XCode 4 中的比 iTunes 更先进一点,它提供了更多功能。 这是标准元素,还
2015 年 8 月 26 日编辑 好吧,这个问题可能有点粗糙,因为这个元素仍处于开发阶段,所以在法律上我还不能分享它来实时显示我的问题。 我遇到的问题是,我正在为客户构建站点,当我们开始测试阶段时,
我想单独在“Macbook Pro with Touchbar”上显示一些内容,并在其他台式机/笔记本电脑上隐藏相同的内容。 我知道使用媒体查询可以让我定位设备和像素比,但这里我试图定位支持触摸的笔记
我发现了一个 Swing 图像渲染错误,它只影响配备 Retina 显示屏的 Mac(TYPE_INT_ARGB_PRE BufferedImages 无法绘制)。我有一个有效的解决方法(改为使用 T
我已阅读Apple的“新闻和公告”如下: Using Identifiers in Your Apps March 21, 2013 Starting May 1, the App Store wil
iPhone4 和旧 iPhone 的图形开发在几个方面发生了变化: 介绍了点的概念替换像素。 UIImage 的方法将加载高用@2x解析资源文件在文件名中。 比例因子已添加到 UIScreen,UI
我的浏览器内 LED Display 对象在其 map 属性中存储了 LED 对象。每个 LED 都有 x 和 y 属性,以便知道它在 Canvas 上的位置,而 map 是一个 2D LED 数组(
我是一名优秀的程序员,十分优秀!