Spaces:
Sleeping
Sleeping
| int main( int /*argc*/, char** /*argv*/ ) | |
| { | |
| static const int w = 640; | |
| static const int h = 480; | |
| pangolin::CreateWindowAndBind("Main",w,h,pangolin::Params({{"scheme", "headless"}})); | |
| glEnable(GL_DEPTH_TEST); | |
| // Define Projection and initial ModelView matrix | |
| pangolin::OpenGlRenderState s_cam( | |
| pangolin::ProjectionMatrix(w,h,420,420,320,240,0.2,100), | |
| pangolin::ModelViewLookAt(-2,2,-2, 0,0,0, pangolin::AxisY) | |
| ); | |
| // create a frame buffer object with colour and depth buffer | |
| pangolin::GlTexture color_buffer(w,h); | |
| pangolin::GlRenderBuffer depth_buffer(w,h); | |
| pangolin::GlFramebuffer fbo_buffer(color_buffer, depth_buffer); | |
| fbo_buffer.Bind(); | |
| { | |
| // Clear screen and activate view to render into | |
| glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); | |
| glViewport(0,0,w,h); | |
| s_cam.Apply(); | |
| // Render OpenGL Cube | |
| pangolin::glDrawColouredCube(); | |
| // Swap frames and Process Events | |
| pangolin::FinishFrame(); | |
| } | |
| fbo_buffer.Unbind(); | |
| // download and save the colour buffer | |
| color_buffer.Save("fbo.png", false); | |
| return 0; | |
| } | |