MCPcopy Create free account
hub / github.com/RenderKit/ospray / startNewOSPRayFrame

Method startNewOSPRayFrame

modules/mpi/tutorials/GLFWDistribOSPRayWindow.cpp:364–400  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

362}
363
364void GLFWDistribOSPRayWindow::startNewOSPRayFrame()
365{
366 bool fbNeedsClear = false;
367 auto handles = objectsToCommit.consume();
368 if (!handles.empty()) {
369 for (auto &h : handles)
370 ospCommit(h);
371
372 fbNeedsClear = true;
373 }
374
375 if (windowState.fbSizeChanged) {
376 windowState.fbSizeChanged = false;
377 windowSize = windowState.windowSize;
378
379 framebuffer = cpp::FrameBuffer(
380 windowSize.x, windowSize.y, OSP_FB_SRGBA, OSP_FB_COLOR | OSP_FB_ACCUM);
381 camera.setParam("aspect", windowSize.x / float(windowSize.y));
382 camera.commit();
383 fbNeedsClear = true;
384 }
385 if (windowState.cameraChanged) {
386 windowState.cameraChanged = false;
387 camera.setParam("aspect", windowSize.x / float(windowSize.y));
388 camera.setParam("position", windowState.eyePos);
389 camera.setParam("direction", windowState.lookDir);
390 camera.setParam("up", windowState.upDir);
391 camera.commit();
392 fbNeedsClear = true;
393 }
394
395 if (fbNeedsClear) {
396 resetAccumulation();
397 }
398
399 currentFrame = framebuffer.renderFrame(renderer, camera, world);
400}
401
402void GLFWDistribOSPRayWindow::waitOnOSPRayFrame()
403{

Callers

nothing calls this directly

Calls 6

ospCommitFunction · 0.85
resetAccumulationFunction · 0.85
FrameBufferClass · 0.50
setParamMethod · 0.45
commitMethod · 0.45
renderFrameMethod · 0.45

Tested by

no test coverage detected