samstyle / Xpeccy

Multiplatform emulator of retro computers
MIT License
71 stars 13 forks source link

mimic tv screen #84

Closed Ygarr closed 3 years ago

Ygarr commented 4 years ago

Please add mimic tv screen stripes like as it is in attach 74599258-93480880-5087-11ea-9f9a-ed433eebf931

a7mag3ddon commented 3 years ago

They are called scanlines and i would also like to see those implemented.

samstyle commented 3 years ago

i will try. something like this: after drawing frame picture i will lower bright for each odd line, but it will be looking strange for zoom x1

a7mag3ddon commented 3 years ago

I tried a 3rd party program called Reshade which i have used before on emulators for scanlines but couldnt get it to work.

Volutar commented 3 years ago

There is a possibility to use OGL + custom made shader. Like: image

But is it really necessary to have all these crappy TV output glitches, like dot crawling, pixel shimmer, ray divergence, signal instability, and so on?

a7mag3ddon commented 3 years ago

Just scanlines would be ok, no need shimmer dot crawling etc.. it would just give people a choice to add it ? I have a JS Speccy 128, Spectrum next and they just dont look right without faint scanlines adding. I guess its just how i remember mine back in 1985 :)

samstyle commented 3 years ago

Just scanlines is already there. Options->Video->TV scanlines. You can set hotkey to switch it on/off - Options->Xpeccy->Keys, Switch scanlines

a7mag3ddon commented 3 years ago

xspeccyvideo

I dont have that option, have i gone scanlines blind? :)

samstyle commented 3 years ago

Which build is this?

a7mag3ddon commented 3 years ago

5th oct 2020

0.6.20201005

samstyle commented 3 years ago

i see... https://github.com/samstyle/Xpeccy/releases latest is 0.6.20201229

a7mag3ddon commented 3 years ago

Thanks i now have scanlines options but can hardly see them, can you make them look more the top post here?

samstyle commented 3 years ago

ok

Volutar commented 3 years ago

I wonder where is this GIF from first post was taken from? It has clear TV artifact along with pretty stable line structure (low intensity, medium and high,from top to bottom).

Ygarr commented 3 years ago

I don`t remember, i was just looking for example like in Fuse emulator. This example was the first one found BTW I made similar request for "ZX-Poly" emulator java-based. But his implementation hurts eyes. Well, how did he do - this is his vision.

samstyle commented 3 years ago

Now it looks like this (scale x4). But looks awful on fullscreen. Screenshot_20210216_232736

Volutar commented 3 years ago

Latest version (since 2021-02-20) Xpeccy supports GLSL shaders, mimicking tv lines/aperture (like screen from my previous message).

Volutar commented 3 years ago

Shaders in Xpeccy are sub-sections in text files started with "vertex:" and "fragment:" Written in GLSL. Apart from texture itself 3 parameters are passed to shader:

Shaders are stored in /config/shaders/ This folder reread when Setup (F1) menu is opened, and can be chosen within "Video" tab. Also they can be switched with context menu, There's a hotkey of shader reload (if you decide to play with const values in script, and see how it comes).

Xpeccy shader examples (built mainly with lottes script, and another one): xpeccy-shaders.zip

samstyle commented 3 years ago

though the list of shades is not renewed

Опять у тебя всё не как у людей. при вызове быстрого меню список файлов обновляется.

a7mag3ddon commented 3 years ago

Wow absolutely beautiful! i love what youve done in such a short time, ive only tested 3 but they are amazing!

samstyle commented 3 years ago

solved in OpenGL version by shaders