Page 6 of 15

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sun Nov 18, 2012 12:05 pm
by EdZ
cybereality wrote:The head-tracking roll causes a strange distortion.
Are the left and right viewpoints rotating around a common centre (between and slightly behind the two), or is each viewpoint rotating around it's own centre?

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sun Nov 18, 2012 5:21 pm
by cybereality
EdZ wrote:Are the left and right viewpoints rotating around a common centre (between and slightly behind the two), or is each viewpoint rotating around it's own centre?
Each viewport is moving around its own center, but thats not the problem. The issue is with the aspect ratio. Because of the way I am adjusting it, it becomes stretched when its rotated. So everything looks fine when you are level-headed. But if you roll 90 degrees, then the objects becomes twice as tall. I noticed a similar problem with the Vuzix driver on some games (UT2004, for example) so maybe it is just a limitation of this method. But I will see what I can do, maybe there is a solution.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sun Nov 18, 2012 6:00 pm
by Mel
cybereality wrote:@polipluff: Mirrors Edge looks pretty good. The only problem is I couldn't get convergence working, but otherwise its fine. Skyrim is mostly working except for the shadows (you have to turn them off). Both games need some work for the headtracking, but I should have that finished soon.

No question a game specially made for the Rift will look and play better than what I am doing here. One problem is how I am rendering stereo which creates a 1 frame delay between the left and right image. You also need to turn vertical-sync off, so you may get some tearing as well. The head-tracking roll causes a strange distortion. Pitch and yaw are using mouse emulation, so will have additional lag than if it were directly controlled in the engine. Though even with all this, its still a playable experience and hopefully I can fix these things over time.
While it may not be ideal, is it correct to assume that a one-frame delay has an unintended positive side effect of not affecting game frame rate in any meaningful way?

Also, I mentioned in another thread that I find 3d rendered games looks too weird (I think 'wrong' was the word I used) and I intend to use the Rift in non-3D mode, assuming I'm given the choice. Will your driver have the option to turn off 3D?

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sun Nov 18, 2012 7:27 pm
by cybereality
Mel wrote:While it may not be ideal, is it correct to assume that a one-frame delay has an unintended positive side effect of not affecting game frame rate in any meaningful way?
Well you are cutting the frame-rate in half like this. So you will have to turn v-sync off and hope you can run at 120FPS+ else it may look choppy.
Mel wrote:Will your driver have the option to turn off 3D?
There is a 2D mode, I just need to make a button in the interface to turn it on. Right now you have to edit an XML file which is not ideal (but not that hard either).

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sun Nov 18, 2012 8:32 pm
by Mel
cybereality wrote:
Mel wrote:While it may not be ideal, is it correct to assume that a one-frame delay has an unintended positive side effect of not affecting game frame rate in any meaningful way?
Well you are cutting the frame-rate in half like this. So you will have to turn v-sync off and hope you can run at 120FPS+ else it may look choppy.
Mel wrote:Will your driver have the option to turn off 3D?
There is a 2D mode, I just need to make a button in the interface to turn it on. Right now you have to edit an XML file which is not ideal (but not that hard either).
Ah, so you are deferring the presentation of the SBS frame until you've intercepted and processed two consecutive frames?

