sm64-port / sm64_3ds

3DS fork of sm64-port
https://discord.gg/7bcNTPK
208 stars 26 forks source link

3D? #21

Open turbotum opened 4 years ago

turbotum commented 4 years ago

The 3rd party alternative build from youtube "3ds borb" is a worse build due to sound and performance issues, and it's using opengl instead of citro3d, but it does have fully functional 3D using the slider on the 3ds. Any plans to implement that in this build? It looks beautiful, I encourage you to try it!

Gericom commented 4 years ago

I'm not entirely sure how to implement it such that it renders twice with a different camera actually. I'm also not able to test it myself as I only have a n2dsxl.

RandomMan25XX commented 4 years ago

Count me in for testing, I've got a n3ds and we're already in a number of discord servers together so communication and such is fairly easy

troybonneau commented 4 years ago

I don't know much about the Mario 64 codebase, but I do have a pretty solid working knowledge of stereoscopy. The double camera method is probably the easiest to understand and is the most effective since it's more or less replicating how human vision works.

Capture

Basically the two cameras share the same rotation and have parallel lines of sight, just offset from a center point. You can increase/decrease depth by messing around with the offset, which is what the 3D slider usually does from what I understand. When you increase the offset the disparity of the objects on screen increases as well, eventually this gets to a point where it's just too hard to look at. Obviously, this can be a huge resource drain because you're rendering the game twice.

mkst commented 4 years ago

I've been trying to get 3D working on this branch of my fork. Current issue is that obviously not everything should be 3D'd (e.g. anything that is meant to be 2D, like the HUD, sign posts), so I'm trying to get an effective way to limit the effect.

The second thing that has been mentioned on the discord, is that it would look better if the 3D effect went into the screen, rather than out of it.. but I havent started on that.

The crux of my changes are in this file... but I have a few more local changes I've not yet pushed.

ryotoko commented 4 years ago

The 3rd party alternative build from youtube "3ds borb" is a worse build due to sound and performance issues, and it's using opengl instead of citro3d, but it does have fully functional 3D using the slider on the 3ds. Any plans to implement that in this build? It looks beautiful, I encourage you to try it!

To be fair, the borb build's stereoscopy was seriously flawed. Not sure what it was but it hurt my eyes. I think it was the v-sync tears not not lining up or something? It's gotta be tricky, though I would love to see it done right...

drzoidberg666 commented 4 years ago

I'm not entirely sure how to implement it such that it renders twice with a different camera actually. I'm also not able to test it myself as I only have a n2dsxl.

This person made an emulation of m64 on 3ds and said they want to contact you to collaborate https://gbatemp.net/threads/super-mario-64-port.564431/page-5#post-9150714

BopItFreak commented 3 years ago

@ryotoko Any updates on 3D?

ryotoko commented 3 years ago

@BopItFreak mkst's port has very functional 3D now, especially if you have a "New" model: https://github.com/mkst/sm64-port/