开放GL像素完美渲染模糊在MacOSX
Open GL pixel-perfect rendering blurred in MacOSX
我正在编写一个跨平台应用程序,它使用OpenGL从PNG文件读取2d图像。我的程序可以在Linux、Windows和Mac OS X上运行。在Linux和Windows中,它工作得很好,但在Mac OS X中,图像不是像素完美的。图像看起来有点模糊,当用鼠标移动图像时,根据图像在OpenGL视口的哪个区域绘制,即使用哪个变换矩阵,图像会得到稍微不同的模糊工件。
我使用Mavericks和clang++ 5.1。
我没有做任何半像素移动,因为它不需要OpenGL的像素完美渲染。
我想这三个平台之间的浮点计算可能有一些差异,我尝试了-frounding-math和- float-store编译器标志,但它们都没有帮助。
其他人在Mac OS X上遇到过这个问题吗?
我找到原因了。
我正在用鼠标移动图像,设置图像的坐标为鼠标坐标。在Cocoa中,到达NSView的mouseMoved:方法的鼠标坐标由于某些原因有小数部分。因此,解决方案是在使用鼠标坐标设置GL视口中图像的坐标之前,将鼠标坐标四舍五入
相关文章:
- 如何使用C/C++在MacOSX中获得键盘布局
- 方便地对C++中的所有字符串文字进行模糊处理
- 想要检测图像中的模糊,但无法正确
- 具有可分离内核的 2D 模糊卷积
- 设置我的应用程序 API 感知并防止系统使其模糊和错误定位
- 如何组合许多连续的图像来模拟逼真的运动模糊?
- macosx Catalina默认总是使用clang吗?
- 【MacOSX 10.15.1】使用 odb 生成数据库,致命错误:wchar.h:没有这样的文件或目录 #include < wchar.h>
- 谷歌测试编译错误 Os X:函数式转换从"int"到"internal::FloatingEq2Matcher"的模糊转换<float>
- 谷歌测试发现在macOSX上添加并运行了我的所有测试两次
- 多重继承导致虚假的模糊虚拟函数过载
- 带boost的过载模糊性:可选,解决方法
- (C++)(Visual Studio) 将高斯模糊滤镜应用于 RGB 中的灰度图像
- 使用 gcc 的模糊函数过载分辨率.为什么?
- 使用纯 c++ 模糊图像
- 将高斯模糊应用于灰度图像
- 正确用于模糊过滤器的内核
- 二项式模糊图像过滤器将内核应用于图像
- 项目错误:无法解析'macosx'的 SDK 路径
- 开放GL像素完美渲染模糊在MacOSX