Hallo zusammen,
als hier vor einiger Zeit das Thema 2D Beleuchtung aufkam, war ich selber motiviert mal was in die Richtung zu probieren. Herausgekommen ist dabei die Demo im Anhang. Ich würde es nicht als vollständige Engine bezeichnen, da man sicher noch einiges verbessern und hinzufügen könnte. Allerdings hatte ich nicht mehr so die Lust noch länger daran zu arbeiten, aber ich wollte euch mein Ergebnis trotzdem zeigen. Denn vielleicht mag es ja der ein oder andere in irgendeiner Weise nutzen. Eine separate Dokumentation gibt es nicht, jedoch steht in jedem Script eine kurze Beschreibung. Ich denke zusammen mit dem Beispiel sollte das genügen um sich hineinzufinden.
Die Scripts sind unter anderem in folgende Ordner unterteilt:
Natürlich verbraucht die Engine GM-typisch relativ viele Ressourcen. Ich habe es schon so gut wie möglich optimiert, indem z.B. nur Objekte in Reichweite einer Lichtquelle gerendert werden und auch nur Lichtquellen in Reichweite der aktuellen scene betrachtet werden. Für einen ernsthaften Einsatz in einem Spiel sollte man wohl trotzdem recht sparsam mit Objekten und Lichtquellen umgehen. Aufgrund der Performance des GM sehe ich auch keinen Grund die Engine noch auszubauen.
Um die Engine in einem Projekt zu nutzen, einfach nur den Ordner mit den Scripts exportieren/importieren. Ihr dürft sie natürlich frei verwenden, verändern oder erweitern.
Bugs könnt ihr gerne melden. Neue Features wird es aber wie gesagt eher nicht geben.
Nun viel Spaß damit!
Version 1.01
Download
als hier vor einiger Zeit das Thema 2D Beleuchtung aufkam, war ich selber motiviert mal was in die Richtung zu probieren. Herausgekommen ist dabei die Demo im Anhang. Ich würde es nicht als vollständige Engine bezeichnen, da man sicher noch einiges verbessern und hinzufügen könnte. Allerdings hatte ich nicht mehr so die Lust noch länger daran zu arbeiten, aber ich wollte euch mein Ergebnis trotzdem zeigen. Denn vielleicht mag es ja der ein oder andere in irgendeiner Weise nutzen. Eine separate Dokumentation gibt es nicht, jedoch steht in jedem Script eine kurze Beschreibung. Ich denke zusammen mit dem Beispiel sollte das genügen um sich hineinzufinden.
Die Scripts sind unter anderem in folgende Ordner unterteilt:
- scene: Repräsentiert einen Ausschnitt des Raums, auf den Licht und Schatten gerendert werden sollen. Für gewöhnlich erstellt man eine scene in der Größe der view und lässt sie dieser folgen.
- convex: Erstellt Objekte, die Schatten werfen, in Form von konvexen Polygonen. Alle Hindernisse im Raum müssen aus solchen Polygonen gebaut werden.
- source: Dient dem Erstellen von Lichtquellen, welche einige Eigenschaften wie z.B. Reichweite und Lichtfarbe besitzen. Sie haben zudem einen Radius, welcher zu weichen Kanten der Schatten führt.
Natürlich verbraucht die Engine GM-typisch relativ viele Ressourcen. Ich habe es schon so gut wie möglich optimiert, indem z.B. nur Objekte in Reichweite einer Lichtquelle gerendert werden und auch nur Lichtquellen in Reichweite der aktuellen scene betrachtet werden. Für einen ernsthaften Einsatz in einem Spiel sollte man wohl trotzdem recht sparsam mit Objekten und Lichtquellen umgehen. Aufgrund der Performance des GM sehe ich auch keinen Grund die Engine noch auszubauen.
Um die Engine in einem Projekt zu nutzen, einfach nur den Ordner mit den Scripts exportieren/importieren. Ihr dürft sie natürlich frei verwenden, verändern oder erweitern.
Bugs könnt ihr gerne melden. Neue Features wird es aber wie gesagt eher nicht geben.
Nun viel Spaß damit!
Version 1.01
- Das automatische Rendern in jedem Step kann mittels scr_light_scene_auto an- oder ausgeschaltet werden.
- Mit scr_light_scene_render lässt sich eine scene manuell rendern, was besonders nützlich ist, wenn automatisches Rendern ausgeschaltet ist.
Download
- "gm_light_101.rar" (Version 1.01)
- "gm_light_100.rar" (Version 1.00)
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Bl@ckSp@rk () aus folgendem Grund: Version 1.01