BGL Alpha Blending

Unterstützung für Spiele und Interaktion.

BGL Alpha Blending

Beitragvon Rolli » 01.03.2012, 21:29

Hallo!

Ich habe die Ausgabe meines Inventars größtenteils mit BGL Realisiert. Ein Infokästchen, das sich mit der Maus mitbewegt ist allerdings ein normales Objekt mit Material usw. Dieses wird dann natürlich von den Items teilweise überzeichnet. Deshalb gebe ich darüber nochmal ein Bild aus, das vollständig transparent ist. Dieses soll nun alles dahinterliegende überzeichnen, trotz seiner Transparenz. Wenn ich
Code: Alles auswählen
glBlendFunc (GL_GL_SRC_ALPHA, GL_GL_SRC_ALPHA)

verwende geht es zwar, die Items (Teilweise Transparent) sehen arg hässlich aus.
Was müsste ich also verwenden, damit die dieser Bereich "ausgestochen" wird?

Wäre toll, wenn mir da jemand helfen könnte!

Rolli
Eine Notiz wirkt gleich viel seriöser, wenn man einen berühmten Namen darunter setzt.
Albert Einstein

Spieleprojekt YouTube
Benutzeravatar
Rolli
 
Registriert:
09.11.2010, 20:54

Re: BGL Alpha Blending

Beitragvon ecto111 » 01.03.2012, 21:51

Kann es sein, dass du das Infokästchen vor den Items "zeichnest"?
Ich kenne mich mit BGL zwar nicht aus, aber für gewöhnlich überlappen sich Dinge im 2D-Space doch nach ihrer Zeichen-/Renderreihenfolge.

Hoffe du verstehst, was ich meine.
Grüße,
ecto

Edit: Jetzt wo ich den Post noch einmal durchgelesen habe, hört sich mein Ansatz falsch an (ist er ja offensichtlich auch... :oops: ), aber vielleicht nütz er ja trotzdem noch ein bisschen...
Zum reinschauen:
Bild Bild
Benutzeravatar
ecto111
 
Registriert:
28.02.2009, 13:46

Re: BGL Alpha Blending

Beitragvon Rolli » 01.03.2012, 21:56

Ja, das ist so, weil es von Blender direkt gezeichnet wird. Erst dann kommt das "post-draw" mit meiner Rendermethode. Ich würde ja auch das Infokästchen mit Dieser zeichnen, wenn Schrift in OpenGL so einfach wäre. Deswhalb will ich das Gezeichnete sozusagen wieder "Ausstanzen".
Eine Notiz wirkt gleich viel seriöser, wenn man einen berühmten Namen darunter setzt.
Albert Einstein

Spieleprojekt YouTube
Benutzeravatar
Rolli
 
Registriert:
09.11.2010, 20:54

Re: BGL Alpha Blending

Beitragvon ecto111 » 02.03.2012, 15:30

wenn Schrift in OpenGL so einfach wäre

Schon mal blf angeschaut? Damit kannst du ziemlich gut Schrift darstellen. Und soweit ich weiß läuft es über BGL, was dein Problem "abschaffen" würde.

Grüße,
ecto
Zum reinschauen:
Bild Bild
Benutzeravatar
ecto111
 
Registriert:
28.02.2009, 13:46

Re: BGL Alpha Blending

Beitragvon Rolli » 02.03.2012, 17:52

Danke, ich werde es probieren. Ist sowiso besser, wenn man dann gleich alles einheitlich hat.
Eine Notiz wirkt gleich viel seriöser, wenn man einen berühmten Namen darunter setzt.
Albert Einstein

Spieleprojekt YouTube
Benutzeravatar
Rolli
 
Registriert:
09.11.2010, 20:54

Re: BGL Alpha Blending

Beitragvon Rolli » 02.03.2012, 19:14

Das mit der Schrift ist nun schön und gut, aber bin ich zu blöd, oder kann man die Farbe der Schrift nicht ändern? Weiß jemand wie das geht?
Eine Notiz wirkt gleich viel seriöser, wenn man einen berühmten Namen darunter setzt.
Albert Einstein

