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) |
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 |
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 |
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 |
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): |
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() |