miércoles, 28 de enero de 2015

Tutorial: Configurar HLSL en MAME y no morir en el intento

Hola gente, voy a comentar el tema del HLSL de MAME.
Esto es una opción de MAME para modificar como
se ven los gráficos, y se usa principalmente para que
se vea como una recreativa de la época.

Se puede configurar al gusto de uno y según su monitor,
y se puede conseguir que no se vean los pixelacos como
puños sino una imagen más nítida.

Yo uso el Mameplus gui así que comentaré como se pone en este.


1. Cómo activarlo.
Abres el mame.ini y buscáis
hlsl_enable               0
y cambiáis el 0 por un 1.

Ahora cuando pongáis un juego os saldrá el HLSL activado,
pero con una configuración de ejemplo.
Así que puede que no se os vea del todo bien.

2. Configurándolo
 Justo bajo hlsl_enable están las opciones del HLSL,
comentaré lo que veo más importante a la hora de cambiar.
(Si algo no está en el ini, es como ignorado, si lo añadís ya se cambiará)

Esto del prescale yo prefiero dejarlo en 4, sino la imagen se ve muy borrosa.
hlsl_prescale_x           4
hlsl_prescale_y           4

Aquí pongo la resolución a la que juego
hlsl_snap_width           1024
hlsl_snap_height          768

 Esto es la curvatura que tienen las teles CRT, con los bordes
redondeados, a mí personalmente no me gusta que esté muy exagerado.
curvature                 0.03

Esto es una de las consolas principales a tocar, para que los scanlines
estén bien, que no oscurezcan demasiado la pantalla o se vean mal alineados
scanline_alpha            0.5
scanline_size             1.0
scanline_height           0.5
scanline_bright_scale     0.4
scanline_bright_offset    0.2

Esto hace que parpadee la imagen, así que con 0.0 se desactiva


scanline_jitter           0.0

Como sabéis las teles CRT no muestran un pixel con el color directamente,
sino que mezclan uno rojo, verde y azul. Bueno pues esto es para
decir a que distancia quieres que tenga de separación cada uno de esos
color.
converge_x                0.3,0.0,-0.3
converge_y                0.0,0.3,-0.3

Esto para los colores, Rojo - Verde - Azul
scale                     0.95,0.95,0.95
power                     1.2,1.2,1.2

 Todo lo que hay debajo no lo he tocado.

 Pongo aquí mi configuración, teniendo un CRT 17"
---------------------------------------------------------------------------------------------------
#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable               1
hlslpath                  hlsl
hlsl_prescale_x           4
hlsl_prescale_y           4
hlsl_preset               -1
hlsl_write                1
hlsl_snap_width           1024
hlsl_snap_height          768
shadow_mask_alpha         0.0
shadow_mask_texture       aperture.png
shadow_mask_x_count       320
shadow_mask_y_count       240
shadow_mask_usize         0.09375
shadow_mask_vsize         0.109375
curvature                 0.03
pincushion                0.03
scanline_alpha            0.5
scanline_size             1.0
scanline_height           0.5
scanline_bright_scale     0.4
scanline_bright_offset    0.2
scanline_jitter           0.0
defocus                   0.0,0.0
converge_x                0.3,0.0,-0.3
converge_y                0.0,0.3,-0.3
radial_converge_x         0.0,0.0,0.0
radial_converge_y         0.0,0.0,0.0
red_ratio                 1.0,0.0,0.0
grn_ratio                 0.0,1.0,0.0
blu_ratio                 0.0,0.0,1.0
saturation                1.0
offset                    0.0,0.0,0.0
scale                     0.95,0.95,0.95
power                     1.2,1.2,1.2
floor                     0.05,0.05,0.05
phosphor_life             0.0,0.0,0.0

#
# NTSC POST-PROCESSING OPTIONS
#
yiq_enable                0
yiq_cc                    3.59754545
yiq_a                     0.5
yiq_b                     0.5
yiq_o                     1.570796325
yiq_p                     1.0
yiq_n                     1.0
yiq_y                     6.0
yiq_i                     1.2
yiq_q                     0.6
yiq_scan_time             52.6
yiq_phase_count           2

#
# VECTOR POST-PROCESSING OPTIONS
#
vector_length_scale       0.8
vector_length_ratio       500.0

#
# BLOOM POST-PROCESSING OPTIONS
#
vector_bloom_scale        0.2
raster_bloom_scale        0.10
bloom_lvl0_weight         1.0
bloom_lvl1_weight         0.21
bloom_lvl2_weight         0.19
bloom_lvl3_weight         0.17
bloom_lvl4_weight         0.15
bloom_lvl5_weight         0.14
bloom_lvl6_weight         0.13
bloom_lvl7_weight         0.12
bloom_lvl8_weight         0.11
bloom_lvl9_weight         0.10
bloom_lvl10_weight        0.09