/[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.3 by jvk, Mon Sep 16 16:35:15 2002 UTC revision 1.4 by jvk, Mon Sep 16 18:57:21 2002 UTC
# Line 5  tex = GZZGL.createTexture() Line 5  tex = GZZGL.createTexture()
5  tex.shade(128, 128, 0, 4, "RGBA", "RGBA",  tex.shade(128, 128, 0, 4, "RGBA", "RGBA",
6            "fnoise", ["scale", "0.05", "freq", "8", "df", "4", "bias", "0.5"])            "fnoise", ["scale", "0.05", "freq", "8", "df", "4", "bias", "0.5"])
7    
8    boxtex = GZZGL.createTexture()
9    
10  class IrreguScene:  class IrreguScene:
11      def __init__(self):      def __init__(self):
12          print "Texture id:", tex.getTexId()          print "Texture id:", tex.getTexId()
# Line 15  class IrreguScene: Line 17  class IrreguScene:
17          self.combiners = "Enable"          self.combiners = "Enable"
18    
19      def initirregu(self):      def initirregu(self):
20            w = 2
21    
22            # Setup texgen for TEXTURE1 so that [-w,w]x[-1,1] in cs2 is mapped
23            # into [.25,75]^2 (center box of a 4x4 texture)
24            iw = .25 / w
25            self.mask = getDList("""
26                ActiveTexture TEXTURE1
27                TexGen S TEXTURE_GEN_MODE EYE_LINEAR
28                TexGen S EYE_PLANE %(iw)s 0 0 .5
29                Enable TEXTURE_GEN_S
30                TexGen T TEXTURE_GEN_MODE EYE_LINEAR
31                TexGen T EYE_PLANE 0 .25 0 .5
32                Enable TEXTURE_GEN_T
33                ActiveTexture TEXTURE0
34                Begin LINE_LOOP
35                Vertex -%(w)sr -1
36                Vertex -%(w)s +1
37                Vertex +%(w)s +1
38                Vertex +%(w)s -1
39                End
40            """ % locals())
41    
42          self.iq = GZZGL.createIrregularQuad(-1, -1, 1, 1, .5, """          self.iq = GZZGL.createIrregularQuad(-1, -1, 1, 1, .5, """
43                  PushAttrib ENABLE_BIT                  PushAttrib ENABLE_BIT TEXTURE_BIT CURRENT_BIT
44                  Enable ALPHA_TEST                  Enable ALPHA_TEST
45                  AlphaFunc GREATER 0.0                  AlphaFunc GREATER 0.0
46    
47                    ActiveTexture TEXTURE1
48                    BindTexture TEXTURE_2D %s
49                    Enable TEXTURE_2D
50                    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
51                    TexParameter TEXTURE_2D TEXTURE_BASE_LEVEL 0
52                    TexParameter TEXTURE_2D TEXTURE_MAX_LEVEL 0
53                    TexParameter TEXTURE_2D TEXTURE_WRAP_S CLAMP
54                    TexParameter TEXTURE_2D TEXTURE_WRAP_T CLAMP
55                    TexParameter TEXTURE_2D TEXTURE_MIN_FILTER NEAREST
56                    TexParameter TEXTURE_2D TEXTURE_MAG_FILTER NEAREST
57    
58                    ActiveTexture TEXTURE0
59                    
60                  BindTexture TEXTURE_2D %s                  BindTexture TEXTURE_2D %s
61                  Enable TEXTURE_2D                  Enable TEXTURE_2D
62                  %s REGISTER_COMBINERS_NV                  %s REGISTER_COMBINERS_NV
63                  CombinerParameterNV NUM_GENERAL_COMBINERS_NV 1                  CombinerParameterNV NUM_GENERAL_COMBINERS_NV 1
64                  CombinerInputNV COMBINER0_NV ALPHA VARIABLE_A_NV ZERO UNSIGNED_INVERT_NV ALPHA                  CombinerInputNV COMBINER0_NV ALPHA VARIABLE_A_NV TEXTURE1 UNSIGNED_IDENTITY_NV ALPHA
65                  CombinerInputNV COMBINER0_NV ALPHA VARIABLE_B_NV TEXTURE0 SIGNED_NEGATE_NV ALPHA                  CombinerInputNV COMBINER0_NV ALPHA VARIABLE_B_NV TEXTURE0 SIGNED_NEGATE_NV ALPHA
66                  CombinerInputNV COMBINER0_NV ALPHA VARIABLE_C_NV ZERO UNSIGNED_INVERT_NV ALPHA                  CombinerInputNV COMBINER0_NV ALPHA VARIABLE_C_NV TEXTURE1 UNSIGNED_IDENTITY_NV ALPHA
67                  CombinerInputNV COMBINER0_NV ALPHA VARIABLE_D_NV SECONDARY_COLOR_NV UNSIGNED_IDENTITY_NV BLUE                  CombinerInputNV COMBINER0_NV ALPHA VARIABLE_D_NV SECONDARY_COLOR_NV UNSIGNED_IDENTITY_NV BLUE
68                  CombinerOutputNV COMBINER0_NV ALPHA DISCARD_NV DISCARD_NV SPARE0_NV NONE NONE FALSE FALSE FALSE                  CombinerOutputNV COMBINER0_NV ALPHA DISCARD_NV DISCARD_NV SPARE0_NV NONE NONE FALSE FALSE FALSE
69    
70                  FinalCombinerInputNV VARIABLE_A_NV ZERO UNSIGNED_IDENTITY_NV RGB                  FinalCombinerInputNV VARIABLE_A_NV ZERO UNSIGNED_IDENTITY_NV RGB
71                  FinalCombinerInputNV VARIABLE_B_NV ZERO UNSIGNED_IDENTITY_NV RGB                  FinalCombinerInputNV VARIABLE_B_NV ZERO UNSIGNED_IDENTITY_NV RGB
72                  FinalCombinerInputNV VARIABLE_C_NV ZERO UNSIGNED_IDENTITY_NV RGB                  FinalCombinerInputNV VARIABLE_C_NV ZERO UNSIGNED_IDENTITY_NV RGB
73                  FinalCombinerInputNV VARIABLE_D_NV PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB                  FinalCombinerInputNV VARIABLE_D_NV PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB
74                  FinalCombinerInputNV VARIABLE_G_NV SPARE0_NV UNSIGNED_IDENTITY_NV ALPHA                  FinalCombinerInputNV VARIABLE_G_NV SPARE0_NV UNSIGNED_IDENTITY_NV ALPHA
75                  """ % (tex.getTexId(), self.combiners))                  """ % (boxtex.getTexId(), tex.getTexId(), self.combiners))
76    
77      def key(self, k):      def key(self, k):
78          if 0: pass          if 0: pass
# Line 52  class IrreguScene: Line 91  class IrreguScene:
91      def scene(self, vs):      def scene(self, vs):
92          putnoc(vs, background((0.1,0.4,0.5)))          putnoc(vs, background((0.1,0.4,0.5)))
93    
94    
95          cs1 = vs.coords.affineCoordsys(0, "1", 10, self.x1, self.y1, 100, 0, 0, 100)          cs1 = vs.coords.affineCoordsys(0, "1", 10, self.x1, self.y1, 100, 0, 0, 100)
96          cs2 = vs.coords.affineCoordsys(0, "2", 10, 600, 450, 150, 0, 0, 150)          cs2 = vs.coords.affineCoordsys(0, "2", 10, 600, 450, 150, 32.3, -14.2, 150)
97            vs.map.put(self.mask, cs2)
98          vs.map.put(self.iq, cs1, cs2)          vs.map.put(self.iq, cs1, cs2)
99    
100  currentScene = IrreguScene()  currentScene = IrreguScene()

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

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