Registriert: Sa Aug 02, 2003 20:18 Beiträge: 8 Wohnort: Soest
Moin Moin!
Also ich hab mir vor einiger Zeit das Blending Tutorial durchgelesen und habe aber trotzdem bis Heute noch net Verstanden wie das so Recht mit den Blendfaktoren funzt......
Nachdem ich dann den *PIEP*(Er möchte hier nicht genannt werden...Tipp: fängt mit l an und hört mit as auf.....^^) gefragt habe und der das selbe Problem hatte, hab ich mir gedacht gucke ich mal im Forum, da wir ja net die einzigen mit diesem Problem sein können....
Ich habe gesucht und gesucht aber da war nicht das bei was wir suchten bzw womit wir alles Verstanden hätten.
ALSO...
ich fange mal an das Problem zu schildern.
In dem Tutorial werden mehrere Blendfaktoren vorgestellt:
Doch wie wende ich diese an und was bewirken sie?
zu der ersten Frage ich meine da nicht welcher Befehl dafür verwendet wird sondern mit welcher Absicht ich diese verwende...
--Behauptung--
Wir nehmen an, dass wir eine Blendmap auf ein quad gezogen haben...
dann wird z.B. bei diesem Blendfaktor: (vergleiche Tutorial)
Code:
glenable(gl_blend);
glBlendFunc(GL_DST_COLOR,GL_SRC_COLOR);
,der für die Boden Textur verwendet wird, die Boden Textur an allen Stellen auf das quad (bzw auf die Blendmap) geblendet, an der die map weiss ist.
Aber wieso? Was haben GL_DST_COLOR und GL_SRC_COLOR zu sagen? was bewirken sie?
bei dem darauf folgendem Blendvorgang wird die Grasstextur auch noch auf das quad / Blendmap/ Bodentextur geblendet....
Code:
glenable(gl_blend);
glBlendFunc(GL_SRC_COLOR,GL_ONE);
Dieser Befehl bewirkt, dass die Grasstextur auf alle schwarzen stellen geblendet wird.
Fregestellung ist die selbe....was bewirkt GL_SRC_COLOR ?? GL_ONE bedeutet ja in etwa "weiss"
=> glBlendFunc(??????????,Das was bei der bestehenden bleiben soll);
wenn ich die Tabelle angucke...:
GL_SRC_COLOR = (Rs,Gs,Bs,As) wtf?
^^
Hoffe ihr könnt mir bzw uns bzw allen openGL einsteigern weiter helfen...
funktioniert nicht so, wie du wahrscheinlich meinst - nämlich den Sourcefaktor auf eins zu setzen) in Wirklichkeit macht glBlendFunc nichts anderes, als in einem Rutsch die Faktoren für Quelle (das Objekt das du gerade zeichnest) und Ziel (das Pixel das bereits im Framebuffer liegt) festzulegen - so kannst du etwa mittels
glBlendFunc(GL_ONE,GL_ONE);
Sowohl Quellpixel als auch Zielpixel genau gleich zu gewichten (nämlich mit eins) liegt im Framebuffer also ein grüner Punkt und du zeichnest ein rotes Objekt, ist der betreffende Punkt gelb
glBlendFunc(GL_SRC_COLOR,GL_ONE);
bedeutet also dass der Faktor, mit dem das Pixel deines Objektes gewichtet wird, die Farbe selbst ist (Komponentenweise gesehen), der Faktor mit dem das Pixel im Framebuffer gewichtet wird ist eins.
Je heller also die Farbe deines Objektes, desto "undurchsichtiger" wäre es in diesem Fall
Mitglieder in diesem Forum: 0 Mitglieder und 8 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.