[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gfx/demo fontfilter.py
From: |
Janne V. Kujala |
Subject: |
[Gzz-commits] gzz/gfx/demo fontfilter.py |
Date: |
Wed, 29 Jan 2003 03:47:14 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Janne V. Kujala <address@hidden> 03/01/29 03:47:14
Modified files:
gfx/demo : fontfilter.py
Log message:
use separate bias for halo if combiners2 is available
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/fontfilter.py.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
Patches:
Index: gzz/gfx/demo/fontfilter.py
diff -u gzz/gfx/demo/fontfilter.py:1.3 gzz/gfx/demo/fontfilter.py:1.4
--- gzz/gfx/demo/fontfilter.py:1.3 Wed Jan 29 02:59:59 2003
+++ gzz/gfx/demo/fontfilter.py Wed Jan 29 03:47:14 2003
@@ -16,6 +16,8 @@
self.bias, self.sharpness = -self.bias, -self.sharpness
print self.bias, self.sharpness
def __init__(self):
+
+ self.tex2 = GL.hasExtension("GL_NV_register_combiners2")
self.scales = [ 1, 2, 4, 0, .5 ]
self.textscales = [ 2, 4 ]
@@ -28,11 +30,10 @@
SlideLin("ang", 0, 5, "angle", "Prior", "Next"),
SlideLin("sharpness", .5, .25, "sharpness", "-", "+"),
SlideLin("bias", 1, .25, "LOD bias", "B", "b"),
+ SlideLin("bias2", 1, .25, "halo LOD bias", "H", "h"),
ListIndex("scaleind", "scales", 0, "text halo scale", "S", "s"),
ListIndex("tscaleind", "textscales", 0, "text scale", "D", "d"),
Toggle("texfilt", 1, "texture filtering", "f"),
-
-
Action("Invert biases", "t", self.inv, noAnimation=1),
)
@@ -43,9 +44,20 @@
d = 1. / self.ps
csg = vs.affineCS(rot, "g", 0, self.xg, self.yg,
self.ps, 0, 0, self.ps)
- vs.map.put(getDList("""
- PushAttrib ENABLE_BIT TEXTURE_BIT COLOR_BUFFER_BIT
+ if self.texfilt:
+ minfilt = "LINEAR_MIPMAP_LINEAR"
+ magfilt = "LINEAR"
+ else:
+ minfilt = "NEAREST_MIPMAP_NEAREST"
+ magfilt = "NEAREST"
+
+ texid = rect.texId
+ bias = self.bias
+ bias2 = self.bias2
+
+ code = """
+ PushAttrib ENABLE_BIT TEXTURE_BIT COLOR_BUFFER_BIT
ActiveTexture TEXTURE0
TexGen S TEXTURE_GEN_MODE EYE_LINEAR
@@ -55,6 +67,11 @@
Enable TEXTURE_GEN_S
Enable TEXTURE_GEN_T
+ BindTexture TEXTURE_2D %(texid)s
+ TexParameter TEXTURE_2D TEXTURE_MIN_FILTER %(minfilt)s
+ TexParameter TEXTURE_2D TEXTURE_MAG_FILTER %(magfilt)s
+ Enable TEXTURE_2D
+
ActiveTexture TEXTURE1
TexGen S TEXTURE_GEN_MODE EYE_LINEAR
TexGen T TEXTURE_GEN_MODE EYE_LINEAR
@@ -63,21 +80,41 @@
Enable TEXTURE_GEN_S
Enable TEXTURE_GEN_T
- ActiveTexture TEXTURE0
+ BindTexture TEXTURE_2D %(texid)s
+ TexParameter TEXTURE_2D TEXTURE_MIN_FILTER %(minfilt)s
+ TexParameter TEXTURE_2D TEXTURE_MAG_FILTER %(magfilt)s
+ Enable TEXTURE_2D
+ TexEnv TEXTURE_FILTER_CONTROL TEXTURE_LOD_BIAS %(bias)s
+ """
- """ % locals()), csg)
+ if self.tex2:
+ code += """
+ ActiveTexture TEXTURE2
+ TexGen S TEXTURE_GEN_MODE EYE_LINEAR
+ TexGen T TEXTURE_GEN_MODE EYE_LINEAR
+ TexGen S EYE_PLANE 1 0 0 0
+ TexGen T EYE_PLANE 0 1 0 0
+ Enable TEXTURE_GEN_S
+ Enable TEXTURE_GEN_T
+
+ BindTexture TEXTURE_2D %(texid)s
+ TexParameter TEXTURE_2D TEXTURE_MIN_FILTER %(minfilt)s
+ TexParameter TEXTURE_2D TEXTURE_MAG_FILTER %(magfilt)s
+ Enable TEXTURE_2D
+ TexEnv TEXTURE_FILTER_CONTROL TEXTURE_LOD_BIAS %(bias2)s
+ """
+
+ code += """
+ ActiveTexture TEXTURE0
+ """
+
+ vs.map.put(getDList(code % locals()), csg)
+
+
cs1 = vs.affineCS(rot, "1", 0, self.x, self.y,
600, 0, 0, 600)
- if self.texfilt:
- minfilt = "LINEAR_MIPMAP_LINEAR"
- magfilt = "LINEAR"
- else:
- minfilt = "NEAREST_MIPMAP_NEAREST"
- magfilt = "NEAREST"
-
- texid = rect.texId
sharp = .5 + .5 * self.sharpness
scale = self.scales[self.scaleind]
@@ -85,29 +122,19 @@
if scale == 0:
s = 0
scale = 1
- bias = self.bias
textscale = self.textscales[self.tscaleind]
+
+ if self.tex2:
+ halotex = "TEX2"
+ else:
+ halotex = "TEX1"
code = parseCombiner("""
- BindTexture TEXTURE_2D %(texid)s
- TexParameter TEXTURE_2D TEXTURE_MIN_FILTER %(minfilt)s
- TexParameter TEXTURE_2D TEXTURE_MAG_FILTER %(magfilt)s
- Enable TEXTURE_2D
-
- ActiveTexture TEXTURE1
- BindTexture TEXTURE_2D %(texid)s
- TexParameter TEXTURE_2D TEXTURE_MIN_FILTER %(minfilt)s
- TexParameter TEXTURE_2D TEXTURE_MAG_FILTER %(magfilt)s
- Enable TEXTURE_2D
- TexEnv TEXTURE_FILTER_CONTROL TEXTURE_LOD_BIAS %(bias)s
-
- ActiveTexture TEXTURE0
-
Enable REGISTER_COMBINERS_NV
CONST0 = %(s)s %(s)s %(s)s %(sharp)s
- SPARE0 = ((1-TEX1) * CONST0) * %(scale)s
+ SPARE0 = ((1-%(halotex)s) * CONST0) * %(scale)s
SPARE0.a = (CONST0.a * (1-TEX0.b) + (.5 - CONST0.a) * (1-TEX1.b)) *
%(textscale)s
SPARE1.a = (1 - SPARE0.b) * (1-SPARE0.a)
@@ -124,6 +151,9 @@
Disable ALPHA_TEST
Enable BLEND
BlendFunc ONE SRC_ALPHA
+ """ % locals())
+
+ code += """
Color 1 1 1
Begin QUAD_STRIP
@@ -134,16 +164,24 @@
End
PopAttrib
- """ % locals())
+ """
#print code
vs.map.put(getDList(code), cs1)
cstext = vs.affineCS(rot, "text", 0, 0, 0, 40, 0, 0, 40)
- putText(vs, cstext, "HALO = TXB[%s] * %s" % (bias,
self.scales[self.scaleind]),
- y = 1, color = (0,0,0), key = "line1")
+ if self.tex2:
+ putText(vs, cstext, "HALO = TXB[%s] * %s" %
+ (self.bias2, self.scales[self.scaleind]),
+ y = 1, color = (0,0,0), key = "line1")
+ else:
+ putText(vs, cstext, "HALO = TXB[%s] * %s" %
+ (self.bias, self.scales[self.scaleind]),
+ y = 1, color = (0,0,0), key = "line1")
- putText(vs, cstext, "COL = (%s * TEX + %s * TXB[%s]) * %s" % (1 +
self.sharpness, -self.sharpness, bias, self.textscales[self.tscaleind]*.5),
+ putText(vs, cstext, "COL = (%s * TEX + %s * TXB[%s]) * %s" %
+ (1 + self.sharpness, -self.sharpness, self.bias,
+ self.textscales[self.tscaleind]*.5),
y = 2, color = (0,0,0), key = "line2")
putText(vs, cstext, "BLEND = lerp( lerp(DST, 1, HALO), 0, COL )",
y = 3, color = (0,0,0), key = "line3")
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/28
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/29
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/29
- [Gzz-commits] gzz/gfx/demo fontfilter.py,
Janne V. Kujala <=
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/29
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/29
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/29
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/29
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/29
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/29
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/29
- [Gzz-commits] gzz/gfx/demo fontfilter.py, Janne V. Kujala, 2003/01/29