|
DirectX-Forum - Beitragsübersicht - |
|
Thema | DX9: Halbtransparente Sprites überlagern |
Von |
Nico |
E-Mail |
nico.schertler@gmx.de |
Datum |
02. März 2009 um 14:20:12 |
Frage |
Hallo!
ich habe eine Kreistextur mit ausgeblendetem Rand, also die Transparenz der Pixel wird nach außen immer größer. Mit dem Sprite-Objekt soll diese versetzt gezeichnet werden. Theoretisch sollte da zum Beispiel folgendes rauskommen. Ich hoffe, es lässt sich so einigermaßen erahnen. Sollen jedenfalls zwei der Texturen nebeneinander sein. Innerhalb der Kontur sollte auch alles weiß (die Textur ist komplett weiß) sein. - - / \/ \ / \ | | \ / \ /\ / - - Wenn ich das aber zeichnen lasse ist allerdings der komplette Rand der zweitgezeichneten Textur sichtbar, aber nur der halbtransparente Teil. Der volltransparente Teil bleibt weiß: - - / \/ \ / / \ | | | \ \ / \ /\ / - - Gezeichnet wird so:D3DDevice.Clear(ClearFlags.Target, Color.FromArgb(0, 0, 0, 0), 1, 0) D3DDevice.BeginScene() DSprite.Begin(SpriteFlags.AlphaBlend) For Each o As clsObjectBase In Objects o.DrawSichtweite() Next DSprite.End() D3DDevice.EndScene() AlphaBlending ist im gesamten Projekt aktiviert. Es scheint ja so, als würde das Blending mit dem Hintergrund vorgenommen werden, anstatt mit dem Pixel, das schon da ist (bei der zweitgezeichneten Textur). Hab ich da irgendeinen Denkfehler? Wie kann ich das Problem umgehen?
Nico |
|
Antwort: |
Von |
Nico |
E-Mail |
nico.schertler@gmx.de |
Datum |
05. März 2009 um 11:02:45 |
Antwort |
Hallo!
Ein Screenshot drückt das vielleicht nicht ganz so gut aus. Ich hab mal ein Screenvideo gemacht. Ich hoffe, es ist nicht zu groß. Zur Erläuterung: Das Szenario ist in dem Beispiel etwas anders, das Problem jedoch das gleiche. In dem Video sind ja links und rechts zwei Texturen. Die linke ist die aktuelle Sichtweite, die rechte der Bereich, der schon irgendwann mal sichtbar war. In jedem Schritt wird die linke Textur in die rechte gezeichnet. Beim Vergrößern der Sichtweite kein Problem. Aber beim Verkleinern tritt o.g. Problem auf. In dem Video sieht man auch, dass die Ringe erst nach und nach schwarz werden, was auf das Blending mit dem Hintergrund deutet.
Nico |
|
[ Antwort schreiben | Zurück zum DirectX-Forum | Forum-Hilfe ] |
|
Letzte Aktualisierung: Sonntag, 13. Dezember 2015 |
|