Usar scanlines en emuladores, si o no?

14, 5, 6, 7, 8
A mí lo que me ha pasado es que, ahora que ya había encontrado los que creía que iban a ser los cuasi-definitivos, con diferentes configuraciones (variaciones personales sobre los shaders originales) para diferentes sistemas y tipos de juegos, se me han borrado como por arte de magia. O bueno, borrarse no, pero de un día para otro han dejado de funcionar sin que yo haya tocado nada, aparte de actualizar los diferente apartados de Retroarch, entre ellos los propios shaders. Pero esto es algo que ya había hecho antes muchas veces y nunca me había ocurrido. Espero que pueda recuperarlo, porque me llevó mis horas dejarlo todo a mi gusto. ein?
Trabajando con el shader y más iluminación, para que no se vean tan oscuras las imágenes.

Imagen
Imagen
Imagen
Ostras, pues se ve muy muy bien, eh? Muchas gracias por el curro y el tiempo que estás invirtiendo compañero @gordon81

PD: quizás deberíamos comentar cosillas más enfocadas a los shaders en este otro hilo y dejar este para comentar las preferencias de cada uno en el uso o no de scanlines, que quizás era lo que pretendía inicialmente, pero ha ido derivando en lo otro.

Salu2
Buah, tiene una pintaza de lujo. En el el Monkey nuevo le queda como un guante.
¿Alguien usa Overlays?, ¿Alguien tiene alguno decente que me recomienden?
Nunca los he usado ni los echo en falta
Hola. ¿Alguien tiene constancia de que se haya hecho una actualización grande de shaders en Retroarch? Lo digo porque le acabo de dar a actualizar y está tardando una barbaridad en hacerlo, cuando normalmente no tarda casi nada. El resto de apartados sí que se han actualizado como de costumbre.

P.D.: Me medio-respondo a mí mismo.

Del foro de Retroarch.

The Duimon-Mega-Bezel / Duimon-Mega-Bezel-Potato repos and releases are updated to v0.9.9.0.

Changes:

Added Interton Electronic VC 4000.
Updated Emerson Arcadia 2001. (Added texture)
Migrated Potato presets and graphics to a new repo
The link to the current releases are in the first post. Installation/Update instructions are near the end of the second.

The size of the release surpassed the 2GB limit so I was forced to split the Potato to a new repo and release.

The more I thought about it the more sense it made anyway… If you need the Potato you have no need for the rest. :grin:
SuperJuegos30 escribió:Nunca los he usado ni los echo en falta

No podemos extrañar lo que no hemos tenido, mantente así sin crearte nuevas necesidades
Gnoblis escribió:
SuperJuegos30 escribió:Nunca los he usado ni los echo en falta

No podemos extrañar lo que no hemos tenido, mantente así sin crearte nuevas necesidades

Buena pelicula te has montado
¿Conociais esta aplicación?

https://mausimus.itch.io/shaderglass

Es basicamente un overlay de shaders retro que se sobrepone a la ventana de Windows "en directo" y vale para emuladores, juegos...siempre que se ejecuten en modo ventana/ventana sin bordes.

Lo he estado probando y me ha molado mucho.

Edito: dos capturas rápidas, sin la aplicación y con el preset que viene por defecto:

Imagen

Imagen
SuperJuegos30 escribió:
Gnoblis escribió:
SuperJuegos30 escribió:Nunca los he usado ni los echo en falta

No podemos extrañar lo que no hemos tenido, mantente así sin crearte nuevas necesidades

Buena pelicula te has montado

¿Mande? No entendí, no lo conozco y tampoco creo haberle hablado con malas maneras ¿Cuál película? :-?

@jhunt está interesante, no la conocía pero creo que la probaré
@jhunt eso es como Reshade? Tiene buena pinta, es verdad. Este fin de semana lo pruebo a ver, gracias!

@SuperJuegos30 creo que no sabes de qué va la película. Si quieres te la contamos [qmparto]
@jhunt No me cuadra.
Las scanlines hay que hacerlas sobre la resolución del juego, no de la ventana.
De esa manera se aumenta el contraste entre puntos, viéndose más nítidos.

Personalmente no echo de menos los fallos de los crt.
No todos eran visibles, recuerda que cuando se usaban en pc, en todas las pantallas se ponían filtros protectores.
He adquirido un crt de 17 pulgadas aoc hace poco por 5e. Lo he limpiado pieza por pieza por qué tardaba 30min encenderse y le he subido el screen y ajustado el Focus por qué prácticamente se veía negro. La verdad me ha quedado de lujo y con la limpieza ahora enciende a la primera (lo que hace la mierda).

Cuando he puesto el emulador se veían los pixelacos igual que en el lcd. Así que Estube leyendo y vi que había que poner la resolución más baja posible.

