/[libvob]/libvob/org/nongnu/libvob/demo/fpfont.py
ViewVC logotype

Diff of /libvob/org/nongnu/libvob/demo/fpfont.py

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

revision 1.4 by jvk, Tue Apr 8 14:57:31 2003 UTC revision 1.5 by tjl, Tue Apr 8 20:25:02 2003 UTC
# Line 6  from org.nongnu.libvob.putil.demokeys im Line 6  from org.nongnu.libvob.putil.demokeys im
6  vob.AbstractUpdateManager.defaultAnimationTime = 10000  vob.AbstractUpdateManager.defaultAnimationTime = 10000
7    
8  from math import sin  from math import sin
9    import math
10    
11  from org.nongnu.libvob.paper.texcache import getCachedTexture  from org.nongnu.libvob.paper.texcache import getCachedTexture
12    
# Line 23  args = [ [256, 256, 0, 4, "RGBA", "RGBA" Line 24  args = [ [256, 256, 0, 4, "RGBA", "RGBA"
24  tex = getCachedTexture(args[7])  tex = getCachedTexture(args[7])
25    
26    
27  fp = [GL.createProgram("""!!FP1.0  fp = [
28    GL.createProgram("""!!FP1.0
29    MOV R10, f[TEX0].xyzw;
30    DDX R8, R10;
31    DDY R9, R10;
32    MUL R18, R8, 1;
33    MUL R19, R9, 1;
34    
35    TXD R0, R10, R18, R19, TEX0, 2D;
36    ADD R11, R10, R18;
37    TXD R1, R11, R18, R19, TEX0, 2D;
38    # ADD R11, R11, R18;
39    # TXD R3, R11, R18, R19, TEX0, 2D;
40    SUB R11, R10, R18;
41    TXD R2, R11, R18, R19, TEX0, 2D;
42    # SUB R11, R11, R18;
43    # TXD R4, R11, R18, R19, TEX0, 2D;
44    
45    ADD R11, R10, R19;
46    TXD R5, R11, R18, R19, TEX0, 2D;
47    SUB R11, R10, R19;
48    TXD R6, R11, R18, R19, TEX0, 2D;
49    
50    # Now we have 3 horizontal samples
51    # in R2, R0, R1
52    # and 3 vertical in R6, R0, R5.
53    # Set the pixel if it's maximum in one
54    # direction
55    
56    MAX R7.x, R2.w, R1.w;
57    MAX R7.y, R5.w, R6.w;
58    
59    SUB R7, R0.w, R7;
60    
61    RCP R1.w, R0.w;
62    MUL R7.xy, R7, R1.w;
63    
64    # MAX R7.w, R7.x, R7.y;
65    MAX R7.w, R7.x, R7.x;
66    
67    # ADDC_SAT R7.w, R7.w, .1;
68    MOVC_SAT R7.w, R7.w;
69    MOV R7(GT), 1;
70    
71    # SGEC R7.x, R0.w, R2.w;
72    # SGE R7.x(NE), R0.w, R1.w;
73    # SGEC R7.y, R0.w, R5.w;
74    # SGE R7.y(NE), R0.w, R6.w;
75    # ADD R7.w, R7.x, R7.y;
76    
77    MUL R0, R7.w, R0;
78    SUB R0.xyz, 1, R0.w;
79    # MOV R0.xy, R7;
80    MOV R0.w, 1;
81    MOV o[COLR], R0;
82    
83    END
84    """),
85    GL.createProgram("""!!FP1.0
86    
87  MOV R10, f[TEX0].xyzw;  MOV R10, f[TEX0].xyzw;
88  DDX R8, R10;  DDX R8, R10;
# Line 125  MOV R0.w, 1; Line 184  MOV R0.w, 1;
184  MOV o[COLR], R0;  MOV o[COLR], R0;
185  END  END
186  """),  """),
187  ][1:]  ]
188    
189  loremipsum = """Lorem ipsum dolor sit amet, consetetur sadipscing elitr,  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.  loremipsum = """Lorem ipsum dolor sit amet, consetetur sadipscing elitr,  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
190    
# Line 143  Consetetur sadipscing elitr,  sed diam n Line 202  Consetetur sadipscing elitr,  sed diam n
202  """  """
203  words = loremipsum.split(" ")  words = loremipsum.split(" ")
204    
205    
206  t = 0  t = 0
207  class Scene:  class Scene:
208      def __init__(self):      def __init__(self):
# Line 153  class Scene: Line 213  class Scene:
213              SlideLin("y", 100, 10, "x coord", "Up", "Down"),              SlideLin("y", 100, 10, "x coord", "Up", "Down"),
214              SlideLin("a", 0, 15, "Rotation", "Prior", "Next"),              SlideLin("a", 0, 15, "Rotation", "Prior", "Next"),
215              ListIndex("prognum", "prognum_dummylist", 0, "prog type", "T", "t"),              ListIndex("prognum", "prognum_dummylist", 0, "prog type", "T", "t"),
216                Action("Create dist texture", "d", self.makeDist),
217              )              )
218    
219        def makeDist(self, foo, foo2):
220            vs = vob.putil.demowindow.w.createVobScene()
221            vs.put(background((0,0,0)))
222    
223            
224            vs.put(getDListNocoords("""
225                BlendFunc ONE ONE
226                BlendEquation MAX
227                Enable ALPHA_TEST
228                AlphaFunc GREATER 0.99
229            """))
230            tx = vob.vobs.TextVob(vob.GraphicsAPI.getInstance().getTextStyle(
231                            "serif", 1, 64),
232                                "sofesjif@342oFAEOFJ", 0, None)
233            for x in range(-10,11):
234                for y in range(-10,11):
235                    d = 1 - math.hypot(x,y) / 20
236                    print d
237                    vs.put(getDListNocoords("""
238                        Color %s %s %s 1
239                    """ % (d, d, d)))
240                    cs = vs.orthoCS(0,"", 0, x+40, y+40, 20, 20)
241                    vs.put(tx, cs)
242            vob.putil.demowindow.w.renderStill(vs, 0)
243    
244      def scene(self, vs):      def scene(self, vs):
245          putnoc(vs, background((1,1,1)))          putnoc(vs, background((1,1,1)))
246    
# Line 163  class Scene: Line 249  class Scene:
249          print fpid          print fpid
250    
251          putnoc(vs, getDListNocoords("""          putnoc(vs, getDListNocoords("""
252          PushAttrib ENABLE_BIT          PushAttrib ENABLE_BIT CURRENT_BIT COLOR_BUFFER_BIT TEXTURE_BIT
253    
254          BindProgram FRAGMENT_PROGRAM_ARB %s          BindProgram FRAGMENT_PROGRAM_ARB %s
255          Enable FRAGMENT_PROGRAM_ARB          Enable FRAGMENT_PROGRAM_ARB
256          Enable ALPHA_TEST          Enable ALPHA_TEST

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

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