Shader Presets

From Emulation General Wiki
Revision as of 17:09, 9 July 2023 by 172.71.114.151 (talk) (koko-aio is not a preset for megabezel, but a lighter alternative that easilly runs on igpus , with totally different code and features)
Jump to navigation Jump to search

Shader Presets are combinations of one or more shaders. The Shader Chain which is a stack of shader passes each one pointing to a specific shader file.[1] There is a misconception about shaders; Generally, you really can't copy+paste shaders between two different programs even if they support same extension like .glsl, not unless they know how their shaders are structured and what kind of input they need and output they give.[2]

RetroArch/Libretro

RetroArch is able to stack shaders to create a combined effect. These complex effects are saved with a special extension:

   .cpg for CG
   .glslp for GLSL
   .slangp for Slang

The shader presets can also have parameters. This means that you can tweak them to fit your needs.

Sonkun’s crt-guest-advanced-hd presets

ntsc 2-phase preset Megadrive version

A mix of basic crt attributes that invokes a nostalgic vibe with a modern twist.[3]

3 shader preset folders for 3 monitor types: 1080p, 1440p and 4k so whichever monitor you have, you can choose the right shader resolution for your monitor type. These presets were designed to be used on these three resolution types only. Not OLED, 720p or other random resolutions, if you use it on any type of display besides those 3 standard displays Sonkun may not be able to help if you run into any issues. If they end up looking ok to you on your display regardless then game on. 64 shader presets to choose from per folder with 3 different phosphor types for USA, Japan and PAL that come in both color temp and multiple cable types to choose from included (representing 4 cable types to choose from: rf, composite, s-video and rgb).Sonkun created two different types of rf/composite connections, one for ntsc 2-phase and one for ntsc 3-phase. Most systems used the 2-phase output but a few systems used the 3-phase output as well.

Sonkun created a list of the common retro systems on RetroArch to choose the right connection for the right system;

ntsc 2-phase ntsc 3-phase
Amstrad GX4000, Atari 5200, Atari 7800, Atari Jaguar/CD, Commodore CDTV, Commodore Amiga CD32, Fairchild Channel F, Magnavox Odyssey 2, Mattel Intellivision, Nintendo 64/DD, Nintendo GameCube, NEC PC Engine(Turbo Grafx)/CD, NEC SuperGrafx, Panasonic 3DO, Philips CD-i, SNK Neo Geo AES, SNK Neo Geo CD, Sega Megadrive(Genesis)/CD/32X, Sega Dreamcast, Sega Pico, Sega Saturn, Sony PlayStation, Sony PlayStation 2 Atari 2600, ColecoVision, Nintendo Famicom/Nintendo Entertainment System, Sega Master System, Sega SG-1000, Super Famicom/Super Nintendo Entertainment System

Only a few systems used the 3-phase output as you can see but that output produced a different diagonal dithering color/artifact effect on the screen for those specific systems that the 2-phase output didn’t and Sonkun wanted to recreate those outputs with these two types of ntsc shader presets. Sonkun also created a rf/composite ntsc 2-phase preset strictly for Megadrive/Genesis that recreates the accurate rainbow dithering effects so you have two options for rf/composite dithering/rainbows that you can choose from.


HSM's Mega Bezel

HSM's mega bezel intro animation (Can be customized and turned off)

The Mega Bezel Project started back in July 2019 when developer HyperspaceMadness was looking at experimental shaders creating real-time reflections on emulated display bezels. More than two years later, the swiss-army-knife of visual simulation to enhance the retro game experience is ready for players.[4]

  • Auto-Generated Bezel around the tube area
  • Dynamic Reflections on the Bezel
  • Images can be added for background, LEDs, PVMs etc.
  • Easily scale the game screen, including integer scale
  • Crop edges of the the game image
  • Dual screen support for emulated systems like Nintendo 3DS (Emulated by Citra) or Nintendo DS (NDS)
  • And lots more
  • Also Runs on Xbox Series S, Xbox Series X and Steam Deck

Extra Presets for HSM project

Duimon's Neo Geo Pocket/Color preset
CyberLab Mega Bezel Death To Pixels
TheNamec Mega Bezel Packs Amiga, Commodore 64, VIC20, CRTgaming
Duimon Mega Bezel Graphics
Zomb's Mega Bezel Pack
SOQUEREU's Mega Bezel TV

Overlay/Bezel packages for use in conjunction with the HSM's Mega Bezel

Mr. RetroLust's Lights Off
ArsInvictus 4K Vertical Overlays
Orionsangel's Realistic Arcade Overlays
 Most of Orionsangel's bezels in one large pack (link in the description)



Koko-aio

Koko-aio fork for Arcade Artwork

Back-Ups Arcade

Back-Ups Arcade's VS SMB overlay