Le pongo 640x480p 60fps 31khz y me marca una scanlines finas finas. Te tienes que acercar para verlas, diría que son más finas que en una TV de 14 pulgadas aún siendo más ara de sombras.

Alguien sabe si se pueden exagerar más de alguna forma? O esta sería la forma correcta.

He probado a poner las de retroarch pero quedan como el culo, hace patrones muy extraños con las rejillas.

Es tubo Philips por cierto, por lo que no pronuncia las scanlines como los monitores Sony.
Buenos días,

ahora ya sí publicaré el reshade con todos vosotros.

Esto incluye perfiles de Retroarch que se pueden ejecutar en Android, pc y cualquier plataforma que utilice retroarch con soporte slang.

La idea siempre es la misma, un único reshade para todos los juegos con varios sabores para quien les guste los scanlines finos y gordos, halation, glow, etc...

Para esto abriré un post exclusivo y sobre ese podréis poner capturas y dudas.

Estad atentos :cool:
@gordon81 pon por aquí enlace del nuevo hilo por si alguien necesita continuar allí. Gran noticia compañero!!!! Ganas de poder probarlo [beer]
Ya está colgado el enlace del shader o creado el nuevo post?
fenix76 escribió:Ya está colgado el enlace del shader o creado el nuevo post?


Creo que no. Me da que nos lo traerá como regalo el Olentzero. ;)
Traigo un nuevo preset de retroarch que me esta gustando bastante, usa el shader ZCRT asi que deberia ser ligero.

Imagen
Imagen
Imagen
Imagen

GLSL

Se crea un archivo *.glslp en la carpeta shaders
shaders = "3"
feedback_pass = "0"
shader0 = "shaders_glsl/misc/image-adjustment.glsl"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
shader1 = "shaders_glsl/misc/ntsc-colors.glsl"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
shader2 = "shaders_glsl/crt/shaders/zfast_crt_composite.glsl"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = ""
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
ia_target_gamma = "1.800000"
ia_black_level = "0.100000"
ia_SHARPEN = "1.000000"
blurx = "0.650000"
blury = "-0.350000"
MASK_DARK = "0.000000"


SLANG
Crear un archivo llamado zfast_crt_compositeCustom.slang en la carpeta .\shaders\shaders_slang\crt\shaders\zfast_crt (solo modifique el rango de un valor de 2 a 20) y pegar el siguiente codigo en el bloc de notas
#version 450
/*
    zfast_crt - A very simple CRT shader.

    Copyright (C) 2017 Greg Hogan (SoltanGris42)
   edited by metallic 77.
   ported to slang by gregoricavichioli & hunterk.

    This program is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the Free
    Software Foundation; either version 2 of the License, or (at your option)
    any later version.

*/

layout(push_constant) uniform Push
{
    vec4 SourceSize;
    vec4 OriginalSize;
    vec4 OutputSize;
    uint FrameCount;
float pi, blurx, blury, HIGHSCANAMOUNT1, HIGHSCANAMOUNT2, MASK_DARK, MASK_FADE, sat;
} params;

#pragma parameter blurx "Convergence X-Axis" 0.45 -1.0 20.0 0.05
#pragma parameter blury "Convergence Y-Axis" -0.25 -1.0 10.0 0.05
#pragma parameter HIGHSCANAMOUNT1 "Scanline Amount (Low)" 0.3 0.0 1.0 0.05
#pragma parameter HIGHSCANAMOUNT2 "Scanline Amount (High)" 0.2 0.0 1.0 0.05
#pragma parameter MASK_DARK "Mask Effect Amount" 0.25 0.0 1.0 0.05
#pragma parameter MASK_FADE "Mask/Scanline Fade" 0.8 0.0 1.0 0.05
#pragma parameter sat "Saturation" 1.1 0.0 3.0 0.05

#define pi 3.14159
#define blurx params.blurx
#define blury params.blury
#define HIGHSCANAMOUNT1 params.HIGHSCANAMOUNT1
#define HIGHSCANAMOUNT2 params.HIGHSCANAMOUNT2
#define BRIGHTBOOST params.BRIGHTBOOST
#define MASK_DARK params.MASK_DARK
#define MASK_FADE params.MASK_FADE
#define sat params.sat

layout(std140, set = 0, binding = 0) uniform UBO
{
    mat4 MVP;
} global;

#pragma stage vertex
layout(location = 0) in vec4 Position;
layout(location = 1) in vec2 TexCoord;
layout(location = 0) out vec2 vTexCoord;
layout(location = 1) out float maskFade;

void main()
{
    gl_Position = global.MVP * Position;
    vTexCoord = TexCoord;
    maskFade = 0.3333*MASK_FADE;
}


