| 297 | } |
| 298 | |
| 299 | void GLFWOSPRayWindow::reshape(const vec2i &newWindowSize) |
| 300 | { |
| 301 | windowSize = newWindowSize; |
| 302 | |
| 303 | // create new frame buffer |
| 304 | auto buffers = OSP_FB_COLOR | OSP_FB_DEPTH | OSP_FB_ACCUM | OSP_FB_VARIANCE |
| 305 | | OSP_FB_ALBEDO | OSP_FB_NORMAL | OSP_FB_ID_PRIMITIVE | OSP_FB_ID_OBJECT |
| 306 | | OSP_FB_ID_INSTANCE; |
| 307 | framebuffer = |
| 308 | cpp::FrameBuffer(windowSize.x, windowSize.y, OSP_FB_RGBA32F, buffers); |
| 309 | |
| 310 | updateTargetFrames(false); |
| 311 | refreshFrameOperations(); |
| 312 | |
| 313 | // reset OpenGL viewport and orthographic projection |
| 314 | glViewport(0, 0, windowSize.x, windowSize.y); |
| 315 | |
| 316 | glMatrixMode(GL_PROJECTION); |
| 317 | glLoadIdentity(); |
| 318 | glOrtho(0.0, windowSize.x, 0.0, windowSize.y, -1.0, 1.0); |
| 319 | |
| 320 | // update camera |
| 321 | arcballCamera->updateWindowSize(windowSize); |
| 322 | |
| 323 | camera.setParam("aspect", windowSize.x / float(windowSize.y)); |
| 324 | addObjectToCommit(camera.handle()); |
| 325 | } |
| 326 | |
| 327 | void GLFWOSPRayWindow::updateCamera() |
| 328 | { |
no test coverage detected