Problem nach Umstellung auf D3D9
-
Letztens war hier im Board irgendwer, der hat genau diese Methode für 2-D Grafik empfohlen. Wäre angeblich ganz einfach und schlägt DDraw um Längen. Der muss davon echt Ahnung gehabt haben, such doch mal seine Posts und maile ihm!
Ich als alter DDrawler kann dir höchstens den Tipp geben Texturen mit einem Alphakanal zu benutzen und dann auch in den Renderstates die Alpha zu aktivieren.
Bye, TGGC (Der Held ist zurück)
-
Hallöchen, es ist auch ganz einfach. Das Ganze hat so mit D3D8 auch funktioniert. Jetzt sind halt ein paar Änderungen nötig, weil das Sprite-Interface weiterentwickelt wurde. Dass DDraw gleich bleibt, würde ich nicht als Vorteil ansehen.
Die Texturen haben einen Alpha-Kanal, das macht der viertletzte D3DCOLOR-Parameter von D3DXCreateTextureFromFileEx().
Hast du ne Idee, warum die Größe des schwarzen Bereichs nicht mit der Bitmapgröße übereinstimmt?EDIT: das weiss ich jetzt, weil die Textur in eine 2er-Potenz Größe gelegt wird.
-
Mit den Renderstates hast du mich jetzt indirekt auf den richtigen Weg gebracht, jetzt muss ich also auch noch Danke sagen.
Der Trick ist dieser Funktionsaufruf:
lpSprite->Begin(D3DXSPRITE_ALPHABLEND);
Der in D3D8 noch ohne Parameter ausgekommen ist.
-
Siehst du, ist doch ganz einfach!
Bye, TGGC (Der Held ist zurück)
-
Ich habe nie etwas anderes behauptet.
Und das ID3DXFont Interface ist jetzt mega-optimized *sabber*
Der Umstieg hat sich gelohnt.
-
Optimizer schrieb:
Und das ID3DXFont Interface ist jetzt mega-optimized *sabber*
Was bedeutet das? Werden jetzt keine Windows-Grafikfunktionen mehr benutzt oder was?
PS: Mach mal schön weiter an Deinem Spiel, ich hatte mal ne Demo davon und fand sie echt gut. Hab sogar gewonnen
-
Ich habe auch nicht behauptet, das du sowas behauptet hättest. Aber was tut das jetzt noch zur Sache? Sei doch froh, das wir dein Probelm gelöst haben!
Bye, TGGC (Der Held ist zurück)
-
0x00000001 schrieb:
Was bedeutet das? Werden jetzt keine Windows-Grafikfunktionen mehr benutzt oder was?
PS: Mach mal schön weiter an Deinem Spiel, ich hatte mal ne Demo davon und fand sie echt gut. Hab sogar gewonnen
Die Characters werden jetzt auf Texturen einmalig mit der GDI gezeichnet. Es scheint sogar schneller zu sein wie die Klasse CD3DFont. Und das mit den ganzen genialen Möglichkeiten dieses Interfaces.
Wenn die Schriftart es unterstützt, kann ich jetzt bei Benutzung von Unicode sogar klingonische Texte ausgeben.
-
Optimizer schrieb:
Wenn die Schriftart es unterstützt, kann ich jetzt bei Benutzung von Unicode sogar klingonische Texte ausgeben.
Auf DAS Feature warte ich seit Jahren...!!!
-
Hi Opti !
Ist das ID3DXSprite Interface auch besser geworden ? Wieviele Sprites kannst du auf dem Screen rendern ? Ich konnte früher 10.000 bei 3/4 Frames rendern.
-
Es ist angeblich auch verbessert worden, aber die Draw-Methode hat jetzt weniger Möglichkeiten. Vielleicht muss man Rotation jetzt anders machen, das muss ich noch rausfinden.
Also ich hab dort noch keine Verbesserung festgestellt, aber allein wegen dem Font-Interface lohnt sich die Umstellung IMO.
-
Das Font Interface nutzt ich so wieso
Ich wollte nur wissen ob es besser wäre ID3DXSprite zunehmen oder sich selbst so ein System mit VBs und RHW Verticies aufzubauen ?
-
furbolg schrieb:
Das Font Interface nutzt ich so wieso
Dann würde ich sofort auf D3D9 umsteigen, weil das bei mir beträchtlich schneller läuft jetzt.
Falls du meinst, eine eigene Sprite-Klasse zu schreiben, das musst du selber entscheiden, ob du meinst, dass du es besser kannst. Ich kann es nicht und bin zufrieden.
-
@ Opti:
Ich nutze schon seit letzes Jahr Sommer (oder wann kam es raus ?) Dx9
-
Dann verstehe ich nicht, warum du frägst, ob das Sprite-Interface verbessert wurde.
-
Weil ich es nie benutzt habe