Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DirectX 8 - Trapez einer Bitmap (https://www.delphipraxis.net/137943-directx-8-trapez-einer-bitmap.html)

XoRiC 31. Jul 2009 15:47


DirectX 8 - Trapez einer Bitmap
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo nochmal,

zu meinem Thema habe ich hier im Forum 2 Lösungsansätze gefunden, jedoch suche ich speziell nach einer Realisierung mit DirectX 8.
Ich möchte eine rechteckige Bitmap gerne nach hinten kippen, sodass ein leichter 3D Effekt dabei entsteht.

Habe eine Skizze angehängt, wie es in etwa aussehen soll.



Kennt jemand eine Möglichkeit, z.B. ein Sprite so zu manipulieren, dass dieser Effekt entsteht?
Mir sind bisher nur Aufrufe zum Rotieren, Umfärben und Strecken von Sprites bekannt.


Vielen Dank wie immer für Tipps und Links,
Gruß Xoric

Desmulator 31. Jul 2009 16:05

Re: DirectX 8 - Trapez einer Bitmap
 
Du könntest das ganze als Textur auf eine Viereck zeichnen und dieses dann nach hinten Kippen, allerdings könnte sich das schwer gestalten, da es immer an oberster stelle sein muss...

fkerber 31. Jul 2009 16:50

Re: DirectX 8 - Trapez einer Bitmap
 
Hi!

Könntest du das Bild bitte als Anhang dranhängen?
Dann verringert sich die Ladezeit des Threads und das Bild bleibt uns auch erhalten, wenn der externe Server mal nicht (mehr) erreichbar ist.

Danke.


Grüße, Frederic

XoRiC 31. Jul 2009 17:01

Re: DirectX 8 - Trapez einer Bitmap
 
Hi Desmulator,

so ähnlich war mein Plan, doch soweit ich gehört habe unterstützt DirectX kein Objekt mit dem sich so einfach Vierecke realisieren lassen. Habe gelesen, das müsse man sich selbst irgendwie aus 4 Vektoren zusammenbauen und daher frage ich, ob jemand so etwas schonmal gemacht hat und mir mit ein bisschen Code auf die Sprünge helfen könnte ;)

Alternativ wäre auch eine Prozedur für mich denkbar, mit der ich den Inhalt einer TBitmap oder TBitmap32 schnell als Textur an DirectX übergeben kann. Dann würde ich diesen Effekt selbst erledigen und die fertige Bitmap an DirectX übergeben. Ich hatte mal so eine Prozedur in Verwendung, diese war jedoch für meine Zwecke (1024 x 768 große Bitmaps) viel zu langsam, da das Bild etwa 30 mal die Sekunde erneuert werden soll.

Ich bin auch für jede andere Idee offen.
Gruß und vielen Dank,
Xoric

quendolineDD 31. Jul 2009 18:22

Re: DirectX 8 - Trapez einer Bitmap
 
Es werden 3-Ecke unterstützt. Aus diesen kannst du dir alle möglichen Formen zusammenbauen.

Medium 31. Jul 2009 20:46

Re: DirectX 8 - Trapez einer Bitmap
 
Zudem kann man mit etwas ZBuffer-Zauberei erreichen, dass eigentlich hinter der restlichen Szene liegende Polys dennoch komplett gezeichnet werden. Auch ein separater Renderpass und anschließendem Mappen auf ein Sprite/Fullscreen-Quad wäre denkbar, jedoch wohl für diesen Zweck eher overkill.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz