MCPcopy Create free account
hub / github.com/MrNeRF/LichtFeld-Studio / initialize

Method initialize

src/visualizer/visualizer_impl.cpp:972–1051  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

970 }
971
972 bool VisualizerImpl::initialize() {
973 if (fully_initialized_) {
974 LOG_TRACE("Already fully initialized");
975 return true;
976 }
977
978 // Initialize window first and ensure it has proper size
979 if (!window_initialized_) {
980 {
981 LOG_TIMER("startup.window_manager.init"); // wraps Vulkan instance/device/swapchain bring-up
982 if (!window_manager_->init()) {
983 return false;
984 }
985 }
986 window_initialized_ = true;
987
988 window_manager_->pollEvents();
989 window_manager_->updateWindowSize();
990
991 viewport_.windowSize = window_manager_->getWindowSize();
992 viewport_.frameBufferSize = window_manager_->getFramebufferSize();
993
994 if (viewport_.windowSize.x <= 0 || viewport_.windowSize.y <= 0) {
995 LOG_WARN("Window manager returned invalid size, using options fallback: {}x{}",
996 options_.width, options_.height);
997 viewport_.windowSize = glm::ivec2(options_.width, options_.height);
998 viewport_.frameBufferSize = glm::ivec2(options_.width, options_.height);
999 }
1000
1001 LOG_DEBUG("Window initialized with actual size: {}x{}",
1002 viewport_.windowSize.x, viewport_.windowSize.y);
1003 }
1004
1005 // Initialize GUI (sets up ImGui, builds font atlas)
1006 if (!gui_initialized_) {
1007 LOG_TIMER("startup.gui_manager.init");
1008 gui_manager_->init();
1009 gui_initialized_ = true;
1010 }
1011
1012 // InputController requires ImGui to be initialized
1013 if (!input_controller_) {
1014 input_controller_ = std::make_unique<InputController>(
1015 window_manager_->getWindow(), viewport_);
1016 input_controller_->initialize();
1017 window_manager_->setInputController(input_controller_.get());
1018 python::set_keymap_bindings(&input_controller_->getBindings());
1019 callback_cleanup_.add([] { python::set_keymap_bindings(nullptr); });
1020 }
1021
1022 // Initialize tools AFTER rendering is initialized
1023 if (!tools_initialized_) {
1024 initializeTools();
1025 }
1026
1027 setupViewContextBridge();
1028
1029 if (scene_manager_)

Callers 1

initializeToolsMethod · 0.45

Calls 15

set_keymap_bindingsFunction · 0.85
ensure_initializedFunction · 0.85
updateWindowSizeMethod · 0.80
getWindowSizeMethod · 0.80
getFramebufferSizeMethod · 0.80
setInputControllerMethod · 0.80
initSelectionServiceMethod · 0.80
initMethod · 0.45
pollEventsMethod · 0.45
getWindowMethod · 0.45

Tested by

no test coverage detected