Thema: Delphi DelphiX - Textur Engine

Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

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

Re: DelphiX - Textur Engine

  Alt 10. Okt 2005, 20:41
Zitat:
Es ist einfach, und da er ja anscheinend nicht mit Höhen & Co Arbeitet dürfte es wirklich kein Großer Aufwand sein, aber um die Wertevergabe kommt er so oder so nicht rum( Alphawert )!
Erstens: Höhen sollen (irgendwann) auch mal noch rein. Mein Problem ist: Wie Zeichne ich so eine schöne Alpha überblendung. Das ganze sollte auch noch recht performant sein.

Momentan gehe ich mit meinem Hintergrund so vor:
Delphi-Quellcode:
procedure TBackgroundRenderer.Render;
var px,py:integer;
begin
  px := trunc(engine.X) mod ftextures.Items[0].Width;
  py := trunc(engine.Y) mod ftextures.Items[0].height;
  with buffer.canvas do
  begin
    draw(px,py,texbuff);
  end;
end;
Render wird nur aufgerufen, wenn sich der Hintergrund verändert. (Also scrollt).
Textbuff ist ein TBitmap Buffer, der die Haupttectur enthält und etwas größer als der Bildschirm ist. Dieser wird dann in den Buffer geschriben.

Gezeichnet wird das dann so:
Delphi-Quellcode:
procedure TBackgroundRenderer.DoDraw;
begin
  with engine.surface.canvas do
  begin
    draw(0,0,buffer);
    release;
  end;
end;
Es wäre im Endefekt also kein Problem auf den "Buffer" das geblendete Bild jedesmal wenn ich das Bild verschiebe zu malen. Das ginge recht schnell. Nur wie rendere ich das mit dem Alpha am besten?
Andreas
  Mit Zitat antworten Zitat