void HiKinectApp::setup() { console() << "There are " << Kinect::getNumDevices() << " Kinects connected." << std::endl; mKinect = Kinect( Kinect::Device() ); mKinectReady = false; mKinectIR = false; mNormalShader = gl::GlslProg( loadResource( "normal_vert.glsl" ), loadResource( "normal_frag.glsl" ) ); mNormalStrength = 20.0f; gl::Fbo::Format format; mFbo = gl::Fbo( CAPTURE_WIDTH, CAPTURE_HEIGHT, format ); mSilhouetteDetector = new SilhouetteDetector(640,480); mContours = new vector<vector<cv::Point> >(); mDoNormalMap = false; mParams = params::InterfaceGl( "Parameters", Vec2i( 300, 200 ) ); mParams.addParam( "NormalStrength", &mNormalStrength, "min=1.0 max=1000.0 step=1.0 keyIncr=z keyDecr=Z" ); mParams.addParam( "Depth Scale", &mGridMesh.mDepthScale, "min=1.0 max=2000.0" ); mParams.addParam( "Depth Offset", &mGridMesh.mDepthOffset, "min=0.0 max=1000.0" ); mParams.addParam( "Shader Displacement", &mGridMesh.mShaderDisplacement ); mParams.addParam( "Depth Max", &mGridMesh.mDepthMax, "min=0.0 max=1.0 step=0.01" ); mParams.addParam( "Generate Normal Map", &mDoNormalMap ); mGridMesh.init(160, 120, 640, 480, false, true); mIsMouseDown = false; mWireframe = true; DIFFUSE = true; AMBIENT = false; SPECULAR = false; EMISSIVE = false; mCamera.setEyePoint( Vec3f(0.0f, 0.0f, 750.0f)); mCamera.setCenterOfInterestPoint( Vec3f::zero() ); mCamera.setPerspective( 60, getWindowAspectRatio(), 1, 2000 ); mCamUI.setCurrentCam( mCamera ); gl::enableDepthWrite(); gl::enableDepthRead(); }