#pragma stage fragment
layout(location = 0) in vec2 vTexCoord;
layout(location = 1) in float maskFade;
layout(location = 0) out vec4 FragColor;
layout(set = 0, binding = 2) uniform sampler2D Source;

void main()
{
    vec2 pos = vTexCoord.xy;
   
    vec3 sample1 = texture(Source,vec2(pos.x + blurx/1000.0, pos.y - blury/1000.0)).rgb;
    vec3 sample2 = texture(Source,pos).rgb;
    vec3 sample3 = texture(Source,vec2(pos.x - blurx/1000.0, pos.y + blury/1000.0)).rgb;
   
    vec3 colour = vec3 (sample1.r*0.5+sample2.r*0.5, sample1.g*0.25 + sample2.g*0.5 + sample3.g*0.25, sample2.b*0.5 + sample3.b*0.5);
    float lum = colour.r*0.4 + colour.g*0.4 + colour.b*0.2;
   
    vec3 lumweight=vec3(0.3,0.6,0.1);
    float gray = dot(colour,lumweight);
    vec3 graycolour = vec3(gray);

    //Gamma-like
    colour*=mix(0.4,1.0,lum);   
   
    float SCANAMOUNT = mix(HIGHSCANAMOUNT1,HIGHSCANAMOUNT2,lum);
    float scanLine =  SCANAMOUNT * sin(2.0*pi*pos.y*params.SourceSize.y);
   
    float whichmask = fract(gl_FragCoord.x*-0.4999);
    float mask = 1.0 + float(whichmask < 0.5) * -MASK_DARK;

    //Gamma-like
    colour*=mix(2.0,1.0,lum);   
   
    colour = vec3(mix(graycolour,colour.rgb,sat));

    colour.rgb *= mix(mask*(1.0-scanLine), 1.0-scanLine, dot(colour.rgb,vec3(maskFade)));
    FragColor.rgb = colour.rgb;
}


Despues de eso se crea un archivo *.slangp en la carpeta .\shaders con lo siguiente dentro

shaders = "3"
shader0 = "../../shaders/shaders_slang/misc/image-adjustment.slang"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
shader1 = "../../shaders/shaders_slang/misc/ntsc-colors.slang"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
shader2 = "../../shaders/shaders_slang/crt/shaders/zfast_crt/zfast_crt_compositeCustom.slang"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = ""
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
ia_monitor_gamma = "1.800000"
blurx = "2.499999"
blury = "1.000000"


Para configurar el enfoque, los unicos valores importantes dentro de retroarch son Convergente X-axis y Convergence Y-axis. Usen una escena con dithering, bien ajustado se vuelve una transparencia o gradiente. Y ajusten de acuerdo a la resolucion, no es igual 256x244 que 320x240, asi que graben presets por core y por juego segun sea necesario.

En mi opinion, los unicos valores importantes que tambien se pueden/deben configurar a gusto personal/de monitor, son gamma, brillo, contraste y nivel de negro

Si tienen algun problema asegurense tener actualizados los shaders, usa mis presets usan image adjust y ntsc color.

Recomiendo, guardar los screenshots y subirlos a https://www.diffchecker.com/image-diff/ para poder ver el cambio con un slider.
@ZedHqX4 Está guay, pero se ve un poco borroso para mi gusto.
SirAzraelGrotesque escribió:@ZedHqX4 Está guay, pero se ve un poco borroso para mi gusto.


Porque no hay forma de tenerlo todo [carcajad]. Mi configuracion es para eliminar el dithering y asemejarse a la señal estandar, video compuesto y a lo que quizas penso el artista mientras hacia los sprites/texturas. Pero sin la diferencia de rango dinamico de brillo entre pixel y pixel que solo un rayo de luz puede darte ( o quizas un buen oled, no se, no tengo uno), es imposible tener los resultados perfectos. Hay cosas que ya son fuera de la pantalla, y ahi si no me gusta meterme porque es una copia barata de lo que ocurre fuera del crt (curvatura, bloom, por mencionar algo)

Si se reducen los valores de convergencia entonces se ve menos "borroso", pero el dithering es mas notorio.

En el shader slang
Convergencia X=0
Imagen

Convergencia X=1
Imagen

Convergencia X=1.5
Imagen

Convergencia X=2
Imagen

Convergencia X=2.5
Imagen

Convergencia X=3
Imagen

Convergencia X=3.5
Imagen
Me parece que me quedaría con el 1.5.
Yo el otro día descubrí un shader llamado VHS.slang y en mi tele se ve estupendamente.

Supongo que dependerá del tamaño de la tele se verá mejor o pero.

