bootstrap.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "bootstrap.h"
  2. #include "../scene_renderer.h"
  3. #include "camera.h"
  4. #include "gl_capabilities.h"
  5. #include <QDebug>
  6. #include <QOpenGLContext>
  7. #include <qglobal.h>
  8. namespace Render::GL {
  9. auto RenderBootstrap::initialize(Renderer &renderer, Camera &camera) -> bool {
  10. qInfo()
  11. << "RenderBootstrap::initialize() - Starting OpenGL initialization...";
  12. QOpenGLContext *ctx = QOpenGLContext::currentContext();
  13. if ((ctx == nullptr) || !ctx->isValid()) {
  14. qCritical() << "RenderBootstrap: no current valid OpenGL context";
  15. return false;
  16. }
  17. qInfo() << "RenderBootstrap: OpenGL context is valid";
  18. qInfo() << "RenderBootstrap: Logging OpenGL capabilities...";
  19. GLCapabilities::logCapabilities();
  20. qInfo() << "RenderBootstrap: Capabilities logged";
  21. qInfo() << "RenderBootstrap: Calling renderer.initialize()...";
  22. if (!renderer.initialize()) {
  23. qCritical() << "RenderBootstrap: renderer initialize failed";
  24. return false;
  25. }
  26. qInfo() << "RenderBootstrap: Renderer initialized successfully";
  27. qInfo() << "RenderBootstrap: Setting camera...";
  28. renderer.setCamera(&camera);
  29. qInfo() << "RenderBootstrap: Camera set, initialization complete";
  30. return true;
  31. }
  32. } // namespace Render::GL