/[gzz]/gzz/gfx/demo/fontfilter.py
ViewVC logotype

Diff of /gzz/gfx/demo/fontfilter.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by jvk, Tue Jan 28 16:29:11 2003 UTC revision 1.2 by jvk, Wed Jan 29 07:13:10 2003 UTC
# Line 12  pis = gzz.media.impl.PageImageScroll(Non Line 12  pis = gzz.media.impl.PageImageScroll(Non
12  rect = GLSpans.getRect(pis.getCurrent())  rect = GLSpans.getRect(pis.getCurrent())
13    
14  class Scene:  class Scene:
15        def inv(self, *args):
16            self.bias, self.sharpness = -self.bias, -self.sharpness
17            print self.bias, self.sharpness
18      def __init__(self):      def __init__(self):
19            
20          self.scales = [ 1, 2, 4, 0, .5 ]          self.scales = [ 1, 2, 4, 0, .5 ]
21            self.textscales = [ 2, 4 ]
22          self.key = KeyPresses(self,          self.key = KeyPresses(self,
23              SlideLin("x", 0, 30, "x coord", "Left", "Right"),              SlideLin("x", 0, 30, "x coord", "Left", "Right"),
24              SlideLin("y", 0, 30, "x coord", "Up", "Down"),              SlideLin("y", 0, 30, "x coord", "Up", "Down"),
# Line 21  class Scene: Line 26  class Scene:
26              SlideLin("yg", 0, 30, "x coord", "i", ","),              SlideLin("yg", 0, 30, "x coord", "i", ","),
27              SlideLog("ps", 800, "paper scale", "<", ">"),              SlideLog("ps", 800, "paper scale", "<", ">"),
28              SlideLin("ang", 0,  5, "angle", "Prior", "Next"),              SlideLin("ang", 0,  5, "angle", "Prior", "Next"),
29              SlideLin("sharpness", .75, .125, "sharpness", "-", "+"),              SlideLin("sharpness", .5, .25, "sharpness", "-", "+"),
30              SlideLin("bias", 1, .25, "LOD bias", "B", "b"),              SlideLin("bias", 1, .25, "LOD bias", "B", "b"),
31              ListIndex("scaleind", "scales", 0, "text halo scale", "S", "s"),              ListIndex("scaleind", "scales", 0, "text halo scale", "S", "s"),
32                ListIndex("tscaleind", "textscales", 0, "text scale", "D", "d"),
33              Toggle("texfilt", 1, "texture filtering", "f"),              Toggle("texfilt", 1, "texture filtering", "f"),
34    
35                                
36                Action("Invert biases", "t", self.inv, noAnimation=1),
37          )          )
38    
39      def scene(self, vs):      def scene(self, vs):
# Line 70  class Scene: Line 79  class Scene:
79    
80          texid = rect.texId          texid = rect.texId
81    
82          sharp = self.sharpness          sharp = .5 + .5 * self.sharpness
83          scale = self.scales[self.scaleind]          scale = self.scales[self.scaleind]
84          s = 1          s = 1
85          if scale == 0:          if scale == 0:
86              s = 0              s = 0
87              scale = 1              scale = 1
88          bias = self.bias          bias = self.bias
89    
90            textscale = self.textscales[self.tscaleind]
91                    
92          code = parseCombiner("""          code = parseCombiner("""
93          BindTexture TEXTURE_2D %(texid)s          BindTexture TEXTURE_2D %(texid)s
# Line 97  class Scene: Line 108  class Scene:
108          CONST0 = %(s)s %(s)s %(s)s %(sharp)s          CONST0 = %(s)s %(s)s %(s)s %(sharp)s
109    
110          SPARE0 = ((1-TEX1) * CONST0) * %(scale)s          SPARE0 = ((1-TEX1) * CONST0) * %(scale)s
111          SPARE0.a = (CONST0.a * TEX0.b + (.5 - CONST0.a) * TEX1.b) * 2          SPARE0.a = (CONST0.a * (1-TEX0.b) + (.5 - CONST0.a) * (1-TEX1.b)) * %(textscale)s
112    
113          SPARE1.a = (1 - SPARE0.b) * SPARE0.a          SPARE1.a = (1 - SPARE0.b) * (1-SPARE0.a)
114    
115          color = SPARE0.a * SPARE0          color = (1-SPARE0.a) * SPARE0
116          alpha = SPARE1.a          alpha = SPARE1.a
117    
118          # a: text as 0 (SPARE0.a)          # a: text as 1 (SPARE0.a)
119          # b: text halo as 1 (SPARE0)          # b: text halo as 1 (SPARE0)
120          # bg = DST * (1 - b) + b          # bg = DST * (1 - b) + b
121          # blend = (1-a) * 0 + a * bg          # blend = a * 0 + (1 - a) * bg
122          #       = a * b + a * (1 - b) * DST          #       = (1 - a) * b + (1 - a) * (1 - b) * DST
123    
124          Disable ALPHA_TEST          Disable ALPHA_TEST
125          Enable BLEND          Enable BLEND
# Line 127  class Scene: Line 138  class Scene:
138          #print code          #print code
139          vs.map.put(getDList(code), cs1)          vs.map.put(getDList(code), cs1)
140    
141            print "HALO = TXB[%s] * %s" % (bias, self.scales[self.scaleind])
142            print "COL = (%s * TEX + %s * TXB[%s]) * %s" % (1 + self.sharpness, -self.sharpness, bias, self.textscales[self.tscaleind]*.5)
143            print "BLEND = lerp( lerp(DST, 1, HALO), 0, COL )"
144    
145    
146  currentScene = Scene()  currentScene = Scene()
147    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26