Development thread (Grandfathered; OLD Vireio Structure)

The place for all discussion of the Oculus Rift compatible open source 3D drivers.
Post Reply
Baristan6
Cross Eyed!
Posts: 111
Joined: Sat Dec 15, 2012 11:33 am

Re: Development thread

Post by Baristan6 »

ChrisJD wrote:What situation was causing the crash in StereoView initialization that required the addition of the delay? I've currently got it removed as it doesn't seem to make any difference and EndScene seemed a weird place for the init of StereoView to be happening.
Vireio not releasing resources was causing the crash. Some games create multiple d3ddevice while loading, and destroy all but one. Leaving the delay in will stop Vireio from creating/releasing textures and surfaces for the unused devices, but is no longer needed to stop the game from crashing.
ChrisJD
Cross Eyed!
Posts: 176
Joined: Mon Feb 25, 2013 10:29 pm
Location: NZ

Re: Development thread

Post by ChrisJD »

Baristan6 wrote:Vireio not releasing resources was causing the crash. Some games create multiple d3ddevice while loading, and destroy all but one. Leaving the delay in will stop Vireio from creating/releasing textures and surfaces for the unused devices, but is no longer needed to stop the game from crashing.
If a game is creating multiple D3D devices and not using them then the EndScene on the unused devices should never be called anyway, rendering the delay unnecessary.

If the EndScene is being called on a device then the application is attempting to render something even if it's an empty scene. So the device is being used to some extent and I'd argue that it is probably better to have the StereoView completely initialised either from the beginning (preferable imo) or at least as soon as the first call to it is attempted.

I'd argue that it's better to initialize when the device is created before anything potentially starts using it. Even if the device is thrown away without actually being used the creation of a couple of textures and there release isn't a problem especially as it is happening once at creation and not during the render loop.

The advantage of initializing at the start and ignoring the fact you might get a couple of extra texture allocation and deallocations is that it makes far more logical sense and you know that the whole device in a consistent fully initialized state. It also removes the texture creation from the render loop.

Philpax wrote:However, it's quite likely that appropriate initialization time is application-dependent;
I disagree. Imo, the appropriate time to have the DeviceProxy fully initialized is always before the device is returned to the application. At that point it can potentially be used by the application for anything and we shouldn't make any assumptions about how the application is going to use the device. In order to do that the device should be completely initialized, components included.

Immediately before returning the device to the application is the only time you can be sure the application hasn't tried to use or make any changes to the device. This is especially important when we add in the need for surfaces to be duplicated for stereo. It would be a nightmare to have every overridden method check that appropriate stereo surfaces are available across render surfaces, depthstencils, etc. It's much simpler to have these all correctly initiated at device creation and maintain them as they are changed.
User avatar
shiva
Cross Eyed!
Posts: 125
Joined: Wed Jan 16, 2013 11:29 am

Re: Development thread

Post by shiva »

Philpax wrote:
shiva wrote:
Philpax wrote: In regards to the proxy DLL request, I'll look into it and see if I can do it - shouldn't be too difficult :D
awesoooome \o/
yeah, I had a feeling it wasn't that much of a hassle but my coding years are a thing of the loooong past :mrgreen:
I tried decompiling enb's dll to see how the proxy is inserted so I could insert it in vireio and recompile it, but didn't get far (3 windows errors, one crash, then I was like f*ck that sh*t I suck at coding anyways and grabbed a beer instead)
Done. As you said, it wasn't very difficult; just ran into a few strange issues along the way. Baristan6 should merge my changes into the main branch soon - when he does, simply add proxy_enabled="1", and proxy_dll="your/dll/path/here/some_d3d9.dll" to your game profile in profiles.xml, and it should all work. :)
Thanks alot man!!! This will allow us to optimize Skyrim with FPS/GPU optimizer mods, and get a little closer to the ideal setting for the Rift. Can't wait to test it ;)
Image
Arni1984
One Eyed Hopeful
Posts: 26
Joined: Mon Jan 21, 2013 10:38 am

Re: Development thread

Post by Arni1984 »

shiva wrote:Baristan6, I know you have much bigger fishes to fry :mrgreen: but do you think it would be possible to modify Vireio's d3d9.dll so that it calls an .ini file with [PROXY] setting that would allow to load another dll ?

