diff --git a/application/F3DStarter.cxx b/application/F3DStarter.cxx index 9b2f2fac5b..9401df191d 100644 --- a/application/F3DStarter.cxx +++ b/application/F3DStarter.cxx @@ -326,10 +326,9 @@ int F3DStarter::Start(int argc, char** argv) // Load a file this->LoadFile(); - f3d::log::debug("========== Rendering =========="); - if (!this->Internals->AppOptions.NoRender) { + f3d::log::debug("========== Rendering =========="); f3d::window& window = this->Internals->Engine->getWindow(); f3d::interactor& interactor = this->Internals->Engine->getInteractor(); diff --git a/application/testing/CMakeLists.txt b/application/testing/CMakeLists.txt index 6cbd189352..9de97bb303 100644 --- a/application/testing/CMakeLists.txt +++ b/application/testing/CMakeLists.txt @@ -188,6 +188,7 @@ f3d_test(NAME TestNonExistentFile DATA nonExistentFile.vtp ARGS --filename WILL_ f3d_test(NAME TestUnsupportedFile DATA unsupportedFile.dummy ARGS --filename WILL_FAIL) f3d_test(NAME TestComponentName DATA from_abq.vtu ARGS --scalars --bar --comp=2 DEFAULT_LIGHTS) f3d_test(NAME TestNoRender DATA dragon.vtu NO_RENDER) +f3d_test(NAME TestNoRenderWithOptions DATA dragon.vtu ARGS --hdri-ambient --axis NO_RENDER) # These options causes issues if not handled correctly f3d_test(NAME TestNoFile NO_DATA_FORCE_RENDER) f3d_test(NAME TestGroupGeometries DATA mb/recursive ARGS --group-geometries DEFAULT_LIGHTS) f3d_test(NAME TestGroupGeometriesColoring DATA mb/recursive ARGS --group-geometries --scalars=Polynomial -b DEFAULT_LIGHTS) diff --git a/library/VTKExtensions/Rendering/vtkF3DRenderer.cxx b/library/VTKExtensions/Rendering/vtkF3DRenderer.cxx index 16f75d02d5..f7394153c7 100644 --- a/library/VTKExtensions/Rendering/vtkF3DRenderer.cxx +++ b/library/VTKExtensions/Rendering/vtkF3DRenderer.cxx @@ -197,6 +197,8 @@ void vtkF3DRenderer::ReleaseGraphicsResources(vtkWindow* w) void vtkF3DRenderer::Initialize(const std::string& up) { this->OriginalLightIntensities.clear(); + this->RemoveAllViewProps(); + this->RemoveAllLights(); this->AddActor(this->FilenameActor); this->AddActor(this->GridActor); diff --git a/library/VTKExtensions/Rendering/vtkF3DRendererWithColoring.cxx b/library/VTKExtensions/Rendering/vtkF3DRendererWithColoring.cxx index 29ed92cfe9..80cd526913 100644 --- a/library/VTKExtensions/Rendering/vtkF3DRendererWithColoring.cxx +++ b/library/VTKExtensions/Rendering/vtkF3DRendererWithColoring.cxx @@ -78,8 +78,8 @@ void vtkF3DRendererWithColoring::SetImporter(vtkF3DGenericImporter* importer) //---------------------------------------------------------------------------- void vtkF3DRendererWithColoring::Initialize(const std::string& up) { - this->RemoveAllViewProps(); - this->RemoveAllLights(); + // This remove all actors and view props + this->Superclass::Initialize(up); this->ArrayIndexForColoring = -1; this->ComponentForColoring = -1; @@ -95,8 +95,6 @@ void vtkF3DRendererWithColoring::Initialize(const std::string& up) this->CheatSheetConfigured = false; this->ColoringActorsPropertiesConfigured = false; this->ColoringConfigured = false; - - this->Superclass::Initialize(up); } //---------------------------------------------------------------------------- diff --git a/library/src/window_impl.cxx b/library/src/window_impl.cxx index d97625d071..a4c83216ee 100644 --- a/library/src/window_impl.cxx +++ b/library/src/window_impl.cxx @@ -322,6 +322,13 @@ void window_impl::UpdateDynamicOptions() this->Initialize(false); } + if (this->Internals->WindowType == Type::NONE) + { + // With a NONE window type, only update the actors to get accurate bounding box information + this->Internals->Renderer->UpdateActors(); + return; + } + // Set the cache path if not already this->Internals->Renderer->SetCachePath(this->Internals->GetCachePath());