gzz-commits
[Top][All Lists]
Advanced

[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();
 




reply via email to

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