I went from around 40 to 60-65FPS in Vireio + Skyrim ENB just by playing around with mods, if I could add one more I know we could get even more FPS out of this, or maybe even play in high/ultra with constant 60FPS
Image

Also I think this would have the following benefits:
-more possibilities for other games modding (Dishonored for ex) in Vireio
-one more loadable dll means one more FPS-specialized mod could be added to Skyrim, which means more FPS while still enjoying the updated textures and lighting effects
-possible to load Vireio's d3d9.dll first, which means less risk of breaking the 3D than when loading ENB first, then Vireio
-alot of people have to mess with the system 32 dll to get Vireio working with ENB without CTDing, maybe loading Vireio first would also resolve this

That would be very cool :)
Guys! Say! What is the vertical fov is used in games through VIREIO? Looking at the screenshots - much less than in the TEAM FORTRESS 2 and other DEMOversion OCULUS ...
User avatar
Philpax
One Eyed Hopeful
Posts: 19
Joined: Mon Apr 29, 2013 10:40 pm

Re: Development thread

Post by Philpax »

Arni1984 wrote:Guys! Say! What is the vertical fov is used in games through VIREIO? Looking at the screenshots - much less than in the TEAM FORTRESS 2 and other DEMOversion OCULUS ...
It depends on the actual game. In most games, you can force the FOV to 110 degrees; I'm not sure what the FOV was in that screenshot.
ChrisJD
Cross Eyed!
Posts: 176
Joined: Mon Feb 25, 2013 10:29 pm
Location: NZ

Re: Development thread

Post by ChrisJD »

Another question. What is the reason for not using the underlying devices AddRef and Release methods? Couldn't the following

Code: Select all

BaseDirect3DDevice9::~BaseDirect3DDevice9()
{
	if(m_pDevice)
		m_pDevice->Release();
}

ULONG WINAPI BaseDirect3DDevice9::AddRef()
{
	return ++m_nRefCount;
}

ULONG WINAPI BaseDirect3DDevice9::Release()
{
	if(--m_nRefCount == 0)
	{
		delete this;
		return 0;
	}

	return m_nRefCount;
}
be replaced with

Code: Select all

ULONG WINAPI BaseDirect3DDevice9::AddRef()
{
	return m_pDevice->AddRef();
}

ULONG WINAPI BaseDirect3DDevice9::Release()
{
	ULONG refcount = m_pDevice->Release();

	if (refcount <= 0) {
		delete this;
	}
	return refcount;
}
Am I missing something?

I ask as I'm sitting here trying to decide the best way to prevent the circular AddRefs/Releases that would occur between Textures and their Surfaces. (My testing shows that increasing the ref count on one increases it on the other and vice versa.) Then I thought, if I just pass these calls through to the actual Textures and Surfaces in rather than trying to count them myself the problem goes away as the underlying D3D objects would be handling it.


Edit: Actually I think I see.

The destruction would never end up occurring because lots of things use objects with GetDevice methods and those methods will all be using the actual device rather that the proxy. So, if the device release on the proxy wasn't the one that reduced the ref count to 0 the proxy device would never get destroyed.

So I should be safe to just call through on the Texture and Surface proxies because they are only accessed through the proxies. And in fact, it should be safe on the device once I have everything wrapped correctly because everything needs to be wrapped to prevent anything being created with the actual device (because anything created with the actual device wouldn't be wrapped and everything needs to be wrapped.)

Answering my own question ftw? Helps to write things down sometimes.

Edit2: Still can't use underlying counting because addref on the underlying surface increses the count on the underlying texture and there is no good way to read the current count (could add then release but that's pretty nasty.)

Edit3: Further investigation indicates that the Texture contains Surface relationship isn't cyclic as I initially thought. They share a common reference count. Much simpler to implement.
User avatar
Philpax
One Eyed Hopeful
Posts: 19
Joined: Mon Apr 29, 2013 10:40 pm

Re: Development thread

Post by Philpax »

Hi everyone!

So as some of you know, Baristan6 is working on a DX11 version of Vireio. His efforts inspired me to work on a DX10 version; four days later (and a lot of learning :D), I present a few screenshots of Just Cause 2 in first-person, so that everyone can see what I have so far.

Image
Image
Image
Image

