我尝试使用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;
}
我确信width
和height
是正确的,打开或关闭undecorated
不会改变任何内容,glfwCreateWindow
会返回一些非空的句柄。
环境:Windows 10 64位,Visual Studio 2015 32位构建目标,投影仪(1024x768)显示1,PC屏幕显示2. openFrameworks版本0.9.3,附加组件:
ofxOpenCv
ofxXmlSettings
ofxCv
ofxKinect2ProjectorCalibration
ofxKinectV2
ofxSecondWindow
ofxUI
想法?
答案 0 :(得分:1)
原来我必须在新创建的窗口上调用show()
或实现glfwShowWindow
。