Sharp graphics

General area for talk about ZSNES. The best place to ask for related questions as well as troubleshooting.

Moderator: ZSNES Mods

vaselineglasses

Sharp graphics

Post by vaselineglasses »

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?
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

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.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Re: Sharp graphics

Post by creaothceann »

vaselineglasses wrote:I need the image to look exactly as the developers intended.
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.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
ZH/Franky

Post by ZH/Franky »

use Vista since blur is disabled for DDraw applications by default.
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).

Btw, if you think I'm a mac user, think again.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

Franky, this is not the thread you should be spouting in.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
Aaron
Lurker
Posts: 157
Joined: Sat Dec 31, 2005 7:26 am

Post by Aaron »

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...
blargg
Regular
Posts: 327
Joined: Thu Jun 30, 2005 1:54 pm
Location: USA
Contact:

Post by blargg »

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.
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.
neo_bahamut1985
-Burninated-
Posts: 871
Joined: Mon Sep 10, 2007 11:33 pm
Location: Unspecified

Post by neo_bahamut1985 »

blargg wrote:
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.
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.


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.
俺はテメエの倒す男だ! 宜しく! お前はもう死んでいる...
Johan_H
Starzinger Addict
Posts: 998
Joined: Tue Aug 17, 2004 1:14 pm
Location: Sweden
Contact:

Post by Johan_H »

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
Last edited by Johan_H on Mon Jul 21, 2008 8:35 pm, edited 1 time in total.
byuu

Post by byuu »

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.
mudlord
has wat u liek
Posts: 559
Joined: Tue Sep 11, 2007 2:54 pm
Location: Banland.

Post by mudlord »

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....

*yeah, me...always thinking in shaders*
DancemasterGlenn
Veteran
Posts: 637
Joined: Sat Apr 21, 2007 8:05 pm

Post by DancemasterGlenn »

Maybe he just needs it to be as crisp as possible because his vaseline glasses do the blurring for him?
I bring the trouble.
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

neo_bahamut1985 wrote:
blargg wrote:
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.
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.


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.
Odd, since the Wii is incapable of outputting an HD image.

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.
DOLLS (J) [!]
ZNES Developer
Posts: 215
Joined: Mon Aug 02, 2004 11:22 pm

Post by DOLLS (J) [!] »

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.
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:

Vertex Program:

Code: Select all

varying vec2 Texcoord;

void main( void )
{
    gl_Position = ftransform();
    Texcoord    = gl_MultiTexCoord0.xy;    
}
Fragment Program:

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);
}
Results:
Image

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.
ZH/Franky

Post by ZH/Franky »

Deathlike2 wrote:Franky, this is not the thread you should be spouting in.
Hehe, sorry about what, I just get carried away sometimes. But really, everything I said is true.
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

Franky wrote:
Deathlike2 wrote:Franky, this is not the thread you should be spouting in.
Hehe, sorry about what, I just get carried away sometimes. But really, everything I said is true.
You claimed Vista murdered the Jews, and that XP is a demonic force.

It's not something I wouldn't EXPECT from a Linux zealot, but it's HARDLY accurate.
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

I beat you to it, Gil.

But in PM form.

Back on topic, my slaves! *Cracks whip*
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

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.
DOLLS (J) [!]
ZNES Developer
Posts: 215
Joined: Mon Aug 02, 2004 11:22 pm

Post by DOLLS (J) [!] »

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.
(Source thread)

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:
Image

NTSC aspect ratio compensated.
franpa
Gecko snack
Posts: 2374
Joined: Sun Aug 21, 2005 11:06 am
Location: Australia, QLD
Contact:

Post by franpa »

Gil_Hamilton wrote:Odd, since the Wii is incapable of outputting an HD image.
You do know that some HD TV's have built-in upscaling right?

edit: sorry, didnt read your whole post :( component av provides better picture then svideo though.
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
Truth Unknown
Regular
Posts: 271
Joined: Tue Jun 14, 2005 8:35 pm

Post by Truth Unknown »

franpa wrote:
Gil_Hamilton wrote:Odd, since the Wii is incapable of outputting an HD image.
You do know that some HD TV's have built-in upscaling right?
Did you read the whole post?
ZH/Franky

Post by ZH/Franky »

Gil_Hamilton wrote:
Franky wrote:
Deathlike2 wrote:Franky, this is not the thread you should be spouting in.
Hehe, sorry about what, I just get carried away sometimes. But really, everything I said is true.
You claimed Vista murdered the Jews, and that XP is a demonic force.

It's not something I wouldn't EXPECT from a Linux zealot, but it's HARDLY accurate.
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.

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.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

Franky wrote:I'll stop saying things like this from now on.
Please do that, since this is a help thread, not a hate thread.
Either that, or my sense of humour is crap.
I'd say the latter is true.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
odditude
Official tech support dood
Posts: 2118
Joined: Wed Jan 25, 2006 7:57 am

Post by odditude »

Deathlike2 wrote:
Franky wrote:Either that, or my sense of humour is crap.
I'd say the latter is true.
QFT.


DOLLS - Nice! IMHO, run with it.
Why yes, my shift key *IS* broken.
vaselineglasses

Re: Sharp graphics

Post by vaselineglasses »

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.
Thanks but that doesn't help. zsnes is still not displaying sharp visuals.
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...
That certainly makes it sharpish, but compare it to snes9x and you'll see how it's nowhere near 'perfectly sharp'.
creaothceann wrote:
vaselineglasses wrote:I need the image to look exactly as the developers intended.
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.
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.

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).
Locked