Crt-Royale Kurozumi Edition Help

Hello and thanks for the best of the shaders! I have this problem:

So, can you tell me how to remove these vertical lines? I use glsl-shaders and GL-video driver, since other options either do not work or work slowly. Volcano doesn’t start because a laptop. And on d3d, I do not get enough performance. Thank! I run RA on the Nvidia GT 710m and Win 7 SP1.

this post tells how to get rid of them:

1 Like

Sorry for being late. And thanks for your answer - it helped solve the problem.

I’ll start out by saying that this is by far the best shader I’ve ever used. I used to think that CRT scanlines were a joke for emulation, but this preset has really changed my mind, especially for PSX games like Resident Evil. Reallt adds to the look & atmosphere. Also, the only reason I still use software emulation on Beetle, for cgp.

Anyway, @James-F mentioned a long, long time ago in this thread that when increasing “mask_triad_size_desired” you also would want to lower something like “bloom_underestimate_level”. I hadn’t really noticed the blown-out whites before, but after seeing that I started noticing it more and more @ 1440p. Lowering the contrast didn’t seem to do much, so I assume that should be ok where it’s at. Are there any suggestions for what the setting should be when “mask_triad_size_desired” is at 3?

Hi there, long time no see, i know, been pretty busy in real life, so sorry for that, no updates on the shader. Anyways, have made new settings, as usually, i just tweaked some tiny little things. Just in case some forgot, the goal since a long time for myself are the last BVM CRTs (think D24E1U or D32E1U), the new settings are even more in line with them.

The most recognizable differences are the scanlines of very saturated/bright beams are a tad smaller in height and the scanlines of small beams are sharper. Other than that, the edge of a beam looks more natural now, and there are some really minor tweaks in the halation/glow department.

The most exciting part for me is, there’s a new shader pass built in the preset, that uses Lookup Tables (LUTs) to color correct the image. F.e. the LUT can mimic other televisions/displays.

I bet, here comes the question: The BVMs are mastering displays that are color accurate, they are the reference, why the heck would i need a LUT to mimic that? The answer is, you won’t… ,but back then the standard color spaces were a bit different than todays. The beauty is, the old color space (Rec601/SMPTE-C) fits completely in the modern days equivalent (Rec709/SRGB).

I don’t want to make it complicated, in really simple terms it just lets the colors on modern displays (PC-Monitors/TVs in SDR mode) look like they would with pre-hd era devices.

@hunterk and I tested everything as good as we could including the preset in every shading language. Since friday CRT-Royale seems finally completely fixed, the halation-bug on GLSL is fixed and the geometry should work again. The LUT is a new part in this shader, and our testing revealed, in slang it just works fine. In CG/GLSL i got a quirk with weird colors, @hunterk could not replicate that error. So if you are experiencing any issues with that, please reply to this thread and let us now.

Thanks and have fun with this shader (should be in the updater soon!)

6 Likes

It’s me, again, got some updates!

Two days ago i talked with @hunterk about color spaces, after a long chat, he noted that some people try to emulate the NTSC 601 gamut with a whitepoint set to 9300K, instead of the usual 6500K. He pointed out that japanese CRTs were calibrated to that and some games look more natural with that.

I never even thought about that, created a 9300K LUT, was curious how it looked, on some games it was amazing, on other pretty meh…

@hunterk then said something like “i could make you a multi-LUT-loader, that can switch LUTs…” and voila some hours later, the Royale-Kurozumi preset has that now built in.

So if you update shaders to the newest versions, in shader parameters the first option you’ll find is a switch for D65/D93 , which switches between NTSC REC 601 6500K (US) Color Mapping and NTSC REC 601 9300K (Japan) Color Mapping.

Now you got more options for your perfect retro-gaming experience. And everyone using other CRT-shaders, of course feel free to use the multi-LUT Shader and have fun with it :slight_smile:

Special thanks to @hunterk for making that happen!

7 Likes

Geom modes seem to be broken on slang again. At least it’s not working for me.

It’s a typo, just open the slang file of kurozumi, locate line 208: shader12 = "…/crt/shaders/crt-royale/src/crt-royale-last-pass-no-geom.slang

edit it to this: shader12 = "…/shaders_slang/crt/shaders/crt-royale/src/crt-royale-geometry-aa-last-pass.slang

It’s just not switched in right now. Oh and edit texture_wrap_mode12 into “clamp_to_border”

Have fun with geom :slight_smile:

So, to elaborate a bit, I noticed that the slang version kurozumi’s preset had a sharper mask than the GLSL and original Cg versions. When I investigated, it turns out it was because the slang version was still using a pass that didn’t include the geometry/curvature and accompanying antialiasing (these functions were causing the whole shader to crash when I first ported it, so I made a passthrough shader to use until I got it fixed, but kurozumi’s preset was still using it accidentally). Here’s a pic kurozumi made of his preset running at 4K:

The mask details get blurred out quite a bit by the antialiasing, so I made no-geom passes for the GLSL and Cg versions to use, as well, to make them as sharp and realistic as the slang version.

So, if you want to use curvature effects, you’ll need to switch the last pass in the preset as described in kurozumi’s last post.

EDIT: disregard. I got it to work. There was a check built-in that’s supposed to disable AA when it’s not needed, but it was always returning true. Forcing it to false makes it only use the AA when geometry modes are enabled and keeps it sharp when they’re not.

3 Likes

Updated today and the modes all work again which is great but the colour temperature changes when any of the geom modes are enabled on any video driver. The temperature gets warmer and has a pink/purple hue. I don’t remember if it’s always done this or not.

I’m pretty sure it always did this but wasn’t as noticeable because it was doing it without the geometry modes, as well.

