gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz/gfx/demo fontfilter.py


From: Janne V. Kujala
Subject: [Gzz-commits] gzz/gfx/demo fontfilter.py
Date: Wed, 29 Jan 2003 03:47:14 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Janne V. Kujala <address@hidden>        03/01/29 03:47:14

Modified files:
        gfx/demo       : fontfilter.py 

Log message:
        use separate bias for halo if combiners2 is available

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/fontfilter.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: gzz/gfx/demo/fontfilter.py
diff -u gzz/gfx/demo/fontfilter.py:1.3 gzz/gfx/demo/fontfilter.py:1.4
--- gzz/gfx/demo/fontfilter.py:1.3      Wed Jan 29 02:59:59 2003
+++ gzz/gfx/demo/fontfilter.py  Wed Jan 29 03:47:14 2003
@@ -16,6 +16,8 @@
         self.bias, self.sharpness = -self.bias, -self.sharpness
         print self.bias, self.sharpness
     def __init__(self):
+
+        self.tex2 = GL.hasExtension("GL_NV_register_combiners2")
         
         self.scales = [ 1, 2, 4, 0, .5 ]
         self.textscales = [ 2, 4 ]
@@ -28,11 +30,10 @@
            SlideLin("ang", 0,  5, "angle", "Prior", "Next"),
            SlideLin("sharpness", .5, .25, "sharpness", "-", "+"),
            SlideLin("bias", 1, .25, "LOD bias", "B", "b"),
+           SlideLin("bias2", 1, .25, "halo LOD bias", "H", "h"),
            ListIndex("scaleind", "scales", 0, "text halo scale", "S", "s"),
            ListIndex("tscaleind", "textscales", 0, "text scale", "D", "d"),
            Toggle("texfilt", 1, "texture filtering", "f"),
-
-                            
             Action("Invert biases", "t", self.inv, noAnimation=1),
        )
 
@@ -43,9 +44,20 @@
        d = 1. / self.ps
         csg = vs.affineCS(rot, "g", 0, self.xg, self.yg, 
            self.ps, 0, 0, self.ps)
-       vs.map.put(getDList("""
 
-       PushAttrib ENABLE_BIT TEXTURE_BIT COLOR_BUFFER_BIT
+       if self.texfilt:
+               minfilt = "LINEAR_MIPMAP_LINEAR"
+               magfilt = "LINEAR"
+       else:
+               minfilt = "NEAREST_MIPMAP_NEAREST"
+               magfilt = "NEAREST"
+
+       texid = rect.texId
+        bias = self.bias
+        bias2 = self.bias2
+
+        code = """
+        PushAttrib ENABLE_BIT TEXTURE_BIT COLOR_BUFFER_BIT
        
         ActiveTexture TEXTURE0
         TexGen S TEXTURE_GEN_MODE EYE_LINEAR
@@ -55,6 +67,11 @@
         Enable TEXTURE_GEN_S
         Enable TEXTURE_GEN_T
 
+       BindTexture TEXTURE_2D %(texid)s
+       TexParameter TEXTURE_2D TEXTURE_MIN_FILTER %(minfilt)s
+       TexParameter TEXTURE_2D TEXTURE_MAG_FILTER %(magfilt)s
+       Enable TEXTURE_2D
+
         ActiveTexture TEXTURE1
         TexGen S TEXTURE_GEN_MODE EYE_LINEAR
         TexGen T TEXTURE_GEN_MODE EYE_LINEAR
@@ -63,21 +80,41 @@
         Enable TEXTURE_GEN_S
         Enable TEXTURE_GEN_T
 
-        ActiveTexture TEXTURE0
+       BindTexture TEXTURE_2D %(texid)s
+       TexParameter TEXTURE_2D TEXTURE_MIN_FILTER %(minfilt)s
+       TexParameter TEXTURE_2D TEXTURE_MAG_FILTER %(magfilt)s
+       Enable TEXTURE_2D
+       TexEnv TEXTURE_FILTER_CONTROL TEXTURE_LOD_BIAS %(bias)s
+        """
 
-       """ % locals()), csg)
+        if self.tex2:
+            code += """
+            ActiveTexture TEXTURE2
+            TexGen S TEXTURE_GEN_MODE EYE_LINEAR
+            TexGen T TEXTURE_GEN_MODE EYE_LINEAR
+            TexGen S EYE_PLANE 1 0 0 0
+            TexGen T EYE_PLANE 0 1 0 0
+            Enable TEXTURE_GEN_S
+            Enable TEXTURE_GEN_T
+
+            BindTexture TEXTURE_2D %(texid)s
+            TexParameter TEXTURE_2D TEXTURE_MIN_FILTER %(minfilt)s
+            TexParameter TEXTURE_2D TEXTURE_MAG_FILTER %(magfilt)s
+            Enable TEXTURE_2D
+            TexEnv TEXTURE_FILTER_CONTROL TEXTURE_LOD_BIAS %(bias2)s
+            """
+
+        code += """
+            ActiveTexture TEXTURE0
+        """
+
+       vs.map.put(getDList(code % locals()), csg)
+
+        
 
         cs1 = vs.affineCS(rot, "1", 0, self.x, self.y, 
            600, 0, 0, 600)
 
