Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Wenn du es so machst, kannst du Blending nicht mehr für die Transparenz nutzen.
Ich empfehle dir deshalb, die schwarzen Flächen deiner Partikeltextur mittels AlphaMasking zu entfernen.Das hat nicht nur den Vorteil, das du dann das Blending wieder für die Transparenz nutzen kannst, sondern spart auch einiges an Füllrate. Ein Tutorial zu diesem Thema gibts übrigens auf meiner HP (siehe SIG).Am besten versiehst du deine Partikeltextzur in nem Bildbearbeitungsprogramm wie Photoshop mit einem Alphakanal, und nutzt dann eine Texturenbiblitothek die das Laden des Alphakanals aus einem entsprechenden Format (TGA, PNG) unterstützt. (z.B. Jan Horn's texture.pas : <a href='http://www.sulaco.co.za' target='_blank'>http://www.sulaco.co.za</a> )
Dann gestaltet sich das Zeichnen deiner Partikel in etwa so : <!--pas--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Delphi-Source </td></tr><tr><td id='CODE'><!--pas1--><pre>// Alphatesting (aka Alphamasking) aktivieren glEnable(GL_ALPHA_TEST); // Vergleich für Alphatest = Alle Pixel mit Alpha > <span class='integer'>0.1</span> ausblenden glAlphaFunc(<span class='integer'>0.1</span>, GL_GREATER); // Blending für Transparenz aktivieren glEnable(GL_BLENDING); glBlendFunc(...); // Partikel zeichnen [...]</pre><!--pas2--></td></tr></table><span class='postcolor'><!--pas3-->
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.