Mega Bezel Reflection Shader! - Feedback and Updates

You have to copy the settings I posted and paste them into a new txt file in the RetroArch/Shaders folder.

Then save that as a new *.slangp file.

You would now have a new shader preset file that you can load from the RetroArch/Shaders folder.

You don’t have to make any copies of any presets.

Because these presets use the highly efficient and optimized GDV-MINI CRT Shader, you should expect them to perform well on just about any setup. So you should get a speedup compared to whatever you’re using now, unless you’re already using the GDV-MINI base preset in HSM Mega Bezel Reflection Shader.

The best part is the CRT Effects still look great in my opinion!

The only thing is, there seems to be a (hopefully minor) bug that needs to be squashed. Which is what myself and @Duimon were so eloquently discussing just before you asked your question.

This is the first time I’ve tried my presets using GDV-MINI and I’m impressed. Haven’t really profiled the performance yet on my system though. Hopefully it will be fixed soon. I find it pairs very well with Blargg’s NTSC video filters which run on the CPU so shouldn’t really bog down your GPU if it’s already being pushed.

I have some custom Blargg Video Filter presets for systems other than NES.

Open a text editor and find the lines of mask 6 and replace 0.333 with 0.3333 and 0.666 with 0.6666. See if it fixes it. Can’t reproduce that on my 1080p screen. Check crt-consumer.glsl that has 0.3333 and 0.6666 does it happen there?

1 line error can be produced like that in 3333 lines :stuck_out_tongue: Or if you multiply with 1.0001 too, around 3000 lines

3 Likes

I changed the line in HSM’s hsm-crt-dariusg-gdv-mini.inc and it didn’t solve the issue. (It is present on all the masks BTW.)

I can’t reproduce it on the stand-alone GLSL shader so it is likely something that is complicated by the Mega Bezel integration. I’m sure @HyperspaceMadness will be able to fix it.

2 Likes

Kinda a side question - but now that I’ve posted here a couple times and am trying to follow the technical side of what you guys are explaining - how did you guys get into shader programming? Or maybe more as a general question, would you say shader programming is more art or more computer programming or both? It’s just such a niche thing, I’m interested in how one gets into it more.

4 Likes

For me it’s partially my background as I’ve been programming here and there over my career as well as just having a big interest in how things work and solve problems to make some things easier for the user and try some new things.

Sometimes it’s the challenge of “would it be possible to do that?”

In terms of actually writing the shaders most of it is math operations, so relatively simple in terms of programming, which is also a bit what makes it fun and fast to work with.

The shader programming is kind of half art, half programming like you mentioned, since a lot of it can be a bit of trial and error until you hit the sweet spot.

7 Likes

Very cool insights. My first computer was an 8086 XT, which I learned BASIC programming on when I was 6 or 7. I didn’t take it much further than that because math isn’t my strong suit. Still love tinkering and the whole “is that possible” and problem solving aspect of computers.

2 Likes

My first computer an Atari 65XE around 1986, some basic programming on Amstrad CPCs, did some lessons on C, also have some really good (and expensive like 60€ each lol) books about it. So I had to understand what is going on inside a shader then write something. The synxtax is the same with C so it was not much trouble. Then you have to learn what each glsl command does etc. Studying other’s shaders is a good start, then understand what it’s doing.

Mostly it’s thinking something then try to solve a problem, it’s like a puzzle game actually.

3 Likes

Next Stop MEGATRON!!!

4 Likes

Looks Hyper-Mega! What shader presets is this?

1 Like

It’s a snapshot of my in progress integration of the Sony Megatron by @MajorPainTheCactus

4 Likes

I might start goofing around a little with some of the presets and see if I can come up with some tweaks of my own - I’m not remotely familiar with C. I don’t even know what a glsl command is but who knows maybe I’ll fall down the rabbit hole and figure some stuff out, or at least learn something along the way.

How did all of you learn about the difference between various masks or the color science behind CRT displays, or the various visual aspects of it? All of this is fascinating.

Edit: found a post by hunterk from 2017 explaining what glsl/slang are. Makes more sense now. Modular coding languages for shaders.

3 Likes

I think I’ve learned the most from the users on this forum personally, this is a great blog post by hunterk which talks about masks:

