      const int x = SDL_WINDOWPOS_CENTERED;
      const int y = SDL_WINDOWPOS_CENTERED;
 -    const uint32_t windowFlags = SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI;
-+    const uint32_t windowFlags = SDL_WINDOW_HIDDEN | SDL_WINDOW_ALLOW_HIGHDPI;
++    const uint32_t windowFlags = SDL_WINDOW_ALLOW_HIGHDPI;
      mWindow = SDL_CreateWindow(title.c_str(), x, y, (int) w, (int) h, windowFlags);
  
      // Create the Engine after the window in case this happens to be a single-threaded platform.
 diff --git a/samples/app/FilamentApp.h b/samples/app/FilamentApp.h
-index 7f4ec2f0..0a3b8a2b 100644
+index 7f4ec2f..0a3b8a2 100644
 --- a/samples/app/FilamentApp.h
 +++ b/samples/app/FilamentApp.h
 @@ -48,6 +48,7 @@ class MeshAssimp;

diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt
index 073dccfe..d5896912 100644
--- a/samples/CMakeLists.txt
+++ b/samples/CMakeLists.txt
@@ -226,6 +226,7 @@ endfunction()

 };
 
diff --git a/samples/app/FilamentApp.cpp b/samples/app/FilamentApp.cpp
index 37f55b0..3b047d2 100644
--- a/samples/app/FilamentApp.cpp
+++ b/samples/app/FilamentApp.cpp
@@ -68,9 +68,23 @@ void FilamentApp::run(const Config& config, SetupCallback setupCallback,
