diff --git a/components/streams/src/renderers/openvr_render.cpp b/components/streams/src/renderers/openvr_render.cpp index ef973ff089e7fbdb9890f50d982c8509f5889c3d..6346cf2448a6b52b8268fd25525f1e6022df5368 100644 --- a/components/streams/src/renderers/openvr_render.cpp +++ b/components/streams/src/renderers/openvr_render.cpp @@ -354,18 +354,22 @@ bool OpenVRRender::retrieve(ftl::data::Frame &frame_out) { for (auto &s : sets) { if (s->frameset() == my_id_) continue; // Skip self + Eigen::Matrix4d pose; + pose.setIdentity(); + if (s->hasChannel(Channel::Pose)) pose = s->cast<ftl::rgbd::Frame>().getPose(); + // TODO: Check frame has required channels? // FIXME: Don't use identity transform, get from Poser somehow. renderer_->submit( s.get(), ftl::codecs::Channels<0>(ftl::codecs::Channel::Colour), - s->pose); + pose); renderer2_->submit( s.get(), ftl::codecs::Channels<0>(ftl::codecs::Channel::Colour), - s->pose); + pose); } renderer_->render();