MCPcopy Create free account
hub / github.com/LibreVR/Revive / Initialize

Method Initialize

Revive/ProfileManager.cpp:31–80  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29}
30
31bool ProfileManager::Initialize()
32{
33 if (!glfwInit())
34 return false;
35
36 HDC dc = wglGetCurrentDC();
37 HGLRC ctx = wglGetCurrentContext();
38
39 if (!m_ProfileWindow)
40 {
41 m_ProfileWindow = glfwCreateWindow(PROFILE_WINDOW_WIDTH, PROFILE_WINDOW_HEIGHT, "Revive Microprofile", NULL, NULL);
42 if (!m_ProfileWindow)
43 return false;
44
45 glfwSetWindowAttrib(m_ProfileWindow, GLFW_RESIZABLE, false);
46 glfwSetMouseButtonCallback(m_ProfileWindow, MouseButtonCallback);
47 glfwSetCursorPosCallback(m_ProfileWindow, CursorPosCallback);
48 glfwSetScrollCallback(m_ProfileWindow, ScrollCallback);
49
50 glfwMakeContextCurrent(m_ProfileWindow);
51 if (!gladLoadGL() || !gladLoadWGL(wglGetCurrentDC()))
52 return false;
53
54 MicroProfileDrawInitGL();
55 assert(glGetError() == 0);
56 }
57 else
58 {
59 glfwMakeContextCurrent(m_ProfileWindow);
60 }
61
62 if (m_ProfileOverlay == vr::k_ulOverlayHandleInvalid)
63 {
64 vr::VROverlay()->CreateOverlay("revive.debug.microprofile", "Revive Microprofile", &m_ProfileOverlay);
65 vr::VROverlay()->SetOverlayWidthInMeters(m_ProfileOverlay, 0.5f);
66 vr::VROverlay()->SetOverlayInputMethod(m_ProfileOverlay, vr::VROverlayInputMethod_Mouse);
67 vr::VROverlay()->SetOverlayFlag(m_ProfileOverlay, vr::VROverlayFlags_VisibleInDashboard, true);
68 vr::VROverlay()->SetOverlayFlag(m_ProfileOverlay, vr::VROverlayFlags_SortWithNonSceneOverlays, true);
69 vr::VROverlay()->SetOverlayFlag(m_ProfileOverlay, vr::VROverlayFlags_SendVRDiscreteScrollEvents, true);
70
71 int width, height;
72 glfwGetFramebufferSize(m_ProfileWindow, &width, &height);
73 vr::HmdVector2_t vecWindowSize = { (float)width, (float)height };
74 vr::VROverlay()->SetOverlayMouseScale(m_ProfileOverlay, &vecWindowSize);
75 }
76
77 MicroProfileSetDisplayMode(1);
78 wglMakeCurrent(dc, ctx);
79 return true;
80}
81
82void* ProfileManager::GetContext()
83{

Callers 1

ovr_InitializeFunction · 0.80

Calls 3

gladLoadGLFunction · 0.85
gladLoadWGLFunction · 0.85
CreateOverlayMethod · 0.80

Tested by

no test coverage detected