English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 10 February 2019, 16:22   #181
Retro-Nerd
Missile Command Champion

Retro-Nerd's Avatar
 
Join Date: Aug 2005
Location: Germany
Age: 47
Posts: 11,325
I like guest.r default values too. We are talking about emulation on modern displays with zoomed/scaled image output. The mask/scanlines have to be a bit more visible or the illussion of a CRT TV isn't there. At least for me. Sure, the rest (like the glow) is a bit basic, but the result with a single shader+PNG mask combination is still pretty good.

Last edited by Retro-Nerd; 10 February 2019 at 16:52.
Retro-Nerd is offline  
Old 11 February 2019, 14:37   #182
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,335
Another possible option is to have config entries embedded with shader file (as comments) to force some specific options.

But I am not going to allow it to force resolution because not everyone have 16:9 full hd displays
Toni Wilen is online now  
Old 11 February 2019, 16:52   #183
guest.r
Registered User

guest.r's Avatar
 
Join Date: May 2017
Location: EU
Posts: 184
Quote:
Originally Posted by Toni Wilen View Post
Another possible option is to have config entries embedded with shader file (as comments) to force some specific options.

But I am not going to allow it to force resolution because not everyone have 16:9 full hd displays
I think it's about what we are trying to solve here. One big problem for now is this Hires/Lores/Lines setting, as Dr. Venom mentioned, most of the shaders are using Lores/no line dubling as they are intended for games and work pretty well by these circumstances. Alas many configs are hires...

Any solution means some extra work, but i prefer passing some uniforms to the shaders as they could handle some extra parameters and adapt their functionalities.

For hires/line mode float2 uniform i suggest that the first x value (resolution) is 1.0 for normal, 2.0 for hires and 4.0 for SuperHires. For line mode (second float2 value) 1.0 for normal, 2.0 for double, and whatever multiplier of original resolution is used for "scanlines" and fields.

This way the existing shader code could be easily modified by changing some lines.

Another issue present is that it's good to know if "hires" scaling of original resolution happens (let's say it happens in games, but doesn't running the OS). By knowing this shaders could ignore application in the operating system, since it would smear the gfx. there.

"Scaling" shouldn't happen with lores/normal line mode at all i guess...even in OS.

If this is possible i would suggest another uniform for shader application control (0 / 1 values would do).

The only problem i see here is that the modified shaders would require a new WinUAE version. I think it's OK for most users, i could also open a seperate thread for new shaders.

For other users: it's quite safe to use a new WinUAE version.
guest.r is offline  
Old 11 February 2019, 22:44   #184
Dr.Venom
Registered User
 
Join Date: Jul 2008
Location: Netherlands
Posts: 430
Quote:
Originally Posted by nobody View Post
Shader is fine and looks gorgeous, just is not accurate about how it would look if you plugged an Amiga to Trinitron but looks like if you plugged a NES to Trinitron (drawing less pixels->more thick dark scanlines). Not a bad thing, I actually like that look more. And looks better than my previous favourite crt-hyllian.
Quote:
Originally Posted by Retro-Nerd View Post
I like guest.r default values too. We are talking about emulation on modern displays with zoomed/scaled image output. The mask/scanlines have to be a bit more visible or the illussion of a CRT TV isn't there. At least for me. Sure, the rest (like the glow) is a bit basic, but the result with a single shader+PNG mask combination is still pretty good.
Good to know guys. I know I'm a bit of a purist when it comes to emulation and simulation of things, but both preferences are equally valid of course..

I wouldn't be surprised if with 4K and HDR both can melt together more in the sense that by greater accuracy it will create an even more believable illusion.

Even though with the glsl shaders guest.r has raised the standard by quite a bit, I do love the Amiga shader, don't get me wrong! I finished Battle Squadron with it today, so it must be good





Quote:
Originally Posted by Toni Wilen View Post
Another possible option is to have config entries embedded with shader file (as comments) to force some specific options.

But I am not going to allow it to force resolution because not everyone have 16:9 full hd displays
Maybe it's also good to have a little overview of what could be improved. I'm not listing any solutions or details, just some things I learned are great or very helpful. I'm sure some of these are the very opposite of trivial, but possibly could be taken into consideration for the long term..


