You can still force an aspect of 3:4 in the shader and save the preset as override for the game.
Generic presets are ok, but the best ones are those that have an overlay with the console and shed light on it (for example, GameGear-Overlay-Night.slangp).
edit: I have one more question (last one, I promise). What do you think about combining presets with video filters (those from retroarch). For example tv_pal_my_old from BLARG NTSC SNES Custom Pseud MD Composite ? From what I know, the mega bezel probably has such mixes.
The question was more like: do you think a preset like generic-handhelds-rgb or the dots one fits gbc display? which one better?
As per the video filters, I don’t think a shader nor a preset has a way to trigger cpu video filters, but I never explored the possibility.
However ypu are free tp use koko-aio features but the NTSC ones and use cpu/core filters for that.
Yes, that’s actually how I do it. But I couldn’t explain why on Batocera it works normally
Unfortunately, I’ve never held a Gameboy Color in my hand
I have zero knowledge about this console.
This is what tv_pal_my_old preset with the ntsc filter looks like. You can get really interesting results, e.g. by emulating Sega Mega Drive.
I’ve just pushed an initial implementation of autocrop feature. I tried hard to make it as light as possible, and finally I decided to make it run via small steps spreaded over frames.
To better explain you how it works, here’s a little video:
https://mega.nz/file/gOkgWQhZ#6-ODLxxMP52PCTN8D3y5eW06ausJvJi2NU3RTBl5oVc
So, there are new parameters:
Autocrop maximum amount:
The higher, the more solid borders wil be cropped around the image.
Samples per frame:
Higher values makes the shader search more in a single frame for solid areas.
This leads to more accurate result in less time, however it will also stress the gpu more.
Fortunately even low/lighter values like 10 will work good if you're ok
in waiting 2..3 seconds for the final crop value to be found.
Scene change treshold
When autocrop finds a maximum crop value, it only tries to crop more when the scene changes.
By lowering this value, you tell the shader to try higher the crop more often.
Transition speed
This modulates the smoothness of the animation between various crop values.
The good news is that even for low values like 10, in a matter of 2…3 seconds it is able to reach almost full precision.
Also, if you plan to use it with games that have well defined solid areas (C64, Amiga), even 1…2 samples per frame are enough.
With default values of 20% autocrop and 10 steps per frame, the performance hit is about 4fps/100 on my Haswell, while the basal hit is about 1fps/110.
Caveats:
- For performance reasons the function that decides if fake integer scanlines are needed does not take autocrop into account.
- As soon as autocrop is activated, you’ve to wait for a scene change to see it in action.
Also, a big thanks to fishku from Discord for hints on low discrepancy sequences
There may be bugs and the need to test how parameters interacts each other to find good defaults.
Just pushed some good default (to me), but your mileage may vary and I’ve not tried many games so please, report!
I tried to copy megatron in koko😅 and experimente with hdr in retroarch. The deck has a peak brightness of 1000nits. I made a short video here, it looks really close like this in person.
Video in full resolution
But it seems that I can’t take screenshots in retroarch with hdr enabled
A preset for Game Boy Color would be great ;.)
At last, here are Gameboy Color presets.
Screen has rgb layout, low contrast with big vignette and spots to simulate world light over a passive display and high basal grid level.
No colorization applied, it relies on the default one done by Gambatte core.
Base one is: GameboyColor.slangp
Overlay variants, closeup and taller:
GameboyColor-Overlay.slangp
GameboyColor-Overlay-Taller.slangp
Last, the ones that emulate a IPS modded GBC, so with backlit/brighter colorful display.
There, ambient lights are meant to be inside the transulcent case; closeup and taller versions:
GameboyColor-Overlay-IPS.slangp
GameboyColor-Overlay-Taller-IPS.slangp
looking awesome! can’t wait to try 'em out!
Are those presets already available?
Yes, thank you! They are on the dev repo.
Cool,I will try,thanks
Hi @kokoko3k ! I love your shaders, especially Tv-NTSC_Generic-FXAA_sharp-Selective for N64. It makes the low-res HUDs look quite nice. And ParallelRDP with 2x upscale and 1/2 downsampling takes care of the 3d polygons and jagged edges. This combination results in a very good experience overall, at least to my eyes
Just one question. Are your presets overall tuned to 1080p or 4k? Is there anything I should change in Tv-NTSC_Generic-FXAA_sharp-Selective when using a 4k display? Not sure if it’s just my brain playing tricks on me, but I wonder if scanlines should be ever so slightly more pronounced when using a 4k display.
Oh, and a final question: are planning to release a new version? I saw you pushed several commits since last version already. Thanks!!!
Thank you!
Hi there,
glad to hear you’re satisfied with that preset; I test my preset on a 1080p display, so they are optimized for that size, as per the scanline look, they should look better on 4k without touching anything.
However, if you want they to look more pronunced, you can try to set the parameter:
"Scanlines (0 to disable)" from 1.0 to 1.25.
If it is not enough, another parameter you can play with, since you’re on a 4k display (on 1080p it is likely to produce moire) is:
"Overmask (1.0 = neutral)" to something greater than 1.0; whatch out for moire anyway for higher values.
Overmask Examples (open in a new window at 100%)
Overmask = 1.0:
Overmask = 1.5:
You may want to lower the halo strength as overmask is pushed higher by the scaled amount to keep the brightness as the same level, eg: since we pushed overmask by 1.5, i reduce the halo by that amount (0.5/1.5 = 0.333), the same probably applies to bloom mix, but i’ve not touched it in the next example:
Overmask = 1.5; halo = 0.33:
New version is certainly coming, but i cannot tell you when, since i’m a bit busy atm; however you can try the development releases from the main repository linked in the first post.
Snake preview of more work on scanline look.
Finally I managed to find a way to let them vertically grow much much more than before.
My previous attempts with the canonical way always led to absymal performance, and they were all not compatible with other shader features (staggering, moire mitigation and so on)
but finally I found a way that is almost free:
Warping coords and keep using my beloved sin(), yay!
I’m still working on it (nothing released yet), but the results are promising, rounder and yet sharp look: