Mega Bezel Reflection Shader! - Feedback and Updates

Thanks for the reply @HyperspaceMadness and happy to move the conversation here. Wasn’t sure where was best so I picked up from where it was last mentioned.

This is how it looks in your Dual Screen-DS_MBZ_2_STANDARD_LCD-GRID preset: Looks good to me

NDS STANDARD

This how it looks in Duimon’s Advanced NDS Vertical shader preset: Does not look good to me

DUIMON ADVANCED

No matter what I try to I can’t get Duimon’s preset looking like your LCD preset image (what I was referring to as “clean” - no uneven lines or banding). Same Core, Same Game, Same resolution (native).

Hopefully you can see what I mean from the screenshots. If there is something to be tweaked in the preset to get there I will happily take the instructions and try to get it sorted.

Thanks as always!

3 Likes

Yeah, no worries :smiley:

I haven’t looked at Duimon’s preset, but the difference is probably because the default preset is using the integer scale settings in the shader parameters and Duimon’s isn’t. And he probably isn’t so that you can see more of the handheld body. To test you can go to the scaling settings and choose integer scaling mode 2 which is horizontal and vertical integer scale.

And now that I think about it I think tatsuya79’s handheld presents all use integer scale as well.

Edit:

Another thing to note is that one of the ds screens is 192px tall, the default preset screen is 384px tall (2x) and the screen in Duimon’s preset is 415px tall. Since it’s such a low multiple of the original resolution it’s not surprising its having a hard time distributing the pixels evenly with a strong grid pattern. A good question is if the standard lcd grid preset look the same at the same resolution. The way to test that would be to set a retroarch custom aspect ratio of the exact resolution and see what it looks like. Duimon’s screen that you captured is about 552x415

1 Like

It seems to me that you have the wrong post, it was the post of @Duimon where you wanted to post. https://forums.libretro.com/t/duimon-hsm-reflection-shader-graphics-feedback-and-updates/28146/1127

1 Like

@Duimon, Your PVM set is Fabulous!!

2 Likes

About 3DS, I was expecting a lot for this!

2 Likes

All I did was set the Scanline direction multiplier to 50, both vertical and horizontal. I mentioned this when I did it.

here:

https://forums.libretro.com/t/duimon-hsm-reflection-shader-graphics-feedback-and-updates/28146/1090?u=duimon

And the fact that some people wouldn’t like it. :wink:

Notice the severe banding in the shot I was trying to fix.

As small as the screen is it might be worth a shot to switch the reference to a CRT shader and turn of scanlines, but leave a mask.

Here’s a test using a Lottes mask.

Here’s a shot using integer scale using the only offset that works with the graphic.

It does look very nice. If you guys think the trade-off in screen size is worth it, I would be willing to modify the graphic to fit the integer scale.

I really just think that even in the second shot, that the LCD-GRID isn’t doing it’s usual awesome job. like this…

3 Likes

For my personal opinion I would go with the integer scale if the preset is going to use the lcd shader.

You may want to figure out what the non-integer scale is to match the results of the integer scale at 1080p, then set it to non-integer scale with this percentage. Then on 1080p And 2160p you will get the exact integer scale, and at other resolutions the screen will still fit your graphic.

1 Like

Yeah, I really think that it’s because the screen ends up so small that it has only a couple pf pixels to draw an lcd element

1 Like

That’s the question isn’t it. At 4K the LCD-GRID using integer might look great but at 1080p the lcd elements are so small it’s really not worth the bother. It’s really odd because the DS resolution is only 256 × 192.

The Game Boy Color at a similar size still looks good with the LCD-GRID.

Could it have something to do with the way the core renders the screens?

1 Like

I stunt think it would have anything to do with the core. For the gameboy in this example there are 2.7 pixels for each lcd element vs the ds example where there were 2.15 pixels per lcd element.

Here are some shots using the handheld borders you linked to, the elements are pretty small in there as well.

The first shot is, like mine, true to the real device layout. The creator uses a 90 pixel gap.

The second is less true and uses the ideal gap of 64 pixels.

I am strongly considering redoing the graphic to use both integer scale and a 64 pixel gap.

