LearnOpengl_HelloWindow

  • glfwMakeContextCurrent(window)

    用于在当前线程上载入window的上下文。

  • 需要在使用opengl函数前加载glad用于定于函数地址

    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
      std::cout << "Failed to initialize GLAD" << std::endl;
      return -1;
    }
    

    疑问:必须在glfwMakeContextCurrent(window)之后才能初始化GLAD,为什么?

    我做了一些尝试,glViewport的操作,如果不初始化GLAD,将无法使用。而要初始化GLAD,要在当前线程载入window上下文—190921

  • glViewport()
    最终显示的内容由glViewport和glfwCreateWindow的参数共同决定:不会超过glfwCreateWindow的大小,小于的话会由部分不加载出来

    如果glfwCreateWindow:800*600,glViewport:1600*600,最终 800*600
    如果glfwCreateWindow:800*600,glViewport:400*300,最终 400*300

  • glfwSetFramebufferSizeCallback()
    这是一个回调绑定函数,他会相应窗口变化,并传递宽高给回调函数