Thread Rating:
  • 2 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Gsdx-3D: Stereoscopy Patch
Original post: https://forums.geforce.com/default/topic...2/#5109372


Download link: https://s3.amazonaws.com/masterotaku/PCS...7-03-17.7z
Screenshot of Kingdom Hearts 2 (using 8192x5760 internal resolution. Not playable for me but good for image quality):

[Image: soracomplete2.jpg]


Instructions for the first use:

1- Get the 3D plugin from here (it's outdated by 9 months at the moment of this post, so no mipmapping feature): http://forums.pcsx2.net/Thread-Gsdx-3D-S...#pid522990

2- Place the dll you want in the PCSX2 "plugins" folder (I use "GSdx32-AVX2-3D.dll").

3- Download my mod and unzip it with 7z in the PCSX2 root folder (but before that, make sure your current renderer is the DX11 hardware renderer to avoid crashes).

4- Select the plugin in the plugins list:

[Image: pcsx23dplugin.png]

5- Select the option to start in fullscreen (which is borderless fullscreen and won't trigger 3D Vision as is):

[Image: pcsx23dplugin2.png]

6- Open the graphics configuration and make sure you are using the DX11 hardware renderer and the "Half-OU Top/Bottom" stereo mode:

[Image: pcsx23dplugin3.png]

7- Everything is ready. Close the emulator just in case, use Nvidia DSR with the 4x setting at the desktop (use 3840x2160 in a 1920x1080 monitor, for example), open the emulator, and open and close the GSdx settings window and then boot a game.

8- After the game has booted (it should be in borderless fullscreen now), press alt+enter to enable exclusive fullscreen, which should trigger 3D Vision.

9- The game should be in 3D now! Use the "+" and "-" numpad keys to change the convergence (it's the PCSX2 native method). There are some customizations enabled by default.



PCSX2 hotkeys:

- Numpad "+" and "-": increase and decrease convergence respectively. It affects the right view, while the left view remains the same as in 2D (good for fps games when you need to aim).
- "Shift" and "+" / "Shift" and "-": increase or decrease depth natively in PCSX2. Leave that setting (stereo_lval) at 0 unless you want to experiment.

3Dmigoto hotkeys and custom settings:

- Emitter wheel or your own separation hotkey: place the "base" depth point between screen depth and full depth. By default is at full depth. It solves problems like screen depth skyboxes in Ratchet and Clank 3, but HUD stuff tends to be at screen depth.
- "z": toggles the previous setting, switching it off or on (it's on by default).
- "x": aspect ratio toggle. The first keypress will force 4:3, and the second will force 16:9. By default nothing is forced (third setting). If the aspect ratio of your resolution is 16:9, the 4:3 mode will be centered (otherwise, at the left). If your aspect ratio is 4:3, the 16:9 mode will be centered and extra geometry will disappear at the sides (I was too lazy to correct it vertically instead).
- "c": toggles the cropping of left and right borders (portions of the screen that can only be seen with one eye). By default, borders are cropped, as seen in the first screenshot I posted.
- "F11": toggles the "top and bottom" to 3D Vision image calculations (i.e., it disables 3D for you). By default, it's in 3D Vision mode. No side by side option this time, because I'm too lazy to recalculate all the math!


That's all. I hope you like it.


Apart from that stuff, I discovered that most games share one or two geometry vertex shaders. Doing this correction (I added the "r2" register to imitate "r1" and made the shader choose it instead of "r0" for the left view)...:

Code:
cbuffer cb0 : register(b0)
{
float4 VertexScale : packoffset(c0);
float4 VertexOffset : packoffset(c1);
float2 TextureScale : packoffset(c2);
float2 TmpScale : packoffset(c2.z);
float StereoW : packoffset(c3);
float StereoL : packoffset(c3.y);
float StereoPH : packoffset(c3.z);
float StereoTH : packoffset(c3.w);
}



// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
float2 v0 : TEXCOORD0,
float4 v1 : COLOR0,
float v2 : TEXCOORD1,
uint2 v3 : POSITION0,
uint v4 : POSITION1,
uint2 v5 : TEXCOORD2,
float4 v6 : COLOR1,
out float4 o0 : SV_Position0,
out float4 o1 : TEXCOORD0,
out float4 o2 : COLOR0)
{
float4 r0,r1,r2;
uint4 bitmask, uiDest;
float4 fDest;

float4 stereo= StereoParams.Load(0);

r0.xy = (uint2)v3.xy;
r0.z = (uint)v4.x;
r0.xyz = float3(-0.0500000007,-0.0500000007,-0) + r0.xyz;
r0.w = 0;
r0.xyzw = r0.xyzw * VertexScale.xyzw + -VertexOffset.xyzw;
r1.x = StereoL + r0.z;
//r1.x = StereoW * r1.x + r0.x;
r1.x = -stereo.y * r1.x + r0.x;
r2.x = r0.z;
r2.x = +stereo.y * r2.x + r0.x;
r1.y = cmp(StereoW != 0.000000);
o0.x = r1.y ? r1.x : r2.x;
o0.yzw = r0.yzw;
o1.xyw = float3(0,0,1);
o1.z = v6.x;
o2.xyzw = v1.xyzw;
return;
}


... I could make convergence configurable with the Nvidia convergence hotkey, aaaaaaand modifying both views instead of just the right one!

Doing this has its drawbacks, and I couldn't find a way to stereoize shaders dumped with the NO 3D GSdx plugin (everything moves to the same side in both views).
CPU: Intel Core i7 7700k @ 5GHz
GPU: Gainward GTX 1080 GLH
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: G.Skill Trident Z RGB DDR4 3866MHz 16GB CL18
Monitor: Dell S2716DG
OS: Windows 10
Reply

Sponsored links

I have Windows 10 now, and my trick doesn't work anymore Sad. The emulator doesn't enter the exclusive fullscreen state (with neither the old Kaldaien's DLL or the newest one). If PCSX2 had an exclusive fullscreen mode, like in the r1888 days (I know because I did the CPU benchmark recenty and it triggered 3D Vision when I pressed alt+enter), I wouldn't need to provoke glitches with an external DLL.

I hope I can find a new glitch to make it work on Windows 10.
CPU: Intel Core i7 7700k @ 5GHz
GPU: Gainward GTX 1080 GLH
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: G.Skill Trident Z RGB DDR4 3866MHz 16GB CL18
Monitor: Dell S2716DG
OS: Windows 10
Reply
Hey, how do you get this working with the CV1?

I've been searching around and can only find information on how to get it working with the DK1 and DK2.

Specifically, I need to know how to make it display in the rift.
Reply
(05-16-2017, 07:03 PM)tempestmichael Wrote: Hey, how do you get this working with the CV1?

I've been searching around and can only find information on how to get it working with the DK1 and DK2.

Specifically, I need to know how to make it display in the rift.

I have found this: http://vrfix.wikia.com/wiki/PCSX2

I don't know if you knew about that or if it will work.
CPU: Intel Core i7 7700k @ 5GHz
GPU: Gainward GTX 1080 GLH
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: G.Skill Trident Z RGB DDR4 3866MHz 16GB CL18
Monitor: Dell S2716DG
OS: Windows 10
Reply
(05-17-2017, 11:31 PM)masterotaku Wrote: I have found this: http://vrfix.wikia.com/wiki/PCSX2

I don't know if you knew about that or if it will work.

Sadly, it says the oculus overlay program only works with the DK1 and DK2.

I might give it a try anyways tonight just to make sure though.
Reply




Users browsing this thread: 1 Guest(s)