Buenas a todos,
Acabo de publicar la nueva versión de MAME4droid (1.36.6) y tenía muchas ganas de compartir por aquí lo que he logrado con el motor de renderizado, especialmente con los juegos vectoriales.
He mandado a paseo la forma tradicional de dibujar los vectores a base de rayas y puntos y he montado un pipeline nuevo en GLES3 que recrea de verdad cómo funciona un monitor CRT vectorial con sus fiscas como toca. Os resumo lo que vais a encontrar:
HDR real y del bueno: He implementado un renderizado en FP16 que es una auténtica pasada. No es "fake HDR", es HDR de verdad para dispositivos que lo soporten. Si tenéis un Pixel o un terminal con una pantalla HDR decente, la diferencia es brutal. Los colores explotan, y el brillo de los vectores, cuando se sobrecargan, te deja ciego.
Asteroids y Battlezone a otro nivel: Ver el Battlezone ahora, con ese brillo real en los vectores y ese contraste sobre el fondo negro profundo (oled), te hace sentir que estás literalmente dentro de la cabina.
Bloom óptico "pata negra" ahora uso un pipeline de post-procesado con un filtro Dual-Filter Kawase en GPU. El resultado es luz real dispersándose casi como en el arcade real,
El efecto de Star Wars (Beam Overload): Esta es la joya de la corona. Soy un fan absoluto de Star Wars y he conseguido integrar el efecto de Beam Overload. Si alguien sabe de otro emulador que lo haga, que me lo diga, porque creo que es el primero en llevarlo a cabo. No es solo estética: Atari lo puso ahí por algo, es el feedback vital de cuando te están dando cera. Cuando te disparan y ves ese "destello" de luz sobrecargando el tubo... la jugabilidad cambia por completo.
Una nota sobre el HDR:
Si vais a probarlo, tened en cuenta que Android tiene un soporte de HDR bastante caótico. Muchos fabricantes chinorris lo implementan fatal. Si queréis ver cómo brilla esto de verdad, lo suyo es probarlo en un Pixel (donde el HDR está bien implementado). Ver los Asteroids con sus bolas de luz rebotando y el realismo del bloom... os aseguro que he comparado con todo lo que hay por ahí, incluso con lo que se ve en vídeos de AAE y demás, y os digo sin echarme flores: esto está a un nivel de realismo y simulación que pocas cosas alcanzan ahora mismo.
He actualizado también el core a MAME 0.288 y he pegado un repaso brutal a todo el sistema de inputs (latencia, analógicos, etc.), pero lo que realmente me tiene encantado es cómo ha quedado el tema vectorial.
Os dejo el enlace por aquí para que le echéis un vistazo y me contéis qué os parece. Espero que lo disfrutéis tanto como yo haciéndolo (tambien está en Google Play)
https://github.com/seleuco/MAME4droid-Current/releasesPD. No os pongo una captura porque el HDR hay que verlo jaja. En cualquier caso el path de SDR del renderizado de los vectores en fp16 hace un tonemapping y tambien se ven de lujo los vectores si no podeis activar el HDR o es una mierda el HDR en vuestro dispositivo (cof, cof).