Good news on the 2D mode.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Mon Nov 19, 2012 3:24 am
by 2EyeGuy
Why is roll like that? Are you trying to avoid showing objects that have been clipped? I thought it would be fairly easy to do roll correctly, except for orthographic projections.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Mon Nov 19, 2012 8:43 pm
by cybereality
The roll works fine on 3D modes that use the full aspect ratio (basically anything except the Rift). But since I am altering the aspect ratio for the Rift, this messes up the projection matrix. I may be able to fix this, but I haven't spent a lot of time looking into it.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Tue Nov 20, 2012 3:55 am
by topas
cybereality wrote:The roll works fine on 3D modes that use the full aspect ratio (basically anything except the Rift). But since I am altering the aspect ratio for the Rift, this messes up the projection matrix. I may be able to fix this, but I haven't spent a lot of time looking into it.
Do you have to fix it for each engine separately or is it a general problem to be fixed centrally?
As far as i understand your work: it has to be done for each engine, correct?

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Tue Nov 20, 2012 9:09 pm
by cybereality
topas wrote:Do you have to fix it for each engine separately or is it a general problem to be fixed centrally?
As far as i understand your work: it has to be done for each engine, correct?
Each engine (or game) has custom code to make it work, but if I found a solution in one game it would not be difficult to port it to the other games. I've just had a lot of stuff going on the past few weeks and did not have time to work on the driver. Should be free this holiday weekend, so I will be dedicating a good amount of time on fixing up this last issues.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Wed Nov 21, 2012 7:23 pm
by bobjwatts
With all the decent reviews I'd love to see Far Cry 3 added sometime in the new year.

http://www.metacritic.com/game/pc/far-cry-3

I've been wanting to climb the tower in the beginning of this video with the Rift ever since I first watched it.

https://www.youtube.com/watch?v=aXVuF3I ... re=related

Would be a great demo and maybe a good way to cure my vertigo. :lol:

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Wed Nov 21, 2012 10:01 pm
by greenknight
bobjwatts wrote:With all the decent reviews I'd love to see Far Cry 3 added sometime in the new year.

http://www.metacritic.com/game/pc/far-cry-3

I've been wanting to climb the tower in the beginning of this video with the Rift ever since I first watched it.

https://www.youtube.com/watch?v=aXVuF3I ... re=related

Would be a great demo and maybe a good way to cure my vertigo. :lol:
Like most AAA games, far cry 3 has been in development for years. Initially I was not impressed, but after seeing how it copies elements of RPG's like skyrim and assasin's creed, I am quite happy and think it will be worth buying for 30 bucks during the steam summer sale, hehe.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Thu Nov 22, 2012 2:06 pm
by Enzo
I also would love to see FarCry 3 implementation, I absolutely loved the beautiful tropical climates depicted in the original Farcy and Crysis games. These games had an open world feel, lush environments and physics that you could employ to crush the enemy in innovative ways, making these games some of my favorite. I hope Farcry 3 Carries on this tradition and seeing that lush tropical environment in VR would be awesome.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Thu Nov 22, 2012 3:53 pm
by Mel
cybereality wrote: Well you are cutting the frame-rate in half like this. So you will have to turn v-sync off and hope you can run at 120FPS+ else it may look choppy.
Since you are making a SBS image from two consecutive frames (resulting in a modest temporal shift betwixt each half of the SBS), then instead of deferring the display of a frame until you've built both halves, could you not maintain full frame-rate simply by keeping a running buffer upon which you render alternating left/right frames and displaying the frame on a one-to-one basis with the game's frame-rate? If this is what you're already doing, then I guess I'm failing to see how this could halve the frame-rate.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Thu Nov 22, 2012 4:29 pm
by EdZ
Mel wrote:
cybereality wrote:Since you are making a SBS image from two consecutive frames (resulting in a modest temporal shift betwixt each half of the SBS), then instead of deferring the display of a frame until you've built both halves, could you not maintain full frame-rate simply by keeping a running buffer upon which you render alternating left/right frames and displaying the frame on a one-to-one basis with the game's frame-rate? If this is what you're already doing, then I guess I'm failing to see how this could halve the frame-rate.
You could only do this if the display could output at double your intended both-views resolution, i.e. if you wanted 60fps 3D, your display would have to update at 120fps. Additionally, you'd still be duplicating one eye image for two frames:

Code: Select all

1:[A][X]
2:[A][Y]
3:[B][Y]
4:[B][Z]
Whereas with 60fps display, you'd get:

Code: Select all

1:[A][X]

2:[B][Y]

