首页 > 解决方案 > 为什么相同的代码在笔记本电脑显示器和外接显示器上的工作方式不同

问题描述

我正在使用learnopengl的 SSAO 代码,但我的笔记本电脑显示器 ( LM ) 和外接显示器 ( EM ) 之间的结果不同。

EM 结果(良好):

外接显示器结果

LM 结果(坏):

笔记本电脑显示器结果

当我将结果窗口从 LM 拖到 EM 时,窗口不会改变,反之亦然。

另外,我用

glfwGetFramebufferSize(window, &screenWidth, &screenHeight);
glViewport(0, 0, screenWidth, screenHeight);

设置视口大小[原因],我得到了

虽然我将笔记本电脑显示器视口大小设置为 (800, 600),但结果很好:
视口大小 (800*600) LM 结果

当我不使用 SSAO 或做一些简单的任务(天空盒、加载模型等)时,结果是一样的。

我的笔记本电脑显示器是:

Retina 13.3-inch(2560 x 1600)
Intel Iris 1536 MB Graphics Card

我的外接显示器是:

AOC 2489W1 23.5-inch(1920 x 1080)
Intel Iris 1536 MB Graphics Card
60Hz

关于如何实现这一目标的任何想法?

标签: c++openglhardwaressao

解决方案


推荐阅读