Next Generation Emulation banner
1 - 10 of 10 Posts

·
Registered
Joined
·
378 Posts
Discussion Starter · #1 · (Edited)
I was trying the different Texture Filters in Pete's D3D and OpenGL plugin and realized that the information that "Filtering will cause glitches" was correct for all different settings. The 5 and 6 settings worked okay but they still caused glitches, so I ended up using no Texture Filter and instead playing the game in at least 1024 x 768 so that the texture scaling doesn't look so strange because of the limitations in the 'nearest neighbor' type upscaling it does then. But the problem is that in 1024 x 768 I get slowdowns when playing it on my Laptop, and even on the Desktop sometimes, more so than when I use a lower resolution like 640 x 480.

So my idea is to have a 2x option for the graphics that works like this: Check the exact native resolution, be it 320 x 240 or 320 x 256 or something else, and then double it exactly, so that all the sprites and 2D graphics (mainly dialog windows, HUD and menus) can be upscaled by making each pixel exactly four pixels in the 2x resolution. Then upscale the picture from that in the usual way with glViewPort() or the D3D equivalent. That way I can play the games on a slow computer like my Laptop in approximately 640 x 480 and get a much better picture than 320 x 240, but still don't have the annoying pixel dislocations in the 2D upscaling.

So basically my idea is:
  • Problem: The unflitered 2D upscaling needs at least 1024 x 768 or more to maintain the original pixels because of the 'nearest neighbor' upscaling problem. And even Pete's OpenGL2 plugin that does something similar to what I'm suggesting with its "Internal Resolution" options still don't do an exact 2x upscaling of the 2D on some occasions.
  • Solution: Make a 2x graphics mode, that does an exact 2x copy of the original 2D and increase the 3D resolution, and stretch it from there. (Which is similar to what Pete's OpenGL2 "Internal Resolution" options does.)
What do you think? If pSX or ePSXe was open source I would have already tried that myself.

I've illustrated the pixel scaling problem below:

The Pause Screen picture

  • Left picture: 640 x 480 without the "Keep psx aspect ratio" or "Try to keep pixel ratio" options and then some pixels are kind of misplaced, which is annoying to me.
  • Middle picture: 1280 x 1024 with the "Try to keep pixel ratio" options and some pixels in the arrow to the right are still misplaced, no big deal though, but still enough to annoy me a little.
  • Right picture: Original 320 x 240 resolution screen capture from pSX. This is most likely exactly how it was supposed to look, notice that even the pink arrow on the right looks okay.

The Battle Screen picture

  • Left picture: 640 x 480 with both the "Stretch to full window size" and "Try to keep pixel ratio" option, notice how there are instances of double pixels in the area marked with the red circle to the left. (It's understandable why the "Try to keep pixel ratio" does this since I'm displaying the picture in only 640 x 480 but is forcing it to produce black borders, so it's impossible to make a perfect 2x copy of the pixels.) But the strange thing is that this problem occurs with "Stretch to full window size" option too. That should not be necessary since then it would be possible to create an exact 2x copy of the 2D. But the problem is not there if I use a higher resolution like 1280 x 1024, then there is no double pixels.
  • Right picture: Original 320 x 240 resolution screen capture from pSX. This is most likely exactly how it was supposed to look, there are no double pixels anywhere.
 

·
Registered
Joined
·
378 Posts
Discussion Starter · #3 ·
As far as I recall pete's OGL2 plugin lets you change the internal resolution. It also lets you keep the original aspect ratio.
Yes, you're right the "Keep psx aspect ratio" or "Try to keep pixel ratio" options cured that. It's only when I want to stretch the picture to fullscreen on my non 4:3 screens (5:4 and 16:10) that the pixel scaling problem occurs. But it's no big deal I guess, since I mostly keep the original 4:3 mode. But if someone wanted to stretch the picture to fullscreen even on a non-4:3 monitor it could be a useful option.
 

·
Premium Member
Joined
·
2,299 Posts
Stretching is supposed to break the aspect ratio you know. If you try to maintain the aspect ratio at all costs while using all of the x or all of the y axis you'll eventually be forced to add some "dummy" pixels and that will look... ehh... ugly and wrong. :p
 

·
Registered
Joined
·
378 Posts
Discussion Starter · #5 · (Edited)
Stretching is supposed to break the aspect ratio you know. If you try to maintain the aspect ratio at all costs while using all of the x or all of the y axis you'll eventually be forced to add some "dummy" pixels and that will look... ehh... ugly and wrong. :p
Right, and those 'dummy' pixels is what I'm trying to avoid. But the strange thing is that even when I select 640 x 480 (which is exactly 2x the original 320 x 240 resolution of the picture) with the "Try to keep pixel ratio" (with Pete's OpenGL2 2.9 plugin) there are instances of dummy pixels in the battle screen as shown in the last picture. There's not much I can do about it since it's not open source as far as I know, but I think it can eventually be solved by a stricter 2x option that never adds any dummy pixels.

(Notice that you may have to view the battle screen pictures in its original size, otherwise IE will shrink it and add dummy pixels, you can use this direct link for an exact 4x copy of the original picture that has no dummy pixels at all.)
 

·
Premium Member
Joined
·
2,299 Posts
Yeah, that's a hardware limitation. The problem is that not all stuff are running at 320x240. Unless you run the game on its original resolution (or 2x, 3x, 4x, etc) you either get garbage pixels (black lines or blocks) or if you handle such a situation you do... well, you do what pete does on his plugins.
 

·
Registered
Joined
·
378 Posts
Discussion Starter · #7 · (Edited)
Yeah, that's a hardware limitation. The problem is that not all stuff are running at 320x240. Unless you run the game on its original resolution (or 2x, 3x, 4x, etc) you either get garbage pixels (black lines or blocks) or if you handle such a situation you do... well, you do what pete does on his plugins.
Yes, if the game use a non 4:3 resolution, for example 320 x 256, then it will be impossible to keep the original 2D pixels if the fullscreen resolution is a 4:3 resolution (unless your screen support a 1.25:1 resolution like for example 1280 x 1024). So that's why I'm interested in a 2x mode that doesn't change any of the 2D graphics, just double it up from one to four pixels, but still increase all 3D to around 640 x 480, and then stretch that picture to whatever the current screen resolution is. Because 320 x 240 to 640 x 480 is a big improvement. (And a 4x option would work just as well, if the 2x option works. But the improvement in the 3D sharpness is not as important from that point, so I would be satisfied with just a 2x option.)

That sounds kind of like what Pete's OpenGL2 plugin does with its "High" Internal X and Y reoslution option. I'm guessing it doubles up the original resolution or something like that. But from what I've seen it does add some dummy pixels here and there for the 2D graphics, especially for lower fullscreen resolution options, which I don't understand why it does.

There are some 2D glitches in other games too, for example in Vagrant Story like these pictures show where part of the 2D is missing with Pete's OpenGL2 2.9 plugin:

  • Left picture: 1280 x 1024 with "High" Internal Resolution and the "Try to keep pixel ratio" option (in Steve's OpenGL2 2.9 plugin). The left green border in the map is missing, why?
  • Right picture: Original 320 x 240 picture from pSX, it's accurate, but unfortunately the 3D is still 320 x 240.
I know I'm being very picky here. But I would ideally want a 2x pSX mode that is still as pixel accurate for all 2D as the original native mode is, but show the 3D in a higher resolution. Or a 2x mode in some ePSXe plugin that shows the 3D in a higher resolution, but renders the 2D as accurate as pSX does.
 

·
Banned
Joined
·
23,263 Posts
never had any alpha corruption using filter : 4

....you could try gsdx if you like :\
 

·
work haunts me, but I'm running faster!
Joined
·
246 Posts
ShadX and I are working on a new 2x filter for OGL1 plugin (yes, OGL1, not OGL2 shader) that looks better than 2xSai with alpha masked texture.
Here some preliminary results (FFVII). As you can see, there are no more strange colored borders. But, probably, other few glitches...
 
1 - 10 of 10 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top