Forum: Multimedia
by luisk,
6. Aug 2014
genau das werde ich tun. Schau mal auf #12
glListBase(p_Textur_Schriftart.gl_List_base_gross);
dazu gibt es dann noch:
glListBase(p_Textur_Schriftart.gl_List_base_klein);
:thumb:
Forum: Multimedia
by luisk,
6. Aug 2014
damit wäre es prinzipiell auch gegangen, ohne die z-Sortierung am Ende (die ich für das übliche transparente schon hatte)
glAlphaFunc(GL_GREATER, 0.3);
glEnable(GL_ALPHA_TEST);
glcolor3f(1,1,1);
glEnable(GL_TEXTURE_2D);
glListBase(p_Textur_Schriftart.gl_List_base_gross);
glCallLists (length(in_text), GL_UNSIGNED_BYTE, @in_text);
...
Forum: Multimedia
by luisk,
6. Aug 2014
Fazit:
das beste Ergebnis zum Ausblenden des Texthintergrundes erreiche ich über
glenable( GL_Blend );
womit transparente Stellen ausgeblendet werden und der Z-Buffer beeinflusst wird.
Daher werde ich diese Elemente wie die anderen transparenten Elemente zum Schluss nach z sortieren und dann zeichnen.
Wenn schon transparent, dann komplett: damit kann man dann auch die Schrift an sich...
Forum: Multimedia
by luisk,
5. Aug 2014
glBindTexture ( GL_TEXTURE_2D, l_textur_id );
glTexParameteri( GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR );
glTexImage2D ( GL_TEXTURE_2D, 0, GL_RGBA, lb, lh, 0,
GL_RGBA, GL_UNSIGNED_BYTE, @texdata );
Wenn ich die Textur mit Hintergrund nehme siehts gut aus....
Forum: Multimedia
by luisk,
5. Aug 2014
so geht es nun, aber die Buchstabenkanten sind aber noch zu ruppig.
Gibt es evtl. einen Glättungsfaktor ?
glAlphaFunc(GL_GREATER, 0.3);
glEnable(GL_ALPHA_TEST);
glcolor3f(1,1,1);
glEnable(GL_TEXTURE_2D);
glListBase(p_Textur_Schriftart.gl_List_base_gross);
glCallLists (length(in_text), GL_UNSIGNED_BYTE, @in_text);
gldisable(GL_TEXTURE_2D);
Forum: Multimedia
by luisk,
5. Aug 2014
kann ich irgendwie erzwingen, dass die Alphawerte nicht in den Z-Buffer geschrieben werden ?
Da muss es doch einen Filter geben.
Forum: Multimedia
by luisk,
5. Aug 2014
komischerweise haben nur die Löcher, die später gezeichnet werden und hinter der transparenten Textur liegen.
Die, die später gezeichnet werden und vor der transparenten Textur liegen, haben keine Löcher,
also funktioniert der Z-Buffer.
Ich will, dass die Textur voll transparent wird (funktioniert)
und den Alpha-Kanal für die nachfolgenden nicht blockiert.
Forum: Multimedia
by luisk,
5. Aug 2014
Hallo,
neues Problem:
ich will den Hintergrund von Schrifttexturen transparent zeichnen
setzen der Alpha-Maske in der Schrift-Textur
if l_Col <> Fontcolor then begin
l_rgbQuad.alpha := 0;
end else begin
l_rgbQuad.alpha := 255;//