![]() So the result with the shader will be identical to just turning on "smoothing" in Retroarch. Due to the low screen resolution, the pre-scale factor the shader will calculate internally will just be 1x. The sharp-bilinear-simple shader only makes sense if your screen resolution is at least 2x larger than the game resolution, at least in one direction. If you don't like that remaining blurriness, I think there is just no way around it.Įven if the sharp-bilinear-simple shader could be compiled, it would be useless here, because the screen resolution is only 320x240. Otherwise, the blurriness you see is just the minimum smoothing required to remove pixel distortion. Somehow I just don't understand the problem anymore now that I have looked up the 3DS screen resolution and realized how low it is.īilinear filtering is only over-smoothed if the resolution is high enough to support at least 2x pre-scaling. Then again I only sort of know what I'm talking about (if that) haha so there's likely (hopefully) someone out there to prove me wrong on this.ĮDIT: Looks like this is where this feature request should probably be implemented: #2846 Tell me if you guys have other thoughts, though, mine is simply that there isn't any "pixel perfect fit" solution because of the resolution of the 3DS' screen compared to other cnosoles. Perhaps that should be what we ultimately implement for this behavior since it's the closest thing we can get to a pixel perfect fit considering the 3DS' resolution. Seem to have that good of an eye for it on their VC's for some reason, but it does look relatively blurry. Someone should definitely check me on that though because I don't I can't personally tell if they're using bilinear or nearest neighbor, but I think it's either bilinear or a combination like hizzlekizzle was stating above. Well, really what we have is AGB_FIRM which is the 3DS' firmware for running GBA games, TWL_FIRM which is the 3DS' firmware for running DS/DSi games, as well as the Virtual Consoles. ![]() There's also some of Nintendo's official stuff that we can try to use to understand more about this. I've been looking through a few different emulators for the 3DS and any emulator that claims a "pixel perfect fit" seems to do it with bilinear (as they're all blurry). I think hizzlekizzle may have the right idea as I don't think NN is actually possible at non-integer scales (that I know of). I will keep having a look at this, maybe if I hack at it enough I'll crack it. Another thing no one else seems to mention is that, when setting the slider to a little below 50%, only the left eye image is rendered. ![]() The scaling algorithm is funky in general when integer scaling is specified along with an aspect ratio which won't fit, and simply chooses to fill the screen.Īlso, I'm glad this is filed as major, it always surprised me that no one else seemed to notice the issue on the web. I still don't understand quite how the scaling works, but the 'scale_vector' that maps the viewport coordinates to the framebuffer coordinates seems like a prime suspect. It definitely seems like a precision issue, like something was being truncated or else decided with garbage bits in the scaling algorithm, like z-fighting, but on just two dimensions. Another simple way of seeing this effect in action is to simply run a CPS2 game (such as street fighter alpha) in final burn alpha, then turn on the 'diagnostics' option and go to the 'dot cross hatch' screen. I've been having a look at this for a couple days now, as it's quite noticeable, but I haven't figured out what's wrong yet. The second photo is how the first settings should look except they should be scaled up without any introduced artifacts or blurriness.ĮDIT: It looks like this feature request here: #2846 would probably fit well to fix this issue or maybe just replace bilnears default functionality to do this as the feature request talks about. You can find this information under Information/System Information This has happened with pretty much every version I've used Version/Commit
0 Comments
Leave a Reply. |