Thema: Delphi Direct3D/OGL - Sprites

Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#1

Direct3D/OGL - Sprites

  Alt 10. Sep 2005, 23:56
Nabend geschätzte Community!

Der dizzy ist mal wieder planlos. Er möchte seinen Horizont ein klein wenig erweitern, und sich (mal wieder...) mit einer 3D-API beschäftigen. Dieses Mal möchte er nicht einmal 3D im eigentlichen Sinne betreiben

Also was ich vor habe:
Mit einer beliebigen API eine Menge von Sprites (ca. 500 Stück) auf den Bildschirm bringen. Als Ausgangmaterial habe ich ein Bitmap (64x64 Pixel) welches - jetzt kommt der Knackpunkt - meinen künftigen Alphakanal beschreibt. Die Sprites an sich sollen einfarbig sein, und zwar ändert sich diese kontinuierlich. Die Sprites sollen also nun dynamisch mit einer Farbe versehen werden, und mit dem Bitmap als Alphamaske auf den Schirm gebracht.

Die Sprites müssen nur in X/Y-Richtung beweglich sein, rotieren müssen sie nicht.

Nun sollen sie aber auch nicht einfach nur teiltransparent gezeichnet werden, nein, ich hätte es gerne additiv! Dass es an sich möglich sein muss sieht man in vielen Spielen/Demos in denen z.B. Feuer mit Partikeln gemacht wird - diese sind meist Additiv gemacht.


Ich habe mich nun mehrere Stunden mit purem DirectX und auch DelphiX beschäftigt, habe aber das grundsätzliche Problem dass ich mit dieser Form der Programmierung quasi keine Erfahrung habe (und sie auch ...umständlich finde). Ich habe es mit beiden Wegen nicht einmal geschafft ein Sprite dass mein Bitmap (testweise mal nicht als Alpha, sondern als eigentliches Bild) darstellt zu erzeugen .
(Wohlgemerkt: Ich habs mit einem D3DXSprite und einer Direct3DTexture9 versucht (von denen ich nichtmal weiss wie sie korrekt zu parametrieren sind (MSDN schön und gut, aber wirklich hilfreich leider nicht), und wie ich da mein Alpha rein bekomme, geschweige denn additiv zu zeichnen...))

Mehr muss in das Bild auch nicht rein, kein Hintergrund, keine 3D-Objekte, keine Lichter, nix. Nur die Sprites

Ob ich dazu nun DirectX (pur oder mit Kapselung) oder OpenGL verwende ist mir in erster Linie völlig egal. Es soll nur schneller als ohne sein. Ich suche nun nach einem Tutorial oder einer Hilfestellung mit deren Hilfe ich endlich mal verstehe wie ich o.g. bewerkstelligen kann.
Ich bin auch nicht auf die o.g. Technik mit D3DXSprites festgenagelt, ich lass auch gerne Polygone durch die "Luft" wirbeln, nur sollten sie es eben schnell, einfach, transparent, texturdynamisch und mögl. additiv tun ^^


Ist mir noch zu helfen?

Großen Dank schonmal!
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat