1 |
from __future__ import nested_scopes |
from __future__ import nested_scopes |
2 |
from gzz.gfx.gl import GZZGL |
from gzz.gfx.gl import GZZGL |
3 |
|
|
4 |
tex = GZZGL.createTexture() |
execfile("gfx/libutil/effects.py") |
|
tex.shade(128, 128, 0, 4, "RGBA", "RGBA", |
|
|
"sawnoise", ["bias", "0.5", |
|
|
"scale", "0.15", "freq", "1", "df", "2", |
|
|
"scale2", "0.25", "freq2", "10", "df2", ".5"]) |
|
|
# "scale", "0.2", "freq", "1", "df", "2", |
|
|
# "scale2", "0.05", "freq2", "12", "df2", "1.5"]) |
|
|
|
|
|
boxtex = GZZGL.createTexture() |
|
5 |
|
|
6 |
class IrreguScene: |
class IrreguScene: |
7 |
def __init__(self): |
def __init__(self): |
|
print "Texture id:", tex.getTexId() |
|
8 |
|
|
9 |
self.mode = 255 |
self.mode = 255 |
10 |
self.combiners = "Enable" |
self.combiners = "Enable" |
34 |
End |
End |
35 |
""" % locals()) |
""" % locals()) |
36 |
|
|
37 |
code = """ |
self.irreguframe = IrreguFrame(self.border, w, h, self.period) |
|
PushAttrib ENABLE_BIT TEXTURE_BIT CURRENT_BIT |
|
|
Enable ALPHA_TEST |
|
|
AlphaFunc GREATER 0.0 |
|
|
|
|
|
ActiveTexture TEXTURE1 |
|
|
BindTexture TEXTURE_2D %s |
|
|
Enable TEXTURE_2D |
|
|
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 |
|
|
TexParameter TEXTURE_2D TEXTURE_BASE_LEVEL 0 |
|
|
TexParameter TEXTURE_2D TEXTURE_MAX_LEVEL 0 |
|
|
TexParameter TEXTURE_2D TEXTURE_WRAP_S CLAMP |
|
|
TexParameter TEXTURE_2D TEXTURE_WRAP_T CLAMP |
|
|
TexParameter TEXTURE_2D TEXTURE_MIN_FILTER NEAREST |
|
|
TexParameter TEXTURE_2D TEXTURE_MAG_FILTER NEAREST |
|
|
|
|
|
TexGen S TEXTURE_GEN_MODE EYE_LINEAR |
|
|
Enable TEXTURE_GEN_S |
|
|
TexGen T TEXTURE_GEN_MODE EYE_LINEAR |
|
|
Enable TEXTURE_GEN_T |
|
|
|
|
|
ActiveTexture TEXTURE0 |
|
|
|
|
|
BindTexture TEXTURE_2D %s |
|
|
Enable TEXTURE_2D |
|
|
%s REGISTER_COMBINERS_NV |
|
|
CombinerParameterNV NUM_GENERAL_COMBINERS_NV 1 |
|
|
CombinerInputNV COMBINER0_NV ALPHA VARIABLE_A_NV TEXTURE1 UNSIGNED_IDENTITY_NV ALPHA |
|
|
CombinerInputNV COMBINER0_NV ALPHA VARIABLE_B_NV TEXTURE0 SIGNED_NEGATE_NV ALPHA |
|
|
CombinerInputNV COMBINER0_NV ALPHA VARIABLE_C_NV TEXTURE1 UNSIGNED_IDENTITY_NV ALPHA |
|
|
CombinerInputNV COMBINER0_NV ALPHA VARIABLE_D_NV SECONDARY_COLOR_NV UNSIGNED_IDENTITY_NV BLUE |
|
|
CombinerOutputNV COMBINER0_NV ALPHA DISCARD_NV DISCARD_NV SPARE0_NV NONE NONE FALSE FALSE FALSE |
|
|
|
|
|
FinalCombinerInputNV VARIABLE_A_NV ZERO UNSIGNED_IDENTITY_NV RGB |
|
|
FinalCombinerInputNV VARIABLE_B_NV ZERO UNSIGNED_IDENTITY_NV RGB |
|
|
FinalCombinerInputNV VARIABLE_C_NV ZERO UNSIGNED_IDENTITY_NV RGB |
|
|
FinalCombinerInputNV VARIABLE_D_NV PRIMARY_COLOR_NV UNSIGNED_IDENTITY_NV RGB |
|
|
FinalCombinerInputNV VARIABLE_G_NV SPARE0_NV UNSIGNED_IDENTITY_NV ALPHA |
|
|
""" % (boxtex.getTexId(), tex.getTexId(), self.combiners) |
|
|
|
|
|
|
|
|
self.iq = GZZGL.createIrregularQuad(self.border, self.w, self.h, self.period, 0, code) |
|
|
self.iq2 = GZZGL.createIrregularQuad(self.border, self.w, self.h, self.period, 1, code) |
|
38 |
|
|
39 |
def key(self, k): |
def key(self, k): |
40 |
if 0: pass |
if 0: pass |
85 |
|
|
86 |
if self.mode & 1: |
if self.mode & 1: |
87 |
putnoc(vs, self.black); |
putnoc(vs, self.black); |
88 |
vs.map.put(self.iq2, cs1, cs2) |
vs.map.put(self.irreguframe.frame, cs1, cs2) |
89 |
|
|
90 |
if self.mode & 2: |
if self.mode & 2: |
91 |
putnoc(vs, self.white); |
putnoc(vs, self.white); |
92 |
vs.map.put(self.iq, cs1, cs2) |
vs.map.put(self.irreguframe.content, cs1, cs2) |
93 |
|
|
94 |
currentScene = IrreguScene() |
currentScene = IrreguScene() |