The only functional difference being that each eye get's it's image 1/120th of a second faster. You are still showing a temporally offset stereo pair in either case, but if you start mix-and-matching stereo pairs you could end up with objects that should be moving smoothly appearing to wobble backwards and forwards (i.e. towards and away) as their stereo separation increases and decreases. If you keep to a set temporal offset, you'll only get a single wobble when an object changes from moving right to left (or vice versa).


The 'half the framerate' figure is because Cyber's driver does not have the low-level access that nVidia's does, so cannot take advantage of using existing geometry (or whatever) calculations shared between left and right eye views, so each eye is rendered entirely independently. nVidia (and ATI) can 'cheat' somewhat to get better performance and synchronised views with less than a 100% increase in rendering load.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Thu Nov 22, 2012 4:45 pm
by Mel
EdZ wrote:
Mel wrote:
cybereality wrote:Since you are making a SBS image from two consecutive frames (resulting in a modest temporal shift betwixt each half of the SBS), then instead of deferring the display of a frame until you've built both halves, could you not maintain full frame-rate simply by keeping a running buffer upon which you render alternating left/right frames and displaying the frame on a one-to-one basis with the game's frame-rate? If this is what you're already doing, then I guess I'm failing to see how this could halve the frame-rate.
You could only do this if the display could output at double your intended both-views resolution, i.e. if you wanted 60fps 3D, your display would have to update at 120fps. Additionally, you'd still be duplicating one eye image for two frames:

Code: Select all

1:[A][X]
2:[A][Y]
3:[B][Y]
4:[B][Z]
Whereas with 60fps display, you'd get:

Code: Select all

1:[A][X]

2:[B][Y]

The only functional difference being that each eye get's it's image 1/120th of a second faster. You are still showing a temporally offset stereo pair in either case, but if you start mix-and-matching stereo pairs you could end up with objects that should be moving smoothly appearing to wobble backwards and forwards (i.e. towards and away) as their stereo separation increases and decreases. If you keep to a set temporal offset, you'll only get a single wobble when an object changes from moving right to left (or vice versa).


The 'half the framerate' figure is because Cyber's driver does not have the low-level access that nVidia's does, so cannot take advantage of using existing geometry (or whatever) calculations shared between left and right eye views, so each eye is rendered entirely independently. nVidia (and ATI) can 'cheat' somewhat to get better performance and synchronised views with less than a 100% increase in rendering load.
Roger. More to it that I thought. And the wobble effect would be unpleasant, to say the least.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Thu Nov 22, 2012 9:39 pm
by cybereality
Mel wrote:Since you are making a SBS image from two consecutive frames (resulting in a modest temporal shift betwixt each half of the SBS), then instead of deferring the display of a frame until you've built both halves, could you not maintain full frame-rate simply by keeping a running buffer upon which you render alternating left/right frames and displaying the frame on a one-to-one basis with the game's frame-rate? If this is what you're already doing, then I guess I'm failing to see how this could halve the frame-rate.
This is basically what I am doing. I'm still updating at the full frame rate, but only one half of the screen at once (alternating each frame). This is roughly equivalent to cutting the frame-rate in half. I think I could fix this eventually, so it works more like the existing 3D drivers. This would be a little more complicated and will not make it in there for the launch though.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 5:09 am
by Valez
Do you render each half in 1280*800 or in 640*800?

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 9:37 am
by Alkapwn
Has anyone mentioned Rage yet? Would be super sick to play that one on the Rift. And it's also on sale right now on Steam's Fall Sale for $12 >.<

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 10:03 am
by baggyg
Alkapwn wrote:Has anyone mentioned Rage yet? Would be super sick to play that one on the Rift. And it's also on sale right now on Steam's Fall Sale for $12 >.<
I've seen reports that there is a Rage level demo being displayed with the Oculus. Hopefully they will release an official patch for this. Considering Doom 3 has it its not too much of a stretch to imagine it will get support

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 10:23 am
by Alkapwn
baggyg wrote:
Alkapwn wrote:Has anyone mentioned Rage yet? Would be super sick to play that one on the Rift. And it's also on sale right now on Steam's Fall Sale for $12 >.<
I've seen reports that there is a Rage level demo being displayed with the Oculus. Hopefully they will release an official patch for this. Considering Doom 3 has it its not too much of a stretch to imagine it will get support
As far as I know, Carmack was using that as his test bed. But I think he created a level specifically to test the Oculus Rift, so it's completely removed from the rest of the game. I think he said he also had to test/change a bunch of things in order to make it easily playable. And to do this for the whole game would be too much work.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 11:10 am
by baggyg
Alkapwn wrote:
baggyg wrote:
Alkapwn wrote:Has anyone mentioned Rage yet? Would be super sick to play that one on the Rift. And it's also on sale right now on Steam's Fall Sale for $12 >.<
I've seen reports that there is a Rage level demo being displayed with the Oculus. Hopefully they will release an official patch for this. Considering Doom 3 has it its not too much of a stretch to imagine it will get support
As far as I know, Carmack was using that as his test bed. But I think he created a level specifically to test the Oculus Rift, so it's completely removed from the rest of the game. I think he said he also had to test/change a bunch of things in order to make it easily playable. And to do this for the whole game would be too much work.
Ahh, fair enough - its down to cybereality then :-) I currently play a lot of games with nvidia 3D vision and rage didnt support it at all. Makes me think that the game engine doesnt lend itself to steroscopic views. May be a tough nut to crack if Carmack isnt doing it.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 2:47 pm
by cybereality
@Valez: I am rendering at the full resolution (ie 1280x800) and then squishing it toward half the screen. This has the result of a sort of ghetto anti-aliasing.

