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

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

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

revision 1.7 by jvk, Tue Sep 17 11:14:05 2002 UTC revision 1.8 by jvk, Tue Sep 17 13:13:38 2002 UTC
# Line 13  class IrreguScene: Line 13  class IrreguScene:
13      def __init__(self):      def __init__(self):
14          print "Texture id:", tex.getTexId()          print "Texture id:", tex.getTexId()
15    
16            self.mode = 255
17          self.combiners = "Enable"          self.combiners = "Enable"
18          self.initirregu()          self.initirregu()
19          self.x1, self.y1 = 600, 450          self.x1, self.y1 = 600, 450
         self.combiners = "Enable"  
20    
21      def initirregu(self):      def initirregu(self):
22          w = 2          w = 1
23    
24            self.white = getDListNocoords("Color 1 1 1")
25            self.black = getDListNocoords("Color 0 0 0")
26    
27          # Setup texgen for TEXTURE1 so that [-w,w]x[-1,1] in cs2 is mapped          # Setup texgen for TEXTURE1 so that [-w,w]x[-1,1] in cs2 is mapped
28          # into [.25,75]^2 (center box of a 4x4 texture)          # into [.25,75]^2 (center box of a 4x4 texture)
# Line 41  class IrreguScene: Line 44  class IrreguScene:
44              End              End
45          """ % locals())          """ % locals())
46    
47          self.iq = GZZGL.createIrregularQuad(.2, """          code = """
48                  PushAttrib ENABLE_BIT TEXTURE_BIT CURRENT_BIT                  PushAttrib ENABLE_BIT TEXTURE_BIT CURRENT_BIT
49                  Enable ALPHA_TEST                  Enable ALPHA_TEST
50                  AlphaFunc GREATER 0.0                  AlphaFunc GREATER 0.0
# Line 52  class IrreguScene: Line 55  class IrreguScene:
55                  TexImage2D TEXTURE_2D 0 ALPHA 4 4 0 ALPHA 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0                  TexImage2D TEXTURE_2D 0 ALPHA 4 4 0 ALPHA 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0
56                  TexParameter TEXTURE_2D TEXTURE_BASE_LEVEL 0                  TexParameter TEXTURE_2D TEXTURE_BASE_LEVEL 0
57                  TexParameter TEXTURE_2D TEXTURE_MAX_LEVEL 0                  TexParameter TEXTURE_2D TEXTURE_MAX_LEVEL 0
58                  TexParameter TEXTURE_2D TEXTURE_WRAP_S CLAMP                  #TexParameter TEXTURE_2D TEXTURE_WRAP_S CLAMP
59                  TexParameter TEXTURE_2D TEXTURE_WRAP_T CLAMP                  #TexParameter TEXTURE_2D TEXTURE_WRAP_T CLAMP
60                  TexParameter TEXTURE_2D TEXTURE_MIN_FILTER NEAREST                  TexParameter TEXTURE_2D TEXTURE_MIN_FILTER NEAREST
61                  TexParameter TEXTURE_2D TEXTURE_MAG_FILTER NEAREST                  TexParameter TEXTURE_2D TEXTURE_MAG_FILTER NEAREST
62    
63                    TexGen S TEXTURE_GEN_MODE OBJECT_LINEAR
64                    Enable TEXTURE_GEN_S
65                    TexGen T TEXTURE_GEN_MODE OBJECT_LINEAR
66                    Enable TEXTURE_GEN_T
67    
68                  ActiveTexture TEXTURE0                  ActiveTexture TEXTURE0
69                                    
70                  BindTexture TEXTURE_2D %s                  BindTexture TEXTURE_2D %s
# Line 74  class IrreguScene: Line 82  class IrreguScene:
82                  FinalCombinerInputNV VARIABLE_C_NV ZERO UNSIGNED_IDENTITY_NV RGB                  FinalCombinerInputNV VARIABLE_C_NV ZERO UNSIGNED_IDENTITY_NV RGB
83                  FinalCombinerInputNV VARIABLE_D_NV PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB                  FinalCombinerInputNV VARIABLE_D_NV PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
84                  FinalCombinerInputNV VARIABLE_G_NV SPARE0_NV UNSIGNED_IDENTITY_NV ALPHA                  FinalCombinerInputNV VARIABLE_G_NV SPARE0_NV UNSIGNED_IDENTITY_NV ALPHA
85                  """ % (boxtex.getTexId(), tex.getTexId(), self.combiners))          """ % (boxtex.getTexId(), tex.getTexId(), self.combiners)
86    
87    
88            self.iq = GZZGL.createIrregularQuad(.2, 0, code)
89            self.iq2 = GZZGL.createIrregularQuad(.2, 1, code)
90    
91      def key(self, k):      def key(self, k):
92          if 0: pass          if 0: pass
# Line 88  class IrreguScene: Line 100  class IrreguScene:
100              else:              else:
101                  self.combiners = "Enable"                  self.combiners = "Enable"
102              self.initirregu()              self.initirregu()
103            elif k >= "1" and k <= "9":
104                self.mode ^= 1 << (int(k)-1)
105                print "mode=", self.mode
106          pass          pass
107            
108      def scene(self, vs):      def scene(self, vs):
# Line 97  class IrreguScene: Line 112  class IrreguScene:
112          cs1 = vs.coords.affineCoordsys(0, "1", 10, self.x1, self.y1, 200, 0, 0, 100)          cs1 = vs.coords.affineCoordsys(0, "1", 10, self.x1, self.y1, 200, 0, 0, 100)
113          cs2 = vs.coords.affineCoordsys(0, "2", 10, 600, 450, 150, 32.3, -14.2, 150)          cs2 = vs.coords.affineCoordsys(0, "2", 10, 600, 450, 150, 32.3, -14.2, 150)
114          vs.map.put(self.mask, cs2)          vs.map.put(self.mask, cs2)
115          vs.map.put(self.iq, cs1, cs2)  
116            if self.mode & 1:
117                putnoc(vs, self.black);
118                vs.map.put(self.iq2, cs1, cs2)
119    
120            if self.mode & 2:
121                putnoc(vs, self.white);
122                vs.map.put(self.iq, cs1, cs2)
123    
124  currentScene = IrreguScene()  currentScene = IrreguScene()

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

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