• Ever wanted an RSS feed of all your favorite gaming news sites? Go check out our new Gaming Headlines feed! Read more about it here.

1-D_FE

Member
Oct 27, 2017
8,242
That runway in Pilotwings in nuts.

Goes from a couple of random white squares scattered about into an actual runway.
 
Explanation on how high-res rendering works here

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
So how does this work? Is it interpolating data to fill in more pixels, or is this data that's already present but obscured via Mode 7? Look at the Pilotwings comparison - there's a ton of detail on the landing strip that doesn't appear to exist no matter how hard you squint. Surely that can't be interpolation.

They're scaling the tiles before applying the mathematical skew and distortion that achieves rotation and scaling. There is no interpolation being done. Consider the following tile:

2ggMppI.png


This is at a native resolution, where each pixel of the tile is equal to a single pixel on the screen. When we rotate at this low resolution, distortion happens because pixels in the rotation fall between boundries, but can't be represented except at pixel resolution:

gGEVfr3.png


Pmys9ut.png


Q2Bu2LY.png


By scaling the tiles in memory so they take multiple pixels, you can subdivide a single texel in the tile into sub-pixels:

qt8cqVz.png


This is a 1:16 scale, a single texel of the tile map takes 16 pixels on screen to represent. When I rotate the tile, the edges of the pixels now have more granularity to represent falling between boundries:

JMb5Udb.png


mH3XfIZ.png


The higher you pre-scale the tiles:

DbWpIb0.png


The smoother the subpixel rotation:

e89CTPI.png


All of the above images are done 100% with interpolation turned off.
 

Weltall Zero

Game Developer
Banned
Oct 26, 2017
19,343
Madrid
That's generally how low -> high resolution ends up looking




These are pretty bad example because the textures are actually higher res (from the angle, it's possible that the "low res" ground textures are being too aggressively anisotropic filtered, but it's still technically a different texture). That's not what's happening in the BSNES example, they're the exact same sprites.
 

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
BTW when I talk about Virtual Reality, and how resolvable viewing distance is a direct function of resolution, this is the exact stuff I'm talking about. This is why I say, with the Oculus Rift DK1, you couldn't play racing games, because you couldn't see far enough in front of you. Without adequate resolution, at a certain distance, it's literally not possible to discern the subpixel scatter anymore.
 

higemaru

Member
Nov 30, 2017
4,093
From wikipedia:
"Mode 7 games include the titles F-Zero, Terranigma, Pilotwings, Yoshi's Safari, Teenage Mutant Ninja Turtles IV: Turtles in Time, Super Castlevania IV, Secret of Mana, Secret of Evermore, Final Fantasy IV, Final Fantasy V, Final Fantasy VI, Super Mario RPG: Legend of the Seven Stars, DinoCity, HyperZone, Super Mario Kart, Super Mario World, Super Metroid, the Super Robot Wars series, Super Star Wars, Chrono Trigger, ActRaiser, Exhaust Heat, Skyblazer, 7th Saga, Mega Man 7, Kirby Super Star, Axelay, SOS, NCAA Basketball, NHL Stanley Cup, Al Unser Jr.'s Road to the Top, Rendering Ranger: R2, The Legend of Zelda: A Link to the Past, and Zoku: The Legend of Bishin."
I would love to see Hyperzone. That game gives me a headache usually lol
 

Hayama Akito

Member
Oct 25, 2017
1,326
Update: the spiral tower in Super Castlevania IV works. You need to disable "Optimize pseudo 3D perspectives". This option is part of BSNES, it is not related to this mod.

 

SweetVermouth

Banned
Mar 5, 2018
4,272
I have seen a screenshot of F-Zero just a week ago and I can't believe they've actually done it. I mean you could do that with N64 games ages ago, but these were 3D games and they had real cameras so it wasn't that difficult to add, but here they seem to hijack some parts of the way the SNES render stuff and it's really cool.
 

Robin

Restless Insomniac
Member
Oct 25, 2017
3,502
They're scaling the tiles before applying the mathematical skew and distortion that achieves rotation and scaling. There is no interpolation being done. Consider the following tile:

2ggMppI.png