There are a couple caveats:
  • No real stereoscopy: I haven't applied a translation to the second image; any appearance of stereoscopy is merely from the frame delay.
  • Everything is broken: Almost anything unrelated to this specific use-case (Just Cause 2, Oculus Rift mode) is completely broken. I tore apart the code in order to make it work properly, and mending it will take a while :lol:
  • Just Cause 2 only: JC2 is the only single-player DX10 game I have (I don't have many other DX10 games, and the rest are all multi-player), so I wrote the code with JC2 in mind. I'd like to increase its support, but I don't have anything else to test it with.
  • Extremely crash-prone: It randomly crashes on start-up, which is a bug I want to find and eliminate ASAP. It also crashes with JC2's settings as high as they go, which I suspect is an issue with poor resource management. That's also something I want to investigate.
As you can see, this is more of a proof of concept than something remotely release-worthy, but I wanted to give you all a teaser of what's possible. :) That being said, I'll keep working on this!
User avatar
OutatimeTV
One Eyed Hopeful
Posts: 41
Joined: Wed Mar 20, 2013 5:00 pm
Location: Germany

Re: Development thread

Post by OutatimeTV »

Man this is great news!! Excellent work. I have bought Just Cause 2 a few days ago (Steam download for about $5) and I think it's a perfect game for the Rift.

Thank you for working on the driver. :D
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: Development thread

Post by cybereality »

Awesome! Glad to see there is development going on.
Endothermic
Binocular Vision CONFIRMED!
Posts: 284
Joined: Tue Jun 26, 2012 2:50 am

Re: Development thread

Post by Endothermic »

Still can't get any tracking working, and idea's?

Did a reformat, all windows updates, copied the dlls to all the games folders, running everything as admin, still no tracking in any game with any of the released builds. Finally got the rift coaster to install and tracking is fine in that so that's the oculus demos, unit demos and a udk demo that tracking works fine in, just anything with vireio it won't :?
User avatar
baggyg
Vireio Perception Developer
Vireio Perception Developer
Posts: 491
Joined: Sat May 19, 2012 5:20 am
Location: BB, Slovakia

Re: Development thread

Post by baggyg »

Endothermic wrote:Still can't get any tracking working, and idea's?

Did a reformat, all windows updates, copied the dlls to all the games folders, running everything as admin, still no tracking in any game with any of the released builds. Finally got the rift coaster to install and tracking is fine in that so that's the oculus demos, unit demos and a udk demo that tracking works fine in, just anything with vireio it won't :?
I presume you get the side by side screen meaning the dll hook is working....

Cyber mentioned a little while ago about the logitech mouse. Have you tried completely uninstalling this and trying another mouse?
Endothermic
Binocular Vision CONFIRMED!
Posts: 284
Joined: Tue Jun 26, 2012 2:50 am

Re: Development thread

Post by Endothermic »

Yeah stereo and warping works fine it's just no tracking.

It's only a cheapo logitech mouse, doesn't use a logitech driver just the standard microsoft HID mouse driver. Uninstalled it, plugged in cheap gigabyte mouse and installed same driver, still no tracking.
ChrisJD
Cross Eyed!
Posts: 176
Joined: Mon Feb 25, 2013 10:29 pm
Location: NZ

Re: Development thread

Post by ChrisJD »

Was about to go to sleep when I decided to check and see if I had enough stuff implemented to run a game...

Image

No seperation, convergence or distortion and atrocious FPS (5-10) but both sides are being rendered every frame. I'll have a look at why it's running so slowly tomorrow.
mgood
Two Eyed Hopeful
Posts: 80
Joined: Sun Mar 10, 2013 9:21 pm

Re: Development thread

Post by mgood »

Woah. That's impressive even so.
nickanderson
One Eyed Hopeful
Posts: 2
Joined: Fri Apr 12, 2013 11:40 pm

Re: Development thread

Post by nickanderson »

Does far cry 3 work? I saw a message about the profile being there a week or so ago, but now I dont see that message.
User avatar
Neil
3D Angel Eyes (Moderator)
Posts: 6882
Joined: Wed Dec 31, 1969 6:00 pm
Contact:

Re: Development thread

Post by Neil »

nickanderson wrote:Does far cry 3 work? I saw a message about the profile being there a week or so ago, but now I dont see that message.
Work in progress. It was more test material for something else we are working on.

Regards,
Neil
ChrisJD
Cross Eyed!
Posts: 176
Joined: Mon Feb 25, 2013 10:29 pm
Location: NZ

Re: Development thread

Post by ChrisJD »

ChrisJD wrote:No seperation, convergence or distortion and atrocious FPS (5-10) but both sides are being rendered every frame. I'll have a look at why it's running so slowly tomorrow.
Switched to release build and made one optimisation to fix the most obviously terrible bottleneck and I'm now around 25 fps (Around 40% of my non-stereo performance in the same situation). I'll finish the rest of the directx function modifications and interface wrapping before I do any more optimisation.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: Development thread

Post by cybereality »

40% of mono performance isn't too bad. Even with the Nvidia or DDD drivers, there are games with similar drops.
AdaQmmm
One Eyed Hopeful
Posts: 20
Joined: Fri Apr 19, 2013 10:16 pm

Re: Development thread

Post by AdaQmmm »

Any time i attempt to open a game with Vireio loaded, it automatically crashes, could it be an issue with the DLL's?
User avatar
Neil
3D Angel Eyes (Moderator)
Posts: 6882
Joined: Wed Dec 31, 1969 6:00 pm
Contact:

Re: Development thread

Post by Neil »

cybereality wrote:40% of mono performance isn't too bad. Even with the Nvidia or DDD drivers, there are games with similar drops.
We can do better! Onwards and upwards as they say! ;)

