Closed leedc20 closed 1 year ago
The ALVR server does not perform reprojection. we get the orientation of the first layer and assume all other layer have the same orientation (which is sometimes wrong and it's the cause of strange glitches especially during loading screens). For reprojection we leverage the client VR runtime, and it's enabled automatically by the client OS.
Hi @zarik5, Thank you for your updating. Would you let me know what you mean by the client VR runtime? you mean SteamVR?
No. I mean the VR runtime that powers the headset, and does not depend on the API used (VrApi or OpenXR) and it can be updated together with the firmware. It is also called "compositor", although it's a bit confusing because ALVR has a client compositor too (which does FFR but not reprojection).
Okay. I'm going to implement own reprojection in my driver runtime (which was built using OpenVR) for my custom headset. Would you guide me how to implement that?
You can write me on Discord since this is off topic. I'm zarik#6062
Thank you @zarik5 . I have been away from my dev. I will contact you on Discord. Looking forward to getting your advice a lot.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Hi @zarik5, I've sent you a connection on Discord. My discord id is leec#7849. Looking forward to getting your great help. Thanks in advance.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Hi, I'm curious about your implementation of reprojecting. As I'm using Oculus Quest, I wonder how timewarp works without VrApi. Could you give me some hints? I also sent a friend request to you on Discord and my id is Yingtian#9790
This is not a bug or issue report. Just studying and learning ALVR features and code base.
I have read that ALVR used Async Reprojection technology, so excited. I'm trying to find the relevant source code part that performs reprojection. I assume the reprojection is performed based on Pose information submitted by vrcompositor. So, looking at the OvrDirectModeComponent::SubmitLayer() function.
In the above code snippet, I know m_poseHistory queues Poses. By the way, I cannot find any parts that performs reprojection using the pose history or m_framePoseRotation information. I'd appreciate it if anyone helps me to locate the implementation code part.
Thanks in advance.