MCPcopy Create free account
hub / github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings / renderOverlay

Method renderOverlay

src/overlaycontroller.cpp:549–583  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

547}
548
549void OverlayController::renderOverlay()
550{
551 if ( !m_desktopMode )
552 {
553 // skip rendering if the overlay isn't visible
554 if ( !vr::VROverlay()
555 || ( !vr::VROverlay()->IsOverlayVisible( m_ulOverlayHandle )
556 && !vr::VROverlay()->IsOverlayVisible(
557 m_ulOverlayThumbnailHandle ) ) )
558 return;
559 m_renderControl.polishItems();
560 m_renderControl.sync();
561 m_renderControl.render();
562
563 GLuint unTexture = m_pFbo->texture();
564 if ( unTexture != 0 )
565 {
566#if defined _WIN64 || defined _LP64
567 // To avoid any compiler warning because of cast to a larger
568 // pointer type (warning C4312 on VC)
569 vr::Texture_t texture = { reinterpret_cast<void*>(
570 static_cast<uint64_t>( unTexture ) ),
571 vr::TextureType_OpenGL,
572 vr::ColorSpace_Auto };
573#else
574 vr::Texture_t texture = { reinterpret_cast<void*>( unTexture ),
575 vr::TextureType_OpenGL,
576 vr::ColorSpace_Auto };
577#endif
578 vr::VROverlay()->SetOverlayTexture( m_ulOverlayHandle, &texture );
579 }
580 m_openGLContext.functions()->glFlush(); // We need to flush otherwise
581 // the texture may be empty.*/
582 }
583}
584
585bool OverlayController::pollNextEvent( vr::VROverlayHandle_t ulOverlayHandle,
586 vr::VREvent_t* pEvent )

Callers

nothing calls this directly

Calls 2

IsOverlayVisibleMethod · 0.80
SetOverlayTextureMethod · 0.80

Tested by

no test coverage detected