Spieleprojekt YouTube
Benutzeravatar
Rolli
 
Registriert:
09.11.2010, 20:54

Re: BGL Alpha Blending

Beitragvon ecto111 » 02.03.2012, 19:34

Das geht über folgendes:
Code: Alles auswählen
bgl.glColor4f(Red,Green,Blue,Alpha) #RGBA in Floats von 0-1 angeben!


Grüße,
ecto
Zum reinschauen:
Bild Bild
Benutzeravatar
ecto111
 
Registriert:
28.02.2009, 13:46

Re: BGL Alpha Blending

Beitragvon Rolli » 02.03.2012, 20:03

Jo, klapp wie es soll, danke!
Edit: Ach, Sorry eine Frage habe ich noch. :-D Umlaute nimmt er weder mit utf-8 noch ANSI. Wie kann man diese Darstellen?
Zuletzt geändert von Rolli am 02.03.2012, 20:07, insgesamt 1-mal geändert.
Eine Notiz wirkt gleich viel seriöser, wenn man einen berühmten Namen darunter setzt.
Albert Einstein

Spieleprojekt YouTube
Benutzeravatar
Rolli
 
Registriert:
09.11.2010, 20:54

Re: BGL Alpha Blending

Beitragvon ecto111 » 02.03.2012, 20:05

Immer wieder gern. :D

Grüße,
ecto
Zum reinschauen:
Bild Bild
Benutzeravatar
ecto111
 
Registriert:
28.02.2009, 13:46

Re: BGL Alpha Blending

Beitragvon Rolli » 02.03.2012, 20:08

Da war ich mit dem Edit zu spät, aber im vorherigen Post ist noch was. :oops:
Eine Notiz wirkt gleich viel seriöser, wenn man einen berühmten Namen darunter setzt.
Albert Einstein

Spieleprojekt YouTube
Benutzeravatar
Rolli
 
Registriert:
09.11.2010, 20:54

Re: BGL Alpha Blending

Beitragvon ecto111 » 02.03.2012, 21:04

Wie bitte?
Ich habe selbst ohne eine Header-Zeile ganze einfach Umlaute darstellen können. Also einfach in den Text eingefügt (habe hauptsächlich mit dem Blender-Text-Editor gearbeitet, seit 2.6 kann man dort ja auch Sonderzeichen verwenden, nur Newlines sind ein Problem...)

Grüße,
ecto
Zum reinschauen:
Bild Bild
Benutzeravatar
ecto111
 
Registriert:
28.02.2009, 13:46

Re: BGL Alpha Blending

Beitragvon Rolli » 02.03.2012, 21:24

Dann liegt es wohl am XML-parser. ICh versuche mich mal damit auseinanderzusetzen.
Eine Notiz wirkt gleich viel seriöser, wenn man einen berühmten Namen darunter setzt.
Albert Einstein

Spieleprojekt YouTube
Benutzeravatar
Rolli
 
Registriert:
09.11.2010, 20:54

Re: BGL Alpha Blending

Beitragvon Rolli » 03.03.2012, 12:15

OK, ich habe es Raus! Für jeden der evtl. ein ähliches Problem hat:
verwendet statt f = open(pfad,"r") einfach:

Code: Alles auswählen
import codecs
f = codecs.open(pfad,"r","utf-8")


Und danke nochmal für deine Hilfe, ecto111 !
Eine Notiz wirkt gleich viel seriöser, wenn man einen berühmten Namen darunter setzt.
Albert Einstein

Spieleprojekt YouTube
Benutzeravatar
Rolli
 
Registriert:
09.11.2010, 20:54

Re: BGL Alpha Blending

Beitragvon ecto111 » 03.03.2012, 15:14

Dafür sind wir ja da. :D
(Finde dein Projekt übrigens super!)

Grüße,
ecto
Zum reinschauen:
Bild Bild
Benutzeravatar
ecto111
 
Registriert:
28.02.2009, 13:46


Zurück zu Game Engine


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste