ValveSoftware / openvr

OpenVR SDK
http://steamvr.com
BSD 3-Clause "New" or "Revised" License
6.07k stars 1.28k forks source link

Is it possible to use Steam Direct Mode implement ATW(ASW)? #615

Open vicdxxx opened 7 years ago

vicdxxx commented 7 years ago

I am done openvr direct mode on my hmd, but I want to achieve time warp in my driver. Did anyone know is that possible? Is there some limit in direct mode? I feel direct mode is still in beta, because some game summit layers show juddery, jerky. Any suggestion is highly appreciate!

JoeLudwig commented 7 years ago

If at all possible you should let the SteamVR compositor talk to the display directly and not re-implement your own direct mode. You just need to return the VID and PID from the EDID and we can handle the rest. That will get you timewarp and all the other compositor features without any extra work.

Are you providing velocity and angular velocity with your poses? If not, fix that first because that will definitely cause thing to be jittery.

vicdxxx commented 7 years ago

@JoeLudwig Is that mean I should use the steam direct mode, and register my VID, PID rather than use my own direct mode ? And use their reprojection setting in steamvr to get ASW effects? I did not provide angular velocity data. thank you so much! However, there is not obviously jittery somehow. But I will add it as you mentioned.

JoeLudwig commented 7 years ago

Yes, that should be significantly easier than implementing driver direct mode and reprojection on your own.

TheDeveloperGuy commented 7 years ago

@JoeLudwig Will it ever end, this confusion between Oculus-Direct and VR-Direct? 😄

Balderick commented 7 years ago

I do not think it is different vr platforms supporting direct mode as causing the confusion but do see the need for proprietary GPU drivers and the white listing process for display as cause.

TheDeveloperGuy commented 7 years ago

@Balderick There are 2 completely different concepts at play here which are both called "direct" mode but are not the same thing at all. I'm not going to bother explaining it again because I already have done that lots of times here. This topic (and your comment) highlight this misunderstanding. If you want to know the difference look through my posts here and you will find several of the times I've explained it. :wink:

Balderick commented 7 years ago

Sharing a link to the info you refer too might be helpful.

It was all ready highlighted to forget about implementing your own direct based time warp. https://github.com/ValveSoftware/openvr/issues/615#issuecomment-325065541

Which makes the issue vrworks related and not really oculus platform or steamvr platform issue.

Balderick commented 7 years ago

Well vicdxxx and I make two people . You know better than Valve developer? But can't be bothered to share a link to your enlightening information that removes all confusion from peoples misunderstanding direct mode?

TheDeveloperGuy commented 7 years ago

@vicdxxx Anyway, the takeaway from this is that you shouldn't be using IVRDriverDirectModeComponent for your driver unless you really know what you are doing. You should be using IVRDisplayComponent in most cases that involve a HMD that is connected via HDMI.

TheDeveloperGuy commented 7 years ago

@Balderick Looks like you're a person that needs to be given fish, not taught how to fish, so here's your fish.... :wink:

https://github.com/ValveSoftware/openvr/issues/431#issuecomment-284415766

BTW. It's Valve's job to remove misunderstanding, not mine. Check your expectations. It was their unfortunate naming choice for Oculus-Direct that caused the misunderstanding...