Sharp graphics
Moderator: ZSNES Mods
Sharp graphics
Hello,
In a future version of zsnes, I would like the developers to include a proper sharp graphics option (with no blurring of the screen image).
I have stayed away from zsnes for years because it doesn't have such an option. Every emulator I use has fully sharp graphics except for zsnes, so I am forced to use snes9x instead - I believe snes9x suffers from imperfect sound emulation (I noticed it in the past and I'm not sure if it's fixed in the newer versions) and other problems but I would rather have a sound be incorrect instead of being forced to view games through vaseline tinted glasses.
http://www.newmedia.lincoln.ac.uk/bjtil ... lators.png
The above image is a comparison of snes9x and zsnes screenshots using print screen function and then zooming in on them in PhotoShop. As you can see, the sne9x image is crystal clear and has absolutely no blurring between pixels, whereas the zsnes image clearly shows the blurring - keep in mind that this is the sharpest setting available.
I find zsnes is a far better emulator than snes9x but I cannot use it as I need the image to look exactly as the developers intended. I want to see every pixel perfectly and it's just not possible on zsnes. Obviously the sharpest setting looks a bit better when not zoomed in as much as in the image attached, but it is still much blurrier than the snes9x 3x filter, especially on my 50 inch TV.
In most emulators, it is either perfectly sharp by default or a filter setting. I find it strange that zsnes is the only decent emulator without a comparable setting.
Can the developers please try and incorporate this in a future version to finally make zsnes superior to any other Super NES emulator in every way?
In a future version of zsnes, I would like the developers to include a proper sharp graphics option (with no blurring of the screen image).
I have stayed away from zsnes for years because it doesn't have such an option. Every emulator I use has fully sharp graphics except for zsnes, so I am forced to use snes9x instead - I believe snes9x suffers from imperfect sound emulation (I noticed it in the past and I'm not sure if it's fixed in the newer versions) and other problems but I would rather have a sound be incorrect instead of being forced to view games through vaseline tinted glasses.
http://www.newmedia.lincoln.ac.uk/bjtil ... lators.png
The above image is a comparison of snes9x and zsnes screenshots using print screen function and then zooming in on them in PhotoShop. As you can see, the sne9x image is crystal clear and has absolutely no blurring between pixels, whereas the zsnes image clearly shows the blurring - keep in mind that this is the sharpest setting available.
I find zsnes is a far better emulator than snes9x but I cannot use it as I need the image to look exactly as the developers intended. I want to see every pixel perfectly and it's just not possible on zsnes. Obviously the sharpest setting looks a bit better when not zoomed in as much as in the image attached, but it is still much blurrier than the snes9x 3x filter, especially on my 50 inch TV.
In most emulators, it is either perfectly sharp by default or a filter setting. I find it strange that zsnes is the only decent emulator without a comparable setting.
Can the developers please try and incorporate this in a future version to finally make zsnes superior to any other Super NES emulator in every way?
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
Do you realize that the image gets stretched and blurred over the NTSC/PAL signal? Just reminding you that it's something that happens.
If you don't want the blur, disable DDraw acceleration. Adding an option that removes the blur is effectively what I am suggesting. If you want a better option, use Vista since blur is disabled for DDraw applications by default.
If you don't want the blur, disable DDraw acceleration. Adding an option that removes the blur is effectively what I am suggesting. If you want a better option, use Vista since blur is disabled for DDraw applications by default.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
-
- Seen it all
- Posts: 2302
- Joined: Mon Jan 03, 2005 5:04 pm
- Location: Germany
- Contact:
Re: Sharp graphics
Then you should be using the NTSC filter. Game developers obviously tested their games on real TV sets, and I'm sure some (most?) designers were glad that the blurring smoothed out the blocky graphics.vaselineglasses wrote:I need the image to look exactly as the developers intended.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
bsnes launcher with recent files list
No, don't. Windows Vista is the software equivalent of what was Nazi-Germany. I wouldn't even recommend XP or any other Microsoft operating system, but at least XP isn't as bad (while still being very evil in itself anyway).use Vista since blur is disabled for DDraw applications by default.
Btw, if you think I'm a mac user, think again.
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
Have you ever played a SNES on a non-HD CRT TV from the 1990s? That's about what the developers expected people to be playing them on (what they intended is anyone's guess). Maybe you simply mean you want it to look how you like it, with crisp pixels? Nothing wrong with wanting that, it's just not what TVs have ever displayed, and you'll just confuse people when you say you want what developers intended.I find zsnes is a far better emulator than snes9x but I cannot use it as I need the image to look exactly as the developers intended.
-
- -Burninated-
- Posts: 871
- Joined: Mon Sep 10, 2007 11:33 pm
- Location: Unspecified
blargg wrote:Have you ever played a SNES on a non-HD CRT TV from the 1990s? That's about what the developers expected people to be playing them on (what they intended is anyone's guess). Maybe you simply mean you want it to look how you like it, with crisp pixels? Nothing wrong with wanting that, it's just not what TVs have ever displayed, and you'll just confuse people when you say you want what developers intended.I find zsnes is a far better emulator than snes9x but I cannot use it as I need the image to look exactly as the developers intended.
Yeah, I have an issue with SNES (the wii's VC) games upscaling on an HDTV; they tend to look a bit too pixelated. They were never made for HD.
俺はテメエの倒す男だ! 宜しく! お前はもう死んでいる...
One thing I really like about zsnes is that I can have correct aspect ratio and kind of crisp, pixelated graphics without too much interpolation blurr. I guess the image is streched to 4:3 after being scaled x2 or something. I dunno, but I like it a lot :)
EDIT: typo
EDIT: typo
Last edited by Johan_H on Mon Jul 21, 2008 8:35 pm, edited 1 time in total.
Speaking of which, one idea I screwed around with at one point was using Direct3D to reach a compromise between point and linear filtering.
The idea was to blit the image in point mode, and then blit it again at N% alpha level on top in linear mode. The result is an adjustable rate of how much blockiness to blurriness you want.
Because, quite honestly, 4:3 aspect correction with point filtering is god awful.
And yes, you could do this a lot nicer with a software filter, but this was meant to offload all the work to the GPU.
The idea was to blit the image in point mode, and then blit it again at N% alpha level on top in linear mode. The result is an adjustable rate of how much blockiness to blurriness you want.
Because, quite honestly, 4:3 aspect correction with point filtering is god awful.
And yes, you could do this a lot nicer with a software filter, but this was meant to offload all the work to the GPU.
Hmmm, you could do it via convolution on the GPU. Using shaders. Like, you could point sample the output SNES image, then post process the frames....And yes, you could do this a lot nicer with a software filter, but this was meant to offload all the work to the GPU.
*yeah, me...always thinking in shaders*
-
- Veteran
- Posts: 637
- Joined: Sat Apr 21, 2007 8:05 pm
-
- Buzzkill Gil
- Posts: 4295
- Joined: Wed Jan 12, 2005 7:14 pm
Odd, since the Wii is incapable of outputting an HD image.neo_bahamut1985 wrote:blargg wrote:Have you ever played a SNES on a non-HD CRT TV from the 1990s? That's about what the developers expected people to be playing them on (what they intended is anyone's guess). Maybe you simply mean you want it to look how you like it, with crisp pixels? Nothing wrong with wanting that, it's just not what TVs have ever displayed, and you'll just confuse people when you say you want what developers intended.I find zsnes is a far better emulator than snes9x but I cannot use it as I need the image to look exactly as the developers intended.
Yeah, I have an issue with SNES (the wii's VC) games upscaling on an HDTV; they tend to look a bit too pixelated. They were never made for HD.
Certainly 640*480(or 720*480, whatever) is higher resolution than 256*224, but it's hardly high-definition. Hell, in "high-res" mode the SNES isn't much lower res than the Wii(512*448).
I assume you're using component video cables, and the increased sharpness is the major issue.
That or the Wii and HDTV are working together to make some nasty scaling artifacts(Wii scales to 640*480, then the TV scales THAT to it's native resolution).
Personally, I run my SNES through s-video cables. I like the crispness.
I DO use the NTSC filter in emulation, but I adjust the variables to something clearer than the standard composite blur settings.
-
- ZNES Developer
- Posts: 215
- Joined: Mon Aug 02, 2004 11:22 pm
Don't know if you actually made any tests, but you can readily try this effect in shader form in a very straightforward way with tools like RenderMonkey. I quickly hacked up a GLSL-based shader:byuu wrote:And yes, you could do this a lot nicer with a software filter, but this was meant to offload all the work to the GPU.
Vertex Program:
Code: Select all
varying vec2 Texcoord;
void main( void )
{
gl_Position = ftransform();
Texcoord = gl_MultiTexCoord0.xy;
}
Code: Select all
uniform sampler2D baseMap;
varying vec2 Texcoord;
float factor = 0.66;
vec2 texSize = vec2(256, 256); // Dunno if we can use texture rectangles with ATI hardware, so let's stick to this shit
vec2 offset = vec2(0.0, -1.0 / texSize.y); // Needed as texels were off by one sample for some reason
void main(void)
{
gl_FragColor = factor * texture2D(baseMap, Texcoord) + (1 - factor) * texture2D(baseMap, (ivec2((Texcoord + offset) * texSize) + 0.5) / texSize);
}

This is with a 1:1 pixel aspect ratio, I could not stretch it to conform with the SNES aspect ratio without modifying the quad mesh, which I didn't feel like doing.
-
- Buzzkill Gil
- Posts: 4295
- Joined: Wed Jan 12, 2005 7:14 pm
You claimed Vista murdered the Jews, and that XP is a demonic force.Franky wrote:Hehe, sorry about what, I just get carried away sometimes. But really, everything I said is true.Deathlike2 wrote:Franky, this is not the thread you should be spouting in.
It's not something I wouldn't EXPECT from a Linux zealot, but it's HARDLY accurate.
-
- Buzzkill Gil
- Posts: 4295
- Joined: Wed Jan 12, 2005 7:14 pm
You sent a prime minister to verbally abuse him?
You're better-connected than I thought.
(Private messaging is no fun. Except when that one guy was accusing me of being part of a fascist conspiracy and threatening to expose me and take me down. Right before he disappeared from the face of the internet... )
Anyways...
Sprites. Sharp edges. Smeared mess. Stuff.
You're better-connected than I thought.
(Private messaging is no fun. Except when that one guy was accusing me of being part of a fascist conspiracy and threatening to expose me and take me down. Right before he disappeared from the face of the internet... )
Anyways...
Sprites. Sharp edges. Smeared mess. Stuff.
-
- ZNES Developer
- Posts: 215
- Joined: Mon Aug 02, 2004 11:22 pm
(Source thread)DOLLS wrote:I think the Mitchell kernel with a proper set of initialization parameters could make a nice interpolation scheme for the whole SNES screen, if feasible, in pixel shader form.
Well, I went ahead and implemented the Mitchell-Netravali kernel along with a the appropriate sampling method, the resulting shader runs in PS v2.0a compliant hardware and it's not even one bit optimized... Perhaps aiming for PS v2.0 or even PS v1.4 compliance is not unrealistic. I can try and develop this further if there is enough interest.
Results:

NTSC aspect ratio compensated.
You do know that some HD TV's have built-in upscaling right?Gil_Hamilton wrote:Odd, since the Wii is incapable of outputting an HD image.
edit: sorry, didnt read your whole post

Last edited by franpa on Mon Jul 21, 2008 1:14 pm, edited 1 time in total.
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gigabyte Geforce 760 4GB | Windows 10 Pro x64
-
- Regular
- Posts: 271
- Joined: Tue Jun 14, 2005 8:35 pm
You really should try not to take everything you read on the internet so seriously. I'll stop saying things like this from now on, because it's obviously difficult for any human to sense twisted, fucked-up humour if all they see is text on a screen.Gil_Hamilton wrote:You claimed Vista murdered the Jews, and that XP is a demonic force.Franky wrote:Hehe, sorry about what, I just get carried away sometimes. But really, everything I said is true.Deathlike2 wrote:Franky, this is not the thread you should be spouting in.
It's not something I wouldn't EXPECT from a Linux zealot, but it's HARDLY accurate.
Either that, or my sense of humour is crap.
By the way, I use OpenBSD.
EDITED:
found a few typing errors so I went and fixed them
Last edited by ZH/Franky on Thu Jul 24, 2008 1:16 am, edited 3 times in total.
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
Re: Sharp graphics
Thanks but that doesn't help. zsnes is still not displaying sharp visuals.Deathlike2 wrote:Do you realize that the image gets stretched and blurred over the NTSC/PAL signal? Just reminding you that it's something that happens.
If you don't want the blur, disable DDraw acceleration. Adding an option that removes the blur is effectively what I am suggesting. If you want a better option, use Vista since blur is disabled for DDraw applications by default.
That certainly makes it sharpish, but compare it to snes9x and you'll see how it's nowhere near 'perfectly sharp'.Aaron wrote:From what I can tell, all you need to do is to do is switch to a video mode that allows filters. :/ That works for me, at least...
I didn't say I wanted to simulate my old shit Toshiba TV, I want to see what I should have been able to see if televisions weren't so sh!t in those days. We were looking at the sharp image behind a cr@ppy lens. It might be personal preference over which type of filter you like, but arguing that a blocky image isn't the true image that we are all supposed to be looking at is incredibly stupid. Seeing each pixel is the purest representation of what the graphic artist intended us to see. How do magazines such as Retro Gamer display their images on the cover? They show crystal clear images showing each pixel as they are supposed to look. I had to use 'Print Screen' to show how zsnes blurs the image, because when you use the screen cap function, the image that is saved is as sharp as it should be (just like how snes9x displays images), proving that the emulator is purposely distorting the image and high-lighting a serious deficiency with the emulator.creaothceann wrote:Then you should be using the NTSC filter. Game developers obviously tested their games on real TV sets, and I'm sure some (most?) designers were glad that the blurring smoothed out the blocky graphics.vaselineglasses wrote:I need the image to look exactly as the developers intended.
As for recommending the NTSC filter, like most filters, that is nothing but a novelty and it looks nothing like a game running on an actual television (which I don't want anyway because display technology has surpassed that crude garbage we had to put up with).