Bueno, ahora viene la pregunta del millon, esto ya es nivel avanzado, a ver si entre todos podemos conseguirlo.
El caso esta, en que estoy dibujandole una sombra a una caja, de momento todo perfecto.
La sombra, se dibuja, respecto a la luz que le da, todo bien.
Pero la sombra es uniformemente infinita. Lo que me gustaria darle es un degradado en alpha a medida que la distancia de la sombra aumenta desde su punto de partida.
Entonces, esto como podria hacerse???
Os dejo el codigo del draw;
draw_set_colour(c_black);
draw_set_alpha(0.20);
if (linterna)
{
draw_triangle(x,y,x+lengthdir_x(1000,point_lt),y+lengthdir_y(1000,point_lt),x+30+lengthdir_x(1000,point_rt),y+lengthdir_y(1000,point_rt),0)
draw_triangle(x,y,x+30+lengthdir_x(1000,point_rt),y+lengthdir_y(1000,point_rt),x+30,y,0)
draw_triangle(x,y+30,x+lengthdir_x(1000,point_ld),y+30+lengthdir_y(1000,point_ld),x+30+lengthdir_x(1000,point_rd),y+30+lengthdir_y(1000,point_rd),0)
draw_triangle(x,y+30,x+30,y+30,x+30+lengthdir_x(1000,point_rd),y+30+lengthdir_y(1000,point_rd),0)
draw_triangle(x,y+30,x,y,x+lengthdir_x(1000,point_lt),y+lengthdir_y(1000,point_lt),0)
draw_triangle(x,y+30,x+lengthdir_x(1000,point_ld),y+30+lengthdir_y(1000,point_ld),x+lengthdir_x(1000,point_lt),y+lengthdir_y(1000,point_lt),0)
draw_triangle(x+30,y+30,x+30,y,x+30+lengthdir_x(1000,point_rd),y+30+lengthdir_y(1000,point_rd),0)
draw_triangle(x+30,y,x+30+lengthdir_x(1000,point_rt),y+lengthdir_y(1000,point_rt),x+30+lengthdir_x(1000,point_rd),y+30+lengthdir_y(1000,point_rd),0)
draw_rectangle(x,y,x+30,y+30,1);
}
draw_set_alpha(1);
Espero entre todos darle una solucion, muchas gracias de ante mano. ;)
Se puede hacer un degradado de transparencia con draw_vertex_color.
Primero me gustaría entender cómo se construye la figura, sube un diagrama o explica el significado las variables point_