Previous Thread
Next Thread
Print Thread
Page 5 of 5 1 2 3 4 5
Joined: Apr 2006
Posts: 709
D
Senior Member
Offline
Senior Member
D
Joined: Apr 2006
Posts: 709
Uploaded the updated files. I removed the older files. Hard to see the color lines on this version. I removed the note about the color lines. smile

I will keep an eye out here on any new changes.


Windows 10 Home 64-bit / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 16 GB
Joined: Jul 2007
Posts: 78
C
Member
Offline
Member
C
Joined: Jul 2007
Posts: 78
Feeling energetic, I created a "deluxe" multi-pass version of my shader; get it here, again in uncompiled form. This includes the halation effect that's been available in some versions of this shader for a long time, as well as a new phosphor persistence effect with power law fall-off, as I planned to implement over five years ago.

Joined: Jul 2015
Posts: 97
Member
Offline
Member
Joined: Jul 2015
Posts: 97
Very, very nice cgwg. I like your new phosphor persistence, especially on b/w games.

In case someone want to test a compiled version, you can grab it here: http://filebin.ca/2l0KeafVvpy7/crt-geom_deluxe_bgfx_v3_compiled.zip


I live... I die... I live again.
Joined: Apr 2006
Posts: 709
D
Senior Member
Offline
Senior Member
D
Joined: Apr 2006
Posts: 709
Thanks. I uploaded the v3 files. v2 files been deleted. Working. smile

Love the Deluxe version.


Windows 10 Home 64-bit / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 16 GB
Joined: Jul 2015
Posts: 97
Member
Offline
Member
Joined: Jul 2015
Posts: 97
Hi cgwg,

I looked into your source code of crt-geom/deluxe and still have some noob questions about it. In your source, i found some irritating stuff, like this in the fs_crt-geom.sc file for example:

Code:
// Enable 3x oversampling of the beam profile
#define OVERSAMPLE

// Use the older, purely gaussian beam profile
#define USEGAUSSIAN


AFAIK, in the "old" GLSL version of the shader, only one option should be enabled at once and the other needs to be commented out. In my documentation it is stated like this:

Code:
// Enable just one of the following profiles and comment out the other profile.
// Oversample makes better results, but needs a good graphics-card.


Same is true, for the LINEAR_PROCESSING, commenting it out, makes the shader faster, but AFAIK produce lower quality.

Right now, i would assume that BGFX is calculating both processes.

Would not we need only one "Tilt" parameter, with the correct use of the "u_swap_xy function"? .
If we use this function, the "Tilt" should be always correctly oriented and if the rotation info (90 or 270) from a game could be retrieved, only positive values would matter. In my thoughts, this would lead to a single "Tilt" parameter, that would always tilt in the desired direction and would work for every game.

Anyway, the new version from you, is looking awesome and a nice comparison "side-to-side" to HLSL.


I live... I die... I live again.
Joined: Jul 2007
Posts: 78
C
Member
Offline
Member
C
Joined: Jul 2007
Posts: 78
Originally Posted By u-man
AFAIK, in the "old" GLSL version of the shader, only one option should be enabled at once and the other needs to be commented out. In my documentation it is stated like this:

No, there's never been a reason not to enable both. Over time I've come to prefer the Gaussian profile, and the oversampling will improve image quality with some reduction in speed.

Quote:
Same is true, for the LINEAR_PROCESSING, commenting it out, makes the shader faster, but AFAIK produce lower quality.

The "LINEAR_PROCESSING" feature will indeed be a bit slower, but whether the quality is higher is debatable. (I believe this feature was actually added by one of the other authors, and I've never been in favour of it.) The image on a CRT is blurred horizontally in (at least) two different steps:
  • In the video amplifier, which has limited bandwidth
  • In the electron beam, which has nonzero width.

To first approximation, the gamma ramp occurs between these two steps. In the default setup, my shader does four-tap Lanczos interpolation before applying the gamma ramp. This provides some simulation of the first step but not the second. If "LINEAR_PROCESSING" is turned on, the gamma ramp is applied before the Lanczos interpolation; this means that there is no simulation of the nonlinear effects that occur in the first step.

Quote:
Would not we need only one "Tilt" parameter, with the correct use of the "u_swap_xy function"? .
If we use this function, the "Tilt" should be always correctly oriented and if the rotation info (90 or 270) from a game could be retrieved, only positive values would matter. In my thoughts, this would lead to a single "Tilt" parameter, that would always tilt in the desired direction and would work for every game.

Yes, that's a good idea. I actually tried using "u_rotation_type" for this (the code is still present in my shader but commented out) but that uniform only carries the user-specified rotation and not any automatic rotation of the game screen. I don't know if this was the intended behaviour.

Joined: Apr 2006
Posts: 709
D
Senior Member
Offline
Senior Member
D
Joined: Apr 2006
Posts: 709
Is there away get the circle lines on the screen through the crt settings? BGFX already set to it. B2K24 post these snapshots of the real thing. http://imgur.com/y1ITYIu and http://imgur.com/NY7rlck

mcx997 post these snapshots from the BGFX I think. http://www.imagebam.com/image/35620d491739191

http://www.mameworld.info/ubbthreads/sho...part=1&vc=1

All I saw is the curve lines on the crt. smile


Windows 10 Home 64-bit / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 16 GB
Joined: May 2011
Posts: 41
S
Member
OP Offline
Member
S
Joined: May 2011
Posts: 41
Originally Posted By Dullaron
Is there away get the circle lines on the screen through the crt settings? BGFX already set to it. B2K24 post these snapshots of the real thing. http://imgur.com/y1ITYIu and http://imgur.com/NY7rlck

mcx997 post these snapshots from the BGFX I think. http://www.imagebam.com/image/35620d491739191

http://www.mameworld.info/ubbthreads/sho...part=1&vc=1

All I saw is the curve lines on the crt. smile


Well we get these artifacts in shaders with curvature because the aperture mask and/or scanlines are almost but not quite lining up with the pixels of the display. More resolution helps to fix this problem.

When you take a digital photo of a real CRT, the real aperture mask and scanlines are almost but not quite lining up with the sensor in the camera. So the effect is virtually identical to what you see in shaders.

You DO get some of this on real CRTs seen by your eyes and not a camera. But not nearly to the extent that we get it in photos or in CRT shaders.

BTW since I'm posting anyway. I won't have time in the next few days to set up a current build environment and figure out how to do the pull request for crt-geom. Work is beyond crazy and I'm not losing sleep time to this (sorry...). So someone else will have to do it if it needs to be done soon to be in the next MAME release.

I belive u-man posted a compiled version that just drops in over the MAME source with the shader source, chains, effects, and shaders in the right place. I think that cgwg's last update had everything except the compiled shaders. So it should be easy to add if MAME devs want it, right? Just drop the files in and go.

Joined: Apr 2006
Posts: 709
D
Senior Member
Offline
Senior Member
D
Joined: Apr 2006
Posts: 709
Files added to the source now. smile


Windows 10 Home 64-bit / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 16 GB
Page 5 of 5 1 2 3 4 5

Link Copied to Clipboard
Who's Online Now
4 members (mixmaster, R. Belmont, 2 invisible), 27 guests, and 8 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,973
Posts117,882
Members5,001
Most Online890
Jan 17th, 2020
Forum Host
These forums are hosted by www.retrogamesformac.com
Forum hosted by www.retrogamesformac.com