@hunterk aa_subpixel_r_offset_x_runtime (and y) doesn’t work anymore since update,I tested all possible parameters in user-settings.h :thinking: edit:slang version

It should still work with geom modes > 0. All I changed was forcing the skip of the second boolean check, which was coming up as true even when it shouldn’t (i.e., even when the sum of the absolute values of the aa_offsets < 0.5). The first check should still trigger as long as geom_mode > 0.5, since it is an “or” (||) comparison, while the second check is an “and” (&&) comparison.

Can you get a pic comparison of what it should be doing vs what it’s currently (not) doing?

1 Like

(Gamma pushed to max) New version https://pasteboard.co/Izw17kJr.png

Old version https://pasteboard.co/Izw1vzL.png

This effect works well on 240p games and shadow mask,aa subpixel r offset y -0.33 coupled with offset convergence y red +0.5 gives better red and aa subpixel r offset x -0.33 gives larger red on shadow mask with bigger mask

> //  The BLOOM_APPROX pass approximates a phosphor blur early on with a small
>     //  blurred resize of the input (convergence offsets are applied as well).
>     //  There are three filter options (static option only for now):
>     //  0.) Bilinear resize: A fast, close approximation to a 4x4 resize
>     //      if min_allowed_viewport_triads and the BLOOM_APPROX resolution are sane
>     //      and beam_max_sigma is low.
>     //  1.) 3x3 resize blur: Medium speed, soft/smeared from bilinear blurring,
>     //      always uses a static sigma regardless of beam_max_sigma or
>     //      mask_num_triads_desired.
>     //  2.) True 4x4 Gaussian resize: Slowest, technically correct.
>     //  These options are more pronounced for the fast, unbloomed shader version.
>     static const float bloom_approx_filter_static = 2.0;

and old version

//  The BLOOM_APPROX pass approximates a phosphor blur early on with a small
    //  blurred resize of the input (convergence offsets are applied as well).
    //  There are three filter options (static option only for now):
    //  0.) Bilinear resize: A fast, close approximation to a 4x4 resize
    //      if min_allowed_viewport_triads and the BLOOM_APPROX resolution are sane
    //      and beam_max_sigma is low.
    //  1.) 3x3 resize blur: Medium speed, soft/smeared from bilinear blurring,
    //      always uses a static sigma regardless of beam_max_sigma or
    //      mask_num_triads_desired.
    //  2.) True 4x4 Gaussian resize: Slowest, technically correct.
    //  These options are more pronounced for the fast, unbloomed shader version.
#ifndef RADEON_FIX
    static const float bloom_approx_filter_static = 2.0;
#else
    static const float bloom_approx_filter_static = 2.0;
#endif

I don’t know if it’s related but it’s not the same as before (radeon fix) :face_with_monocle:

1 Like

Yes it was, it’s not always warmer, it depends on the colors, but the purple tint kinda always happens. Color accuracy with CRT-shaders always bugged me a lot (FYI i’m a professional display calibrator). I’m working on it, to get the same scanline look, but with more color accuracy.

Edit: @ProfessorBraun : That old version color tint really hurts the eyes IMHO. I would guess, too, it’s because the AA runs bypassed in geom_mode=0

1 Like

Yes it looks like that because I exaggerated the values ​​of the parameters so that hunterk sees better, otherwise with normal values ​​it looks like this. https://pasteboard.co/Izy1n8M.png

But I understand what you mean.

So I’m using the lastest slang version after not updating for a year or so, and I never had any issues before but since updating to the newest version I’m getting this.

I’m guessing I messed up something or haven’t been paying attention to this new LUT system. Was I supposed to change some extra variables?

1 Like

Hi there, nope that’s the bug i was mentioning when i introduced the LUTs . The bug hunterk can’t replicate. No you did everything allright, but I would like to have some information, if you are willing to share (if not, maybe a PM?). Something like, OS, graphics adapter, drivers, version of the shader you used (CG/GLSL etc.).

Of course i want to help you as fast as possible!

Edit: Oh and welcome to the forum!

OS: Windows Server 2019 (functionally the same as Windows 10 1809)

GPU: Nvidia 980 Ti

Drivers: 436.48

RetroArch version: latest nightly installer

Cores: latest Beetle PSX

Video Driver: glcore

Tried the latest CG and Slang from versions from github with both giving the same issue.

I got another update again, which just started by tinkering with crt-guest-dr-venom for a very brief time. I posted a screenshot and some people liked the result.

@hunterk was so kind and wrapped the settings into the shader “crt-guest-dr-venom-kurozumi” (try to say that one 5 times fast in a row :crazy_face:). You’ll find it in the presets folder, as usual.

It’s the same bvm-y shader experience as royale-kurozumi, but different!

If i had to describe the distinctions, to my eyes crt-royale has more going on in the fine details, but mostly on lower resolutions the result can sometimes be quite harsh. Crt-guest has some sweetness, especially in the very bright and the darker parts, i just can’t dial in with royale, without looking way to artificial or blurry.

Check this side by side shot:

I would think of it as having the choice between your favorite cola beverage, just pick the one that you like best / that works for you!

My favorite feature of crt-guest is tate mode (which royale hasn’t). Just go to shader parameters, search for tate mode and set the value to 1, and f.e. your mame tate games will just look as they should.

Or it could be interesting for people who can’t run royale at full speed, afaik crt-guest-dr-venom renders faster.

I haven’t tinkered with the after glow/color persistence, so it’s off for now. If you turn that on, the shader goes into motionblur-city. The same with halation, everything i tried so far, looks funky. I’ll look into that, a tiny bit of both will propably make it more realistic, but for now it’s like having to many spices in it.

Anyways, have fun with the shaders, as always and if you encounter problems with crt-guest, just throw your problems in here, too!

If you can’t find the shader, use the online updater :upside_down_face:

5 Likes