Closed renaudbedard closed 10 years ago
Which branch/build are you using? Everything except for Direct-to-HMD works fine on my end with the pre-2.0 branch, and I'm working on fixing that tonight.
Ah, I was on master, just grabbed the link from the README file. If I want to try out 2.0-pre, do I need to build from source or are there nightly binaries somewhere?
I tried to build from source, succeeded through some hoops but the game crashes on start due to a gamma shader being null... so I'm probably doing something wrong. I don't want to spend your time debugging my compilation issues, so just let me know when you have a pre-2.0 build ready. :)
Yeah, sorry about that. The documentation is a bit out of date right now. I've been working towards preparing a new release in the next few days and was hoping to get Direct-to-HMD mode working first.
Sadly, Direct-to-HMD appears utterly broken with OpenGL right now, so I'll probably do a pre-release build within the next day to make up for it. Kinda bummed about that.
As far as the issues with shaders - the shaders are in the repository under the misc
directory. You can probably copy the entire shader folder into the baseq2
folder to fix that issue, but there may be other files missing and/or absent that I'm not aware of.
Copying the shaders folder over worked! If there are other missing assets they don't crash the game.
Everything works now (except Direct-to-HMD which you know about), the positional tracking doesn't seem buttery smooth but this may be because of my machine (GeForce 650M on an i7 Retina Macbook). I'll try things out!
That's interesting with position tracking - but unfortunately that's also something I have no control over. I haven't seen it locally, so I'll put together a binary today or tonight and see if that fixes it.
However, in the mean time you might try setting the Rift to be the primary display. It makes windows almost entirely unusable, but seems to resolve a lot of issues around vsync and software running on a secondary monitor.
I was also able to build and run it from the branch yesterday, but it took a bit of fiddling to getting it to debug, thought I'd share in case it's useful (This is for Windows/Visual Studio Professional 2013.)
When trying to Debug from within Visual Studio, I found that the IDE starts with a different working directory (not the one the .exe is in...the top level of the project?) so it couldn't find any of the .paks or shaders, etc. I was able to fix that by selecting the quakevr2 project, right clicking, selecting Properties, selecting "Configuration Properties/Debugging" and changing the working directory to "$(TARGETDIR)" At least this way running the .exe and running it through the debugger are using the same file paths.
Oh, also, I added OutputDebugString(string) to Sys_ConsoleOutput() in qcommon.h, which sends the very helpful log messages to VS's console window.
I'm sure there are cleaner ways for both but hey, at least it works :)
Good to know - thank you!
It's probably worth pointing out that, if possible, you should be building Retail/Release builds for just casual usage. They are significantly faster, and unless you expect to be debugging a crash it isn't worth the performance hit.
It's also worth mentioning that every time you build the game .DLL's you lose the ability to load save games from previous releases. So, uhh, yeah. Probably not a good thing to do frequently.
Yep, positional tracking is much smoother, and I get more consistently 75hz with the rift as my main display. I set it as my only display and had no problems with the game. Thanks for everything!
Edit : Actually I did have to get the latest .PK3s from the KMQuake2 website. After doing that I stopped getting warnings on UI textures being missing.
In case either of you (or anyone else reading this) is interested - I've put together a pre-release binary here. You should just have to copy pak0.pak into the baseq2 directory, and the pak0.pak and gamex86.dll from any expansions into the expansion directories for it to work. Videos work too, if you feel like copying them into place.
I'm still trying to sort out Direct HMD mode, and haven't quite decided if I should hold releasing it until that gets fixed or not. It appears to be irreparably borked without going to SDK rendering, so I'm either faced with rewriting the OVR implementation to support that or holding the release until the next SDK drop and hoping it gets fixed. For some transparency, I've been avoiding using it because it means losing the ability to do things like fully support luminance overdrive (which is right now only available under specific circumstances in the DirectX SDK distortion path, and totally absent from the GL one). Still, it might be worth adding as an option.
Any opinions?
I'd say go for it. Seems solid so far even if direct mode isn't working. Most other games/demos are having the same problems.
NOTE: the most up-to-date thoughts are in the latest "edit #". I've not edited old text out.
Created an account to say that positional tracking in the pre-release binary seems to remain, at least up to a certain point, with the world instead of the player view, so that it stays the same direction when using the mouse to turn the character. For example, if I reset postional tracking, then turn my view left 90deg with the mouse, the positional tracking is still pointed in the original direction, so if I lean forward, I'm leaning to my right in-game. It looks like it just needs to be updated with control input.
edit: actually, it looks like it isn't directly connected to the world, but just gets oddly skewed after I turn. I tried turning to the left ~90 degrees with the mouse, then leaning forward, and in-game I was leaning forward-left.
edit 2: it looks like it is attached to where the arm model is, instead of the camera. If my "arm" is to the left, so does my leaning in skew to the left. If my arm is furthest right, leaning forward works correctly.
edit 3: I'm trying different aimmodes. Only 1 sorta does what I want, but for some reason, the positional tracking on mode 1 feels "curved" somehow, like my forward movement is being curved down (pitch-wise), my side movement is being curved yaw-wise, etc. (or perhaps the camera in aimmode 1 isn't moving enough relative to how much I'm actually moving my head). Maybe the tracking is getting skewed again after mouse movement. I've made myself feel a little sick while playing around with these modes, hah, so I'm going to take a break.
edit 4: it is usually a problem of being attached to the arm yaw angle vs. just being attached to the camera angles. I noticed that there was a virtual reality menu, and in every mode, if the angle of the arm relative to the camera changes tracking, acting as if the arm were the head instead of the camera view. But even in the modes where the arm doesn't move relative to the camera, I still get odd behavior when I look far enough left or right, with the camera "swinging around" in such cases.
Chiming in to say that yesterday's binaries work great, but I also experience what jf033 is talking about. I thought it was my setup (my camera isn't facing my directly and that causes some inconstancies) but after playing for a while I definitely feel that the positional tracking works wrong, moving left/right sometimes makes me move forwards/backwards or in a skewed way.
Interesting.
@jf033 and @renaudbedard - I appreciate the detailed reports. And you are correct, it is applying the position offset relative to the aim vector incorrectly. I just pushed commit cf0e3a7b787865ef96d22fcf35c8c2eaed9f5c42 which now applies it in a way that should always be correct relative to the head orientation, and hopefully will fix the issue. A patched executable can be found here.
If this doesn't solve it, let me know. A full fix might involve having to suck it up and rewrite input handling sooner than I wanted, but hopefully not.
Works perfectly now! Thanks so much for your work on this.
Is there a way to disable the output stream of aiming data? Both of the vr_*_debug cvars are set to 0.
Whoops! Thought I removed that before compiling it. Here's a new binary with that removed: http://dgho.st/A72L
No head tracking for me. Blue light on camera is on.
Installed game from CD. Downloaded Binaries, then copied over pak0.pak, then players, videos Tried all possible VR display options. Nothing changes there, all other options seem to be working fine.
Windows 8.1 NVIDIA 750M 16GB Ram
Are you using the 1.9.2-pre release linked in this thread (and now on the home + release pages), or the old 1.3.1 release?
I'm going to close this issue since it's gone way off topic from where it originally was. I've created a new issue so I can keep an eye on headtracking problems, so if it's an issue please comment over in #6.
Thanks.
Hi,
Just tried out this project with my new Oculus Rift DK2, and looks like there are a bunch of issues out of the box :
Let me know if I can help test builds!