libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.12k stars 1.82k forks source link

(CTR) 3D menu broken at about 30% 3D #3919

Closed mtjohnson47 closed 5 years ago

mtjohnson47 commented 7 years ago

It's impossible for me to tell exactly where since it's a human controlled analog slider, but when the slider is at about 30%, a flickering gradient appears on screen. It sortof looks like the background image is trying to be in front of the text, and is dizzying.

Also, it's obviously caused by the hardware of the 3D screen itself, because it moves so that it's always just to the left of the eye/camera, and grows bigger/smaller depending on the distance from the screen. That said, it only occurs in the retroarch menu.

I'm using a small New 3DS with an IPS top screen.

When looking at the image, please keep in mind that the black streak occurs in a separate 3D spot for each eye. It actually looks a bit different with real eyes, but cameras aren't good at photographing 3D screens.

image

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/38862667-ctr-3d-menu-broken-at-about-30-3d?utm_campaign=plugin&utm_content=tracker%2F296058&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F296058&utm_medium=issues&utm_source=github).
ghost commented 7 years ago

Hi @mtjohnson47, It looks like moving the slider is turning on the parallax barrier of the screen, which to my knowledge RA is not designed to work in 3D mode on the 3DS as it is only drawing a 2D image... so I think the 3DS is assuming that RA supports 3D and is manipulating the alternating lines of the image as if it would be controlling the depth of a 3D scene... but this just results in the lines you are seeing.

What were you trying to do with the depth slider?

mtjohnson47 commented 7 years ago

to my knowledge RA is not designed to work in 3D mode on the 3DS Line 348 proves otherwise https://github.com/libretro/RetroArch/blob/master/frontend/drivers/platform_ctr.c

RA supports 3D in the menu, the background is displayed about 1.5 cm behind the rest of the options. Also, the parallax barriar doesn't change, it turns on and off. The 3D slider adjusts the distance between eyes.

What were you trying to do with the depth slider? Actually, I wasn't specifically trying to accomplish anything. I was turning 3D off when I happened to notice the screen flash. It works if the 3D slider is in any other position, from 1-100%, it's just the specific percentage is causing issues. It's a bug, so it should be fixed. I know it's a retroarch bug, because if I leave the 3d slider on that spot and go to another application, it works fine.

aliaspider commented 7 years ago

this is just a sideeffect of the 800x240 highres mode not working correctly on n3DS. I will just disable if for n3DS for now, as I don't see a way to get it to work any time soon.

gingerbeardman commented 6 years ago

@aliaspider do you know why this is not possible on N3DS? Hardware change?

aliaspider commented 6 years ago

yes the N3DS has headtracking which also comes with a new type of parallax layer for the top screen, and there is no info on how to disable it to allow all 800x240 pixels to become visible.

orbea commented 5 years ago

Should be resolved in PR https://github.com/libretro/RetroArch/pull/8586.