MCPcopy Create free account
hub / github.com/HyperspaceMadness/Mega_Bezel

github.com/HyperspaceMadness/Mega_Bezel @Mega_Bezel_V1.17.1_2024-04-14

Chat with this repo
repository ↗ · DeepWiki ↗ · release Mega_Bezel_V1.17.1_2024-04-14 ↗ · + Follow
114 symbols 214 edges 24 files 19 documented · 17% updated 2y agoMega_Bezel_V1.17.1_2024-04-14 · 2024-04-15★ 4343 open issues

Browse by type

Functions 105 Types & classes 9
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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 * You MUST use Retroarch Version 1.9.8 or Later (It will fail to load on earlier versions) * If you want to use the default Mega Bezel included with Retroarch: * Use Online Updater -> Update Slang Shaders to update the shaders, the shaders will be added here Retroarch/shaders/shaders_slang/bezel/Mega_Bezel * If you want to install from a zipped release from the link above: * If the shaders/shaders_slang/bezel/Mega_Bezel folder exists delete it * Inside the .zip is a Mega_Bezel folder. Copy the Mega_Bezel folder into your Retroarch/shaders/shaders_slang/bezel folder (If the bezel folder isn't there you can create it) * The final path to the Mega bezel should be Retroarch/shaders/shaders_slang/bezel/Mega_Bezel


RETROARCH SETUP * Do all of the following before loading content * Set the Video Driver * Set video driver to Vulkan or GLCore if Vulkan is not available * It will run in GLCore but seems faster in Vulkan * D3D IS NOT RECOMMENDED. If it loads in D3D it has a VERY slow load time * Restart Retroarch after changing the video driver * Video Scaling * Open the Settings Menu and Set: * User Interface / Show Advanced Settings to ON * Video / Scaling / Aspect Ratio to Full * This will match your monitor aspect aspect ratio * Video / Scaling / Integer Scale to OFF * Video / Output / Video Rotation to Normal * Core / Allow Rotation to OFF -- Important for FB Neo and MAME Current * Core Setup * For FB Neo * Go to Quick Menu > Core Options and turn vertical mode to OFF * MAME Current * Go to Quick Menu > Core Options and set Rotation Mode to internal * Swanstation (and possibly other 3D cores) * Set Quick Menu / Core Options / Enhancement Settings / GPU Renderer to Vulkan or GLCore if Vulkan is not available


LOADING AND SAVING PRESETS * Load a preset in the shaders menu. * The Mega Bezel shader presets are found in: Retroarch/shaders/shaders_slang/bezel/Mega_Bezel/Presets * IMPORTANT!! When saving a preset make sure you have the Simple Presets feature set to ON * This will save a preset with a reference to the preset you loaded plus whatever parameter changes you made * This will keep your presets loading properly when the shader updates in the future


EDITING PRESETS * You can then open this Simple Preset file and add other parameter adjustments or set textures as you see fit. E.G. add the following lines to change the background image: * Background = "My.jpg" * Or change the path indicated on the #reference line to point at a different base preset


INSTALLING ADDITIONAL PRESET/GRAPHIC COLLECTIONS * Create a folder named Mega_Bezel_Packs in the root of the shaders folder, the final path of this should be Retroarch/shaders/Mega_Bezel_Packs * Place any of the additional collections inside this folder * For example the final path to the examples pack should beRetroarch/shaders/Mega_Bezel_Packs/HSM_Mega_Bezel_Examples`

----------------------------------------


Community Collections / Packs

@Duimon: Awesome graphics and presets for the different historical consoles & computers:: * Releases · Duimon/Duimon-Mega-Bezel (github.com) * https://forums.libretro.com/t/duimon-reflection-shader-graphics-feedback-and-updates

@TheNamec: Really amazing graphics for the Commodore & Amiga systems and PVMs: * Releases · TheNamec/megabezel-commodore-pack (github.com) * https://forums.libretro.com/t/thenamec-mega-bezel-commodore-pack-announcement

----------------------------------------


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: * Guest.r (Guest-Advanced crt shader) * EasyMode * CGCW (LCD Grid) * DariusG (GDV Mini) * Dogway (Grade Color Correction) * Hyllian (SGENDPT) * Aliaspider (GTU) * Sp00kyFox (MDAPT & ScaleFX) * Trogglemonkey (Royale 3D Curvature) * Flyguy (Text Shadertoy) * Special thanks to Hunterk for porting a number of these and helping me with his expertise along the way!


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.

  • @Duimon
  • @TheNamec
  • @Soqueroeu

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 * @OrionsAngel * @exodus123456

----------------------------------------


What does it do?

  • Adds an auto-generated bezel around the screen with reflection
  • Enable easier use of bezels and more "natural" presentation
  • Ease of use for screen scaling and automatic aspect ratio with existing shaders
  • Provide a consistent set of enhanced features wrapped around the core crt shaders
  • Layering images to add artwork and visual effects

How does it work?

  • In general there is a background image which fills the screen, then the scaled down game screen with an automatically generated bezel image is drawn on top.
  • The bezel and frame you see around the screen is auto generated and not part of the background image
  • Additional s can be layered on top to augment the look
  • Most things can be changed to your taste with adjustment of the parameters, so try them out!

----------------------------------------

Choosing a Preset

  • Presets are named/sorted by performance
  • The most flexible and most resource hungry start with index 0.
  • As the name's index number increases the performance of the preset improves but but flexibility decreases.
  • The presets with the lowest performance requirements are:
    • MBZ__3__STD__GDV-MINI - This has a Dynamic Bezel and Reflections
    • MBZ__4__STD-NO-REFLECT__GDV-MINI - This Has a Dynamic Bezel but No Reflections
    • MBZ__5__POTATO__GDV-MINI - This has no Dynamic Bezel and no Reflections

Presets in Mega_Bezel / Presets

  • All in the root of the Presets folder use @guest.r's awesome Guest-Advanced CRT shader which is considered the default CRT shader for the Mega Bezel, the only exception to this is the POTATO preset which uses GDV-MINI for performance reasons. The following table is sorted by GPU performance and GPU RAM requirements
Category Reflection Layers Tube Fx Pre-CRT Chain Smooth Upscale
MBZ__0__SMOOTH-ADV ADV + ScaleFx 3X
MBZ__0__SMOOTH-ADV-NO-REFLECT ADV + ScaleFx 3X
MBZ__0__SMOOTH-ADV-SCREEN-ONLY ADV + ScaleFx 3X
MBZ__1__ADV-SUPER-XBR ADV + XBR 2X
MBZ__1__ADV ADV
MBZ__2__ADV-GLASS-SUPER-XBR ADV + XBR 2X
MBZ__2__ADV-GLASS ADV
MBZ__2__ADV-NO-REFLECT ADV
MBZ__2__ADV-SCREEN-ONLY ADV
MBZ__3__STD-SUPER-XBR STD + XBR 2X
MBZ__3__STD STD
MBZ__3__STD-GLASS-SUPER-XBR STD + XBR 2X
MBZ__3__STD-GLASS STD
MBZ__4__STD-NO-REFLECT STD
MBZ__4__STD-SCREEN-ONLY STD
MBZ__5__POTATO-SUPER-XBR BG ONLY POTATO + XBR 2X
MBZ__5__POTATO 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:

  • POTATO Pre-CRT shader chain
    • Fewest passes, but still Includes Grade Color Correction
  • STD Pre-CRT shader chain
    • Includes Some Basic Processing before the CRT shader
  • ADV Pre-CRT shader chain
    • Includes STD chain and adds DeDithering & GTU
  • ADV Pre-CRT shader chain + ScaleFx Upres
    • Includes ADV Pre-CRT shader chain and ScaleFX *

Core symbols most depended-on inside this repo

Shape

Function 87
Method 18
Class 9

Languages

C++52%
Python48%

Modules by API surface

WIP/DeepBump-7/__init__.py34 symbols
shaders/megatron/include/colour_grade.h13 symbols
WIP/_Shaders-Original/Sony_Megatron_Major_Pain_The_Cactus/shaders/include/colour_grade.h13 symbols
shaders/megatron/include/gamma_correct.h8 symbols
WIP/DeepBump-7/utils_inference.py8 symbols
WIP/_Shaders-Original/Sony_Megatron_Major_Pain_The_Cactus/shaders/include/gamma_correct.h7 symbols
shaders/megatron/include/scanline_generation.h4 symbols
WIP/_Shaders-Original/Sony_Megatron_Major_Pain_The_Cactus/shaders/include/scanline_generation.h4 symbols
WIP/DeepBump-7/module_normals_to_height.py4 symbols
WIP/DeepBump-7/module_normals_to_curvature.py4 symbols
shaders/megatron/include/hdr10.h3 symbols
WIP/_Shaders-Original/Sony_Megatron_Major_Pain_The_Cactus/shaders/include/hdr10.h3 symbols

For agents

$ claude mcp add Mega_Bezel \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page