Filthy Pants: A Computer Blog: CRT shader masks

9 Likes

:rofl: Brilliant! Well done!!! I cant wait to try this all out!

1 Like

Thanks for that link - really cool information on that blog.

2 Likes

Not sure if your question was also directed to me because I don’t program shaders just develop presets based on the already developed shaders but I’ll still give it a go.

I started this mainly because the CRT Shaders I used for years stopped working due to a change in the newer versions of RetroArch. At first I tried “hacking” RetroArch to restore the lost functionality but at the same time I was seeking and seeing possible alternatives.

Then I stumbled upon some screenshots by @HyperspaceMadness of his shader and CRT presets in action and the rest is history!

At first I was attracted by the CRT Shader presets themselves just as much as the reflections because they seemed to provide the look I was going for and I really appreciated the fact that there was a bezel because that’s what I was used to. I was also fascinated by the realtime reflections.

I took it for a spin and was trying to choose a preset that closely matched what I was used to or might have been better.

The first one I liked was one of BendBombBoom’s presets then I tried the @HyperspaceMadness’s NewPixie clone smoothed rolling scanlines and that busy preset seemed to be on the right track to give me what I was looking for. I didn’t like the fishbowl effect I was getting from the curvature so that was the first thing I went through the settings and learned to turn off.

For months there on, I kept tweaking and tweaking and I also shared my results so that anyone else who was in the same predicament as me, who had lost the ability to use the Analog Shader Pack could have shared in my solution.

I initially posted my updates in the old Analog Shader Pack thread, the Please Show Off What CRT Shaders Can Do thread and right here in this thread then eventually was encouraged to start a thread of my own. Since then my presets have evolved into a comprehensive package designed to assist users with varying configurations and has continued to grow in popularity and appreciation in ways that I could never have imagined when I just started.

My first computer was a Commodore 64 and it came with a book full of games coded in BASIC that I had to spend hours typing out before I could be disappointed by the actual game.

I also had some further exposure to BASIC programming during a couple summer camp courses I took as a teen and I really excelled in those. That camp was specifically a “Computer Camp” where our daily activities consisted of learning about computers in addition to playing sports and games and doing other summer camp stuff. We even went on a field trip to our local IBM office/datacenter which was so fascinating at the time! Man that was sooo long ago!

In my second time at the camp, we had to do a project in BASIC to make an address book using what we had learned. I got 10/10!

After the course, I started working on my first game in BASIC called “Attack Of The Shapes”. I had reached the intro sequence along with a simple melody which my mom helped me to figure out the notes to program using our electric piano and I guess something else caught my attention at the time because I never reached further than that.

Same for graphics, I used to make a lot of computer graphics, full scenes, I even drew my living room in Paint Shop Pro and was starting to make some characters for my own digitally animated cartoon but again something else caught my attention or something came up and changed my focus at the time.

Now, I can’t even come up with an avatar from scratch nor understand where a loop begins and the array for the subroutine ends.

All hope was not lost though, I became an avid video game player! That’s a skill right?

I took up music production late in the game and stuck with that for a while and I also build and repair computers for a living and of course now there’s CyberLab Mega Bezel Death To Pixels Shader Preset Pack!

1 Like

Hello. I cannot download it. The shader link on the onedrive doesn’t seem to wanna download.

1 Like

It worked now. Not sure why it didn’t work before.

1 Like

Definitely was an open question to anyone here, so it’s cool to hear your background on this stuff for sure. I like that you managed to create some cool stuff by starting off with some tweaks. I think a lot can come from just tinkering - that’s my main computer “skill set” anyhow.

1 Like

Hi, is it possible to speed up the Reflect-Only__STD.slangp shader in any way? I’d like to use this but it’s choppy on 4K. Wondering if there’s anything I can turn off that would give a large performance boost.

3 Likes

I want to see a super lite and fast version that only contains the most essential features (reflection and adjustable bezel size), probably based on guest-advanced-fastest, hopefully no more than 15 or 20 passes, so it can run on less-powerful systems. I know the chance is slim and the author(s) probably already put a lot of effort into optimization. And if the less essential features actually do not impact processing load much, we are probably doomed…

3 Likes