dynamic Lightning
Verfasst: 05.12.2011 18:26
hallo erstmal. Hab ja schon lange nichts mehr von mir höhren lassen...
Bin grad dabei meine Physik-Engine bisschen zu überarbeiten und zum Beispiel die Arrays durch linked Lists zu ersetzten.
Dann wollte ich eine komplett neue Game-Engine aufsetzten.
Momentan bin ich dabei dynamic Lightning einzubauen, weil ich das einfach nen super Grafikeffekt finde, habe aber folgendes Problem:
Ich würde gerne das gesamte Lightrendering auf einem gesonderten Sprite machen. Dies dann für jede Lichtquelle um dann am Ende alle so erzeugten Sprites additiv auf dem Screen zu blenden. Nun hab ich das Ganze aber momentan folgend geregelt:
-erst werden alle Schatten für die Lichtquelle berechnen.
-dann wird die Lichtquelle mit DisplaySprite() auf dem Bildschirm dargestellt (der reiseige sich ausbreitende Lichtpunkt).
Problem 1 : DisplaySprite funktioniert schonmal nicht auf einem anderen Sprite.
-dann werden alle berechneten Schatten mit TransformSprite() und DisplaySprite3d() in schwarz eingezeichnet, sodass die Schattenkegel entstehen
Problem 2 : Sprite3D() Befehle funktionieren erstrecht nicht auf einem Sprite!
Achja: Es funktioniert nur, solange sich die Lichtquelle nicht direkt in einem Objekt befindet, was mich aber bis jetzt nich weiter stört...
Bis jetzt läuft das alles auch super schnell, aber eben nur für eine Lichtquelle und schwarzem Hintergrund. Hoffe mir kann jemand helfen...
Hab trotzdem mal ne kleine Demo meines bisherigen Standes hochgeladen.
Schonmal Danke an alle Beteiligten!
Screenshot:

Download der Demo:
http://hosting.alexander-n.de/=Njc2LjEzMjMxNjg3NzA=
Bin grad dabei meine Physik-Engine bisschen zu überarbeiten und zum Beispiel die Arrays durch linked Lists zu ersetzten.
Dann wollte ich eine komplett neue Game-Engine aufsetzten.
Momentan bin ich dabei dynamic Lightning einzubauen, weil ich das einfach nen super Grafikeffekt finde, habe aber folgendes Problem:
Ich würde gerne das gesamte Lightrendering auf einem gesonderten Sprite machen. Dies dann für jede Lichtquelle um dann am Ende alle so erzeugten Sprites additiv auf dem Screen zu blenden. Nun hab ich das Ganze aber momentan folgend geregelt:
-erst werden alle Schatten für die Lichtquelle berechnen.
-dann wird die Lichtquelle mit DisplaySprite() auf dem Bildschirm dargestellt (der reiseige sich ausbreitende Lichtpunkt).
Problem 1 : DisplaySprite funktioniert schonmal nicht auf einem anderen Sprite.
-dann werden alle berechneten Schatten mit TransformSprite() und DisplaySprite3d() in schwarz eingezeichnet, sodass die Schattenkegel entstehen
Problem 2 : Sprite3D() Befehle funktionieren erstrecht nicht auf einem Sprite!
Achja: Es funktioniert nur, solange sich die Lichtquelle nicht direkt in einem Objekt befindet, was mich aber bis jetzt nich weiter stört...
Bis jetzt läuft das alles auch super schnell, aber eben nur für eine Lichtquelle und schwarzem Hintergrund. Hoffe mir kann jemand helfen...
Hab trotzdem mal ne kleine Demo meines bisherigen Standes hochgeladen.
Schonmal Danke an alle Beteiligten!
Screenshot:
Download der Demo:
http://hosting.alexander-n.de/=Njc2LjEzMjMxNjg3NzA=