OpenGL Problem (BlendFunc)

fireblade1282

Mitglied
Vorneweg: Sorry, ich habe keine passendere Stelle für meine Frage gefunden und da ich mit Delphi programmiere, hab ich's hier platziert.

Also mein Problem: Ich habe beim Initialisieren glClearColor(0.3, 0.6, 1.0, 0);
verwendet um mir einen hellblauen "Himmel" zu schaffen.

Jetzt habe ich eine Partikelengine geschrieben, die auch schon kleine Explosionen hinbekommt. Mein Problem ist folgendes: Ich scheine die Blendfunktion nicht wirklich zu verstehen, bzw. was womit gemischt wird. Mische ich eine rote Explosion gegen den hellblauen Himmel sind die Farben natürlich verfälscht..... was muss ich tun, damit die Hintergrundfarbe nicht mit in die Berechnung mit einbezogen wird? Spiele ich die Explosion auf einem schwarzen Hintergrund ab stimmt alles.... wer ein wenig Ahnung hat versteht schnell womit ich hier als Anfänger Probleme habe :) ich seh's ja selbst ein, warum rot + babyblau rosa gibt... Ausserdem kann ich natürlich zur Zeit keine "schwarzen" texturen aufblenden, da schwarz ja meinen alphawert vorgibt...
hmmm.. wenn ich das so schreibe überfällt mich der Verdacht, dass es weniger am Blenden als an der Art der Textur liegt.. richtig? So wie ich gerade arbeite könnte ich keinen schwarzen Rauch erzeugen... ich habe einen Denkfehler in "Schwarzwert als Farbe" und "Schwarzwert als Alphakanal"...

Bitte gebt mal Resonanz, wo es bei mir hakt... danke!
 
Hallo,

ich kenn mich mit OpenGL+Partikel&Delphi nicht aus, sind Deine Partikel Kugeln oder Planes mit Textur+Alpha? Wenn es zweitens ist, fängt der Alpha zu früh an?
Wenn Deine Partikel tranzparenter werden mischen sie sich logisch, vielleicht je älter sie werden - schrumpfen statt blenden lassen?

Ein Gruß
 
Ich habs gefunden.... danke! Du hast recht mit dem Alpha stimmte was nicht...
Ich habs ja auch schon von anfang an vermutet... Mein Problem war kurzgesagt, dass ich aus ein und der selben RGB Datei RGBA gewonnen habe. Ich habe mir nicht rechtzeitig klar gemacht wie ich mir die Werte genommen habe und habe Schwarz als durchsichtig bzw Alpha genommen. (Ich verwende die Technik aus zwei RAW Dateien einmal das RGB und aus der zweiten die Maske zu laden und hatte sowohl als RGB_SRC als auch als Alpha_SRC die selbe Datei angegeben....)
 

Neue Beiträge

Zurück