alpha and blending used for proper anti-aliasing against any background
authorDerek Foreman <manmower@gmail.com>
Thu, 29 May 2003 23:48:32 +0000 (23:48 +0000)
committerDerek Foreman <manmower@gmail.com>
Thu, 29 May 2003 23:48:32 +0000 (23:48 +0000)
glft/render.c
glft/test.c

index 153437b21528cbff6eeba7830288d90f48bbeafb..5e73230797b50fc90166bda8d53df97e9b82017c 100644 (file)
@@ -42,9 +42,9 @@ void GlftRenderGlyph(FT_Face face, struct GlftGlyph *g)
     glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
     glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
     glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
-    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, g->padx, g->pady,
-                 0, GL_GREEN, GL_UNSIGNED_BYTE, padbuf);
+    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
+    glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, g->padx, g->pady,
+                 0, GL_ALPHA, GL_UNSIGNED_BYTE, padbuf);
 
     g_free(padbuf);
 }
@@ -68,8 +68,9 @@ void GlftRenderString(struct GlftFont *font, const char *str, int bytes,
         if (g) {
             glTranslatef(GlftFontAdvance(font, p, g), 0.0, 0.0);
             glBindTexture(GL_TEXTURE_2D, g->tnum);
+
             glBegin(GL_QUADS);
-            glColor3f(1.0, 1.0, 1.0);
+            glColor3f(1.0, 1.0, 0.0);
 
             glTexCoord2f(0, g->texh/(float)g->pady);
             glVertex2i(g->left, 0 - g->yoff);
index e889baa2187444d938b5886ea08177b4054ca3b2..38e67170421cbf58ca006e1a17e406d612dcc84a 100644 (file)
@@ -86,6 +86,9 @@ int main(int argc, char **argv)
     glOrtho(-50, W-50, -100, H-100, 0, 10);
     glMatrixMode(GL_MODELVIEW);
     glEnable(GL_TEXTURE_2D);
+    glClearColor(0.0, 0.0, 1.0, 0.0);
+    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+    glEnable(GL_BLEND);
     quit = 0;
     while (!quit) {
         XNextEvent(display, &report);