Почему один и тот же код работает по-разному на мониторе ноутбука и на внешнем мониторе - PullRequest
0 голосов
/ 09 ноября 2019

Я использую код SSAO из learnopengl , но между монитором моего ноутбука ( LM ) и внешним монитором (* есть разные результаты)1008 * EM ).

EM-результат (хороший):

External monitor result

LM-результат (плохой):

Laptop monitor result

И когда я перетаскиваю окно результатов из LM в EM, окно не меняется, и наоборот.

Кроме того, я использую

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

, чтобы установить размер области просмотра [причина] , и я получил

  • EM: screenWidth = 800, screenHeight = 600 (соответствует размеру окна)
  • LM: screenWidth = 1600, screenHeight = 1200

Пока я устанавливаю размер области просмотра монитора ноутбука на (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

Есть идеи, как этого добиться?

...