Ich habe ein Quadrat, welches ich im Ortho Modus über den kompletten Bildschirm lege.
Jetzt mache ich den Weißen Teil davon Transparent, mittels:
Code:
glEnable(GL_BLEND);
glBlendFunc(gl_ZERO, gl_SRC_COLOR);
Soweit so gut, allerdings möchte ich nun, dass der schwarze Rand zu 50% transparent ist.
Ein glColor4f(1,1,1,0.5) hilft hier nicht.
Ich habe das schonmal hinbekommen, es müsste gehen, indem man andere Parameter für glBlendFunc wählt,
die Frage ist welche ? Ein paar habe ich schon ausprobiert, aber so ganz geklappt hat es dann doch net
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also zum mitschreiben. Du möchtest das Innere des Bildschirms komplett ausfaden, der Rand aber nur zu 50% ?
Falls ja, dann nimm nicht 1Quadrat sondern eins für die Mitte und entsprechend dann noch welche für den Rand. Dort kannst du dann die Transparenz jeweils regeln wies dir lustig ist. Du kannst sogar den Rand fließend übergehen lassen, indem du den inneren Vertices mit glColor4f einen anderen Alpha-Wert zuweist als den äußeren.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
ich habe vergessen zu sagen, dass auf diesem Quad eine Textur liegt, diese ist schwarz und in der Mitte ist ein weißer Schriftzug, dieser soll immer zu 100% transparent sein, den Rest möchte ich variieren können.
das kommt dem ganzen schon mächtig nahe, allerdings ist das schwarz am anfang net komplett transparent, sodass wenn ich das einblenden will, man immer noch einen schnitt erkennt.
ich werde glColor4f(1, 1, 1, alpha) benutzen, das sieht gut aus.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also wenn du auf dem Quad eine Textur drauf hast wäre es da nicht evtl praktischer, wenn du den Alphakanal der Textur benutzt? Oder ist das nicht möglich/tust du bereits? Denn das Blenden mittels DST_COLOR würde die Farben aus dem Framebuffer auslesen. Habe schon mal irgendwann irgendwo gelesen, dass es unter umständen auch langsamer sein könnte. Will da keine Hand für ins Feuer legen.
Alphakanal in der Textur: Die Schrift immer transparent würde bedeuten, dass im Alphakanal nullen stehen und für den Rest des Kanals so wie du es bräuchtest. Wenn du diese Textur dann normal Mittels GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA blendest kannst du mit dem Alphawerrt bei glColor ganz leicht die Sichtbarkeit des Rests setzen. Die Schrift wäre aber immer transparent.
Falls ich mich da gerade vertue dann häng mal bitte ein Bild davon an. Es fällt mir nicht gerade leicht mir das sinnvoll vorzustellen.
Mitglieder in diesem Forum: 0 Mitglieder und 7 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.