This is at a native resolution, where each pixel of the tile is equal to a single pixel on the screen. When we rotate at this low resolution, distortion happens because pixels in the rotation fall between boundries, but can't be represented except at pixel resolution:

gGEVfr3.png


Pmys9ut.png


Q2Bu2LY.png


By scaling the tiles in memory so they take multiple pixels, you can subdivide a single texel in the tile into sub-pixels:

qt8cqVz.png


This is a 1:16 scale, a single texel of the tile map takes 16 pixels on screen to represent. When I rotate the tile, the edges of the pixels now have more granularity to represent falling between boundries:

JMb5Udb.png


mH3XfIZ.png


The higher you pre-scale the tiles:

DbWpIb0.png


The smoother the subpixel rotation:

e89CTPI.png


All of the above images are done 100% with interpolation turned off.

This makes sense! Fascinating, very cool.
 

chanunnaki

Banned
Oct 25, 2017
1,783
Another reason why I don't really care for cycle accuracy in emulation anymore. Would rather just use the real hardware. When it comes to emulation, give me "better-than-real" any day
 

LewieP

Member
Oct 26, 2017
18,091
I'd love to see someone eventually get Star Fox in HD. Maybe even remove framerate caps without speeding up the game.
 

Alo81

Member
Oct 27, 2017
547
They're scaling the tiles before applying the mathematical skew and distortion that achieves rotation and scaling. There is no interpolation being done. Consider the following tile:

2ggMppI.png


This is at a native resolution, where each pixel of the tile is equal to a single pixel on the screen. When we rotate at this low resolution, distortion happens because pixels in the rotation fall between boundries, but can't be represented except at pixel resolution:

gGEVfr3.png


Pmys9ut.png


Q2Bu2LY.png


By scaling the tiles in memory so they take multiple pixels, you can subdivide a single texel in the tile into sub-pixels:

qt8cqVz.png


This is a 1:16 scale, a single texel of the tile map takes 16 pixels on screen to represent. When I rotate the tile, the edges of the pixels now have more granularity to represent falling between boundries:

JMb5Udb.png


mH3XfIZ.png


The higher you pre-scale the tiles:

DbWpIb0.png


The smoother the subpixel rotation:

e89CTPI.png


All of the above images are done 100% with interpolation turned off.

Really great breakdown dude. Gets the idea across in a really straightforward manner.
 

TheOMan

Avenger
Oct 25, 2017
7,113
They're scaling the tiles before applying the mathematical skew and distortion that achieves rotation and scaling. There is no interpolation being done. Consider the following tile:

2ggMppI.png


This is at a native resolution, where each pixel of the tile is equal to a single pixel on the screen. When we rotate at this low resolution, distortion happens because pixels in the rotation fall between boundries, but can't be represented except at pixel resolution:

gGEVfr3.png


Pmys9ut.png


Q2Bu2LY.png


By scaling the tiles in memory so they take multiple pixels, you can subdivide a single texel in the tile into sub-pixels:

qt8cqVz.png


This is a 1:16 scale, a single texel of the tile map takes 16 pixels on screen to represent. When I rotate the tile, the edges of the pixels now have more granularity to represent falling between boundries:

JMb5Udb.png


mH3XfIZ.png


The higher you pre-scale the tiles:

DbWpIb0.png


The smoother the subpixel rotation:

e89CTPI.png


All of the above images are done 100% with interpolation turned off.

Excellent explanation. Thank you!
 

chanunnaki

Banned
Oct 25, 2017
1,783
This is actually cycle accurate.
yes, sure, I know BSNES is cycle accurate. my point was: if i had to choose between cycle accuracy and improvements to the base game, I'd prefer the latter. having both is the ideal scenario though, cycle accurate + rewind + reduced latency + improved visuals, etc. I wonder when we'll get a classic console that can take an original cartridge and accomplish all of that?
 

StreamedHams

Member
Nov 21, 2017
4,322
They're scaling the tiles before applying the mathematical skew and distortion that achieves rotation and scaling. There is no interpolation being done. Consider the following tile:

2ggMppI.png


