OpenGL 缩放单像素线
在您的查询中,您表达了创建一款在缩放其内部分辨率的同时保持 320x240 内部分辨率的游戏的愿望在屏幕上输出为此分辨率的倍数。然而,当缩放至 960x720 时,您当前的方法会导致在 3px 世界中渲染 1px 线。
问题源于您可以渲染到“320x240 glOrtho 画布”的假设。实际上,只有一个活动窗口分辨率:960x720。您的代码 lediglich 会缩放您渲染的基元的坐标。
要解决此问题,您需要放弃单独的“320x240 glOrtho 画布”的概念,而专注于窗口的实际分辨率。这需要先渲染为真正的 320x240 图像,然后再将其绘制到窗口的实际分辨率。
此过程的具体步骤包括创建 320x240 的纹理,将其附加到帧缓冲区对象,并绑定 FBO渲染。视口应设置为图像的大小。解除 FBO 绑定后,您可以将纹理绘制到窗口,并将视口设置为窗口的分辨率。
此方法允许您保留像素化线条渲染并适应各种输出分辨率,同时保留游戏内部 320x240 分辨率。
以上是如何在 OpenGL 中渲染像素化线条,同时缩放到不同的分辨率?的详细内容。更多信息请关注PHP中文网其他相关文章!