elvissteinjr / DesktopPlus

Advanced desktop access for OpenVR
GNU General Public License v3.0
467 stars 29 forks source link

Support for stereoscopic interlacing/interleaving? #70

Open markandgo opened 9 months ago

markandgo commented 9 months ago

Back in the old days, Nvidia used to support a driver for playing games in stereoscopic 3D called 3D Vision. One of the format for encoding was interlacing/interleaving the frames for the left and right eye. Is there any chance of adding support for this? It's an obscure request so I thought I'd try.

elvissteinjr commented 9 months ago

Mind sharing why exactly you'd need support for this kind of 3D? On a technical level I don't see why this wouldn't be possible, though interleaved would likely break some assumptions and halve the effective frame rate... and interlaced sounds like it wouldn't be super complicated either but I fear there might be some nasty detail I'm not thinking of.

I am wondering if this wouldn't be necessary in the first place, however. I vaguely recall there being ways to force 3D Vision to output SBS or OU images... though it's not really supported in current drivers anyways, isn't it? Helix Mod has their geo-11 3D driver which has an SBS output option. I'm not deep enough into the 3D vision stuff to say if it's really as full of a 3D Vision replacement as they say, but it at least worked the brief time I tried it.

Eventually I want to have support for arbitrary shaders, perhaps that might something for that. But in short term I don't think I'll get to add support for this kind of 3D, sorry.

markandgo commented 9 months ago

Hey thanks for your reply! I did get geo-11 working and it works great with desktop+. I'm mostly just asking for this so I could play dx9 games with the helixmod wrapper, which allows custom fixes that people made for 3D games.

The custom shader idea would be great. For the time being, I'm trying to get Reshade to work with one old game so I could deinterlace the 3D into SBS or OU.

Thank you for your great software!

EDIT: I have a found a solution for running dx9 games with 3D Vision. It involves using ShaderGlass to clone the game screen and using Reshade to deinterlace.