@Alkapwn: Rage is an OpenGL game, so unfortunately can't be supported with my driver (currently I'm doing DirectX9 only).

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 3:25 pm
by Owen
Why not just set the viewport rectangle to half the screen? Few games modify the viewport so it should work pretty well.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 4:17 pm
by cybereality
Owen wrote:Why not just set the viewport rectangle to half the screen? Few games modify the viewport so it should work pretty well.
Yeah, that should be possible. I just didn't look into it much once I had something working.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 4:23 pm
by Valez
cybereality wrote:@Valez: I am rendering at the full resolution (ie 1280x800) and then squishing it toward half the screen. This has the result of a sort of ghetto anti-aliasing.
Ah, thanks. I hoped running the games at 640*800 @ 120 fps would be enough.
Well, I guess only Skyrim will have problems to run with ultra details in 1280*800 @ 120 fps on most machines, but reducing the details a bit
shouldn't be noticeable anyway.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 5:12 pm
by EdZ
cybereality wrote:@Valez: I am rendering at the full resolution (ie 1280x800) and then squishing it toward half the screen. This has the result of a sort of ghetto anti-aliasing.
So you're rendering at 1280x800, but with a double-wide pixel aspect ratio (so each frame looks horizontally stretched if you viewed it in the framebuffer)? Is this just a limitation of the DirectX hook you're using allowing you to modify the FoV, aspect ratio, and camera position, but not framebuffer size? I'm not too hot on the mechanics of graphics rendering, but I am curious.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Fri Nov 23, 2012 10:30 pm
by cybereality
Yeah, basically. I could probably change the frame-buffer size, but I'm not sure its necessary at this point. It could potentially improve performance, so its certainly something I will look into. But its also not broken either, so its not on the top of my list.

Gonna probably work mainly on the head-tracking over this weekend, as that needs the most work. Gonna put the tracking on its own thread, so it doesn't block the rendering and should improve performance overall. Hopefully that will also fix the bug I have on Mirror's Edge and a few other games where the tracking drops the frame-rate to around 10-15FPS. And I have to put in hot-keys for adjusting the tracking while playing (right now the numbers are hard-coded).

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sat Nov 24, 2012 5:29 pm
by RED
New to the site, but love what you're doing here Cyber. Very excited to see how your work progresses. With that said, I stumbled across this today and wondered if it would be of any help to you with Skyrim. This person has quite possibly fixed the shadow problem for you. :O Hope it work with Vireio too!

