[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gfx demo/irregu3.py demo/irregular2.py libr...
From: |
Janne V. Kujala |
Subject: |
[Gzz-commits] gzz/gfx demo/irregu3.py demo/irregular2.py libr... |
Date: |
Sat, 09 Nov 2002 13:32:54 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Janne V. Kujala <address@hidden> 02/11/09 13:32:52
Modified files:
gfx/demo : irregu3.py irregular2.py
gfx/librenderables: Renderables.hxx renderables.py
Added files:
gfx/libutil : Irregu.hxx
Log message:
Start irregu library and use it in IrregularEllipse renderable
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/irregu3.py.diff?tr1=1.47&tr2=1.48&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/irregular2.py.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/librenderables/Renderables.hxx.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/librenderables/renderables.py.diff?tr1=1.132&tr2=1.133&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libutil/Irregu.hxx?rev=1.1
Patches:
Index: gzz/gfx/demo/irregu3.py
diff -u gzz/gfx/demo/irregu3.py:1.47 gzz/gfx/demo/irregu3.py:1.48
--- gzz/gfx/demo/irregu3.py:1.47 Fri Nov 8 05:46:49 2002
+++ gzz/gfx/demo/irregu3.py Sat Nov 9 13:32:52 2002
@@ -516,12 +516,20 @@
vecmul(vecadd((x1,y1,0,1),nvec), w1)
]
- texcoords = [ [ vecmul((x0,y0,0,texscale), w0),
- vecmul((x0,y0,0,texscale), w1),
- vecmul((x1,y1,0,texscale), w0),
- vecmul((x1,y1,0,texscale), w1)
- ]
- ]
+ if 1:
+ texcoords = [ [ vecmul((x0,y0,0,texscale), w0),
+ vecmul((x0,y0,0,texscale), w1),
+ vecmul((x1,y1,0,texscale), w0),
+ vecmul((x1,y1,0,texscale), w1)
+ ]
+ ]
+ else:
+ texcoords = [ [ vecmul((x0-nvec[0],y0-nvec[1],0,texscale), w0),
+ vecmul((x0+nvec[0],y0+nvec[1],0,texscale), w1),
+ vecmul((x1-nvec[0],y1-nvec[1],0,texscale), w0),
+ vecmul((x1+nvec[0],y1+nvec[1],0,texscale), w1)
+ ]
+ ]
angle = atan2(y1 - y0, x1 - x0) - texangle
@@ -543,6 +551,7 @@
PushAttrib ENABLE_BIT TEXTURE_BIT
BindTexture TEXTURE_2D %(texid)s
+ #TexParameter TEXTURE_2D TEXTURE_MAX_ANISOTROPY_EXT 2.0
TexParameter TEXTURE_2D TEXTURE_MIN_FILTER LINEAR_MIPMAP_LINEAR
TexParameter TEXTURE_2D TEXTURE_MAG_FILTER LINEAR
Enable TEXTURE_2D
Index: gzz/gfx/demo/irregular2.py
diff -u gzz/gfx/demo/irregular2.py:1.23 gzz/gfx/demo/irregular2.py:1.24
--- gzz/gfx/demo/irregular2.py:1.23 Mon Nov 4 05:38:55 2002
+++ gzz/gfx/demo/irregular2.py Sat Nov 9 13:32:52 2002
@@ -81,6 +81,14 @@
self.initirregu()
elif k == "d":
self.distort = not self.distort
+ elif k == "l":
+ GL.call("""
+ PolygonMode FRONT_AND_BACK LINE
+ """)
+ elif k == "L":
+ GL.call("""
+ PolygonMode FRONT_AND_BACK FILL
+ """)
pass
Index: gzz/gfx/librenderables/Renderables.hxx
diff -u gzz/gfx/librenderables/Renderables.hxx:1.23
gzz/gfx/librenderables/Renderables.hxx:1.24
--- gzz/gfx/librenderables/Renderables.hxx:1.23 Tue Nov 5 03:21:01 2002
+++ gzz/gfx/librenderables/Renderables.hxx Sat Nov 9 13:32:52 2002
@@ -19,7 +19,7 @@
#include "libcoords/Coords.hxx"
-//#include <map> // XXX: used by ../demo/clamptexture.cxx hack
+#include "libutil/Irregu.hxx"
#define GLERR { int er = glGetError(); if(er != GL_NO_ERROR) \
cout << "===== OPENGL ERROR "<<__FILE__<<" "<<__LINE__ \
Index: gzz/gfx/librenderables/renderables.py
diff -u gzz/gfx/librenderables/renderables.py:1.132
gzz/gfx/librenderables/renderables.py:1.133
--- gzz/gfx/librenderables/renderables.py:1.132 Fri Nov 8 07:31:39 2002
+++ gzz/gfx/librenderables/renderables.py Sat Nov 9 13:32:52 2002
@@ -797,9 +797,6 @@
tex1code = CallGLCode(string(tex1.begin(), tex1.end()).c_str());
isectcode = CallGLCode(string(isect.begin(), isect.end()).c_str());
""",
- "ExtraClass" : """
- //#include "../demo/clamptexture.cxx"
- """,
"RenderCode" : """
DBG(dbg) << "Paper\\n";
GLERR
@@ -1184,76 +1181,27 @@
for (int i = 0; i <= n; i++) {
norm[i] = (vert[(i+1) % n] - vert[(i+n-1) % n]).cw90().normalize()
- * (0.5 * ripple_scale * texscale);
+ * (ripple_scale * texscale);
}
- // Compute outer edge / inner edge length ratio
- // for segments before and after a point and use the
- // geometric average as the q component of the point.
- // Exact mapping of the texture to the segment
- // would require repeating the vertices.
- for (int i = 0; i <= n; i++) {
- ZPt p0 = vert[(i+n-1) % n];
- ZPt p1 = vert[i];
- ZPt p2 = vert[(i+1) % n];
- ZVec n0 = norm[(i+n-1) % n];
- ZVec n1 = norm[i];
- ZVec n2 = norm[(i+1) % n];
-
- float q0 = ((p0 + n0) - (p1 + n1)).length() /
- ((p0 - n0) - (p1 - n1)).length();
-
- float q1 = ((p1 + n1) - (p2 + n2)).length() /
- ((p1 - n1) - (p2 - n2)).length();
-
- texq[i] = sqrt(q0 * q1);
- }
-
- int angles = 3;
-
setup();
-
- glBegin(GL_QUAD_STRIP);
- for (int i = 0; i <= n; i++) {
- ZPt p = vert[i];
- ZVec normal = norm[i];
- float q = texq[i];
-
- float dotvec[4] = {0,0,0,0};
- float angle = atan2(-normal.x, normal.y); // angle(normal.cw90())
-
- float a = (angle + M_PI) * angles * (1 / M_PI);
- int ind = (int)a;
- float f = a - (int)a;
-
- dotvec[ind % angles] = 1 - f;
- dotvec[(ind + 1) % angles] = f;
-
- if (mode)
- glColor4fv(dotvec);
- else
- glColor4f(0, 0, 0, 1);
-
- glTexCoord4f(p.x, p.y, p.z, texscale);
- glSecondaryColor3fEXT(1,1,1);
- coords1.vertex(p - normal);
- glTexCoord4f(q * p.x, q * p.y, q * p.z, q * texscale);
- glSecondaryColor3fEXT(0,0,0);
- coords1.vertex(p + normal);
+ float col0[] = {1,1,1,1};
+ float col1[] = {0,0,0,0};
+ if (!mode) glColor4f(0,0,0,1);
+ Irregu::draw(coords1, vert, norm, texscale,
+ -.5, .5, col0, col1, 3, 0,
+ Irregu::SLICE_1D + Irregu::Y_SECCOLOR +
+ mode * Irregu::DOTVEC_COLOR);
+
+ if (!mode) {
+ glDisable(GL_TEXTURE_2D);
+ glDisable(GL_REGISTER_COMBINERS_NV);
+ float col[4];
+ glGetFloatv(GL_CONSTANT_COLOR0_NV, col);
+ glColor4fv(col);
+ Irregu::fill(coords1, coords2.transform(ZPt(0,0,0)),
+ vert, norm, -.5);
}
- glEnd();
-
- glDisable(GL_TEXTURE_2D);
- glDisable(GL_REGISTER_COMBINERS_NV);
- float col[4];
- glGetFloatv(GL_CONSTANT_COLOR0_NV, col);
- glColor4fv(col);
- glBegin(GL_TRIANGLE_FAN);
- coords1.vertex(coords2.transform(ZPt(0,0,0)));
- for (int i = 0; i <= n; i++) {
- coords1.vertex(vert[i] - norm[i]);
- }
- glEnd();
glPopAttrib();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz/gfx demo/irregu3.py demo/irregular2.py libr...,
Janne V. Kujala <=