That’s interesting. It works for me with Vulkan. I have HDR enabled in Windows 11 and in the latest Retroarch Nightly. Are you sure you have all of these options enabled? HDR works for me but I do have issues as I have made known in other posts.
FYI I tried to do this and it was a fail. A sheet of paper was see-through. If I held 4 or 5 sheets of paper it might work, though.
In theory: good. In practice: some adjustments are necessary.
Get construction paper, problem solved .
In practice, almost always used in traditional analog photography, although we usually used a large sheet of gray poster board. (So the blacks would also balance.)
A significant drawback with OLEDs is that they use a different subpixel structure, WRGB. This makes it impossible to get well-defined emulated RGB phosphors as the white subpixel has to be on to attain the desired brightness per pixel, and this results in irregular spacing of the “active” subpixels when using a CRT mask.
This doesn’t matter at all when watching movies/shows or doing modern gaming, but it’s a big problem for accurate CRT emulation.
Here’s a shot I took a couple years ago, if you zoom in you can see the emulated RGB phosphors, looks just like a CRT except for the pixel grid and the “stair stepping” where the scanlines taper, both problems resulting from not enough resolution (this is 1080p).
An additional problem is the scanline edge fade (not sure what else to call it) where the center of the scanline is say 100% bright, the lines adjacent to that are maybe 50%, then 25% etc. CRT scanlines didn’t have this vertical fade, it’s the same intensity at the center of the phosphor as it is at the edge and the only thing that changes is the beam spot size/shape. Hard to explain.
There were a few bugs that got ironed out last night - should be in either tonights or last nights nightly build. Try again tomorrow and let me know if it fixed your issue.
The other thing to note is that these bugs seemed to effect the xmb menu system and not the ozone and rgui menu’s - possibly why its working for others and not you.
Ah that is interesting I forgot that they were WRGB OLEDs I wonder if QD-OLEDs now fair much better in this respect - I guess we’ll wait for the Sony A95 to see. I am still wondering whether OLEDs are the best for retro gaming or maybe more to the point emulating a CRT accurately.
Other replies have kind of misinterpreted what I was asking in that of course when you look into reviews of display’s for modern games everybody rightly will say OLED’s are best as they are a superior tech but when it comes to accurately matching a CRT I’m not so sure - phosphors dont behave anything like an OLED that are near instant on/off. Having said nor does an LCD but at least they have some amount of ‘after glow’/ghosting which is one of the main gripes for modern gaming.
If you want better than a CRT then I’d definitely say get OLED. Mind you this is all better an CRT if you don’t introduce geometry curvature and if you do introduce it then all bets are off with accurately emulating a CRT I’d guess as I’m assuming you’re moving away from the pixel grid(?).
I should have a look into how curvature is currently being done as I can imagine simply bending (purely in the y direction) the scanlines towards the edges may give enough of a curvature effect on its own (and would allow you to keep the pixel grid)
This is really what I’m interested in how to accurately emulate a trinitron/PVM CRT. This looks like its doing a reasonable job especially because its at 1080p - whats that a sub 300TVL - possibly 200TVL once you take into account 4:3(ish) aspect ratio that would introduce black bars each side of a 1080p 16:9 screen.
As such this is going to be pretty blurry (low res) compared to a PVM and most (all?) trinitrons (ignoring all the blurring a lot of shaders have been doing to fake brightness). You definitely need 4K in my experience.
When you say scanline tapering what are you describing there? On my PVM the phosphors that dont map centrally to a pixel do have an interpolation between the current pixel and the next pixel along presumably because the electron beam is not instantaneously moving from one pixel to the next. I’d assume the beam takes some amount of time to transition between the two pixel’s. This does give a scanline tapering effect as in the above image if this is what you mean or is there something else (ringing these in the above image would be good).
I’m going to take a picture of this Secret of Mana character on both my CRT and shader and see what I get. I will say my shader is currently defaulted to a 4 pixel pattern because I wanted to get as close as possible to the 600TVL resolution but maybe I need to swap to a simple 3 pixel RGB pattern for this investigation.
It takes 2 px to make one white line if the mask is 2 px wide. We count the number of vertical lines (black and white) that can be displayed within a circle displayed in the middle of the screen, with the diameter of the circle being 1080 pixels. So it’s just 1080/2 = 540 lines.
Are you calculating TVL differently?
Where it fails the Pepsi challenge is the visibility of the pixel grid; that’s a dead giveaway that it’s not a CRT.
4 pixels (red, yellow, cyan, blue) is the pattern to use. It should wind up looking just like RGB phosphors with the natural HDR bloom.
The picture lines vary in width based on the intensity/brightness of the pixel, with full white being the widest and dark grey being the thinnest. On an analogue display the taper is completely smooth but on a digital display you have stair stepping since ultimately the display is made of discrete pixels. Digital displays have 1:1 mapping between the digital pixels and the physical pixels, analogue CRTs didn’t work like that.
Yeah, I’m not sure how exactly the scanlines match up with the phosphor grid in crts.
In most crt shaders the curvature is done before the phosphor mask is added on, so the pixels of the phosphor grid are independent of the curvature and are always matching 1-1 with the final resolution which should match the device physical resolution.
So you shouldn’t get any strangeness in the mask other than it not matching the scanlines exactly. But again I’m not sure how closely they match normally.
@hunterk may know the answer to this question…
You can’t really see the scanlines in that shot, but you can see that there’s not really any correlation between the layout of the phosphor triads and where the beam illuminates it, which is why it’s okay IMO to not warp the phosphor grid (that, and it just looks terrible). Maybe when we get 8K+…
Yes I stupidly used 1080 instead of 1920 and then assumed a three pixel pattern. Using a 2 pixel pattern and 1920 I get 540TVL too ((1920 / 2) * .75 * .75) instead of ((1080 / 3) * .75 * .75) assuming 4:3 ratio.
That’s really good - I might detect that in my shader and adjust accordingly.
Ah yes I see, so you’re talking about the vertical aspect of each scanline here which is where 4K resolution definitely will help (but whatever resolution will never completely resolve).
Yes you can see this even more on a PVM (aperture grille) as the phosphors are just complete strips over the entire height of the screen. You can even purposefully put out the convergence and probably see in the vertical direction there is no discrete chunks to the scan lines just a very steep fall off of brightness.
I’m super excited for this but I’m having issues getting it to work! HDR is enabled and definitely on (I’m using an LG C8) but the shader appears super dark. Like darker than a normal shader without HDR enabled. I’ve tried fiddling with the luminance and paper white settings but while I can make it washed out I can’t seem to make it any brighter. Any idea where I’ve gone wrong? Sorry to turn this into a tech support thread
Did you download the latest nightly?
No worries this is all experimental until it’s properly released (hopefully in 1.9.15). As @c9f5fdda06 says try the latest nightly here: https://buildbot.libretro.com/nightly/
I’ve updated to the 1/13 nightly build. Using the vulkan driver, HDR settings on, testing with the FCEUMM core and It’s still not displaying correctly, or at least I assume it’s not. Super dark. In comparison, just loading the basic guest advance shader seems to work fine. I’m not sure if it’s a retroarch thing, windows thing or my TV being funky! I’m not sure if it matters, but my windows output settings are RGB, 10 bit color, limited and I have my TV’s black level set to low if that helps at all
Yeah, there’s an issue somewhere sometimes it’s high contrast with high white point; other times it’s not. I agree that non-hdr presets can be plenty bright with high contrast.