This is at a native resolution, where each pixel of the tile is equal to a single pixel on the screen. When we rotate at this low resolution, distortion happens because pixels in the rotation fall between boundries, but can't be represented except at pixel resolution:

gGEVfr3.png


Pmys9ut.png


Q2Bu2LY.png


By scaling the tiles in memory so they take multiple pixels, you can subdivide a single texel in the tile into sub-pixels:

qt8cqVz.png


This is a 1:16 scale, a single texel of the tile map takes 16 pixels on screen to represent. When I rotate the tile, the edges of the pixels now have more granularity to represent falling between boundries:

JMb5Udb.png


mH3XfIZ.png


The higher you pre-scale the tiles:

DbWpIb0.png


The smoother the subpixel rotation:

e89CTPI.png


All of the above images are done 100% with interpolation turned off.
Absolute brilliant explanation. Much appreciated.
 

Deleted member 41931

User requested account closure
Member
Apr 10, 2018
3,744
The F-Zero stuff is crazy, I though that was an attempt at 3d depiction people(on bleachers or whatever) along the track. Shame I don't really mess with emulation, I want to try out Final Fantasy 6 with this.
 

Niosai

One Winged Slayer
Member
Oct 28, 2017
4,919
I wonder if this could also be achieved on GBA. The ROI might be smaller because of the lower resolution, but IQ on GBA games can be really bad when mixed with Mode7.
 

Deleted member 12790

User requested account closure
Banned
Oct 27, 2017
24,537
I wonder if this could also be achieved on GBA. The ROI might be smaller because of the lower resolution, but IQ on GBA games can be really bad when mixed with Mode7.

It'd be harder to detect and do on the GBA because it's done in software on the GBA, and thus every game would have a different way of handling the effect.

This could be done with Sega Saturn games, too.
 

Cow Mengde

Member
Oct 26, 2017
12,678
High res mode 7 has been in ZSNES since maybe the later 90s early 2000s. That said, it looks no where near as impressive as this.

Edit - Fucking typo.
 
Last edited:

Jazzem

Member
Feb 2, 2018
2,677
I am stupidly excited for this, wanted something like this for the longest time! Can't wait to try Mario Kart

Now we just need Super FX game res boosts, though I suspect that's a hefty challenge
 

Celine

Member
Oct 26, 2017
5,030
Tested on Super Castlevania IV.

Sadly the spiral tower doesn't work, in fact the whole effect dies. I think is because this is not technically a Mode 7 effect, but the same technical stuff Konami used on Axelay.





Kinda disappointing.

What about Street Racer? Terranigma underworld map? Super Turrican worm boss?

Street Racer is the best looking Mode 7 racing game on the system.

DKC2 comparison please :(
What? I don't think DKC2 made big use of Mode 7 if any.
 
Last edited:

Deleted member 16908

Oct 27, 2017
9,377
Why aren't there any videos? I want to see this in motion.
 

TheZynster

Member
Oct 26, 2017
13,285
would love to see the two breath of wild titles with this. The overworld maps should get a decent bump in clarity as well as the battlefields.
 

Reticon6

Banned
Oct 19, 2018
177
10,000m under surface level
They're scaling the tiles before applying the mathematical skew and distortion that achieves rotation and scaling. There is no interpolation being done. Consider the following tile:

2ggMppI.png


This is at a native resolution, where each pixel of the tile is equal to a single pixel on the screen. When we rotate at this low resolution, distortion happens because pixels in the rotation fall between boundries, but can't be represented except at pixel resolution:

gGEVfr3.png


Pmys9ut.png


Q2Bu2LY.png


By scaling the tiles in memory so they take multiple pixels, you can subdivide a single texel in the tile into sub-pixels:

qt8cqVz.png


This is a 1:16 scale, a single texel of the tile map takes 16 pixels on screen to represent. When I rotate the tile, the edges of the pixels now have more granularity to represent falling between boundries:

JMb5Udb.png


mH3XfIZ.png


The higher you pre-scale the tiles:

DbWpIb0.png


The smoother the subpixel rotation:

e89CTPI.png


All of the above images are done 100% with interpolation turned off.

You should have an online university for this kind of stuff. I'd pay for a subscription .