8 |
def js(list): |
def js(list): |
9 |
return " ".join([str(el) for el in list]) |
return " ".join([str(el) for el in list]) |
10 |
|
|
11 |
def rotate(list): |
|
|
list.append(list.pop(0)) |
|
12 |
|
|
13 |
|
|
14 |
class ShaderScene: |
class ShaderScene: |
15 |
def __init__(self): |
def __init__(self): |
16 |
self.resolution = [128,256,512,1024] |
self.resolution = [32, 64] |
17 |
self.shadername = "noise" |
self.shadername = "noise" |
18 |
self.shaderparams = { |
self.shaderparams = { |
19 |
"bulgemagz": 0.5, |
"bulgemagz": 0.5, |
20 |
"bulgemagx": 0, |
"bulgemagx": 0, |
21 |
"lfreq": 2, |
"lfreq": 2, |
22 |
"hfreq": 10, |
"hfreq": 10, |
23 |
"bias": 0.5, |
"bias": 0.1, |
24 |
} |
} |
25 |
self.colors = [ (1, 1, 1), (1, 0, 0), (0, 1, 0), (0, 0, 1)] |
self.colors = [ (1, 1, 1), (1, 0, 0), (0, 1, 0), (0, 0, 1)] |
26 |
self.shadercomps = 3 |
self.shadercomps = 3 |
27 |
self.shaderformat = "RGB" |
self.shaderformat = "RGB" |
28 |
self.internalformat = "RGB" |
self.internalformat = "RGB" |
29 |
|
self.angle = 0 |
30 |
|
self.sca = 1 |
31 |
self.shade() |
self.shade() |
32 |
def key(self, k): |
def key(self, k): |
33 |
if k == "s": |
if k == "s": |
40 |
for item in self.shaderparams.items(): |
for item in self.shaderparams.items(): |
41 |
params.append(item[0]) |
params.append(item[0]) |
42 |
params.append(str(item[1])) |
params.append(str(item[1])) |
43 |
self.texture = getTexture( self.resolution[0], self.resolution[0], 0, |
self.texture = getTexture( self.resolution[0], self.resolution[0], self.resolution[0], |
44 |
self.shadercomps, self.shaderformat, self.internalformat, |
self.shadercomps, self.shaderformat, self.internalformat, |
45 |
self.shadername, |
self.shadername, |
46 |
params) |
params) |
54 |
Disable ALPHA_TEST |
Disable ALPHA_TEST |
55 |
Disable DEPTH_TEST |
Disable DEPTH_TEST |
56 |
Disable BLEND |
Disable BLEND |
57 |
Disable TEXTURE_2D |
Disable TEXTURE_3D |
58 |
""")) |
""")) |
59 |
|
|
60 |
|
self.angle += 13 |
61 |
|
|
62 |
|
print "Angle: ",self.angle |
63 |
|
rotate(vs, "rot", self.angle, -1, 1, 1) |
64 |
|
# self.sca = 1-self.sca |
65 |
|
# transaffine(vs, "coor", 0, 0, self.sca, 0, 0, self.sca) |
66 |
|
putnoc(vs, |
67 |
|
getDListNocoords(""" |
68 |
|
Enable TEXTURE_GEN_S |
69 |
|
Enable TEXTURE_GEN_T |
70 |
|
Enable TEXTURE_GEN_R |
71 |
|
TexGen S TEXTURE_GEN_MODE EYE_LINEAR |
72 |
|
TexGen T TEXTURE_GEN_MODE EYE_LINEAR |
73 |
|
TexGen R TEXTURE_GEN_MODE EYE_LINEAR |
74 |
|
TexGen S EYE_PLANE 0.01 0 0.0 |
75 |
|
TexGen T EYE_PLANE 0 0.01 0 0.0 |
76 |
|
TexGen R EYE_PLANE 0 0 0.01 0.0 |
77 |
|
""")) |
78 |
|
# poptrans(vs, "coor") |
79 |
|
poptrans(vs, "rot") |
80 |
|
|
81 |
vs.put( |
vs.put( |
82 |
getDList(""" |
getDList(""" |
83 |
Color %(color)s |
Color %(color)s |
84 |
BindTexture TEXTURE_2D %(tex)s |
BindTexture TEXTURE_3D %(tex)s |
85 |
Enable TEXTURE_2D |
Enable TEXTURE_3D |
86 |
Begin QUAD_STRIP |
Begin QUAD_STRIP |
87 |
TexCoord 1.1 1.1 |
TexCoord 1.1 1.1 0 |
88 |
Vertex 1 1 |
Vertex 1 1 1 |
89 |
TexCoord 1.1 -0.1 |
TexCoord 1.1 -0.1 0 |
90 |
Vertex 1 -1 |
Vertex 1 -1 1 |
91 |
TexCoord -0.1 1.1 |
TexCoord -0.1 1.1 5 |
92 |
Vertex -1 1 |
Vertex -1 1 1 |
93 |
TexCoord -0.1 -0.1 |
TexCoord -0.1 -0.1 5 |
94 |
Vertex -1 -1 |
Vertex -1 -1 1 |
95 |
End |
End |
96 |
""" % { |
""" % { |
97 |
"tex" : self.texture.getTexId(), |
"tex" : self.texture.getTexId(), |
98 |
"color" : js(self.colors[0]), |
"color" : js(self.colors[0]), |
99 |
}), |
}), |
100 |
"v", 10, 0, 0, 900, 900) |
"v", 10, 0, 0, 200, 200) |
101 |
|
|
102 |
putnoc(vs, getDList(""" |
putnoc(vs, getDList(""" |
103 |
PopAttrib |
PopAttrib |