| 38 | |
| 39 | |
| 40 | void ADOPViewer::LoadSceneImpl() |
| 41 | { |
| 42 | if (renderer->tone_mapper.auto_exposure || renderer->tone_mapper.auto_white_balance) |
| 43 | { |
| 44 | renderer->tone_mapper.download_tmp_values = true; |
| 45 | } |
| 46 | |
| 47 | renderer->lighting.pointLights.clear(); |
| 48 | renderer->lighting.directionalLights.clear(); |
| 49 | renderer->lighting.spotLights.clear(); |
| 50 | |
| 51 | ::camera = &scene->scene_camera; |
| 52 | window->setCamera(camera); |
| 53 | |
| 54 | if (scene->scene->point_cloud.NumVertices() > 15000000) |
| 55 | { |
| 56 | // by default don't render very large point clouds in the viewport |
| 57 | render_points = false; |
| 58 | } |
| 59 | auto& f = scene->scene->frames.front(); |
| 60 | camera->setModelMatrix(f.OpenglModel()); |
| 61 | camera->updateFromModel(); |
| 62 | |
| 63 | renderer->params.useSSAO = false; |
| 64 | sun = std::make_shared<DirectionalLight>(); |
| 65 | sun->ambientIntensity = exp2(scene->scene->dataset_params.scene_exposure_value); |
| 66 | sun->intensity = 0; |
| 67 | renderer->lighting.AddLight(sun); |
| 68 | renderer->tone_mapper.params.exposure_value = scene->scene->dataset_params.scene_exposure_value; |
| 69 | } |
| 70 | |
| 71 | void ADOPViewer::render(RenderInfo render_info) |
| 72 | { |
nothing calls this directly
no test coverage detected