glfwCreateWindow不返回null,但新窗口不显示

时间:2016-05-31 08:00:45

标签: glfw openframeworks

我尝试使用ofxProjectorKinectV2Calibration来校准我的Kinect v2和投影机。它是openFrameworks的附加组件,设置相对复杂。

无论如何,ofxProjectorKinectV2Calibration使用另一个加载项ofxSecondWindow来创建第二个窗口来显示棋盘。我的问题是我根本看不到第二个窗口。它甚至没有显示在任务栏上。

以下是来自ofxSecondWindow的代码,用于创建第二个窗口:

void ofxSecondWindow::setup(const char *name, int xpos, int ypos, int width, int height, bool undecorated) {
    this->width = width;
    this->height = height;
    glfwWindowHint(GLFW_DECORATED, !undecorated);
    mainWindow = glfwGetCurrentContext();
    auxWindow = glfwCreateWindow(width, height, name, NULL, mainWindow);
    glfwSetWindowPos(auxWindow, xpos, ypos);

    /* enable alpha blending by default */
    glfwMakeContextCurrent(auxWindow);
    glEnable(GL_BLEND);
#ifndef TARGET_OPENGLES
    glBlendEquation(GL_FUNC_ADD);
#endif
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glfwMakeContextCurrent(mainWindow);

    hidden = false;
}

我确信widthheight是正确的,打开或关闭undecorated不会改变任何内容,glfwCreateWindow会返回一些非空的句柄。

环境:Windows 10 64位,Visual Studio 2015 32位构建目标,投影仪(1024x768)显示1,PC屏幕显示2. openFrameworks版本0.9.3,附加组件:

  • ofxOpenCv

  • ofxXmlSettings

  • ofxCv

  • ofxKinect2ProjectorCalibration

  • ofxKinectV2

  • ofxSecondWindow

  • ofxUI

想法?

1 个答案:

答案 0 :(得分:1)

原来我必须在新创建的窗口上调用show()或实现glfwShowWindow