Regards,
Neil
User avatar
baggyg
Vireio Perception Developer
Vireio Perception Developer
Posts: 491
Joined: Sat May 19, 2012 5:20 am
Location: BB, Slovakia

Re: Development thread

Post by baggyg »

AdaQmmm wrote:Any time i attempt to open a game with Vireio loaded, it automatically crashes, could it be an issue with the DLL's?
As with any piece of software testing, the more detail you can give the better. I.e.
Which version are you trying?
Have you tried the previous versions?
Which game are you trying to launch?
Are you running both the game and perception as an administrator?
What OS do you have?
Have you tried putting the DLLs into the application folder?
What do you mean by crash? CTD?
RED
One Eyed Hopeful
Posts: 20
Joined: Fri Nov 23, 2012 9:35 pm

Re: Development thread

Post by RED »

About Just Cause 2. I NEED to surf on top of the giant cargo plane with a rift on my face!! Very excited to see how the JC2 work comes along. This is the ultimate game for the Rift. It's got everything. Driving.. skydiving.. piloting... swimming... Grappling hooks.. parachuting.. Boating.. Shooting.. And enough space to just get lost in the jungle, freefall down the side of a mountain while skimming the tree tops (wing suit-style) or climb one of the highest peaks at your leisure while taking in the sights. One of the largest game environments and most impressive game engines I've ever seen. (if you haven't played JC2 you will be absolutely blown away by the size/scale of the game). If support for this game becomes polished at any point, then it's been nice knowing you, real world.
ChrisJD
Cross Eyed!
Posts: 176
Joined: Mon Feb 25, 2013 10:29 pm
Location: NZ

Re: Development thread

Post by ChrisJD »

cybereality wrote:40% of mono performance isn't too bad. Even with the Nvidia or DDD drivers, there are games with similar drops.
Good to know, I had assumed the Nvidia driver would always manage at least 50%. But I suppose it depends on where the game is bottlenecked.

I haven't used any kind of 3D on PC since the shutter glasses I had for my TNT2.
User avatar
Philpax
One Eyed Hopeful
Posts: 19
Joined: Mon Apr 29, 2013 10:40 pm

Re: Development thread

Post by Philpax »

RED wrote:About Just Cause 2. I NEED to surf on top of the giant cargo plane with a rift on my face!! Very excited to see how the JC2 work comes along. This is the ultimate game for the Rift. It's got everything. Driving.. skydiving.. piloting... swimming... Grappling hooks.. parachuting.. Boating.. Shooting.. And enough space to just get lost in the jungle, freefall down the side of a mountain while skimming the tree tops (wing suit-style) or climb one of the highest peaks at your leisure while taking in the sights. One of the largest game environments and most impressive game engines I've ever seen. (if you haven't played JC2 you will be absolutely blown away by the size/scale of the game). If support for this game becomes polished at any point, then it's been nice knowing you, real world.
Despite not having a Rift of my own (waiting for DK2), this is exactly why I chose to work on it. I'm not sure when it'll be ready (still investigating stereo 3D), but I'd definitely like to see people's reactions to it :D
User avatar
kt9mango
One Eyed Hopeful
Posts: 7
Joined: Fri May 10, 2013 5:10 am

Re: Development thread

Post by kt9mango »

I'm trying to get the rift and VP working with Evochron Mercenary but its not going to well at the moment. I also want to try Freelancer as the Space Sims seem to work really well with the rift.
AdaQmmm
One Eyed Hopeful
Posts: 20
Joined: Fri Apr 19, 2013 10:16 pm

Re: Development thread

Post by AdaQmmm »

baggyg wrote:
AdaQmmm wrote:Any time i attempt to open a game with Vireio loaded, it automatically crashes, could it be an issue with the DLL's?
As with any piece of software testing, the more detail you can give the better. I.e.
Which version are you trying?
Have you tried the previous versions?
Which game are you trying to launch?
Are you running both the game and perception as an administrator?
What OS do you have?
Have you tried putting the DLLs into the application folder?
What do you mean by crash? CTD?
Sorry i should be more specific! :)
I'm using version 1.0.4, and the previous versions were working for me.
I've tried L4D2, Portal, Portal 2, Dead Rising, most of the ones on the list.
Both games are run in admin
I'm running Win7 64bit.
I've put the DLLS into the application folder
The crash is basically the game booting up but then before the valve head comes up it just goes back to the desktop :\
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: Development thread

Post by cybereality »

AdaQmmm
One Eyed Hopeful
Posts: 20
Joined: Fri Apr 19, 2013 10:16 pm

Re: Development thread

Post by AdaQmmm »

Thanks Cyberreality, for some reason that beta version didnt work last night, but here we are today :)
Now all i need is my OR and i'm set ;)
bizarrobrian
One Eyed Hopeful
Posts: 35
Joined: Wed Mar 13, 2013 9:54 pm

