| 992 | } |
| 993 | |
| 994 | void GLFWOSPRayWindow::refreshScene(bool resetCamera) |
| 995 | { |
| 996 | auto builder = testing::newBuilder(scene); |
| 997 | testing::setParam(builder, "rendererType", rendererTypeStr); |
| 998 | if (scene == "curves") { |
| 999 | testing::setParam(builder, "curveVariant", curveVariant); |
| 1000 | } else if (scene == "unstructured_volume") { |
| 1001 | testing::setParam(builder, "showCells", showUnstructuredCells); |
| 1002 | } |
| 1003 | testing::commit(builder); |
| 1004 | |
| 1005 | world = testing::buildWorld(builder); |
| 1006 | testing::release(builder); |
| 1007 | |
| 1008 | switch (rendererType) { |
| 1009 | case OSPRayRendererType::PATHTRACER: |
| 1010 | renderer = &rendererPT; |
| 1011 | break; |
| 1012 | case OSPRayRendererType::SCIVIS: |
| 1013 | renderer = &rendererSV; |
| 1014 | break; |
| 1015 | case OSPRayRendererType::AO: |
| 1016 | renderer = &rendererAO; |
| 1017 | break; |
| 1018 | case OSPRayRendererType::DEBUGGER: |
| 1019 | renderer = &rendererDBG; |
| 1020 | break; |
| 1021 | default: |
| 1022 | throw std::runtime_error("invalid renderer chosen!"); |
| 1023 | } |
| 1024 | if (rendererType == OSPRayRendererType::SCIVIS |
| 1025 | || rendererType == OSPRayRendererType::PATHTRACER) { |
| 1026 | if (renderSunSky) |
| 1027 | world.setParam("light", cpp::CopiedData(sunSky)); |
| 1028 | } else |
| 1029 | renderSunSky = false; |
| 1030 | // retains a set background color on renderer change |
| 1031 | renderer->setParam("backgroundColor", bgColor); |
| 1032 | addObjectToCommit(renderer->handle()); |
| 1033 | |
| 1034 | world.commit(); |
| 1035 | |
| 1036 | if (resetCamera) { |
| 1037 | // create the arcball camera model |
| 1038 | arcballCamera.reset( |
| 1039 | new ArcballCamera(world.getBounds<box3f>(), windowSize)); |
| 1040 | lastXfm = arcballCamera->transform(); |
| 1041 | |
| 1042 | // init camera |
| 1043 | camera.setParam("position", vec3f(0.0f, 0.0f, 1.0f)); |
| 1044 | updateCamera(); |
| 1045 | } |
| 1046 | } |
| 1047 | |
| 1048 | void GLFWOSPRayWindow::refreshFrameOperations() |
| 1049 | { |
nothing calls this directly
no test coverage detected