3DS Emulation potential for 2D->3D

Discussion in '3DS - Hacking & Homebrew' started by McHaggis, Jan 4, 2013.

Jan 4, 2013
    • Member

    DaniPoo New Member

    Member Since:
    Jan 2, 2013
    Message Count:
    260
    Country:
    Sweden
    Fully 3D rendered games aswell as layer based 2d games like New Super Mario Bros may be easier that Games that user 2d and 3d at the same time like Pokemon or Final fantasy III


    • Member

    Thorhian My CPU's prefer Water

    Member Since:
    May 23, 2012
    Message Count:
    352
    Location:
    Shazezar
    Country:
    United States
    Well, do we exactly know how the 2d sprites are handled in the hybrid environment? Also shub, no one knows no for sure (to my knowledge, but maybe our hackers have an idea now, plus it may be game dependent) on how the 3D (stereo, not polys) works on the 3DS. However, I honestly don't think games like Kid Icarus Uprising run with a fake form of stereo 3D. Plus, only certain things like geometry need to be rerendered twice while others only need to calculated once like physics. You are being a bit ignorant shub, plus please avoid using language.
    • Member

    shub13 The Shubinator

    Member Since:
    Oct 16, 2009
    Message Count:
    283
    Country:
    New Zealand
    -_- Its very easy to see how the 3D works if you tilt the 3ds slightly -_- You can see Double meaning all it does is split the images in half and The Left eye sees the left image and the Right eye sees the Right image it combines it into one and voila 3D -_-
    • Member

    Thorhian My CPU's prefer Water

    Member Since:
    May 23, 2012
    Message Count:
    352
    Location:
    Shazezar
    Country:
    United States
    Yes, but that is how ALL forms of man made 3D works. The computer however doesn't just change a single frame and move stuff around. There are two cameras in games for the most part acting as both of your eyes. Your explaining the way the 3DS delivers these separately render frames. This is why frame rates are cut dramatically like in games like Resident Evil.
    • Member

    shub13 The Shubinator

    Member Since:
    Oct 16, 2009
    Message Count:
    283
    Country:
    New Zealand
    How about we all just get back on topic now
    • Member

    Thorhian My CPU's prefer Water

    Member Since:
    May 23, 2012
    Message Count:
    352
    Location:
    Shazezar
    Country:
    United States
    I think on the fly editing of the games might bring good results. Project M comes to mind.
    gamefan5 likes this.
    • Member

    DaniPoo New Member

    Member Since:
    Jan 2, 2013
    Message Count:
    260
    Country:
    Sweden
    I do not know exactly how is works. But in theory it would be difficult to but 2d player sprites in an 3d environment and the having them looking good with stereoscopic 3D.
    Last edited by DaniPoo, Jan 5, 2013
    • Member

    DaniPoo New Member

    Member Since:
    Jan 2, 2013
    Message Count:
    260
    Country:
    Sweden
    Yeah thats the basic idea of how all stereoscopic 3D works. Its all about delivering two different images to each eye. And thats a cool hardware feature on the 3ds.
    However, I think that software methods for how to make those images are much more interessting to talk about
    gamefan5 likes this.
    • Member

    gundalf New Member

    Member Since:
    Sep 26, 2008
    Message Count:
    365
    Location:
    Germany
    Country:
    Spain
    Do Intel IGPs Support 3D Gaming? I am sure its Open Source Drivers could be useful for coding the Rendering Engine.
    • Member

    Deltaechoe The Dopefish

    Member Since:
    May 3, 2012
    Message Count:
    509
    Country:
    United States
    I can't think of a practical way of forcing 3d mode on 2d games besides recoding the game itself to support it.
    • Member

    Chaos Rush New Member

    Member Since:
    Jan 11, 2010
    Message Count:
    145
    Country:
    United States
    They are recompiled. First of all, Excitebike 3D Classics has a widescreen presentation (uses all 400 (or 800 in 3D) horizontal pixels), which is impossible with a NES ROM. Kirby's Adventure, while having a 4:3 presentation, the doorway graphic has been modified and now has a "light/shadow" thingy that goes waaaaaaaaaay over the NES's color limit (its like that even in 2D mode). Also some stages that take place in the sky have a gradient effect on the bottom, which wasn't in the NES version, not to mention that gradient color effect is clearly impossible on the NES. To create the 3D effect, the screen has to be rendered twice, and tiles have to be shifted left and right for each screen. If you did that with a NES ROM, then there would be blank tile space, but there isn't, because Kirby's Adventure 3D Classics isn't a NES ROM, meaning they added tile layers that weren't there in the original game in order to create the 3D effect. Also, with the NES's limited sound channels, when certain sound effects are played on the original game, parts of the music would temporarily cut out. This doesn't happen on the 3D Classics version, because the 3DS obviously doesn't have the same sound restrictions of the NES.

    That being said, it's pretty obvious that 3D Classics are NOT emulated ROMs (I mean, seriously, just look at the new door graphic in Kirby), more like they took the original source code and actually ported (not emulated, ported) it to 3DS, then made changes as necessary. The reason why some 3D Classics (like Kid Icarus and Kirby's Adventure) still have a 4:3 presentation is because many things boss fights and minigames take place on backgrounds meant for a 4:3 viewing area, so it would be more work to draw areas that weren't there previously; also boss fights would feel weird if you could only move around towards the center of the screen.
    Last edited by Chaos Rush, Jan 5, 2013
    • Member

    McHaggis Fackin' Troller

    Member Since:
    Oct 24, 2008
    Message Count:
    1,603
    Country:
    United Kingdom
    Hmm... the thought did occur to me that Excitebike was widescreen, but I couldn't verify it on my own 3DS because it's away for repair, and I guess I forgot to look at it while I was examining some of the other games. Good show, I guess they're ports, then. A port does sound like a lot of work, though. No wonder they're not churning them out quicker.
    • Member

    Thorhian My CPU's prefer Water

    Member Since:
    May 23, 2012
    Message Count:
    352
    Location:
    Shazezar
    Country:
    United States
    Well, those are the 3D classics, the VC content should be churned out faster though.
    • Member

    Maxternal Peanut Gallery Spokesman

    Member Since:
    Nov 15, 2011
    Message Count:
    5,171
    Location:
    Deep in GBAtemp addiction
    Country:
    Costa Rica
    Wow, interesting thread ... SOO much to comment on here.

    First, just to clarify, computer's that work with 3D monitors aren't exactly the same as the 3D used in a 3DS. On a computer, for example, you run any game that uses Direct3D and it's either the HARDWARE that's doing the extra work, re-rendering everything from a second angle for the second eye's point of view or it's the driver that's taking care of that. One way or another, the program itself doesn't have to do any of that work. It just asks for a polygon to be placed in a certain position with certain effects, texture, etc and the rest is done for it.
    With a DS game, on the other hand, it's accessing the hardware directly and the hardware DOESN'T do the 2ND eye rendering automatically (even on a 3DS)

    (This is actually why WINE works so well. Windows programs don't need to and usually aren't allowed to access the hardware directly. They do EVERYTHING through system calls to the OS. No hardware virtulaization is needed because there's no hardware to access. A DS games that DOES try to access the hardware DOES need virtualization to get it working because it DOES try to access directly and since there's NO hardware virtualization, it WILL access the hardware just fine. You can't block and redirect it to do the 2nd eye rendering for it.)

    As far as stretching vs just shifting, I think since it's an emulator there could be an option to chose which one to use (or to use no 3D effect at all) stretching eliminates the gaps at the sides but creates blurring or distortion so the user could just choose which of those problems he dislikes more.

    Even in a real world situation pushing one layer of something farther back makes you be able to see more of a gap.
    (Imagine those circles are eyes :p )
    [IMG]
    and you can kinda see from my drawing how stretching would help it. I just got kinda lazy by the time I got to that part.

    EDIT : Of course, if the emulator is ALSO able to see parts of the layers that are off screen before and after they scroll onto the screen then it might also be able to fill those in gaps without stretching
    (kinda like the widescreen gamecube hack. There's some things that are off screen ... they're there but you just can't see them. It might depend on the game, too.)
    Last edited by Maxternal, Jan 8, 2013
    McHaggis and Thorhian like this.
    • Member

    Pleng New Member

    Member Since:
    Sep 14, 2011
    Message Count:
    1,167
    Country:
    Thailand

    Wait? There's no Japanese people????
    • Member

    elisherer I ♥ 3DS

    Member Since:
    Dec 16, 2009
    Message Count:
    777
    Location:
    3dbrew.org
    Country:
    Israel
    If the emulation (I don't know how it works) of NES / SNES is drawing the layers one by one, for ALL the games like it some kind of a standard for all the games then it would be rather easy to
    manipulate it to be 3d as giving each layer a different (constant) x-offset so it would seem further or closer.. but I'm guessing that's not the issue..
    For each open source project, porting to 3d might be easier, knowing how the layers are made.
    Super Mario and Megaman are very good candidates..

Share This Page