macOS (c++) 上支持 hidpi 视网膜的 GLUT 问题

Posted

技术标签:

【中文标题】macOS (c++) 上支持 hidpi 视网膜的 GLUT 问题【英文标题】:GLUT problem with the support of hidpi retina on macOS (c++) 【发布时间】:2020-04-05 13:22:16 【问题描述】:

我将我的 3d 程序移植到 macOS。 我在 Windows 上使用 c++ 和 FreeGlut。所以在 macOS 上,我已经开始将它与 GLUT 一起使用。我不使用可可并通过 GLUT 创建 OpenGL 窗口上下文。 hidpi视网膜支持有问题。 Glut reshapefunc 检测到的分辨率是较小分辨率的两倍(我的意思是它检测的是逻辑点,而不是实际的视网膜像素)这就是图像看起来像素化的原因。 如何在 GLUT(或 freeglut)中打开视网膜支持? 我已经尝试了这篇文章http://iihm.imag.fr/blanch/software/glut-macosx/ 中的解决方案(将“hidpi”行添加到 glutInitDisplayString 和 GLUT_3_2_CORE_PROFILE 到 glutInitDisplayMode)。但这无济于事。 是否有可能在不对程序进行大改动的情况下做到这一点?因为它是一个相当大的程序(3d 软件)。 谢谢

【问题讨论】:

【参考方案1】:

您应该只使用 glutInitDisplayString 和 glutInitDisplayMode 之一。 glutInitDisplayMode 会在 glutInitDisplayString 之后覆盖。

尝试:

glutInitDisplayString("hidpi core rgba double")

【讨论】:

以上是关于macOS (c++) 上支持 hidpi 视网膜的 GLUT 问题的主要内容,如果未能解决你的问题,请参考以下文章

macOS开启HiDPI

黑苹果一键开启MacOS HiDPI

Ubuntu系统将对HiDPI提供更好的支持

Ubuntu系统将对HiDPI提供更好的支持

黑苹果如何通过开启HIDPI来增强显示效果?

[OSChina]VirtualBox 6.0.0 发布,改进对高端显示器的 HiDPI 支持--尝试一下