mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 09:09:56 +02:00
dk2 snapshot takes picture of HMD window
This commit is contained in:
parent
f3c5324e5c
commit
335ed667bb
2 changed files with 16 additions and 0 deletions
|
@ -38,6 +38,20 @@ QRect HmdDisplayPlugin::getRecommendedOverlayRect() const {
|
||||||
return CompositorHelper::VIRTUAL_SCREEN_RECOMMENDED_OVERLAY_RECT;
|
return CompositorHelper::VIRTUAL_SCREEN_RECOMMENDED_OVERLAY_RECT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QImage HmdDisplayPlugin::getScreenshot() const {
|
||||||
|
using namespace oglplus;
|
||||||
|
QImage screenshot(_compositeFramebuffer->size.x, _compositeFramebuffer->size.y, QImage::Format_RGBA8888);
|
||||||
|
auto windowSize = toGlm(_container->getPrimaryWidget()->size());
|
||||||
|
_compositeFramebuffer->Bound(Framebuffer::Target::Read, [&] {
|
||||||
|
Context::BlitFramebuffer(
|
||||||
|
0, 0, _compositeFramebuffer->size.x, _compositeFramebuffer->size.y,
|
||||||
|
0, 0, windowSize.x, windowSize.y,
|
||||||
|
BufferSelectBit::ColorBuffer, BlitFilter::Nearest);
|
||||||
|
Context::ReadPixels(0, 0, _compositeFramebuffer->size.x, _compositeFramebuffer->size.y, enums::PixelDataFormat::RGBA, enums::PixelDataType::UnsignedByte, screenshot.bits());
|
||||||
|
});
|
||||||
|
return screenshot.mirrored(false, true);
|
||||||
|
}
|
||||||
|
|
||||||
bool HmdDisplayPlugin::internalActivate() {
|
bool HmdDisplayPlugin::internalActivate() {
|
||||||
_monoPreview = _container->getBoolSetting("monoPreview", DEFAULT_MONO_VIEW);
|
_monoPreview = _container->getBoolSetting("monoPreview", DEFAULT_MONO_VIEW);
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,8 @@ public:
|
||||||
void setEyeRenderPose(uint32_t frameIndex, Eye eye, const glm::mat4& pose) override final;
|
void setEyeRenderPose(uint32_t frameIndex, Eye eye, const glm::mat4& pose) override final;
|
||||||
bool isDisplayVisible() const override { return isHmdMounted(); }
|
bool isDisplayVisible() const override { return isHmdMounted(); }
|
||||||
|
|
||||||
|
QImage getScreenshot() const override;
|
||||||
|
|
||||||
QRect getRecommendedOverlayRect() const override final;
|
QRect getRecommendedOverlayRect() const override final;
|
||||||
|
|
||||||
virtual glm::mat4 getHeadPose() const override;
|
virtual glm::mat4 getHeadPose() const override;
|
||||||
|
|
Loading…
Reference in a new issue