Edit: A link would help, I suppose. <---LOL http://helixmod.blogspot.com/2012/03/el ... hadow.html

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sat Nov 24, 2012 6:58 pm
by Fredz
I don't think the stereo 3D driver from Cyber will suffer from these shadowing problems since frames are rendered consecutively and not simultaneously. Each frame is rendered independently for each eye, so all the parameters should be correct for the rendering of viewpoint dependent shaders.

It could suffer from objects rendered at the wrong depth by the underlying engine though, like floating character names, billboards, lights, waypoint markers, crosshairs, mouse cursors or skyboxes.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sat Nov 24, 2012 11:59 pm
by cybereality
@RED: Thanks man. I will check that out.

@Fredz: That's what I thought too initially, but there are still issues with certain effects. For example, the shadows are messed up in a few games (really bad in Skyrim). To fix this I would have to identify which shaders are used for the shadowing, and then not alter the matrices being feed to them. I think this is what DDD does with "2D" shadows. I just haven't spent too much time looking into it.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sun Nov 25, 2012 12:22 am
by eqzitara1
There is a better way to fix shadows now for 3d vision users. The helix fix is mostly for other issues now (water,skybox,hud).

3D vision users just do. bDeferredShadows=0
which changes shadows back to a prior rendering method that is compatible with 3D vision.

I doubt he has a problem with it but if your interested in using his debugger ask Helix. It would make finding shaders you need extremely easy(no way I could find shaders by just sifting through them), I can find the shader in control of shadows in like 1-10mins depending on the game using it. His tool wrapper is available to the public but Id still ask regardless(since this is technically a product).

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Tue Nov 27, 2012 10:26 pm
by 3dvison
I did a quick search, I know someone asked but I am not sure if Cyber said Yes or No...
Anyone know if Crysis/Farcry will be working with Vireio Perception on release ?

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Wed Nov 28, 2012 7:47 am
by DolAtoR
I have to second 3dvision's request. As Crysis still seems to be THE benchmark for how well games can look, I think that an integration in your driver is a requirement. Being on a realistic, tropical island should be a great selling point for your driver, Cyber.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Wed Nov 28, 2012 9:51 am
by brantlew
@cyber: I guess this means you can push your release out as well and get more game support by March.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Wed Nov 28, 2012 10:21 pm
by cybereality
Yes. The Rift delay certainly gives me more time to breathe.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Thu Nov 29, 2012 1:41 am
by 3dvison
cybereality wrote:Yes. The Rift delay certainly gives me more time to breathe.
So will you be breathing in the wide open tropical expanses of Far Cry 3...?

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sat Dec 01, 2012 3:37 am
by mAchiNE
Miasmata could be a good game for the rift, it's an indie game that looks to be a reasonably slow paced first person survival/adventure game where you basically explore and solve problems to win the game, check it out:
http://store.steampowered.com/app/223510?snr=1_41_4__42

Game description:
"You play as Robert Hughes, a plague-stricken scientist on a journey to discover a cure. Your adventure begins on the shores of a remote and mysterious island."

Plus its cheap to buy too ;)

Also I agree Far Cry 3 does look good, Rift support for it would be nice :)

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sat Dec 08, 2012 4:58 pm
by 3dvison
Hey Cyber,
For people building the DIY RIFT with a 7"inch panel, will your driver be able to shift the images inward a little bit to adjust for the 7"inch panels wider IPD eye spacing ?

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sat Dec 08, 2012 10:27 pm
by cybereality
Yes. You can shift the image.

Re: Introducing Vireio Perception (3D Driver for Oculus Rift

Posted: Sat Dec 08, 2012 11:03 pm
by 3dvison
cybereality wrote:Yes. You can shift the image.
Thats good to hear Cyber.
Makes it safer to go with the 7"inch screen for a DIY. Do you have an opinion on the 5.6" vs 7" screen for a DIY RIFT ?
Also, do you have an ETA on a december release for Vireio Perception ?