Yo lo recomiendo probar colo mínimo, simula una crt y queda muy bien.
Buenas chicos, siento tanta tardanza, pero es que creo que los shaders os van a encantar, he creado perfiles para todos los gustos y los nativos de Retroarch creo que cumplen con todo tipo de resoluciones.

Ahora estoy ordenando todo para que por ejemplo en Reshade no haya fragmentación de versiones.

Por cierto, lo de la luminosidad en los shaders, es algo que hay que configurar sí o sí para cada monitor, pasa con los shaders preconfigurados de retroarch, es decir, a la mayoría hay que toquetearlos para dejarlos al gusto.

Os iré actualizando, los reshades están acabados, esos ya no los toco y estoy terminando con los slang de retroarch.
@gordon81

A ver si pronto podemos echarles el guante. ;)

Estaría bien poder combinar tus shaders de alguna manera con los bordes esos que tienen reflejos. Supongo que eso no va a ser posible, ¿verdad?
SirAzraelGrotesque escribió:@gordon81

A ver si pronto podemos echarles el guante. ;)

Estaría bien poder combinar tus shaders de alguna manera con los bordes esos que tienen reflejos. Supongo que eso no va a ser posible, ¿verdad?


Yo creo que sí será posible en el caso de slang ya que sólo requiere meter el complemento y sus capas para los bezels, no he hecho pruebas, pero el shader de retroarch que he hecho es una mezcla de varios y customizados para que funcionen los scanlines en resoluciones internar 2k-4k y que no tengas que activar el downsampling en emuladores como el de PSX.
gordon81 escribió:
SirAzraelGrotesque escribió:@gordon81

A ver si pronto podemos echarles el guante. ;)

Estaría bien poder combinar tus shaders de alguna manera con los bordes esos que tienen reflejos. Supongo que eso no va a ser posible, ¿verdad?


Yo creo que sí será posible en el caso de slang ya que sólo requiere meter el complemento y sus capas para los bezels, no he hecho pruebas, pero el shader de retroarch que he hecho es una mezcla de varios y customizados para que funcionen los scanlines en resoluciones internar 2k-4k y que no tengas que activar el downsampling en emuladores como el de PSX.


Ah, pues genial entonces. Será interesante hacer pruebas. Lo único que me desanimaba a pensar en probar tus shaders era este tema, que una vez de probar los marcos con reflejos, son muy golosos por lo genial que queda el efecto. ;)
(mensaje borrado)
Desde Que descubrí el shader "Mega Bezel" no juego de otra forma, es sublime.....

Simula un crt con las deformaciones del ver redondeado, algo de desgaste, brillos en el marco y rejilla Philips. Sublime

Batocera y retrobat lo integran en el menú y creo que retroarch también.
Como soy un ceporro me he tirado como 20 años jugando a emuladores sin usar shaders ni marcos ni nada.
Y ahora recientemente los he descubierto y es todo un mundo. Ahora sí que tengo realmente la sensación de estar jugando de verdad a los títulos de entonces y como los veíamos en su momento. Estoy flipando vaya. Para mí ya son absolutamente imprescindibles
santos47 escribió:Desde Que descubrí el shader "Mega Bezel" no juego de otra forma, es sublime.....

Simula un crt con las deformaciones del ver redondeado, algo de desgaste, brillos en el marco y rejilla Philips. Sublime

Batocera y retrobat lo integran en el menú y creo que retroarch también.


Yo lo que no acabo de conseguir es que cuadre siempre el marco perfectamente al alto del monitor. Según el núcleo, a veces se me hace más pequeño o la parte horizontal del marco, vamos, la de arriba y la de abajo, se me sale del tamaño del monitor y no se ve toda la pantalla de juego. Aunque no es siempre. No sé por qué sucede.

Fran_Pelayo escribió:Como soy un ceporro me he tirado como 20 años jugando a emuladores sin usar shaders ni marcos ni nada.
Y ahora recientemente los he descubierto y es todo un mundo. Ahora sí que tengo realmente la sensación de estar jugando de verdad a los títulos de entonces y como los veíamos en su momento. Estoy flipando vaya. Para mí ya son absolutamente imprescindibles


Para mí también lo son. No concibo jugar sin emular una pantalla CRT. Los píxeles brutos no me gustan nada y los filtros que suavizan la imagen, tampoco.
Yo llevo unos días liado con poner el shader del marco con reflejo (Mega Bezel Reflection) encima del los bezels que ya tenia siguiendo un tutorial, si tuviese que modificar uno por uno te mueres, yo ya lo dejo así, no me lio mas [+risas]

Pongo unos ejemplos de ScummVM que fue con los que hice las pruebas los Bezels los e creado yo:

Imagen

Imagen

Imagen
383 respuestas
14, 5, 6, 7, 8