10 |
|
|
11 |
# self.anisos = [1, 1.5, 2.0, 3.0] |
# self.anisos = [1, 1.5, 2.0, 3.0] |
12 |
# self.anisos = [1, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0] |
# self.anisos = [1, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0] |
13 |
|
|
14 |
|
self.filters = [None, (-.25,-.125)] |
15 |
|
|
16 |
self.anisos = [1, 2] |
self.anisos = [1, 2] |
17 |
|
|
18 |
height = self.height = 64 |
height = self.height = 128 |
19 |
|
|
20 |
# string = "AIOSs" |
# string = "AIOSs" |
21 |
string = "S" |
string = "SP" |
22 |
|
|
23 |
self.ftfont = vob.gl.GL.createFTFont( |
self.ftfont = vob.gl.GL.createFTFont( |
24 |
"/usr/share/fonts/type1/gsfonts/n019003l.pfb", |
"/usr/share/fonts/type1/gsfonts/n019003l.pfb", |
25 |
height, height) |
height, height) |
26 |
|
|
27 |
self.fonts = [[ |
self.fonts = [[[ |
28 |
vob.gl.SimpleAlphaFont.convertFont( |
vob.gl.SimpleAlphaFont.convertFont( |
29 |
self.ftfont, 30, |
self.ftfont, 30, |
30 |
1./self.height, 1./self.height, |
1./self.height, 1./self.height, |
34 |
"TEXTURE_MAX_ANISOTROPY_EXT", str(ceil(self.anisos[i])) |
"TEXTURE_MAX_ANISOTROPY_EXT", str(ceil(self.anisos[i])) |
35 |
]) |
]) |
36 |
for i in range(0, len(self.anisos))] |
for i in range(0, len(self.anisos))] |
37 |
|
for k in range(0, len(self.filters))] |
38 |
for j in range(0,2)] |
for j in range(0,2)] |
39 |
|
|
40 |
|
self.superfont = \ |
41 |
|
vob.gl.SimpleAlphaFont.convertFont( |
42 |
|
self.ftfont, 30, |
43 |
|
1./self.height, 1./self.height, |
44 |
|
[ |
45 |
|
"TEXTURE_MAG_FILTER", "LINEAR", |
46 |
|
"TEXTURE_MIN_FILTER", "LINEAR_MIPMAP_LINEAR", |
47 |
|
"TEXTURE_MAX_ANISOTROPY_EXT", "2" |
48 |
|
], 4) |
49 |
|
|
50 |
# 0: horizontal, 1: vertical |
# 0: horizontal, 1: vertical |
51 |
|
|
52 |
for i in range(0, len(self.fonts[0])): |
for k in range(0, len(self.filters)): |
53 |
vob.gl.SimpleAlphaFont.postprocessGLFont_reduceReso( |
for i in range(0, len(self.fonts[0][k])): |
54 |
self.fonts[0][i].getQuadFont(), self.anisos[i], 1) |
if self.anisos[i] > 1: |
55 |
for i in range(0, len(self.fonts[1])): |
vob.gl.SimpleAlphaFont.postprocessGLFont_reduceReso( |
56 |
vob.gl.SimpleAlphaFont.postprocessGLFont_reduceReso( |
self.fonts[0][k][i].getQuadFont(), self.anisos[i], 1) |
57 |
self.fonts[1][i].getQuadFont(), 1, self.anisos[i]) |
if self.filters[k]: |
58 |
|
vob.gl.SimpleAlphaFont.filterDownsampled( |
59 |
if 0: |
self.fonts[0][k][i].getQuadFont(), self.filters[k][0], self.filters[k][1], |
60 |
self.ftfonts = [ |
[ |
|
vob.gl.GL.createFTFont( |
|
|
"/usr/share/fonts/type1/gsfonts/n019003l.pfb", |
|
|
height, height, int(a * (1<<16)), 0, 0, 1<<16) |
|
|
for a in self.anisos] |
|
|
self.fonts = [ |
|
|
vob.gl.SimpleAlphaFont.convertFont( |
|
|
self.ftfonts[i], |
|
|
80, |
|
|
1./self.height / self.anisos[i], 1./self.height, |
|
|
[ |
|
61 |
"TEXTURE_MAG_FILTER", "LINEAR", |
"TEXTURE_MAG_FILTER", "LINEAR", |
62 |
"TEXTURE_MIN_FILTER", "LINEAR_MIPMAP_LINEAR", |
"TEXTURE_MIN_FILTER", "LINEAR_MIPMAP_LINEAR", |
63 |
"TEXTURE_MAX_ANISOTROPY_EXT", str(ceil(self.anisos[i])) |
"TEXTURE_MAX_ANISOTROPY_EXT", str(ceil(self.anisos[i])) |
64 |
]) |
]) |
65 |
for i in range(0, len(self.anisos))] |
for i in range(0, len(self.fonts[1][k])): |
66 |
|
if self.anisos[i] > 1: |
67 |
|
vob.gl.SimpleAlphaFont.postprocessGLFont_reduceReso( |
68 |
self.vftfonts = [ |
self.fonts[1][k][i].getQuadFont(), 1, self.anisos[i]) |
69 |
vob.gl.GL.createFTFont( |
if self.filters[k]: |
70 |
"/usr/share/fonts/type1/gsfonts/n019003l.pfb", |
vob.gl.SimpleAlphaFont.filterDownsampled( |
71 |
height, height, (1<<16), 0, 0, int(a*(1<<16))) |
self.fonts[1][k][i].getQuadFont(), self.filters[k][0], self.filters[k][1], |
72 |
for a in self.anisos] |
[ |
|
self.vfonts = [ |
|
|
vob.gl.SimpleAlphaFont.convertFont( |
|
|
self.vftfonts[i], |
|
|
80, |
|
|
1./self.height, 1./self.height / self.anisos[i], |
|
|
[ |
|
73 |
"TEXTURE_MAG_FILTER", "LINEAR", |
"TEXTURE_MAG_FILTER", "LINEAR", |
74 |
"TEXTURE_MIN_FILTER", "LINEAR_MIPMAP_LINEAR", |
"TEXTURE_MIN_FILTER", "LINEAR_MIPMAP_LINEAR", |
75 |
"TEXTURE_MAX_ANISOTROPY_EXT", str(ceil(self.anisos[i])) |
"TEXTURE_MAX_ANISOTROPY_EXT", str(ceil(self.anisos[i])) |
76 |
]) |
]) |
|
for i in range(0, len(self.anisos))] |
|
77 |
|
|
78 |
self.texts = [[ |
self.texts = [[[ |
79 |
vob.gl.GLRen.createText1(f.getQuadFont(), |
vob.gl.GLRen.createText1(f.getQuadFont(), |
80 |
string, 0, 0) |
string, 0, 0) |
81 |
for f in fonts] for fonts in self.fonts] |
for f in fonts2] for fonts2 in fonts] for fonts in self.fonts] |
82 |
|
|
83 |
|
self.supertext = \ |
84 |
|
vob.gl.GLRen.createTextSuper4(self.superfont.getQuadFont(), |
85 |
|
string, 0, 0) |
86 |
|
|
87 |
self.levels = [ |
self.levels = [[ |
88 |
[ [ |
[ [ |
89 |
vob.gl.SimpleAlphaFont.getLevelDrawPixels(f.getQuadFont(), 83, level) |
vob.gl.SimpleAlphaFont.getLevelDrawPixels(f.getQuadFont(), ord(string[0]), level) |
90 |
for level in range(0,9)] |
for level in range(0,9)] |
91 |
for f in fonts |
for f in fonts2] |
92 |
|
for fonts2 in fonts |
93 |
] |
] |
94 |
for fonts in self.fonts] |
for fonts in self.fonts] |
95 |
|
|
96 |
self.key = KeyPresses( |
self.key = KeyPresses( |
97 |
self, |
self, |
98 |
ListIndex("aniso", "anisos", 0, "Anisotropy (index of list)", "A", "a"), |
ListIndex("aniso", "anisos", 0, "Anisotropy (index of list)", "A", "a"), |
99 |
Toggle("shift", 0, "Shift text", "s"), |
ListIndex("filter", "filters", 0, "Mipmap filter", "F", "f"), |
100 |
|
Toggle("shift", 0, "Shift text", "m"), |
101 |
Toggle("vert", 0, "Aniso vertically", "v"), |
Toggle("vert", 0, "Aniso vertically", "v"), |
102 |
|
Toggle("super4", 0, "Supersample", "s"), |
103 |
SlideLin("lodbias", 0, .1, "LOD bias", "b", "B"), |
SlideLin("lodbias", 0, .1, "LOD bias", "b", "B"), |
104 |
SlideLin("rotation", 0, 1, "Rotation", ">", "<"), |
SlideLin("rotation", 0, 1, "Rotation", ">", "<"), |
105 |
) |
) |
106 |
def scene(self, vs): |
def scene(self, vs): |
107 |
vs.put( background((1,1,1))) |
vs.put( background((1,1,1))) |
108 |
|
|
109 |
print "Aniso:",self.anisos[self.aniso],self.vert |
print "Aniso:",self.anisos[self.aniso],self.vert,self.filter |
110 |
|
|
111 |
text = self.texts[self.vert][self.aniso] |
if self.super4: |
112 |
|
text = self.supertext |
113 |
|
else: |
114 |
|
text = self.texts[self.vert][self.filter][self.aniso] |
115 |
|
|
116 |
shifted = vs.translateCS(0, "SH", 5 * self.shift, 3 * self.shift) |
shifted = vs.translateCS(0, "SH", 5 * self.shift, 3 * self.shift) |
117 |
shifted = vs.rotateCS(shifted, "R", self.rotation) |
shifted = vs.rotateCS(shifted, "R", self.rotation) |
126 |
""" % locals())) |
""" % locals())) |
127 |
|
|
128 |
if 1: |
if 1: |
129 |
ni = 13 |
ni = 5 |
130 |
y0 = 20 |
y0 = 20 |
131 |
for size in (8, 8.1, 9.3, 10.4,12,16): |
if self.super4: |
132 |
|
vs.put(getDListNocoords( |
133 |
|
vob.lava.normalizedquads.super4TexSetupCode() + |
134 |
|
vob.lava.normalizedquads.super4CombinerCode())) |
135 |
|
for size in (8, 9.3, 10.4,12,16): |
136 |
for x in range(0,ni): |
for x in range(0,ni): |
137 |
for y in range(0, ni): |
for y in range(0, ni): |
138 |
vs.put(text, |
vs.put(text, |
139 |
vs.orthoCS(shifted, str((size,x,y,"A")), 0, |
vs.orthoCS(shifted, str((size,x,y,"A")), 0, |
140 |
20 + (1*int(size*1.12)+1./ni) * x, |
20 + (1*int(size*1.42)+1./ni) * x, |
141 |
y0 + 20 + (int(size*1.12)+1./ni) * y, |
y0 + 20 + (int(size*1.12)+1./ni) * y, |
142 |
size, size)) |
size, size)) |
143 |
y0 += int(ni * size * 1.2 ) |
y0 += int(ni * size * 1.2 ) |
144 |
if 1: |
if self.super4: |
145 |
|
vs.put(getDListNocoords( |
146 |
|
vob.lava.normalizedquads.super4TeardownCode() + """ |
147 |
|
Disable REGISTER_COMBINERS_NV |
148 |
|
""" |
149 |
|
)) |
150 |
|
if not self.super4: |
151 |
for level in range(0,8): |
for level in range(0,8): |
152 |
vs.put(self.levels[self.vert][self.aniso][level], |
vs.put(self.levels[self.vert][self.filter][self.aniso][level], |
153 |
vs.orthoCS(0, str(("I",level)), 0, |
vs.orthoCS(0, str(("I",level)), 0, |
154 |
500, 150 + 70 * level, 1, 1)) |
500, 150 + 70 * level, 1, 1)) |
155 |
if 0: |
if 0: |