Are there any good shaders for Vector Graphics, mainly the Vectrex?

I don’t think anything can truly simulate a proper vector monitor, but my dream has been to own a vectrex since I was a kid and saw one at my dad’s friends house but I never had the chance to get one. As soon as the Vectrex collection for iOS was released i happily bought it and play it to this day, guess my iPads are the closest thing to a real vectrex atm for me :slight_smile: I’m not looking for overlay filters as NOTHING can simulate a real overlay, i even turn them off on iPad, I just want something that would more accurately simulate the light, tracing and well general look and feel of a vector monitor, mainly the Vectrex one.

Could you guys make such shaders or I dunno are there RetroArch compatible shaders I could download somewhere that would simulate this somehow. I’m thinking a smooth motion blur, plus some faint flickering and a bit of very faint glow, but honestly an actual vectrex would have to be present and the shader creator would have to work with that side by side to get the right look and feel.

MAME’s vector HLSL stuff looks pretty good, but that’s pretty much the only one I know of. AAE has good effects, too, but I suspect it’s based on fixed-function GL rather than shaders, based on its age.

I don’t have MAME installed, it confuses the hell out of me and i never know which ROM Sets to use with it assuming i even find them, is there a way to use this shader from retroarch or if i install one of the mame cores will it install too? If I install the MAME core which ROM Sets would yo recommend that work with it? I want a ROM set that has everything from like the oldest to '96 or so for most games but no sports games and no like those gambling games, just the classics and all the shmups/bullethells whatever the latest arcade bullethells and regular shmups it can emulate even new stuff. Also what is AAE and where do I enable it?

AAE stands for ‘Another Arcade Emulator.’ Its focus is/was doing vector games with fancy OpenGL effects (bloom, trails, etc). I think the guy who developed it helped with MAME’s HLSL vector effects.

There’s no way to use MAME’s HLSL effects with RetroArch. It would have to be ported over, which I may try to tackle at some point, but I don’t know if it’s really feasible yet.

MAME is indeed a pain in the ass with their ever-changing ROMsets. The best way to handle it, IMO, is to just get a full set and then delete the games you don’t want (i.e., move the ones you actually want into a folder and delete the rest).

1 Like

Even if RetroArch had a good vector CRT shader, libretro-mame is limited to software rendering with chunky-looking lines. Regular MAME on Linux doesn’t support GLSL or BGFX shaders for vector graphics. So far, the easiest way I’ve found to apply shaders to Asteroids on MAME on Linux is using BGFX with vkBasalt.

Here’s the result:

It’s still not perfect; the bullets are diamonds instead of circles, and the asteroids should be a darker grey, but it has clean lines, bloomy bullets, and CRT geometry.

Launching mame:

ENABLE_VKBASALT=1 ./mame \
        -video bgfx -bgfx_backend vulkan \
        -beam_dot_size 2.5 -beam_width_max 2.5 \
        -brightness 0.8 -contrast 1.2 \
        -beam_intensity_weight 0.75 -flicker 0.2 \
        -waitvsync -skip_gameinfo asteroid "$@"

My vkBasalt.conf:

effects = foo1:foo2
foo1 = /home/gamer/src/qUINT/Shaders/qUINT_bloom.fx
foo2 = /home/gamer/src/RSRetroArch/Shaders/CRTPi.fx
reshadeTexturePath = /home/gamer/src/reshade-shaders/Textures
reshadeIncludePath = /home/gamer/src/reshade-shaders/Shaders
BLOOM_ADAPT_MODE = 0
BLOOM_TONEMAP_COMPRESSION = 1.0
BLOOM_INTENSITY = 1.3
BLOOM_CURVE = 2

The shaders are from reshade-shaders, qUINT, and RSRetroArch on GitHub.

More recent MAME cores have an “alternate render” core option that renders at 1200p (IIRC) to allow use of MAME’s internal lay/artwork stuff, as well as high-res vectors. mame2003+ also does high-res vectors, IIRC.

There are a couple of “vector glow” shaders in the CRT directory that work well with those cores, but I saw @kokoko3k was working on some vector stuff recently that looks really fantastic.

2 Likes

Here you go:

1 Like

That screenshot illustrates the problems with libretro-mame’s software rendering. The bullets are thin vertical lines instead of glowing circles.

Maybe you should read beyond that post with that particular screenshot and also speak to @kokoko3k on his thread concerning the rendering of the vector graphics.