What’s the difference to your default preset you posted earlier? It looks much softer. Did you add 4xsoft or just increased AA value?
Yeah I know what you mean, my computer is not superpowerful either… that’s one of the reasons why I run things at 720p. 720p+high IR both looks and runs better than 1080+native. Specially if you are using shaders, which have a lot more pixels to deal with at 1080 (roughly twice as many).
So that’s how I play almost everything from the 6th generation and most 3D games from the 5th.
Ps1/Saturn/N64 3D games for example look fantastic at 2x. So good in fact, that it sort of feels like they were designed to run that way, but couldn’t due to the hardware’s limitations. And with 6th gen systems, including the PSP, the difference between native and increased is simply staggering
Regarding the MvC2 shot, it’s the same configuration that I talked about in one of the first posts. The core is running at an internal resolution of 1280x960.
@Great_Dragon - which one are you asking about? The undithered MegaDrive screens? That’s simply a high AAoffset. Around 0.35 if I remember correctly. It’s too soft, I just wanted to show how I would deal with MegaDither if I really had to, instead of composhiting it.
Ok, this statement right here is very interesting.
So, from the 32bit era and on, are you changing the screen resolution in Windows, or in RA? Might be a noob question, but this is a first for me (I run everything at 1080 native, and could use some improved performance).
@Kondorito - I think they are going to implement screen resolution switches in the next release of retroarch. For the time being, what I do is force 720p using a wonderful, free little tool called res-o-matic, which you can read about and download here
I use it also for a lot of standalone emulators and pc games than run at desktop resolution. It is essential for something like PCSX2 for example. And yes, it goes back to your desktop resolution once you close the emulator or whatever. Super convenient!
Then you also may have to configure your graphics card to stretch/scale things properly, which might be a chore depending on the hardware and drivers. This works for me. It looks great and doesn’t produce any input lag (I’m really sensitive to that).
You rock Squalo!
Will check it out once I get home
I’m by no means an expert in video technology and I believe CRT shaders applied to pixels is a very subjective topic, I don’t think anyone can agree what is the “best” solution as everyone has their own opinion based on how they were exposed to the technology in their younger days.
In my younger days I was exposed to cheap PAL CRT TVs and the main connection available was the poor RF, composite or if we were lucky S-Video.
With the wonderful RetroArch CRT shaders, the beauty is flexibility. You can pick and choose what effect you want and what you don’t want. My goal was to experience that retro/nostalgic feeling by applying the mask, scanlines, minor smoothing/blurring and slight bloom but still keeping the picture free of artifacts produced by the poor quality RF connection which I experienced. This might be frowned upon by retro video display “experts”, however I knew the look I wanted to achieve.
Screenshots on the Internet do not tell the whole story because they do not take in to account the users TV/monitor brightness, contrast, back light etc… What looks dull or bright in a screen capture might be fine on the users display as they would have the settings adjusted accordingly.
I have 3 primary CRT presets, applied by the --appendconfig command in the frontend:
- 2D CONTENT (8/16bit systems) - gtu-easymode-halation-2D.glslp
- 3D CONTENT @240 (32/64bit systems) - gtu-easymode-halation-3D-240.glslp
- 480 CONTENT and above (Dreamcast/GameCube) - 4xsoft-easymode-halation-3D-480-vga.glslp
The presets start off with a bunch of shaders to get the right smoothing/blurring and colour tweaks - depending on the system and finally finish off with the crt-easymode-halation chain to apply the mask, scanlines and bloom/halation effect. They all include crt-easymode-halation because I wanted a consistent scanline look across all systems. I wanted the display to fill the 4:3 aspect ratio with integer scaling turned off, I found crt-easymode-halation handled the scanlines best for this setup. Also on the topic of consistency, to maintain a uniformed look I have the same bezel overlay to fill the 4:3 black sides (I have my setup running in a DIY custom VEWLIX cabinet hence why the VEWLIX branding on the bezel).
The above shader combos work fine on my PC which is running Windows 10 x64, i5, 8Gb memory, Nvidia graphics card feeding to a 1920x1080 LED TV.
Screenshots are best viewed at 100% by clicking in to them and then right clicking on the pop up image and selecting “View Image” in your browser right click menu.
2D CONTENT (8/16bit systems)
3D CONTENT @240 (32/64bit systems)
480 CONTENT
Cheers! I hope my old PC can handle those XD
Lovely screens, @shenglong, and great post. Our taste is indeed very similar, we go for the same look (the images I’m posting are smaller obviously because of 720p, but once stretched, almost identical).
100% agree. I started the thread with that in mind, to see what other people were going for, learn from them and share my experience so they could learn from me as well. There’s not so many people in the ‘real world’ who are interested in these things, at this level. Feels great, the feedback.
Yes, great thread. Eager to see and learn from others. I just wish I spent more time playing the actual games than tinkering with shaders
So this evening I have been messing around with those DC 2D fighters that mix lo-res pixels with hi-res assets, like MvC2. I tried that scale_y0 = “240” solution and I didn’t like it, although I find that it might be very useful for other types of content. Combined with easymode it provided a very CRT-y feel. I also discovered why you said it ruins text, @shenglong. It certainly does. It also looks like crap when linear filtered (although text becomes more readable, give it a try) and it destroys a lot of the detail from the beautiful, high resolution backgrounds. So I tried a few things and this what I got. Text and UI are perfect, backgrounds are perfect, 3D assets are perfect, and sprites are… well as good as they can get considering how much smaller they are compared with everything else. Screens are from CvS1.
Good point with the scanlines. I reworked my scanlines yet again and got a luminosity-responsive adaptive-width system going without an additional texture lookup that’s 720p friendly with the shadowmask overlay, though in these screenshots it’s 3x res for the scanline shader and then 4/3x res for shadowmask overlay to get it up to 4x and get a little blur out of the upscale. Also my JVC 3DLUT was thrown in since it’s visual MSG; it’s called jvc_tm in the LUT directory of the GLSL Shaders repo.
@Squalo The low res 2D sprites can be a pain, you just have to find a sweet spot that you find which works for you.
@Great_Dragon, those screen shots of Sonic, Mega Man you posted earlier in the thread… I really like that CRT effect too, it does not have strong scan lines but the mask effect makes it look like a VGA/CGA monitor from the early 90’s. I have a few presets that I found on the web which look like the output you posted but my system struggles with the intense shader chain. Also, with them being in .cgp format they are not compatible with all cores.
@torridgristle The Virtua Fighter screen shot looks nice and the scan line work your doing is pretty impressive, will these shader updates be available in the official libretro repostiory? I don’t want to hijack this thread so I will post a request in your other thread GritScanlines Lightweight LUT-Based Scanline Glow Concept + Prototype GLSL. It’s related to @Great_Dragon screen shots earlier in the thread.
Those shaders you mentioned in the other thread are exactly the same I use. I fact it’s one shader with some values changed to achieve desired look.
Here is original Birm’s post
AFAIK to be able to use the shader preset you have to have pretty beefy PC, Analog Shader Pack 3 from the thread and more over you limited with CG shaders. Unfortunately original shaders in ASP3 all are heavy modified. Even those which has the same name as RA’s shaders. So it’s very hard (for me) to conver it to something more modern and flexible like GLSL or SLANG.
The only thing I manage to achieve is to make shadow mask (dot mask) less visible and more round-dish.
Here is original shader look (MaskType=4)
Here is modified
So I made DotShader’s size fixed.
scale_type_x10 = "absolute" scale_type_y10 = "source" scale_x10 = "1280" scale_y10 = "3.000000" shadowMask = "4.000000"
Unfortunately there is little bug with that modification. Some dark transparent lines become visible across the screen and I don’t know how to fix it at the moment.
UPD: Forgot to mention that I’ve changed Dot Mask Type to 4.
UPD2: Those shaders from Brim’s pastebin folder look updated (October 20th) and so Contrast version of the shader looks brighter which is good thing.
Thanks for clarification, I did assume they were done by the same person or someone trying create a similar effect. Regarding my comments in the other thread, maybe the video compression in the YouTube video I linked to is making the mask appear grayscale and softer. Your screen shots look lovely, plus I zoomed into your screenshots like 1000% which isn’t normal, when viewing from the couch they would look just fine.
EDIT: @Great_Dragon - maybe the dot mask 4 is what makes yours more prominent?
EDIT: Anyway, shame this effect hasn’t been re-created in GLSL and made less resource intensive.
shenglong, so you are checking with torridgristle if there is a way to emulate the above shader with a basic png mask?
Would love to have the ASP v3 (I believe v4 is in the works) in glsl, as being an Intel owner, I cannot do much with cg’s.
EDIT: Checking the above image again, I can see that it has a vignette effect as well, darkening the corners. That can be easily achievable with an overlay anyways.
@torridgristle - that was one brilliant idea mate. It runs blazing fast and looks really nice.
And yeah, @Great_Dragon’s mask is lovely indeed. It’s just that I tend to prefer aperture grills, and also that I can’t tell what shadow masks really look like until they are merged with scanlines.
Yeh I’ve asked @torridgristle in his thread if he could kindly have a go, he has posted in this thread and done some work on making lightweight GLSL shaders that utilise LUTs (look up textures). I’m not technical so don’t even know if it’s possible, no harm in asking Hopefully what I’ve requested makes sense!
I’ve had ASPv3 since day one, it has some cool presets but I don’t actively use it because the CG format does not work with some cores and you need a beefy machine to use the more advanced stuff.
Yes. That Dot Mask 4 with default settings looks more visible. Though if you change its size you will turn it into somewhat close to real TV shadow mask IMO.
If that is what you are looking for you can use Dost Mask shader alone with mask type 4 and fixed size. Or you can use CRT-Lottes (that is original shader from where they rip off that dot mask filter). But you have to change kernel shape size to 3
alias0 = "" bloomAmount = "0.150000" brightBoost = "1.000000" filter_linear0 = "false" float_framebuffer0 = "false" hardBloomPix = "-1.500000" hardBloomScan = "-2.000000" hardPix = "-3.000000" hardScan = "-8.000000" maskDark = "0.500000" maskLight = "1.500000" mipmap_input0 = "false" parameters = "hardScan;hardPix;warpX;warpY;maskDark;maskLight;scaleInLinearGamma;shadowMask;brightBoost;hardBloomPix;hardBloomScan;bloomAmount;shape" scale_type_x0 = "absolute" scale_type_y0 = "source" scale_x0 = "1280" scale_y0 = "3" scaleInLinearGamma = "1.000000" shader0 = "D:\Games\Emu\RetroArch\shaders\shaders_glsl\crt\shaders\crt-lottes.glsl" shaders = "1" shadowMask = "4.000000" shape = "3.000000" srgb_framebuffer0 = "true" warpX = "0.001000" warpY = "0.001000" wrap_mode0 = "clamp_to_border"
Both shaders are available in GLSL
As for the viewing distance you are absolutely correct. This type of look is not designed to play on PC monitor with usual viewing distance around 60 cm. It looks well on my 40" TV from 2 meters away.
I fixed the messy scanlines in GameCube and DreamCast with the crt-hyllian-3d shader.