GLFW get Monitors count = 0, два других монитора подключены

Вот мой простой код.

#include <iostream>
#include <GLFW/glfw3.h>

int main() {

    int count;
    GLFWmonitor** monitors = glfwGetMonitors(&count); 
    std::cout << count << std::endl;
    return 0;
}

Мне почему-то все время говорит, что есть нулевые мониторы. Я предполагаю, что 0 означает, что на самом деле есть 1. Но у меня есть два других монитора, подключенных к моему компьютеру. Когда я захожу в системные настройки, я ясно вижу два других монитора. Но я не знаю, почему он продолжает говорить мне ноль. Я понятия не имею, в чем проблема.


person Maggick    schedule 19.03.2014    source источник


Ответы (1)


Я предполагаю, что вам нужно позвонить glfwInit(), прежде чем делать что-либо еще.

Из документации glfw:

int glfwInit (недействительно)

Эта функция инициализирует библиотеку GLFW. Прежде чем можно будет использовать большинство функций GLFW, GLFW должна быть инициализирована, а перед завершением программы GLFW должна быть завершена, чтобы освободить любые ресурсы, выделенные во время или после инициализации.

Если эта функция дает сбой, она вызывает glfwTerminate перед возвратом. Если это удается, вы должны вызвать glfwTerminate перед выходом из программы.

Дополнительные вызовы этой функции после успешной инициализации, но до завершения завершатся успешно, но ничего не сделают.

Возвращает GL_TRUE в случае успеха или GL_FALSE в случае ошибки.

person Nathan Monteleone    schedule 20.03.2014