gzz-commits
[Top][All Lists]
Advanced

[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: Sat, 30 Nov 2002 14:40:42 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Janne V. Kujala <address@hidden>        02/11/30 14:40:42

Modified files:
        gfx/demo       : irregu4.py 
        gfx/librenderables: renderables.py 
        gfx/libutil    : Irregu.hxx 

Log message:
        Shift to 8 directions with Irregu::SHIFTS8

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/irregu4.py.diff?tr1=1.32&tr2=1.33&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/librenderables/renderables.py.diff?tr1=1.159&tr2=1.160&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libutil/Irregu.hxx.diff?tr1=1.14&tr2=1.15&r1=text&r2=text

Patches:
Index: gzz/gfx/demo/irregu4.py
diff -u gzz/gfx/demo/irregu4.py:1.32 gzz/gfx/demo/irregu4.py:1.33
--- gzz/gfx/demo/irregu4.py:1.32        Sat Nov 30 13:07:38 2002
+++ gzz/gfx/demo/irregu4.py     Sat Nov 30 14:40:42 2002
@@ -186,6 +186,7 @@
 SLICE_2D      = 32;
 SHIFTS        = 64;
 INSIDE        = 128;
+SHIFTS8       = 256;
 
 
 class Stencil:
@@ -710,7 +711,7 @@
         self.outer = GLRen.createIrregularEdge(
             shape, texscale, linewidth, refsize, scale_pow,
             border0, border1, texslicing,
-            "0 0 0 1 0 0 0 0", "", 0, 0, SLICE_1D + Y_COLOR + SHIFTS + INSIDE,
+            "0 0 0 1 0 0 0 0", "", 0, 0, SLICE_1D + Y_COLOR + SHIFTS8 + INSIDE,
             stdcode, 1.0)
         self.envelope = GLRen.createIrregularEdge(
             shape, texscale, linewidth, refsize, scale_pow,
@@ -743,7 +744,7 @@
                 texscale, linewidth, refsize, scale_pow,
                 border0, border1, 1.0,
                 "", "", 0, 0,
-                SHIFTS + 65536,
+                SHIFTS8 + 65536,
                 offset_code, 1.0)
             self.envelope = GLRen.createIrregularEdge(7,
                 texscale, linewidth, refsize, scale_pow,
Index: gzz/gfx/librenderables/renderables.py
diff -u gzz/gfx/librenderables/renderables.py:1.159 
gzz/gfx/librenderables/renderables.py:1.160
--- gzz/gfx/librenderables/renderables.py:1.159 Sat Nov 30 09:29:29 2002
+++ gzz/gfx/librenderables/renderables.py       Sat Nov 30 14:40:42 2002
@@ -1638,16 +1638,22 @@
             glActiveTexture(GL_TEXTURE0);
 
             int passes = 1;
-            if (flags & 64) passes = 4;
+            if (flags & Irregu::SHIFTS) passes = 4;
+            if (flags & Irregu::SHIFTS8) passes = 8;
 
             for (int pass = 0; pass < passes; pass++) {
                 if (passes > 1) {
                     glPushMatrix();
+                    float t = linewidth * 0.707106781186547;
                     switch (pass) {
                         case 0: glTranslatef(-linewidth, 0, 0); break;
                         case 1: glTranslatef(+linewidth, 0, 0); break;
                         case 2: glTranslatef(0, -linewidth, 0); break;
                         case 3: glTranslatef(0, +linewidth, 0); break;
+                        case 4: glTranslatef(-t, -t, 0); break;
+                        case 5: glTranslatef(-t, +t, 0); break;
+                        case 6: glTranslatef(+t, -t, 0); break;
+                        case 7: glTranslatef(+t, +t, 0); break;
                     }
                 }
                 glBegin(GL_QUADS);
Index: gzz/gfx/libutil/Irregu.hxx
diff -u gzz/gfx/libutil/Irregu.hxx:1.14 gzz/gfx/libutil/Irregu.hxx:1.15
--- gzz/gfx/libutil/Irregu.hxx:1.14     Sun Nov 24 05:01:40 2002
+++ gzz/gfx/libutil/Irregu.hxx  Sat Nov 30 14:40:42 2002
@@ -53,6 +53,7 @@
     const unsigned SLICE_2D      = 32;
     const unsigned SHIFTS        = 64;
     const unsigned INSIDE        = 128;
+    const unsigned SHIFTS8       = 256;
 
     template <class Coords>
     void fill(Coords &coords, ZPt center,
@@ -194,7 +195,7 @@
                float dy0, dy1;
                float scale0, scale1;
 
-               if (multi > 0 || (flags & SHIFTS)) {
+               if (multi > 0 || (flags & SHIFTS+SHIFTS8)) {
                    dv0t = vert2[j][0] - vert2[i][0];
                    dv1t = vert2[j][1] - vert2[i][1];
 
@@ -228,25 +229,20 @@
                int numshifts = flags & SHIFTS 
                    ? 3 + (texslicing != 0 || flags & SLICE_2D) 
                    : 1;
+               if (flags & SHIFTS8) numshifts = 8;
                for (int s = 0; s < numshifts; s++) {
-               if (flags & SHIFTS) {
+               if (flags & SHIFTS+SHIFTS8) {
                    switch (s) {
-                   case 0:
-                   shift0 = scale1 * dv0t.normalize().cw90();
-                   shift1 = scale1 * dv0t.normalize().cw90();
-                   break;
-                   case 1:
-                   shift0 = scale1 * dv1t.normalize();
-                   shift1 = scale1 * dv1t.normalize();
-                   break;
-                   case 2:
-                   shift0 = -scale1 * dv1t.normalize();
-                   shift1 = -scale1 * dv1t.normalize();
-                   break;
-                   case 3:
-                   shift0 = -scale1 * dv0t.normalize().cw90();
-                   shift1 = -scale1 * dv0t.normalize().cw90();
+                   case 0: shift0 = scale1 * dv0t.normalize().cw90(); break;
+                   case 1: shift0 = scale1 * dv1t.normalize(); break;
+                   case 2: shift0 = -scale1 * dv1t.normalize(); break;
+                   case 3: shift0 = -scale1 * dv0t.normalize().cw90(); break;
+                   case 4: shift0 = scale1 * 0.707106781186547 * 
(dv0t.normalize().cw90() + dv1t.normalize()); break;
+                   case 5: shift0 = scale1 * 0.707106781186547 * 
(dv0t.normalize().cw90() - dv1t.normalize()); break;
+                   case 6: shift0 = scale1 * 0.707106781186547 * 
(-dv0t.normalize().cw90() + dv1t.normalize()); break;
+                   case 7: shift0 = scale1 * 0.707106781186547 * 
(-dv0t.normalize().cw90() - dv1t.normalize()); break;
                    }
+                   shift1 = shift0;
                }
 
                if (flags & DOTVEC_COLOR) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]