![Mega_Bezel_Logo|512x256, 75%](upload://6PNkvcMF9Go9Wnk6OJXfYR1opXI.png) 

Mega Bezel is updated to V1.16.1_2023-12-26

Changes:
  * Fixed NTSC variants


----------------------------------------------------
--- TODO  ---------------------------------------
----------------------------------------------------

  * Update Smooth presets to have a Hires Scanlines option, and possibly horizontal source sampling for antialias look
  * Use parameters to control Text instead of custom text for each family
    * Get from Cache
  * Implement Original Scaling Mode
  * Check why intro options are not working
  * Check Banding on Highlight on glass presets
  * Check Brightness on Megatron Glass Presets
  * Fix Megatron to not put mask outside screen
  * Can't show Resolution Text in Potato right now
  * Investigate "dip" in reflection at the edge of the bezel
  * Passthrough Preset (No CRT Shader)
  * HD Preset
  * Look at Retro V2 for alternate LCD shader
  * Python file to create full presets from a folder
  * Add Curvature to EasyMode for lasly
  * Rotate Image Layers with Parameters
  * Update Megatron
  * Add AbsoluteMax as a scaling type
  * Add readme for Signal Noise
  * Add readme for Overscan and Raster Bloom
  * Check difference between old and new NTSC
  * Check out duplicate params in NTSC
  * Check out independent bezel scale and reflection, reflection is not following the bezel
  * Check brighter reflection in new NTSC


  * Update Dual Screen to use params files
  * Swap out // for # in base presets
  * Add ability to have layers appear on top of the bezel but below the reflection
    * One way to do this would be to have a CRT/Reflection layer offset which forces layers below to be composited on top of the bezel
  * Fix CRT Blend Amount
  * Adjustable softness of bezel outer edge for reflection
  * Adjustable Bezel Curvature per side?
  * Revisit Tate Mode / Vertical Scanline and Rotate CRT artifacts
    * Fast Sharpen & Sharp Smoother currently work on x axis, should be relative to scanline direction
    * Get GTU to respect scanline direction
    * NTSC is causing blurriness when using FB Neo and Rotate CRT - Test Game Batrider
      * We need to know what orientation the game is in the first place to do this
    * When in interlacing mode for vertical opposite mult should do something
  * Use brightness values of sides to control static corner highlight
  * Fix Megatron Reflection
  * Create 4K Royale Preset

  * Add .params #reference to with all parameters commented out
  * We should have a middle pass which has the device behind the CRT tube

  * Replacement:
    * [flip]
    * [shaders]
----------------------------------------------------
--- Examples  --------------------------------------
----------------------------------------------------
Recent Performance 2022-09-18
Spec RTX-2060, at 4K:
  240p image
    ADV 175
    XBR-ADV 170
    POTATO 422
    POTATO-XBR 390

  2K image
    ADV 105
    XBR-ADV 66

  4K image
    ADV 48
    XBR-ADV Crashed


----------------------------------------------------
--- Post V1  ---------------------------------------
----------------------------------------------------
  * Auto Rotate
  * Guess White/Black Matting?
  * Auto Shadow for image Layers above screen
  * Mega Back Light a la philips Hue/Ambient
  * Night light single glow - Place Glows
  * Fix Corner Shading

  * Double Bezel
  * Swap option for Blurry vs Sharp Tube Reflection
  * Do some OrionsAngel Arcade Presets
  * Add Rewind Effect?
  * Rotate Dual Screen
  * LCD behavior when reaching resolution limit?
  * Shadow from Cutout?
  * Large Slotmask Bitmap Mask
  * Hyllian Sync Version?

  * Black frames in Mupen64Plus-Next using parallel RDP, seen in Perfect Dark
    * Original scaling mode to deal with black final viewport in Parallel RDP in both mupen and Parallel cores.

Scene Dynamic Lighting
  * Reflection from screen on additional elements
    * Side Panels, Speaker Panel, Table
    * Masking of main and additional reflection
    * Colored Mask to define areas
      * Up      rgb(128,  255,  128)
      * Down    rgb(128,  0,    128)
      * Left    rgb(0,    128,  128)
      * Right   rgb(255,  128,  128)
      * Center  rgb(128,  128,  255)
  * Bounce lighting from screen to room back to the scene
    * Masking behind devices
  * Sprite sheet for arcade Lighting loop
  * Sprite sheets for left and right machine attract mode loops
  * Split Normal vs Additive in layers

  * More Reflection from closer to middle of screen on bezel

  * Additional Screens driven by Sprite Sheets

  * Night Lighting - Modulate Range on top of Hue & Value

----------------------------------------------------
--- Independent Shader Stuff for Main Repo  --------
----------------------------------------------------
  * Add Test_Max_Resources to Repo
  * Make Resolution text shader it's own pass for Repo
    * Show Original Res, Previous Pass Res, Next Pass Res, Viewport
    * Move Resolution Debug to be top justified

  * Gameboy
    * Fix DMG Shader or make new one
    * Fix Low Contrast Issue
    * Multiple palettes including Custom for Gameboy  
    * Add Gameboy Palettes https://www.deviantart.com/thewolfbunny/gallery/69987002/game-boy-palettes

  * Independent Bezel Scaling not the same as non-int scale
    * Why? Maybe only in Portrait Res?
  * Outer reflection corner radius should be independent when in independent mode
  * See why very inner edge seems not affected by reflection mask

  * Startup Animation - Sprite Sheet

  * Frame Shading
    * Shading on frame interior edge?
    * Frame Inner edge static lighter line
    * Frame Interior Edge thickness
    * Fix shading with rounded outer corner
    * Frame shadow should follow corner radius

  * When reflection is off still see inner bezel edge reflection
  * Put Torridgristle LUT back in for blue skys?

Documentation
  Troubleshooting 
    New install of retroarch 
    Turn all overlays off 
    I have rings, wavy distortions (Moire)

Moire
  The Waves you are seeing are called a Moire effect, it’s the same effect you see through a screen door sometimes.
  It is caused by using a crt shader with scanlines and tube curvature and made worse when the resolution is limited. It is a thorny problem , and sometimes hard to get rid of at 1080, it is much less of a problem at 4k.
  Things which can help/fix the problem
    Reducing strength of scanlines, 
    Reducing or curvature or setting it to 0 will definitely fix it.
    If you keep using curvature using Integer scale in the shader parameters can sometimes help.

    If making own presets reference from crt-Base presets 

Old Megabezel https://github.com/HyperspaceMadness/shaders_slang/tree/adf6dc3c0f09db11ebf4fbcf85098ac8232acfcc




----------------------------------------------------
--- Retroarch Features -----------------------------
----------------------------------------------------

  * Add Core Provided Aspect as Uniform
  * Add Rotation as Uniforms
  * Replace Text, for shader type, game & core, content directory
    * core_name
    * game_name
    * [shadertype], [gamename], [corename], [contentdirectory]
    * Check textures and use default if not found
    

  * Append (Prepend) Shader Preset - to add a shader preset to the beginning of the chain
  * Fix edit shader in UI - Changes are currently lost or need to apply twice
  * Fix loss of current parameter values when retroarch goes from full screen to window
  * Fix saving with same name with different capitalization creates self reference
  * Shaders folder as a path token, e.g. "[shaders]/shaders_slang/" [shaders_dir]?
  * Hide Parameters

  * Stop Reloading Shader multiple times on Save (Keep optional param)

  * Choose Textures in UI
    * Shader Textures in Sub Menu - Add ability to set texture overrides in retroarch UI
    * Shader Passes in Sub Menu

  * Dropdowns for indexed parameters?
  * Multiple references in one file for adding passes and parameter overrides
  * Edit Multiple References in UI vs Shader Passes, Discreetly change between Simple and Full

  * Onscreen Display of current shader preset
  * Reload Last Preset

  * Next/Previous Shader does not work well if shader was loaded as Game preset
    * Sometimes uses different directories, probably related to shader_path in live shader rather than originally loaded preset

  * Pass Scaling Types
    * Original scaling Type
    * MaxAbsolute scaling type?
      * If res is lower don't scale if larger scale to this res, good for PSX Upscaling
      * Would avoid people crashing with internal resolution multiple

  * Add "Timer" uniform variable vec4(total-count, count-since-shader-load, oscillator[1,0,1,0,1,...], [unknown/undefined])
    * Unknown could be frames since direction change, good for rewind effect 

  * Check for alias used multiple times appears as semantic error now
  * global.x is semantic error if x not in global
  * GIF support

Questions for Survey

What kind of intro would you like as default in the Mega Bezel?
Snow Only
Snow + CH 04
Snow + Mega Bezel Logo


* Old Perf Numbers before Caching
*  Performance of Base presets at 3840x2160 on Nvidia RTX2060:
  *  ADVANCED -                      78 FPS  -  No comparable old preset
  *  GLASS -                        150 FPS  -  Old Glass Preset        128 FPS
  *  STANDARD -                     135 FPS  -  Old Full Preset         140 FPS
  *  STANDARD-HD-CORE -             105 FPS
  *  BASIC-BORDER-WITH-REFLECTION - 175 FPS  -  Old Reflect Only Preset 165 FPS
  *  BASIC-BORDER -                 295 FPS  -  Old Screen Scale Preset 370 FPS
  
*  Performance on HD-CORE E.G. 1920x1080:
  *  ADVANCED -                     60 FPS 
  *  ADVANCED-HD-CORE -             70 FPS 
  *  STANDARD -                     85 FPS 
  *  STANDARD-HD-CORE -             100 FPS 
  *  BASIC-BORDER-WITH-REFLECTION - 126 FPS 
  *  BASIC-BORDER                 - 180 FPS 