-
-
Notifications
You must be signed in to change notification settings - Fork 482
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat-fix(server_openvr): Add timewarped compositing to Windows OpenVR compositor #2472
base: master
Are you sure you want to change the base?
feat-fix(server_openvr): Add timewarped compositing to Windows OpenVR compositor #2472
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry it took a bit, left some comments.
#else | ||
DirectX::XMVECTORF32 vertsL_VF32[4] | ||
= { { { { -1.0f * depth * m, 1.0f * depth * m, -depth, 1.0f } } }, | ||
{ { { 1.0f * depth * m, -1.0f * depth * m, -depth, 1.0f } } }, | ||
{ { { 1.0f * depth * m, 1.0f * depth * m, -depth, 1.0f } } }, | ||
{ { { -1.0f * depth * m, -1.0f * depth * m, -depth, 1.0f } } } }; | ||
#endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why did you hardcode disable this code with directives? Should it be removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could remove it yeah, wasn't sure if I'd have to come back to this code or not
vr::HmdRect2_t m_viewProj[2]; | ||
vr::HmdMatrix34_t m_eyeToHead[2]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not convinced about saving the view parameters in the DirectMode class. I think they should stay inside m_pD3DRender
m_FrameRender->RenderFrame( | ||
pTexture, bounds, poses, viewProj, eyeToHead, layerCount, recentering, message, debugText | ||
); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm also not convinced why the renderer call should be forwarded from the encoder. It doesn't make sense that the renderer is "owned" by the encoder. I don't think this was like that initially but then the linux implementation was made like that and so also the windows impl got changed.
Don't bother fixing this in this PR.
Fixes juddery menus on Riven, and possibly judder on other OpenXR apps (HUDs, 2D menus, text, etc rendered at higher resolutions are the most likely candidates).
Before vs After
tl;dr on compositing