Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: eams1986 en Abril 03, 2021, 08:06:42 PM

Título: Ayuda con el surface en el draw
Publicado por: eams1986 en Abril 03, 2021, 08:06:42 PM
hola a todos :) tengo un problema con la superficie en el evento draw_gui, el efecto de sombreado funciona bien:

https://i.gyazo.com/b5c03a4e2bb6de64d8140086dc1f2827.png

pero el evento Draw normal se ve diferente:

https://i.gyazo.com/a74bab22df12b14da93aaa6bc8c924ec.png

[gml]/// @description Cuadricula Draw event

//Creamos el Surface
var lighting = global.light;
var view_x = camera_get_view_x(view_camera[0]);
var view_y = camera_get_view_y(view_camera[0]);
var viewport_w = camera_get_view_width(view_camera[0]);
var viewport_h = camera_get_view_height(view_camera[0]);

if surface_exists(lighting) {
    surface_set_target(lighting);
    draw_clear(c_black);
   
    if instance_exists(o_player_00) {
        with o_player_00 {
            gpu_set_blendmode(bm_add);
            draw_circle_colour(x-view_x,y-view_y,radius,col,c_black,false);
            gpu_set_blendmode(bm_normal); 
            }
        }
    surface_reset_target();
   
    ///**Initialized el shader brillante
    shader_set(sh_lighting);
    var tex = surface_get_texture(lighting);
    var handle = shader_get_sampler_index(sh_lighting,"lighting");
    texture_set_stage(handle,tex);
   
    draw_surface_ext(lighting,view_x,view_y,1,1,0,c_white,0);  //AUQUE ESTE EN CERO EL SHADER CREA LA SOMBRA
   
    shader_reset();
    }
else {
    global.light = surface_create(viewport_w-25,viewport_h-25);
    }
   
//white Line
draw_set_color(c_white);
draw_set_alpha(0.5);
for(var i=0;i<= max(room_width,room_height);i+=32) {
    draw_line(0,i,room_width,i);
    draw_line(i,0,i,room_height);
    }
draw_set_alpha(1);[/gml]

se le perdio el brillo a el SHADER :(

Título: Re: Ayuda con el surface en el draw
Publicado por: Void en Abril 04, 2021, 02:35:25 AM
Sospecho que es un asunto de orden de dibujado, trata de usar el código en el evento Draw End, o asegurate de que el código de la surface sea el último en ser ejecutado durante el evento Draw.
Título: Re: Ayuda con el surface en el draw
Publicado por: eams1986 en Abril 04, 2021, 04:55:46 AM
Hola amigo! Sera que le puede dar una revisada asi le puedo mandar un demo ?

Gracias!
Título: Re: Ayuda con el surface en el draw
Publicado por: Void en Abril 05, 2021, 08:02:37 AM
Prueba primero cambiando el orden de dibujo para la surface, si no te funciona subes el demo para revisarlo.