When enabling "3D anaglyph mode" in Minecraft it renders the scene twice (one image for each eye) with different perspectives to get a parallax effect which helps the brain to figure out the depth in the image.
This parallax is rendered in a way that gives users headaches because the scene is popping out of the screen instead of being behind the computer screen (looking through a window). I added a screenshot to demonstrate my point about "popping out": If you look at this image with red/blue glasses you will see that the cross hair is "inside" the building but it shouldn't. Another indication that this is wrong is that the nearby objects has greater paralax (horizontal shift) than far away objects. Actually thats helping if you have spectators that don't wear anaglyph glasses but also want to be able to see "something", but it is wrong when wearing anaglyph glasses: if you look into infinity in real your eyes are looking parallel (thats telling the brain the object you are looking at is in the far distance) which means for your objects projected to the screen they should have a parallax of several inches. In Minecraft infinity has zero parallax, the status display has zero parallax as well, so they are in infinity but shouldn't.
Suggestion to fix: currently the rendering is done by simply shifting the camera for the left eye in 3D space and mix the result with the right eye image into an anaglyph image. Because shifting just the camera means that nearby objects get greater parallax than far away objects (infinity doesn't shift at all by this operation) you need to shift the result image (left eye) against the other image (right eye) by the same amount. Now: your nearby objects don't have a parallax in the anaglyph image, the eyes can focus on the screen and tell the brain they are on screen, where as far away objects has greater parallax in the image, but your your will go more parallel telling the brain that the objects are fare away.
Also see "Depth Adjustment" section of the "Anaglyph 3D" article on Wikipedia:
Linked issues
is duplicated by 1
Attachments
Comments 9
@Marcono1234: The "anaglyph" technique is only one way to separate the left and right images for the left and right eye. Those images are combined in one image (because your monitor only can output one image at a time) by mixing colors. If you are using a red/green filtered glasses your left eye will only see the "left camera" image and your right eye will only see the "right camera" image of the scene.
However the problem is that the left/right camera images are combined in a wrong way, so that your physical eye has to focus on the screen if it try to see something in the far back (in the scene) and have to cross eyes even more to your nose if it wants to see something nearby. The right way would be: the physical eyes should be focused on the screen if objects in the scene are near by and should be parallel if they looking at objects far away (looking through the computer screen)
To solve this problem you need to shift the left camera image to the left and the right camera image to the right before they get combined into the anaglyph image which get presented on the screen. Now: A big challenge is how far you will shift the images: This totally depends on the screen dimensions of the users hardware setup. So this shifting factor should be adjustable as an users preference.
Does this make sense?
Yes thank you very much. The problem is, if I see that correctly, that shifting only will not work. A distance between two objects appears larger when the person seeing it is close to the objects than when they are further away from the person.
Could rotating the left and right eye away from each other solve this?
Unfortunately the rotation of the left/right cameras won't help. The result may look similar, but the projection for left and right eye would be wrong (because of the much to big field of view) and the images won't match in the brain, and would be disruptive for it.
Please read the Wikipedia article I linked in my original post ( https://en.wikipedia.org/wiki/Anaglyph_3D#Depth_adjustment ) . There is a good explanation what to do and why. If you look there on the two images from the martian surface the top image is like its now in Minecraft (the martian landscape "pops out of the screen" which makes it very exhausting to look at) and the image below is like it should be (landscape "is behind the computer screen" which is the natural way of looking at this) This effect is achieved just by shifting the left/right images that way that the rocks near by are aligned and the mountains in the far have a great gab between the left and the right image.
I totally understand that rotating the cameras a bit would be much easier than shifting the images and cropping them, but that is what's needed. If only the rotation solution could be implemented as a compromise, I suggest to have a user parameter for it too. (Actually you will need to rotate the cameras towards each other).
Is this still an issue in the most recent versions (currently that is 1.10.2, or 16w43a) of Minecraft? If so, please update the affected versions and help us keeping this ticket updated from time to time. If you are the owner/reporter of this ticket, you can modify the affected version(s) yourself.
I just checked the current version (1.11.2) and its still unaddressed. I just realised that you can easily see the effect that the stars at night should be "doubled" on screen about 2 inches apart, but they are on the same spot for left and right eye. This simply doesn't work for the brain: If an object is in infinity the eyes are looking in parallel at it which gives the brain a sense of the distance of that object. In Minecraft the eyes are telling the brain the stars are right at the computer display and all objects are closer sticking out of the screen. In my opinion everything should be behind the display and the stars should be in infinity.
I think normal blocks look rather fine
at least in comparison to entity names and ender chests (I added a screenshot from the hypixel server above)
(maybe there is further stuff, but I'm unwilling to test this further since it hurts a bit to look at this for too long)
@Djfe: Thanks for chiming in. You are right: It hurts to look at it. Thats because everything sticks out of the screen rather than been behind it as it should. The blocks in the background in your screen shot should be in infinity, but currently they are in the display plane. To accomplish this its necessary to move the 3D cameras a bit so that the blue and red silhouette of the ender chest gets more aligned on screen and the blocks in the background move further apart.
I am not too familiar with how 3D anaglyph works and also do not understand your suggested fix completely. Shifting will still keep the same small distance between two points in the distance.