I was getting ready to apologize for my inactivity, until I realized my last post was only five days ago. It feels like an eternity with everything that I have going on.
I might have more to say later.
I still have no progress on this after over 3 weeks.
At first glance, it’s a simple problem: Just simulate the CRT’s colors directly, but in P3 or Rec.2020 space. While this works for simulating the signal alone, appending a CRT shader directly with it results in the phosphor mask being wrong. Because of things like glow and luminance weights, I can’t do a split prepend/append setup to defer the HDR color fix to the end. To make this make sense, I have to edit the CRT shader to output its RGB phosphors as the CRT’s phosphors’ colors. There is no other way. This will take some more effort than I first thought.
With HDR, it becomes possible to simulate CRT phosphors directly without compression. The only problematic one is the Toshiba FST Blackstripe CF2005 from 1985, whose blue phosphor is in Rec.2020 but not close to P3. Other CRTs won’t have any problems.
I don’t have any HDR monitor to test on, so I’ll have to just hope that everything looks correct on your end.
I’ve made a breakthrough in making RF noise more efficiently, to a point where it can probably be accepted into crt-advanced. Those 300 random sine waves can be replaced with just 2 manually controllable ones. Very fast. For my own shader, I’m willing to have a little bit higher performance overhead, so I loop that code section 20 times with randomization. I can post this tomorrow.
I should be able to do this tomorrow.
I don’t have a very good Genesis shader yet. I see that beans is working on simulating it more accurately. I can make a less accurate option in the meantime. Until I post that, the best option for Genesis is the one that I posted about a year ago in October.
For PSX, the “170m” 240p presets should be a good choice for now. In fact, this is probably good for most 32-bit consoles. It’s a generic preset that isn’t emulating any specific hardware, but it looks convincing to me.
I could do this and make it more efficient, but that effect was more of an eye candy, not as accurate as I would like today. I have just a bit of a hunch on how to improve it, but I don’t have 100% of the information that’s needed for accuracy with it.