Usability:

  1. Like Nobody already mentioned: PRESETS. I.e. you load a shader-preset and everything necessary gets configured automatically.
    Goal is that shader presets can be shared and you'll be sure that the other gets to see what's intended and not a Frankenstein version of it.
  2. Live editing of shader parameters (the #defines in the shader file), including loading and saving and "previewing" by applying in a running session. (Maybe this should be an integral part of 1?)
    Goal is to make it much easier for the average user to finetune shader settings to his own likings.

    Technical shader features:
  3. As mentioned by guest.r: Pass a number of extra size parameters within the shader system, such that the shader can deal with the different resolution settings / internal switching the Amiga does.
    If I understand guest.r right he sees the possibility to resize internally within the shader to create the correct output regardless whether a user is using hires/superhires/double etc. So for games the output would always be "as if" the user has "lores" set, even if in reality he has not.
    Is that right guest.r? If so I would find that a very elegant solution! At least the boot-up screens before loading a game won't look crazy anymore because of the current forced lores setting
  4. It would be supernice if the WinUAE D3D shaders could trump the glsl shaders technically. One prominent thing is that for proper Glow and afterglow (phosphor trail) features it would need feedback or history of previous frames available in the shader. Preferably more than 6, such that completely realistic phosphor trails would be possible.
  5. Officially supported Calculated masks. The calculated masks look much better than png mask overlays. Currently available as a hack for D3D9, but official support would enhance user friendliness by a mile (they would be loaded with the shader / setting (!) and include D3D11 support too.

A good start would definitely be if point 3 could be tackled, going back to guest.r his post..
Dr.Venom is offline  
Old 12 February 2019, 17:57   #185
guest.r
Registered User

guest.r's Avatar
 
Join Date: May 2017
Location: EU
Posts: 184
I think point 5 is within current reach too, since a working concept already exists. Maskshaders would imo need an extra folder and could be selected from the same menu as masks/overlays.

They could be applied after "_winuae.fx" or whatever D3D11 shader handles the masks/overlays.

I think this would be a config friendly solution that would require a couple of uniforms only (like texelsize).
guest.r is offline  
Old 12 February 2019, 19:14   #186
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,335
Quote:
Originally Posted by guest.r View Post
For hires/line mode float2 uniform i suggest that the first x value (resolution) is 1.0 for normal, 2.0 for hires and 4.0 for SuperHires. For line mode (second float2 value) 1.0 for normal, 2.0 for double, and whatever multiplier of original resolution is used for "scanlines" and fields.
"sourcescale" added.

Quote:
[*] Live editing of shader parameters (the #defines in the shader file), including loading and saving and "previewing" by applying in a running session. (Maybe this should be an integral part of 1?)
How to describe which parameters are "user" parameters and what they mean, range etc..


Quote:
feedback or history of previous frames available in the shader. Preferably more than 6, such that completely realistic phosphor trails would be possible.
How? Array of "previous" textures? (is arrays even supported here?)

Quote:
[*] Officially supported Calculated masks. The calculated masks look much better than png mask overlays. Currently available as a hack for D3D9, but official support would enhance user friendliness by a mile (they would be loaded with the shader / setting (!) and include D3D11 support too.
What is calculated mask? I said, must be described in detail
Toni Wilen is online now  
Old 12 February 2019, 20:42   #187
guest.r
Registered User

guest.r's Avatar
 
Join Date: May 2017
Location: EU
Posts: 184
Quote:
"sourcescale" added.
Thanks Toni. Works like very well with D3D11, i can also make it work as "Lores" shader in previous versions.

Can you take a look at D3D9 mode?
It only produces a blank screen with my setup...

I can include a test shader.

Thanks again, will probably convert more shaders when the 4.2 is officially released.

For everyone else interested, the shader now works lores/hires/whatever setting with latest beta.

http://www.winuae.net/files/b/winuae.7z
Attached Files
File Type: zip CRT-Guest-SmartRes.zip (1.8 KB, 13 views)
guest.r is offline  
Old 12 February 2019, 20:45   #188
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,335
Quote:
Originally Posted by guest.r View Post
Can you take a look at D3D9 mode?
It only produces a blank screen with my setup...
Oops, copypaste error.. Should work now.
Toni Wilen is online now  
Old 12 February 2019, 21:57   #189
guest.r
Registered User

guest.r's Avatar
 
Join Date: May 2017
Location: EU
Posts: 184
Thanks, works now.
guest.r is offline  
Old 14 February 2019, 18:36   #190
guest.r
Registered User

guest.r's Avatar
 
Join Date: May 2017
Location: EU
Posts: 184
As suggested i made a crt shader which works with combined hires/lores gfx, like in Apidya for example. No fast glow is possible with it in hires though.

Otherwise i made a collection of shaders already called "SmartRes" shaders, which already work with the latest betas (see link above).

Only single pass shaders which do with D3D9 and D3D11. Wtih older WinUAE versions there is still a bit of testing needed (they behave as lores there). Need a volunteer with nVidia / Intel gpu to test them there (pick one of two "SmartRes" shaders).

Suggestions for the collection is also welcome.
Attached Files
File Type: zip CRT-Trinitron-Hires-SmartRes.zip (2.0 KB, 10 views)
guest.r is offline  
Old 14 February 2019, 19:47   #191
Retro-Nerd
Missile Command Champion

Retro-Nerd's Avatar
 
Join Date: Aug 2005
Location: Germany
Age: 47
Posts: 11,325
It looks great. Thank again for your work. I really appreciate it. Now games like Apidya looks beautiful with a decent CRT shader.








Last issue left would be interlaced hires stuff, like the options menu in Lionheart. Would it be possible to deactivate the shader when interlace is detected? Could be problematic since Lionheart also uses interlace for the colorful sky gradients ingame (which can be disabled though).

Last edited by Retro-Nerd; 14 February 2019 at 19:52.
Retro-Nerd is offline  
Old Yesterday, 00:28   #192
guest.r
Registered User

guest.r's Avatar
 
Join Date: May 2017
Location: EU
Posts: 184
Quote:
Originally Posted by Retro-Nerd View Post
Last issue left would be interlaced hires stuff, like the options menu in Lionheart. Would it be possible to deactivate the shader when interlace is detected? Could be problematic since Lionheart also uses interlace for the colorful sky gradients ingame (which can be disabled though).
I remember i've posted a hires shader once with dealt with such problems.
Can't get "SmartRes" though, smears too much in lores.
Adding a variable (by Toni) which detects interlaced screens, seems a bit excessive for the time we look at them, may even not work properly.
This shader is only Hires, but looks much nicer on interlaced screens...

Edit: adjusted brightness a bit.
Attached Files
File Type: zip CRT-Trinitron-HiRes.zip (2.0 KB, 7 views)

Last edited by guest.r; Yesterday at 01:40. Reason: Brightness profile.
guest.r is offline  
Old Yesterday, 01:17   #193
Retro-Nerd
Missile Command Champion

Retro-Nerd's Avatar
 
Join Date: Aug 2005
Location: Germany
Age: 47
Posts: 11,325
The Lionheart menu is now completely readable. Thanks for that.




But the interlaced Giana Sisters title screen shows some disorted pixels, compared to your SmartRes-Trinitron-HiRes shader.





Unreal interlaced title screen looks fine though:


Last edited by Retro-Nerd; Yesterday at 01:40.
Retro-Nerd is offline  
Old Yesterday, 01:43   #194
guest.r
Registered User

guest.r's Avatar
 
Join Date: May 2017
Location: EU
Posts: 184
I'm getting the opposite at Giana Sisters screen.

http://screenshotcomparison.com/comparison/130166

Anyway, i updated the shader with new brightness profile, looks more as the original now. Your screenshot reminded me luckily.
guest.r is offline  
Old Yesterday, 01:49   #195
Retro-Nerd
Missile Command Champion

Retro-Nerd's Avatar
 
Join Date: Aug 2005
Location: Germany
Age: 47
Posts: 11,325
Quote:
I'm getting the opposite at Giana Sisters screen.

Are you really sure? Tried it again and HiRes SmartRes looks correct, the HiRes shader not. D3D11.

Yep, the brightness option was missing. Looks much better now.

Now is only the color hue option missing, for the final touch. But we tried that 1-2 years ago. Didn't work properly.

Last edited by Retro-Nerd; Yesterday at 02:30.
Retro-Nerd is offline  
Old Yesterday, 09:43   #196
guest.r
Registered User

guest.r's Avatar
 
Join Date: May 2017
Location: EU
Posts: 184
Quote:
Originally Posted by Retro-Nerd View Post
Now is only the color hue option missing, for the final touch. But we tried that 1-2 years ago. Didn't work properly.
Won't get much better. First implementation used a standard RBG -> HSV (Hue, Saturation, Value) which is commonly used. I noticed it's a bit sensitive on the hue part, so the second one has an angular -180 to 180 degree hue distribution and works like pictured on the color wheel.



The reason i dislike hue shifts is because the yellow color is commonly used in gfx., but is very sensitive to hue shifts (see picture above).

Hue shifts aren't something happening with CRT displays by pure math, more as a byproduct of some other circumstances, so a shift of 10 degrees for example won't calibrate the colors to "look as on my display". I understan't it got flagged as "doesn't work properly".

Anyway, HUE is not comming back unless there's a petition.
guest.r is offline  
Old Yesterday, 15:12   #197
Retro-Nerd
Missile Command Champion

Retro-Nerd's Avatar
 
Join Date: Aug 2005
Location: Germany
Age: 47
Posts: 11,325
Well, then i'll stick with the "warm" profile in my monitor settings (which looks closer to my Trinitron CRT). I hate this profile for the normal PC stuff. Unless you have a way to mimic something like that via shader.

Last edited by Retro-Nerd; Yesterday at 15:25.
Retro-Nerd is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Multipass shaders craig64 support.FS-UAE 20 10 July 2017 23:45
HLSL/CG Shaders and xBR Enverex support.FS-UAE 11 19 July 2013 17:44
fx Shaders in WinUAE 2.6.0 crazy46guy support.WinUAE 8 16 June 2013 15:30
[FS-UAE] Optimized or corrected Amiga Game Database Entrys nexusle support.FS-UAE 3 24 August 2012 22:30
Subpixel-corrected lines and polygons on Amiga Scali Coders. Asm / Hardware 9 11 January 2012 13:37

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 19:39.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Page generated in 0.08934 seconds with 16 queries