Pagina 1 di 1

Shadow 2.0

Inviato: 08/03/2015, 20:26
da doom13
Sulla scia dell'altra idea, trovate il topic sotto questo, me n'è venuta un'altra ancora più avanzata.
Invece di usare d3d_transform in 2d e impicci vari si potrebbe usare un'altra view.
Una view che rappresenterebbe la luce, con una proiezione che decidiamo noi con d3d_set_projection, potrebbe all'inizio del gioco fare una sorta di fotografia al mondo di gioco, colorare di nero gli oggetti che diventeranno ombra e salvare questa fotografia.
Successivamente si abilitata l'altra view, quella normale di gioco e si disegna a terra con draw_wall la "fotografia" fatta in precedenza.
Addirittura se si riuscisse a fare una fotografia ad ogni step si avrebbe anche un'ombra dinamica.
Dite che è fattibile? Ha senso?

Re: Shadow 2.0

Inviato: 09/03/2015, 20:38
da Tizzio
Si chiamano shadowmap :asd: e puoi farle in maniera molto più efficiente con gli shaders

:arrow: http://gmitalia.altervista.org/gmi_foru ... 19#p171619


Immagine

Re: Shadow 2.0

Inviato: 09/03/2015, 21:50
da doom13
Eh chiesi a jak il source ma non mi ha risposto :(
Inoltre non conoscendo minimamente gli shaders vorrei provare con la mia idea.

Re: Shadow 2.0

Inviato: 11/03/2015, 16:09
da doom13
Una volta che ho la surface (ovvero quella specie di fotografia) che contiene gli oggetti e tutto ciò di cui bisogna produrre un'ombra, devo annerirli questi oggetti, come posso fare?
La surface dovrebbe essere generalmente grigia, perché ho eliminato il pavimento prima di creare la surface con delle parti di colori vari, cioè quelle parti di mondo dove sono presenti degli oggetti.

Re: Shadow 2.0

Inviato: 11/03/2015, 19:47
da Tizzio
Non puoi disegnare gli oggetti in nero?

Oppure quando disegni la surface disegnala usando c_black come argomento del colore in draw_surface_ext

Re: Shadow 2.0

Inviato: 11/03/2015, 19:56
da doom13
Tizzio ha scritto:Non puoi disegnare gli oggetti in nero?
:confuso:
Gli oggetti in gioco hanno le varie texture, quali oggetti dici tu?
Tizzio ha scritto:Oppure quando disegni la surface disegnala usando c_black come argomento del colore in draw_surface_ext
Questo potrebbe andar bene però avendo lo sfondo grigio mi sa che disegna tutto nero e quindi mi ritrovo un bel rettangolo nero.

Re: Shadow 2.0

Inviato: 11/03/2015, 20:21
da Tizzio
usa lo sfondo trasparente: draw_clear_alpha(0, 0);

Re: Shadow 2.0

Inviato: 11/03/2015, 20:25
da doom13
Tizzio ha scritto:usa lo sfondo trasparente: draw_clear_alpha(0, 0);
Game maker ha tutte queste belle funzioni e non ricordo mai quelle che fanno al caso mio.