-       if self.texfilt:
-               minfilt = "LINEAR_MIPMAP_LINEAR"
-               magfilt = "LINEAR"
-       else:
-               minfilt = "NEAREST_MIPMAP_NEAREST"
-               magfilt = "NEAREST"
-
-       texid = rect.texId
 
         sharp = .5 + .5 * self.sharpness
         scale = self.scales[self.scaleind]
@@ -85,29 +122,19 @@
         if scale == 0:
             s = 0
             scale = 1
-        bias = self.bias
 
         textscale = self.textscales[self.tscaleind]
+
+        if self.tex2:
+            halotex = "TEX2"
+        else:
+            halotex = "TEX1"
         
        code = parseCombiner("""
-       BindTexture TEXTURE_2D %(texid)s
-       TexParameter TEXTURE_2D TEXTURE_MIN_FILTER %(minfilt)s
-       TexParameter TEXTURE_2D TEXTURE_MAG_FILTER %(magfilt)s
-       Enable TEXTURE_2D
-
-       ActiveTexture TEXTURE1
-       BindTexture TEXTURE_2D %(texid)s
-       TexParameter TEXTURE_2D TEXTURE_MIN_FILTER %(minfilt)s
-       TexParameter TEXTURE_2D TEXTURE_MAG_FILTER %(magfilt)s
-       Enable TEXTURE_2D
-       TexEnv TEXTURE_FILTER_CONTROL TEXTURE_LOD_BIAS %(bias)s
-
-       ActiveTexture TEXTURE0
-
        Enable REGISTER_COMBINERS_NV
        CONST0 = %(s)s %(s)s %(s)s %(sharp)s
 
-       SPARE0 = ((1-TEX1) * CONST0) * %(scale)s
+       SPARE0 = ((1-%(halotex)s) * CONST0) * %(scale)s
        SPARE0.a = (CONST0.a * (1-TEX0.b) + (.5 - CONST0.a) * (1-TEX1.b)) * 
%(textscale)s
 
         SPARE1.a = (1 - SPARE0.b) * (1-SPARE0.a)
@@ -124,6 +151,9 @@
        Disable ALPHA_TEST
        Enable BLEND
        BlendFunc ONE SRC_ALPHA
+        """ % locals())
+
+        code += """
        
         Color 1 1 1
         Begin QUAD_STRIP
@@ -134,16 +164,24 @@
         End
 
        PopAttrib
-        """ % locals())
+        """
        #print code
         vs.map.put(getDList(code), cs1)
 
         cstext = vs.affineCS(rot, "text", 0, 0, 0, 40, 0, 0, 40)
 
-        putText(vs, cstext, "HALO = TXB[%s] * %s" % (bias, 
self.scales[self.scaleind]),
-                y = 1, color = (0,0,0), key = "line1")
+        if self.tex2:
+            putText(vs, cstext, "HALO = TXB[%s] * %s" %
+                    (self.bias2, self.scales[self.scaleind]),
+                    y = 1, color = (0,0,0), key = "line1")
+        else:
+            putText(vs, cstext, "HALO = TXB[%s] * %s" %
+                    (self.bias, self.scales[self.scaleind]),
+                    y = 1, color = (0,0,0), key = "line1")
         
-        putText(vs, cstext, "COL = (%s * TEX + %s * TXB[%s]) * %s" % (1 + 
self.sharpness, -self.sharpness, bias, self.textscales[self.tscaleind]*.5),
+        putText(vs, cstext, "COL = (%s * TEX + %s * TXB[%s]) * %s" %
+                (1 + self.sharpness, -self.sharpness, self.bias,
+                 self.textscales[self.tscaleind]*.5),
                 y = 2, color = (0,0,0), key = "line2")
         putText(vs, cstext, "BLEND = lerp( lerp(DST, 1, HALO), 0, COL )",
                 y = 3, color = (0,0,0), key = "line3")




reply via email to

[Prev in Thread] Current Thread [Next in Thread]