Re: Development thread

Post by bizarrobrian »

Is there a debug or log to file option in Vireio? I'm trying to get System Shock 2 working and can't get the head tracking working. Also, I would love to see exactly why Skyrim crashes after 4 seconds when running an ENB.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: Development thread

Post by cybereality »

If you use DebugView ( http://technet.microsoft.com/en-us/sysi ... 96647.aspx ) you can see some messages from the driver, but I don't know how helpful they will be.
ChrisJD
Cross Eyed!
Posts: 176
Joined: Mon Feb 25, 2013 10:29 pm
Location: NZ

Re: Development thread

Post by ChrisJD »

Simultaneous rendering (DX9) update:

DR2's one of those weird games where I get better performance at 1080p than at lower resolution. I switched up from 1280x800 and went from the 14fps minimum (after finishing wrapping the whole of Direct3D9) I was getting up a 24fps minimum. It's still not great but I'm getting much better performance on the other two titles that I'm actually able to start at the moment.

The main reason for using DR2 so much is that it has been an excellent test game to see when changes are actually fixing stuff. This is due to the fact that it is surprisingly robust when it comes to weird Direct3D behaviour coming from the proxy, unlike a lot of other games which never even make it to a menu. It has helped me to get to the point where other games are starting to at least start. Just today I ran out of rendering glitches to fix in it. With the last fix Arkham City stopped randomly crashing and the most annoying graphical issue in Aaaaaaa was fixed as well.

Batman AC is now mostly running ('x' vision mode breaks the view while it's on). It's also doing it at a good frame rate. I'm getting 50-60fps with; vsync on, FXAA on low, DX11 off, everything else high except motion blur and AO which are off AND that's rendering both sides at 1920x1080 before smooshing them into side by side. It is a fantastically optimised game to start with though, I've always been impressed by the level of detail and smoothness of gameplay in the Arkham games.

Aaaaaaa is a way simpler game graphically so the performance is obviously even better. With everything on in that I'm locked at 60fps with vsync @ 1080p.


I was concerned about the viability of simultaneously rendering both eyes when I first got DR2 working, but the AC performance has me convinced that it is going to work out. There is still a lot to do but simultaneous rendering in DX9 is definitely more than a hopeful idea for Vireio, it's on its way.


I'm still working on core stuff so the 3D isn't yet working generally but I did a test with 3D back on for the basic D3D view transforms which makes 3D work in AAaaaaa. It makes some of the text behave strangely so that's another problem at add to the list. The screenshots below work for parallel viewing (well the small one does anyway). Convergence and separation aren't properly set up because I don't have any way to actually view the 3D effect while in-game but the small version looks OK (3D at least) to me when I "magic-eye" it.

Image shrunk from 1080p.

Image
Image
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: Development thread

Post by cybereality »

Great work man! Sounds very promising.
Ryuuken24
Cross Eyed!
Posts: 117
Joined: Fri May 17, 2013 6:49 am

Re: Development thread

Post by Ryuuken24 »

Bug reporting! Perception 1.0.5 rc1. Everytime I try the Rift Cropped with Left4dead, the game starts up, bald guy logo then crash to the desktop. The normal Rift version works, well sorta, can't see any menus, or ingame status but, meh, I appreciate the work being done. Thanks!
User avatar
Unclebob
Cross Eyed!
Posts: 173
Joined: Wed Mar 07, 2007 3:22 am
Location: Brighton UK

Re: Development thread

Post by Unclebob »

Philpax wrote:Hi everyone!

So as some of you know, Baristan6 is working on a DX11 version of Vireio. His efforts inspired me to work on a DX10 version; four days later (and a lot of learning :D), I present a few screenshots of Just Cause 2 in first-person, so that everyone can see what I have so far.

Image
Image
Image
Image

There are a couple caveats:
  • No real stereoscopy: I haven't applied a translation to the second image; any appearance of stereoscopy is merely from the frame delay.
  • Everything is broken: Almost anything unrelated to this specific use-case (Just Cause 2, Oculus Rift mode) is completely broken. I tore apart the code in order to make it work properly, and mending it will take a while :lol:
  • Just Cause 2 only: JC2 is the only single-player DX10 game I have (I don't have many other DX10 games, and the rest are all multi-player), so I wrote the code with JC2 in mind. I'd like to increase its support, but I don't have anything else to test it with.
  • Extremely crash-prone: It randomly crashes on start-up, which is a bug I want to find and eliminate ASAP. It also crashes with JC2's settings as high as they go, which I suspect is an issue with poor resource management. That's also something I want to investigate.
As you can see, this is more of a proof of concept than something remotely release-worthy, but I wanted to give you all a teaser of what's possible. :) That being said, I'll keep working on this!
Just saying

http://getgamesgo.com/product/just-cause-2

£2.49 bargain price - hope thats ok Niel ;)
UB

Don't try this at home folks....
ChrisJD
Cross Eyed!
Posts: 176
Joined: Mon Feb 25, 2013 10:29 pm
Location: NZ

Re: Development thread

Post by ChrisJD »

I implemented the stuff needed to fix the flickering of text in Aaaaa over the last week. That also happened to fix the models being torn to pieces in Borderlands 2 (although it still only renders frames occasionally if you load into the game).

Today I got the 3D rendering working for the UT3 proxy (well, as much as it does with alternate frame rendering) . Unfortunately, most of my UT3 based games still won't load at the moment due to, as yet unknown reasons. inMomentum does however, so I used that to verify the 3D is working as expected. The usual, uncalibrated 3D disclaimers apply.

Image
Image
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: Development thread

Post by cybereality »

Looking good!
ChrisJD
Cross Eyed!
Posts: 176
Joined: Mon Feb 25, 2013 10:29 pm
Location: NZ

Re: Development thread

Post by ChrisJD »

More simultaneous rendering progress. I fixed enough stuff to get source based games into something close to a workable state and tested against a bunch of other games. Below are my notes from that testing. Rift warp also works again but I don't like looking at it on my monitor so screenshots remain side-by-side.

General:
Everything with a HUD has the usual issues with said HUD so I don't write "HUD issues" on everything.
The short company intro videos and logos at the start of some games don't render (oh noes).
Most of my testing is super quick, I just note the obvious errors in a couple of minutes of gameplay, so there are almost certainly more issues.

"Mono" means the same image for both eyes with each eye being rendered independently every frame (not a single render being copied to both sides). If there are any issues at this stage it's due to Vireio's Direct3D wrapping code not providing the same behavior that Direct3D normally does. It's best to deal with these issues before adding stereo issues on top. But that's strictly "do as I say, not as I do" kind of advice ;).

Testing done on an i5 750 with a GTX 660 @ 1920x1080.


"Working" in Stereo

AaAaAA - A Reckless Disregard
inMomentum


Current State: Stereo, vsync on solid 60fps


Mirrors Edge

Current State: Stereo (some shadow issues + something with the water in the background of the menu). With v-sync on solid 60fps


Half Life 2 (some shadow and light flicker sometimes, issues due to duplicating render targets that shouldn't be duplicated)
Left 4 Dead / Left 4 Dead 2 (flashlight and shadows cast by flashlight are glitchy, friendly player outlines stretch across the screen sometimes)
Portal / Portal 2
Dear Esther
(reflections on water surface flicker on and off)
(and probably other source games but these are the only ones I have installed at the moment)

Current State: Functioning in Stereo. Minimum of 80 fps with v-sync off in HL2. With v-sync on in L4D2 fps was solidly pegged to 60fps. Portal 2 90fps+ with high everything + 4xCSAA



"Working" in Mono

Orcs Must Die 2
Psychonauts
Quantum Conundrum


Current State: Mono. With vsync on, solid 60fps no obvious issues in my brief tests.


Borderlands

Current State: Functioning in mono to same level as the released version of Vireio (some glitches around HUD text). With v-sync on solid 60fps.


Metro2033

Current State: Mono, serious flickering glitches that I'm assuming are related to shadows/lighting. Only around 20-30fps.


Dirt 2
AaAaAA!!! for the Awesom


Current State: Mono, holding 60+fps. Serious (annoying enough you wouldn't want to play) shadow/lighting flicker problems.



Can get into game but the issues are so bad you can't do anything:

Borderlands 2

Current State: Renders for a bit, stops for a bit, renders again for a bit.


The Ball

Current State: View stops updating, shift tab for steam overlay starts things moving again. Right click ball pull locks updating until released. Same issue as Borderlands 2?


Payday The Heist
Deus Ex: HR
Slender - The Eight Pages
Rochard (and most other Unity based games it appears)


Current State: Can load up and start a game. In game there are a lot of serious issues with one view rendering much less stuff than the other.


War Thunder

Current State: Can get in game by using dlls only (perception app not running). Lots of severe graphical issues and terrible frame rate.



Can't even get past menus:

Arma 2 - Crash when 3d background appears in main menu.
Skyrim - Crash on selecting continue game from main menu.
Fallout 3 - Crash after the new game intro video. I know why it's crashing and I know exactly where it's crashing. Unfortunately I can't figure out how it's getting the unwrapped surface that is the cause.
Natural Selection 2 - I know the where, the why is odd and I have no idea what the solution is.


I'm testing against a pretty wide range of games, even if they aren't really suited for the Rift. Everything crashes and errors with varying degrees of useful information. If you crash enough games you can usually find one that gives you a far better lead on a problem than the others. So I test a bunch of stuff and use the best crash/error info to find a problem, fix it, test again and see what improves.


Image
Image
Image
Image
Image

Not so good:
Image
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: Development thread

Post by cybereality »

Awesome! Great to see progress being made.
ChrisJD
Cross Eyed!
Posts: 176
Joined: Mon Feb 25, 2013 10:29 pm
Location: NZ

Re: Development thread

Post by ChrisJD »

Figured out what was going on with GRID and rFactor so I can get into them now. GRID seems pretty much flawless in mono so I might try and make an effort to get that going in stereo soonish. rFactor has a flicker issue in the menu (not sure if this is the same as some of the other flicker issues or a new one) and the inside of the cockpit gets overdrawn a lot. Which is fairly annoying, and then if you press the side look keys, extremely annoying. More work required, but I'm super excited for rFactor because it has a special place in my heart from days of old.

Image
Image
User avatar
museumsteve
Binocular Vision CONFIRMED!
Posts: 201
Joined: Tue Mar 26, 2013 5:29 am

Re: Development thread

Post by museumsteve »

ChrisJD wrote: rFactor has a flicker issue in the menu (not sure if this is the same as some of the other flicker issues or a new one) and the inside of the cockpit gets overdrawn a lot. Which is fairly annoying, and then if you press the side look keys, extremely annoying. More work required, but I'm super excited for rFactor because it has a special place in my heart from days of old.
After trying F1 2012 last night with the tridef solution, I tried Game Stock Car 2012 (based on rFactor engine) and it also had a flicker in menus and a very overdrawn cockpit (just for your info more than anything :) )

I'm up to try anything for rFactor stuff..Formula Trucks and GSC2012 are on my current playlist :)
Post Reply

Return to “Development / General Discussion”