HyperspaceMadness / Mega_Bezel

Mega Bezel Reflection Shader for Retroarch
283 stars 5 forks source link

Mega Bezel Shader Readme

Mega Bezel Logo

Version V1.14.0_2023-04-15


This file is best viewed in a markdown editor/viewer. You can also view it here https://github.com/HyperspaceMadness/Mega_Bezel with correct formatting

If you are wondering "What is this thing?" here's a little overview sharing our ideas around the project and some of the Mega Bezel features: RetroArch – Introducing the Mega Bezel Reflection Shader – Libretro

Find more conversation about the shader here on the Libretro forum:

https://forums.libretro.com/t/hsm-mega-bezel-reflection-shader-feedback-and-updates




!!!IMPORTANT!!! - Please be sure to read the INSTALLATION and RETROARCH SETUP instructions Below




Licensing

The base Mega_Bezel package and included components licensing are GPLv3

Community Collections/Packs are licensing is independent of this. Please consult each package details.




Latest Releases

Shader Package Approx. 12 MB

Extra Examples Package

Github Repo

https://github.com/HyperspaceMadness/Mega_Bezel

Intro

This shader package is meant for you to experiment with and make your own creations if you like. Try adjusting the shader parameters to change the look, as most things are adjustable for personal taste. The base package is now part of the Libretro repo but there will also be updates coming periodically which may get a pre-release here before they go into the main repo.




Installation - VERY IMPORTANT, PLEASE READ


INSTALLING THE BASE MEGA BEZEL PACKAGE


RETROARCH SETUP


LOADING AND SAVING PRESETS


EDITING PRESETS


INSTALLING ADDITIONAL PRESET/GRAPHIC COLLECTIONS




Community Collections / Packs

@Duimon: Awesome graphics and presets for the different historical consoles & computers::

@TheNamec: Really amazing graphics for the Commodore & Amiga systems and PVMs:




The Mega Bezel is coded and maintained by HyperspaceMadness, but leverages some amazing work from the community. HyperspaceMadness@outlook.com




Acknowledgements


THANKS TO THE SHADER WRITERS!

The Mega Bezel sits atop the shoulders of giants and uses a number of amazing shaders written by shader writers from the community:


THANKS TO THE MEGA BEZEL GRAPHICS ARTISTS PUSHING THE FEATURES DURING DEVELOPMENT

The Mega Bezel would also not have gotten to this level of sophistication without some intense feedback from graphics experts pushing the features and finding the holes.


THANKS TO THE GRAPHICS ARTISTS WHO HAVE INSPIRED US

And of course I probably would never have started this without seeing the great overlays created previously




What does it do?


How does it work?



Choosing a Preset

Presets in Mega_Bezel / Presets

Category Reflection Layers Tube Fx Pre-CRT Chain Smooth Upscale
MBZ0SMOOTH-ADV ADV + ScaleFx 3X
MBZ0SMOOTH-ADV-NO-REFLECT ADV + ScaleFx 3X
MBZ0SMOOTH-ADV-SCREEN-ONLY ADV + ScaleFx 3X
MBZ1ADV-SUPER-XBR ADV + XBR 2X
MBZ1ADV ADV
MBZ2ADV-GLASS-SUPER-XBR ADV + XBR 2X
MBZ2ADV-GLASS ADV
MBZ2ADV-NO-REFLECT ADV
MBZ2ADV-SCREEN-ONLY ADV
MBZ3STD-SUPER-XBR STD + XBR 2X
MBZ3STD STD
MBZ3STD-GLASS-SUPER-XBR STD + XBR 2X
MBZ3STD-GLASS STD
MBZ4STD-NO-REFLECT STD
MBZ4STD-SCREEN-ONLY STD
MBZ5POTATO-SUPER-XBR BG ONLY POTATO + XBR 2X
MBZ5POTATO BG ONLY POTATO

Pre CRT Shader Chains


Shader Behavior SMOOTH-ADV ADV STD POTATO
Reducing Core Resolution
Resolution Text
Intro Animation
De-Dithering
Sharpening
Uprezed Edge Contour Smoothing
Bandwidth Horizontal Blurring (GTU)
NTSC Signal Processing (NTSC Adaptive)
Afterglow
Color Signal Processing (Grade)
Interlacing & Downsample Blur
Sinden Lightgun Border

NTSC Processing is only included in NTSC Presets, and GTU Horizontal blurring isincluded in non-NTSC presets

Descriptions:

Preset Folders in Mega_Bezel / Presets

HSM Examples Package (Separate additional Package from Mega Bezel)




Troubleshooting



If the Screen is changing size unexpectedly


If the Screen is shown in a vertical aspect for a horizontal game:


If you see artifacts on the game image like circles or interference patterns




Bug Reporting




Parameter Descriptions


[ --- HSM MEGA BEZEL X.X.XXX 20XX-XX-XX --- ]: - Title, Version, Date


[ CRT BRIGHTNESS & GAMMA ]:


[ GRAPHICS GLOBAL BRIGHTNESS ]:


[ AMBIENT LIGHTING ]: - Usually used to apply night lighting on all graphics


[ SINDEN LIGHTGUN BORDER ]:


[ VIEWPORT ZOOM ]:


[ FLIP & ROTATE ]:


[ ASPECT RATIO ]:


[ CRT SCREEN SCALING GENERAL ]:

[ INTEGER SCALE ]:

[ NON-INTEGER SCALE PERCENT ]:


[ NON INTEGER - PHYSICAL SIZES ]:


[ NON-INTEGER - AUTOMATIC SCREEN SCALE & PLACEMENT ]:


[ NON-INTEGER SCALE OFFSET ]:


[ SNAP NON-INTEGER TO INTEGER SCALE ]:


[ POSITION OFFSET ]:


[ CROPPING CORE IMAGE ]: --- Cropping removes parts of the game image at the edges of the screen which were never meant to be seen. Negative values can add more black area at the edges of the screen


[ DREZ DOWNSAMPLE FILTER - HYLLIAN - DREZ PRESETS ONLY ]:


[ SCANLINE DIRECTION ]:


[ CORE RES SAMPLING ]:

Adjusting core res sampling changes how the CRT perceives the core resolution e.g. If you use a core with 4X internal resolution you can set core res sampling to 0.25 it be sampled as if it was at 1x resolution


[ FAST SHARPEN - GUEST.R ]:


[ INTERLACING From Guest.r :) ]:


[ FAKE SCANLINES ]:


[ CURVATURE ]: Applies tube curvature


[ ANTI-FLICKER ]:

Blend parts of the image which flicker on/off repeatedly between frames often used for Character's Shadow, giving a blended result.


[ GRAPHICS CACHE ]:


[ A/B SPLITSCREEN COMPARE ]:

Shows the results at different stages of the shader chain


[ SCREEN VIGNETTE ]:


[ MONOCHROME ]: --- Have the screen act as if it is a monochrome CRT


[ TUBE ASPECT & EMPTY SPACE ]:


[ TUBE DIFFUSE IMAGE ]:

The color/texture of the tube which appears behind the CRT image


[ TUBE SHADOW IMAGE ]:

Adds a shadow on top of the tube diffuse image and colored gel


[ CRT ON TUBE DIFFUSE BLENDING ]:


[ TUBE COLORED GEL IMAGE ]: Colored effect added on top of the CRT image to tint it


[ TUBE STATIC REFLECTION IMAGE ]:


[ SCREEN BLACK EDGE ]:


[ DUAL SCREEN ]:


[ REFLECTION POSITION & SCALE ]:


[ AMBIENT LIGHTING IMAGE 1 ]:


[ AMBIENT LIGHTING IMAGE 2 ]: - Has the same parameters as Ambient 1


[ BEZEL INDEPENDENT SCALE & CURVATURE ]:


[ BEZEL GENERAL ]:


[ BEZEL BRIGHTNESS ]:


[ BEZEL COLOR ]:


[ FRAME COLOR ]:


[ FRAME GENERAL ]:


[ REFLECTION ]:


[ REFLECTION FADE ]:


[ REFLECTION CORNER ]:


[ REFLECTION BLUR ]:


[ REFLECTION NOISE ]:


[ REFLECTION MASK IMAGE - Only in Layer Presets ]:


[ REFLECTION GLASS ]:


POTATO Presets Only


[ POTATO BACKGROUND IMAGE LAYER ]:


GLASS Presets Only


[ GLASS BACKGROUND IMAGE ]:


[ LAYER ORDER ]:

Layer order adjusts the order in which the layers are composited or "layered" on top of each other, the index 0 is the bottom or base layer. If two layers are given the same index they fall back to being composited in the order seen here.


[ CUTOUT ]:

Used to cut a rectangular area from the layers, for example cutting out the hole in the bezel art


[ MASK DEBUG ]:

Common Layer Parameters

*Many parameters which repeated from layer to layer, their description is shown here*

[ BACKGROUND LAYER ]:

[ BACKGROUND SCALE & FOLLOW ]:


[ VIEWPORT VIGNETTE LAYER ]:


[ LED LAYER ]:

[ LED SCALE & FOLLOW ]:


[ DEVICE IMAGE LAYER ]:

[ DEVICE SCALE & FOLLOW ]:


[ DECAL LAYER ]:

[ DECAL SCALE & FOLLOW ]:


[ CABINET GLASS LAYER ]:

[ CABINET GLASS SCALE & FOLLOW ]:


[ TOP EXTRA LAYER ]:

[ TOP SCALE & FOLLOW ]:


[ INTRO SEQUENCE ]:

Animation sequence which plays when the content starts up, animation times are in frames. The frame rate for most games 60 fps

[ INTRO LOGO ]:


[ INTRO SOLID COLOR ]:


[ INTRO SOLID BLACK ]:


[ --- SMOOTHING - SCALEFX ---- ]:

ScaleFX ON applies a shape smoothing on the core image and creates a higher resolution smoothed image