AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi [Andorra 2D] Licht - stufiger Übergang realisieren
Thema durchsuchen
Ansicht
Themen-Optionen

[Andorra 2D] Licht - stufiger Übergang realisieren

Ein Thema von sabbert · begonnen am 31. Aug 2010 · letzter Beitrag vom 2. Sep 2010
 
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#11

AW: [Andorra 2D] Licht - stufiger Übergang realisieren

  Alt 1. Sep 2010, 14:45
Also... du erstellst ein Surface von der Größe des Fensters (wie das geht, ist in der Surface Demo gezeigt) - bei einem Surface handelt es sich um eine Textur, auf die du mit allen anderen Andorra 2D Befehlen drauf Zeichnen kannst - auch das TAdDraw ist ein solches Surface, nur das dessen Inhalte direkt auf den Bildschirm gezeichnet werden.

1. Surface erstellen:
Delphi-Quellcode:
AdSurface := TAdTextureSurface.Create(AdDraw);
AdSurface.SetSize(AdDraw.Width, AdDraw.Height);
2. In der Spieleschleife:
Delphi-Quellcode:
AdSurface.Clear(clBlack);
//Zeichne nun deine Lichter auf das Surface (mit AdSurface.Canvas), wobei du
//AdSurface.Canvas.Brush.BlendMode auf bmAdd stellst. Durch das "bmAdd" addieren
//sich die Farbwerte der Lichter korrekt auf, wenn sie sich überschneiden
4. Zeichne dein Spielfeld ohne Stencilbuffer (den brauchen wir nicht mehr) auf das AdDraw

5. Zeichne das Surface nun multiplikativ auf das Spielfeld. Das hat folgenden Effekt: Die Farbwerte eines jeden Surface-Pixels werden mit dem darunterliegenden Pixel multipliziert: Wo das Surface weiß war (1.0, 1.0, 1.0) wird die Farbe des darunterliegenden Pixels übernommen (da x * 1.0 = x), wo das Surface schwarz war (0.0, 0.0, 0.0) wird auch der darunterliegende Pixel schwarz.
Delphi-Quellcode:
var
  r: TAdRect;

r := AdDraw.SurfaceRect;
AdSurface.Image.DrawEx(AdDraw, r, r, 0, 0, 0, 255, bmMultiply);
Hoffe dir hilft das
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz