What I want to accomplish:
Horizontal SBS 2160x1200, that is 1080x1200 per eye, that is each eye is rendered at 1080x1200.
Using 3dmigoto and running a game (witcher3 in this case) at 2160x1200 gives me SBS where each eye is rendered at 2160x1200 and is then squished to 1080x1200.
I have 2 workarounds at the moment:
workaround 1)
Run the game at 1080x1200 and in d3dx.ini under [Device] set
width=2160
height=1200
This works, but horizontal fidelity is lost due to the image being squished and then stretched (I think). Especially noticeable with text for thin letters like "i".
workaround 2)
Run the game at 2160x2400 (no resolution is forced in [Device])
in 3dvision2sbs.hlsl starting at line 55 I change it to this:
} else if (mode == 2 || mode == 3) { // Side by side
x = int(x);
y = int(y);
x *= 2;
y *= 2;
y -= height / 2;
x1 = 1;
if (mode == 3) { // Swap eyes
The result being SBS rendered at 1080x1200 per eye (2160x1200 total) centered in a 2160x2400 window.
This works and there is no fidelity loss, but there is a heavy performance impact.
Is there a better way I can achieve this?
This is for running the game on my Oculus. I first used workaround1 and got my focus perfect, then having trouble reading in game text I made workaround2. The game looks astounding, just hoping for a less GPU intensive way to make this work. I can run the game at 4k ultra quality, but workaround2 really puts my GPU through its paces.
What I want to accomplish:
Horizontal SBS 2160x1200, that is 1080x1200 per eye, that is each eye is rendered at 1080x1200.
Using 3dmigoto and running a game (witcher3 in this case) at 2160x1200 gives me SBS where each eye is rendered at 2160x1200 and is then squished to 1080x1200.
I have 2 workarounds at the moment:
workaround 1)
Run the game at 1080x1200 and in d3dx.ini under [Device] set
width=2160
height=1200
This works, but horizontal fidelity is lost due to the image being squished and then stretched (I think). Especially noticeable with text for thin letters like "i".
workaround 2)
Run the game at 2160x2400 (no resolution is forced in [Device])
in 3dvision2sbs.hlsl starting at line 55 I change it to this:
} else if (mode == 2 || mode == 3) { // Side by side
x = int(x);
y = int(y);
x *= 2;
y *= 2;
y -= height / 2;
x1 = 1;
if (mode == 3) { // Swap eyes
The result being SBS rendered at 1080x1200 per eye (2160x1200 total) centered in a 2160x2400 window.
This works and there is no fidelity loss, but there is a heavy performance impact.
Is there a better way I can achieve this?
This is for running the game on my Oculus. I first used workaround1 and got my focus perfect, then having trouble reading in game text I made workaround2. The game looks astounding, just hoping for a less GPU intensive way to make this work. I can run the game at 4k ultra quality, but workaround2 really puts my GPU through its paces.
Ideally you should be able to run the game at 1080x1200 exactly.
Full resolution 1080p60 is rendered as ordinary 1080p as seen by the game.
The 3D Vision duplicates the render calls and normally turn it into 1080p120 for 60hz per eye.
This would mean rendering the exact pixels you want and nothing more. Getting it to fully work and producing an SBS full width image to put to the device is probably the trickiest thing to do.
Ideally you should be able to run the game at 1080x1200 exactly.
Full resolution 1080p60 is rendered as ordinary 1080p as seen by the game.
The 3D Vision duplicates the render calls and normally turn it into 1080p120 for 60hz per eye.
This would mean rendering the exact pixels you want and nothing more. Getting it to fully work and producing an SBS full width image to put to the device is probably the trickiest thing to do.
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
Yes that would be ideal.
Feels like something I should be able to do with 3Dmigoto, but the best I got so far is the second workaround I mentioned in my original post. I'm hoping someone can point me in the right direction.
Yes that would be ideal.
Feels like something I should be able to do with 3Dmigoto, but the best I got so far is the second workaround I mentioned in my original post. I'm hoping someone can point me in the right direction.
Horizontal SBS 2160x1200, that is 1080x1200 per eye, that is each eye is rendered at 1080x1200.
Using 3dmigoto and running a game (witcher3 in this case) at 2160x1200 gives me SBS where each eye is rendered at 2160x1200 and is then squished to 1080x1200.
I have 2 workarounds at the moment:
workaround 1)
Run the game at 1080x1200 and in d3dx.ini under [Device] set
width=2160
height=1200
This works, but horizontal fidelity is lost due to the image being squished and then stretched (I think). Especially noticeable with text for thin letters like "i".
workaround 2)
Run the game at 2160x2400 (no resolution is forced in [Device])
in 3dvision2sbs.hlsl starting at line 55 I change it to this:
} else if (mode == 2 || mode == 3) { // Side by side
x = int(x);
y = int(y);
x *= 2;
y *= 2;
y -= height / 2;
x1 = 1;
if (mode == 3) { // Swap eyes
The result being SBS rendered at 1080x1200 per eye (2160x1200 total) centered in a 2160x2400 window.
This works and there is no fidelity loss, but there is a heavy performance impact.
Is there a better way I can achieve this?
This is for running the game on my Oculus. I first used workaround1 and got my focus perfect, then having trouble reading in game text I made workaround2. The game looks astounding, just hoping for a less GPU intensive way to make this work. I can run the game at 4k ultra quality, but workaround2 really puts my GPU through its paces.
Full resolution 1080p60 is rendered as ordinary 1080p as seen by the game.
The 3D Vision duplicates the render calls and normally turn it into 1080p120 for 60hz per eye.
This would mean rendering the exact pixels you want and nothing more. Getting it to fully work and producing an SBS full width image to put to the device is probably the trickiest thing to do.
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
donations: ulfjalmbrant@hotmail.com
Feels like something I should be able to do with 3Dmigoto, but the best I got so far is the second workaround I mentioned in my original post. I'm hoping someone can point me in the right direction.
Thanks to everybody using my assembler it warms my heart.
To have a critical piece of code that everyone can enjoy!
What more can you ask for?
donations: ulfjalmbrant@hotmail.com