| 69 | { |
| 70 | |
| 71 | ViewerSettingsPlugin::ViewerSettingsPlugin() : |
| 72 | StatePlugin( "Viewer settings" ) |
| 73 | { |
| 74 | shadowGl_ = std::make_unique<ShadowsGL>(); |
| 75 | CommandLoop::appendCommand( [&] () |
| 76 | { |
| 77 | auto& viewer = getViewerInstance(); |
| 78 | |
| 79 | if ( viewer.isGLInitialized() && loadGL() ) |
| 80 | { |
| 81 | GL_EXEC( glGetIntegerv( GL_MAX_SAMPLES, &maxSamples_ ) ); |
| 82 | storedSamples_ = viewer.getMSAA(); |
| 83 | maxSamples_ = std::max( std::min( maxSamples_, 16 ), storedSamples_ ); // there are some known issues with 32 MSAA |
| 84 | gpuOverridesMSAA_ = storedSamples_ != viewer.getRequestedMSAA(); // if it fails on application start - gpu overrides settings |
| 85 | #ifdef __EMSCRIPTEN__ |
| 86 | if ( !viewer.isSceneTextureEnabled() ) |
| 87 | maxSamples_ = std::min( maxSamples_, 4 ); // web does not allow more than x4 msaa for main framebuffer |
| 88 | #endif |
| 89 | } |
| 90 | }, CommandLoop::StartPosition::AfterWindowAppear ); |
| 91 | } |
| 92 | |
| 93 | void ViewerSettingsPlugin::drawDialog( ImGuiContext* ) |
| 94 | { |
nothing calls this directly
no test coverage detected