A front end that showcase’s various overlays with HSM's shader preset and much more by Boz1978. He's aim was to make a AIO software package that seamlessly transitions between game selection and game with no ugly loading screens.

  • Demo Screen: Informative intro video featuring the amazing Frank George!
  • Custom Controllers: Per game Xbox controllers and control schemes.
  • Smoking Options: Choose your smoking preference.
  • Screen Saver: From the amazing TAS Visuals.
  • Overlays: From Mr Retrolust, Orion’s Angel, Arsinvictus and Boz1978 himself.
  • Shaders: From Libretro’s very own amazing HyperspaceMadness & HSM.
  • Music Player: Very awesome tracklist thanks to my works apprentice Mikey.
  • Music Player (In Game): Lets you play music or ambient arcade sounds while in-game!
  • Fade Screens: Each game has a matching fade screen so you never leave your cab!
  • Loading Animations: Per game animated loading animations and sounds.
  • Animated Controllers: Based on the amazing Fercho’s animated overlays.

Back-Ups Arcade relies of three pieces of software to make it work:

  • Attract Mode Plus: The front end.
  • RetroArch: The back end.
  • RocketLauncher: The intermediary software used for game fades and pause menu.

For more information;

Main article: Frontend



Librashader demonstration

WindowCast for Libretro

WindowCast for Libretro/libretro-wincapture (formerly WGC Window Capture) Libretro core to capture the contents of another window for video processing. This is useful, for say, capturing the output of a standalone emulator (like xemu, Dolphin standalone, RPCS3 or PCSX2 nightlies) or a PC game running in a window and then processing it with RetroArch's shader stack. This core uses software blit, and should support running with any RetroArch video driver (vulkan, d3d11, gl, etc). However, the method used for window capture is Windows 10/11 specific and requires a Direct3D 10/11 capable GPU. Audio or input is not handled, and it is expected that the game will be running in the background.

Librashader

librashader is a complete reimplementation of the RetroArch slang shader pipeline that allows standalone emulators to easily and optionally implement support for RetroArch-style shaders and shader presets.


ReShade

ReShade is a generic post-processing injector for games and video software developed by crosire. Similar to libretro, shader effects are saved with a special extension:

 .fxh for fx

And again similar to libretro you can tweak them to fit your needs or create your own custom preset. For preset file location look for ReShade.ini and "CurrentPresetPath=", and it will tell you the location.

Vasiliy.M.'s PCSX2 CRT

Demonstration

kyubus Retro CRT

Demonstration

Kyubus Retro CRT is a collection of Reshade and RetroArch retro CRT presets using existing shaders such as CRT-Guest, CRT-Royale and CRT-Lottes. These presets are mainly developed on a monitor resolution of 1440p but presets for 1080p and 4k monitors are included.

To make the lower resolution shader display correctly RetroArch (or any emulator) integer scaling needs to be switched ON (Settings>video>scaling). GaussianBlur, LumaSharpen and Deband(range) are probably the first parameters you might want to adjust depending on the resolution of the content and your preferences. frankschoeman also recommend trying RetroArch shaders underneath such as "/xbr/super-xbr-fast.slangp"(Set Input and Output gamma to 1.0 in shader parameters) and "/cubic/catmull-rom-fast.slangp". In case those aren't available frankschoeman suggest setting the preset to one where GaussianBlur is enabled.

AirCon's Retro CRT

Demonstration

Mimics blurry, lightbleeding, uncalibrated inexpensive 8~90's CRT.

Notable ReShade shaders for using with Presets

These are not shader presets. But you can create your own custom preset using these .fx shaders.

 Pascal Gilcher's RTGI shader ($)
Developed by Pascal "Marty McFly" Gilcher, RTGI & Screen-Space Ray Traced Global Illumination is an upcoming shader for ReShade which make use of Path Tracing to bring Real Time Global Illumination to every games. Global Illumination is certainly not something new for games but unlike conventional Baked / Precomputed Realtime GI, Marty McFly's Path Traced solution can provide a way more realistic and physically correct Global Illumination for every games.[5] Reshade needs depth buffer access to make the RTGI shader work properly.
 matsilagi's RSRetroArch
Repository of RetroArch and retro-related shaders / shaders from programs, ported for ReShade
 akgunter's crt-royale-reshade
This is a port of the crt-royale shader by TroggleMonkey from RetroArch/libretro to ReShade 4.9+.

Future

EmuVR rooms

Already here thanks to Virtual Reality game room simulation projects. A VR game room simulation provides a virtual customizable game room; within that room there are cartridges, CD/DVDs and VHS tapes with artworks (CD/DVD covers, cartridge/VHS labels etc.), arcade machines, VCD/DVD/VHS player, personal computers or home consoles connected to virtual CRT screens that the user can interact with as they would a real-life TV.

Main article: Virtual_reality#VR_game_room_simulations

External Links

  • Libretro docs: Shaders
  • Shonumi's comment about shader extensions and using with different programs
  • YouTuber Retro Crisis has made a video showcasing Sonkun's presets, thingsiplay's wrote an article on sonkun's preset pack that goes more into detail with comparison pics and a video
  • RetroArch – Introducing the Mega Bezel Reflection Shader
  • Ray Tracing Revolution's video about RTGI