[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gfx demo/irregu4.py librenderables/renderab...
From: |
Janne V. Kujala |
Subject: |
[Gzz-commits] gzz/gfx demo/irregu4.py librenderables/renderab... |
Date: |
Tue, 12 Nov 2002 04:53:50 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Janne V. Kujala <address@hidden> 02/11/12 04:53:49
Modified files:
gfx/demo : irregu4.py
gfx/librenderables: renderables.py
gfx/libutil : Irregu.hxx
Log message:
Interpolate between irregu SLICE_1D and SLICE_2D
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/irregu4.py.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/librenderables/renderables.py.diff?tr1=1.141&tr2=1.142&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libutil/Irregu.hxx.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
Patches:
Index: gzz/gfx/demo/irregu4.py
diff -u gzz/gfx/demo/irregu4.py:1.6 gzz/gfx/demo/irregu4.py:1.7
--- gzz/gfx/demo/irregu4.py:1.6 Tue Nov 12 02:18:25 2002
+++ gzz/gfx/demo/irregu4.py Tue Nov 12 04:53:49 2002
@@ -29,7 +29,7 @@
self.xs = 1
self.ys = 1
self.scale = 1
-
+ self.texslicing = 0
self.flags = 255
self.initcode()
@@ -196,6 +196,7 @@
scale_pow = 0
border0 = -.5 * ripple_scale * texscale
border1 = .5 * ripple_scale * texscale
+ texslicing = self.texslicing
SLICE = (SLICE_2D, SLICE_1D)[self.flags >> 4 & 1]
@@ -211,7 +212,8 @@
""" % texINTENSITY.getTexId()
self.outer = GLRen.createIrregularEdge(
- texscale, linewidth, refsize, scale_pow, border0, border1,
+ texscale, linewidth, refsize, scale_pow,
+ border0, border1, texslicing,
"0 0 0 1 0 0 0 0", "",
0, 0,
SLICE + Y_COLOR + SHIFTS, stdcode + """
@@ -225,14 +227,16 @@
stdcode += "Disable ALPHA_TEST\n"
self.inner = GLRen.createIrregularEdge(
- texscale, linewidth, refsize, scale_pow, border0, border1,
+ texscale, linewidth, refsize, scale_pow,
+ border0, border1, texslicing,
("0 0 0 0 0 0 0 0", "1 1 1 1 0 0 0 0")[self.flags >> 1 & 1], "",
0, 0,
SLICE + Y_COLOR, stdcode, 1.0)
- if GL.hasExtension("GL_NV_register_combiners"):
+ if GL.hasExtension("GL_NV_register_combiners") and 0:
self.outer = GLRen.createIrregularEdge(
- texscale, linewidth, refsize, scale_pow, border0, border1,
+ texscale, linewidth, refsize, scale_pow,
+ border0, border1, texslicing,
"1 1 1 1 0 0 0 0", "", 3, 0,
Y_SECCOLOR + SLICE + DOTVEC_COLOR + INTERP_DOTVEC,
outer_code, 1.0)
@@ -244,7 +248,8 @@
outer_code = code2 % {"tex" : texINTENSITY.getTexId(),
"color" : "0 0 0 0" }
self.outer = GLRen.createIrregularEdge(
- texscale, linewidth, refsize, scale_pow, border0, border1,
+ texscale, linewidth, refsize, scale_pow,
+ border0, border1, texslicing,
"1 1 1 1 0 0 0 0", "", 0, 1,
Y_SECCOLOR + SLICE,
outer_code, 1.0)
@@ -290,6 +295,14 @@
self.y1 -= .2 * sin(self.a1)
elif k == "Left": self.a1 -= .1
elif k == "Right": self.a1 += .1
+ elif k == "Prior":
+ self.texslicing -= .125
+ print self.texslicing
+ self.initcode()
+ elif k == "Next":
+ self.texslicing += .125
+ print self.texslicing
+ self.initcode()
elif k == "x": self.xs += .1
elif k == "X": self.xs -= .1
elif k == "y": self.ys += .1
@@ -303,3 +316,5 @@
currentScene = IrreguScene()
+
+#GL.call("PolygonMode FRONT_AND_BACK FILL")
Index: gzz/gfx/librenderables/renderables.py
diff -u gzz/gfx/librenderables/renderables.py:1.141
gzz/gfx/librenderables/renderables.py:1.142
--- gzz/gfx/librenderables/renderables.py:1.141 Tue Nov 12 02:18:25 2002
+++ gzz/gfx/librenderables/renderables.py Tue Nov 12 04:53:49 2002
@@ -1256,7 +1256,7 @@
float col[] = {1,1,1,1,0,0,0,0};
if (!mode) glColor4f(0,0,0,1);
Irregu::draw(coords1, vert, norm, texscale, 2.0, 128, 0,
- -.5, .5, col, NULL, 3, 0,
+ -.5, .5, 0, col, NULL, 3, 0,
Irregu::SLICE_1D + Irregu::Y_SECCOLOR +
mode * Irregu::DOTVEC_COLOR + Irregu::INTERP_DOTVEC);
@@ -1284,13 +1284,14 @@
{
"Type" : "2",
"Name": "IrregularEdge",
- "Data": """float texscale, linewidth, refsize, scale_pow, border0, border1;
+ "Data": """float texscale, linewidth, refsize, scale_pow;
+ float border0, border1, texslicing;
vector<float> const0, const1; int angles, multi, flags;
CallGLCode setup;
float dicefactor;""",
"Params" : """
float texscale, float linewidth, float refsize, float scale_pow,
- float border0, float border1,
+ float border0, float border1, float texslicing,
UTF8String const0, UTF8String const1, int angles, int multi, int
flags,
UTF8String setupcode, float dicefactor
""",
@@ -1314,6 +1315,7 @@
this->scale_pow = scale_pow;
this->border0 = border0;
this->border1 = border1;
+ this->texslicing = texslicing;
this->const0 = getconstvec(const0);
this->const1 = getconstvec(const1);
this->angles = angles;
@@ -1348,7 +1350,7 @@
GLERR;
Irregu::draw(coords1, vert, norm, texscale,
linewidth, refsize, scale_pow,
- border0, border1,
+ border0, border1, texslicing,
&const0[0], &const1[0],
angles, multi, flags);
Index: gzz/gfx/libutil/Irregu.hxx
diff -u gzz/gfx/libutil/Irregu.hxx:1.7 gzz/gfx/libutil/Irregu.hxx:1.8
--- gzz/gfx/libutil/Irregu.hxx:1.7 Tue Nov 12 02:18:25 2002
+++ gzz/gfx/libutil/Irregu.hxx Tue Nov 12 04:53:49 2002
@@ -72,7 +72,7 @@
void draw(Coords &coords,
const vector<ZPt> &pt, const vector<ZVec> &norm,
float texscale, float linewidth, float refsize, float scale_pow,
- float border0, float border1,
+ float border0, float border1, float texslicing,
const float c0[], const float c1[],
int angles, int multi,
unsigned flags) {
@@ -86,11 +86,14 @@
ZPt vert[pt.size()][2];
+ ZPt vert1[pt.size()][2];
ZPt vert2[pt.size()][2];
for (unsigned i = 0; i < pt.size(); i++) {
vert[i][0] = pt[i] + border0 * norm[i];
vert[i][1] = pt[i] + border1 * norm[i];
+ vert1[i][0] = pt[i] + texslicing * border0 * norm[i];
+ vert1[i][1] = pt[i] + texslicing * border1 * norm[i];
vert2[i][0] = coords.transform(vert[i][0]);
vert2[i][1] = coords.transform(vert[i][1]);
}
@@ -155,8 +158,9 @@
}
float q1 = dv0.dot(dv1) / dv0.dot(dv0);
- ZPt a1q = pt[i] * q1;
- ZPt b1q = pt[j] * q1;
+ q1 /= lerp(1.0, q1, texslicing);
+ ZPt a1q = vert1[i][1] * q1;
+ ZPt b1q = vert1[j][1] * q1;
ZVec shift0(0,0,0);
ZVec shift1(0,0,0);
@@ -202,7 +206,7 @@
if (multi > 0) glColor4f(0,0,dy0,dy0);
colorfv(c0);
- texCoord(pt[i], texscale);
+ texCoord(vert1[i][0], texscale);
u = GL_TEXTURE1;
for (int d = 1; d <= multi; d++) {
multiTexCoord(u++, pt[i] + d * d0, texscale);
@@ -218,7 +222,7 @@
}
//colorfv(c0);
- texCoord(pt[j], texscale);
+ texCoord(vert1[j][0], texscale);
u = GL_TEXTURE1;
for (int d = 1; d <= multi; d++) {
multiTexCoord(u++, pt[j] + d * d0, texscale);
- [Gzz-commits] gzz/gfx demo/irregu4.py librenderables/renderab..., Janne V. Kujala, 2002/11/11
- [Gzz-commits] gzz/gfx demo/irregu4.py librenderables/renderab..., Janne V. Kujala, 2002/11/11
- [Gzz-commits] gzz/gfx demo/irregu4.py librenderables/renderab...,
Janne V. Kujala <=
- [Gzz-commits] gzz/gfx demo/irregu4.py librenderables/renderab..., Janne V. Kujala, 2002/11/13
- [Gzz-commits] gzz/gfx demo/irregu4.py librenderables/renderab..., Janne V. Kujala, 2002/11/21
- [Gzz-commits] gzz/gfx demo/irregu4.py librenderables/renderab..., Janne V. Kujala, 2002/11/30
- [Gzz-commits] gzz/gfx demo/irregu4.py librenderables/renderab..., Janne V. Kujala, 2002/11/30