2 Likes

Unless you feel the urge to add another LCD shader into the pipeline. :wink:

1 Like

I wouldn’t be against it if there’s a good option out there that functions better at small scales, although it wouldn’t be a 3 element lcd though because at that scale there isn’t enough resolution for that.

1 Like

@HyperspaceMadness Thanks for the information. So I went into to Duimon’s shader, changed the Integer Scaling Mode to 2 and Set the X and Y scanlime multipliers to 100 (the same as they are in your Dual Screen-DS_MBZ_2_STANDARD_LCD-GRID Preset that I screenshot earlier).

Here is the result:

It looks good, just like it did in your preset. The major difference being the screen size has changed and there is more bezel down the bottom.

I tried to do this for the bottom screen only but it ended up splitting the bottom image between the two screens, so I think I went wrong along the way :confounded:

@Duimon

That and the integer scaling…I think you’ve got it figured out now though :slightly_smiling_face:

I did see that and I thought to myself…“Yep, I’m going to be the awkward s*** who wants to change it…after this person has done such amazing work”

Sorry…it’s so close to perfect, I couldn’t leave it haha

I think this may be a winner personally. It’s debatable for the purists I’m sure but like you mentioned before your graphics are more of an artistic representation and it that benefits functionality…I think that wins the debate.

@akuma22

@HyperspaceMadness moved the conversation to this thread instead as we were getting into more shader specifics rather than Duimon’s graphics…in this case you probably need to look at both though ha. Thanks for pointing out what would normally have been a mistake.

3 Likes

I’ve been messing around with the DS preset a bit, 2 questions

Is there a way to completely remove the LCD Grid?

How would I make the colors look “normal” again? I tried messing around with the saturation and vibrance settings, but it still looks kinda flat compared to no shader.

1 Like

Yeah I do find the LCD shader does change the colors significantly, I think this was probably on purpose, but I find it is a bit much of a color shift sometimes.

It also currently has some color settings which were originally meant for the GBA, LCD_RSUBPIX_R = 0.75 LCD_GSUBPIX_G = 0.75 LCD_BSUBPIX_B = 0.75

You could try setting this to 1

Inside the preset you can switch the shader reference from the LCD to Guest-DrVenom instead

I’m looking at a couple of the other LCD shaders to see if there are some options with less artifacts . I found a couple which seem like they give a different effect, but less artifacts:

  • LCD 3x
  • Sameboy lcd
2 Likes

I ran across those two as alternatives also but It looked like every single LCD shader seemed to suffer (In DeSmuME.) from non-integer. Though those two maybe a bit less.

I really like the bevel.slang for it’s simplicity.

@lilbud

Have you tried a simple gamma adjustment?

If you go to the LCD Gamma parameter and simply press the “start” button on your gamepad, (For default values.) it seems like the shader isn’t using the default value because it changes.

In any case, there is also a “CRT Gamma” above the Dogway stuff. It helps a bit too.

Default Gamma.

Adjusted Gamma.

If you scroll up a bit you can see a shot where I switched the reference to DrVenom and turned off scanlines. IMHO it looks too saturated.

@HyperspaceMadness

I think the LCD-GRID is actually broken. :frowning_face:

If you look at the above shots you can see some pretty serious banding.

Here is a shot from the old shader version.

The color is better and there is absolutely no banding. :astonished:

Edit: I spoke too soon my friend. If you load the regular LCD-GRID instead of the split screen you get low saturation and as you scale there is all sorts of banding. The banding goes away when you get to this size though.

It’s weird that the color is so much better with the split screen on.

2 Likes

The solution is to use the Dual-Screen-DS__MBZ__2__STANDARD__LCD-GRID preset from the variations folder, this is the only way I have found to get the colors right.

1 Like

Hi @akuma22 ,

Could you please check if the name is correct?

Within Variations folder I have three Dual-Screen-related presets.

  • Dual-Screen__MBZ__2__STANDARD__GUEST-DrVENOM.slangp
  • Dual-Screen-3DS__MBZ__2__STANDARD__LCD-GRID.slangp
  • Dual-Screen-DS__MBZ__2__STANDARD__LCD-GRID.slangp