Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: megadok en Septiembre 20, 2018, 07:52:57 PM

Título: Efecto photoshop
Publicado por: megadok en Septiembre 20, 2018, 07:52:57 PM
Hola chicos, me gustaría usar una imagen con degradado para cubrir toda la pantalla y que con transparencia, diera un efecto como el que se consigue en photoshop, (el overlay o el multiply). ¿Alguien sabría como hacerlo?
Título: Re:Efecto photoshop
Publicado por: Clamud en Septiembre 22, 2018, 04:44:24 AM
En el evento Draw GUI, usa la función gpu_set_blendmode o gpu_set_blendmode_ext
https://docs2.yoyogames.com/source/_build/3_scripting/4_gml_reference/drawing/gpu/gpu_set_blendmode.html
y dibuja la imagen estirada para cubrir toda la pantalla
[gml]
w = display_get_gui_width();
h = display_get_gui_height();
draw_set_blend_mode(bm_add);
draw_background_stretched_ext(gr, 0,0, w,h, c_white,alpha);
[/gml]
(GMS1: draw_set_blend_mode)
(GMS2: gpu_set_blendmode)

Ejemplo en GMLive
(https://yal.cc/r/gml/?mode=GL&tabs_lz=NobwRAdghgtgpmAXGA6nANgYwPbwApQDmCANGDgCYLIBGhABALz01SYDWhATtgK4QUA+lAoUAFAB0uEiPTn0JYABYAXFQAcAzogD0OrlADuAOkIBLFUt41emuFxwQVcJ8ZwwdAcXRnsmOF4AsgAyZgBucIJwAB6w6uhwmjowUJrOXDo0CQKCMNhUSXTGAFbqhIokUjLy9ABmUOh2JHUNdlUQAJQA3O3cTCxsnDz8QiLi7TWKqhraegYm5pbWtvaOzq7uXj5+AZ4h4ZExcQlJKWn2mdlCeQU63MbqEOVgldKy8vWNcM2fbW-d7Qa6iUUH6AAZjGCem8qOgVKDmBCwQBGaEyQz9ChmTTxKAAT0ExBUhN4ZkEhjMFEsYgBbyUmOxuIJRJJZKUcDMhFUNLREHaAGIqLUzBA4PQKPN2hKjII7MSsi5rvk4GIaDBBBBsFwUuhaTJpYZBKwONw+AJVYRmmCrXqIHoDUbBqaRrKVFw4CpMOzxHQrSRrfRDCQlLaBUKRWKHYRSVL5rKPUarrllar1WNbQ7jUMzUIYioxNw-QHkSQSwHMOSlBZvkCQbb7XGs86cml3Z7vVFovnC-RrQGg0pmhXDFXnCRa1BQ28J-QANTMWHw3lmWr0MQzgB8zGR9C19BnAB5ER1xRh4fQAFTMAC0qLAAF8ALpAA)
Título: Re:Efecto photoshop
Publicado por: BssString en Septiembre 22, 2018, 05:18:01 AM
Las funciones "draw_background" pasaron a mejor vida en GMS2.

Lo más sencillo es utilizar un blend mode:
gpu_set_blendmode_ext(bm_one,bm_inv_src_color)
draw_sprite(overlay,0,0,0)
gpu_set_blendmode(bm_normal)


Si ese no es el efecto que buscas, quizás lo que estás buscando es una Shader.
En el post #12 de este foro publican un archivo con la Shader en acción:
http://gmc.yoyogames.com/index.php?s=0a90c7492f06d8f03b3052906519325c&showtopic=690092

Saludos