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