gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz gfx/demo/gldemo.py gfx/demo/nic/stencildept...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz gfx/demo/gldemo.py gfx/demo/nic/stencildept...
Date: Sun, 15 Sep 2002 06:11:14 -0400

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        02/09/15 06:11:14

Modified files:
        gfx/demo       : gldemo.py 
        gfx/demo/nic   : stencildepth.py 
        gfx/librenderables: renderables.py 
        gzz/gfx/gl     : GLVobCoorder.java 
        gzz/vob        : SolidBgVob.java 

Log message:
        This seems to fix the stencil-depth problem. Note that the coordinate 
system depths are relative, too\!

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/gldemo.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/nic/stencildepth.py.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/librenderables/renderables.py.diff?tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/GLVobCoorder.java.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/vob/SolidBgVob.java.diff?tr1=1.3&tr2=1.4&r1=text&r2=text

Patches:
Index: gzz/gfx/demo/gldemo.py
diff -c gzz/gfx/demo/gldemo.py:1.12 gzz/gfx/demo/gldemo.py:1.13
*** gzz/gfx/demo/gldemo.py:1.12 Thu Sep 12 09:04:03 2002
--- gzz/gfx/demo/gldemo.py      Sun Sep 15 06:11:14 2002
***************
*** 28,38 ****
        gzz.util.dbg.option(o,a)
  
  def background(rgb):
!     return getDList("""
!       ClearColor %s %s %s 0
!       Clear COLOR_BUFFER_BIT DEPTH_BUFFER_BIT STENCIL_BUFFER_BIT
!       Clear STENCIL_BUFFER_BIT
!     """%rgb)
  
  
  def coloredQuad(rgb):
--- 28,34 ----
        gzz.util.dbg.option(o,a)
  
  def background(rgb):
!     return gzz.vob.SolidBgVob(apply(java.awt.Color, rgb))
  
  
  def coloredQuad(rgb):
Index: gzz/gfx/demo/nic/stencildepth.py
diff -c gzz/gfx/demo/nic/stencildepth.py:1.1 
gzz/gfx/demo/nic/stencildepth.py:1.2
*** gzz/gfx/demo/nic/stencildepth.py:1.1        Sat Sep 14 05:48:57 2002
--- gzz/gfx/demo/nic/stencildepth.py    Sun Sep 15 06:11:14 2002
***************
*** 15,31 ****
      def run(self):
          self.__callable(*self.args, **self.keys)
  
  
  def put(x,y,d,key,vs,stenciled):
      outer = vs.coords.coordsys(0, 'o'+key, d, x, y, 100, 50)
!     inner = vs.coords.coordsys(outer, 'i'+key, d, 5, 5, 90, 40)
  
-     rect = RectBgVob()
-     style = GraphicsAPI.getInstance().getTextStyle("serif", 0, 12)
-     t = TextVob(style, ":-)")
      vs.map.put(rect, outer)
  
      if stenciled:
          Stencil.drawStenciled(vs,
              R(lambda: vs.map.put(RectBgVob(), inner)),
              None,
--- 15,32 ----
      def run(self):
          self.__callable(*self.args, **self.keys)
  
+ style = GraphicsAPI.getInstance().getTextStyle("serif", 0, 12)
+ rect = RectBgVob()
+ t = TextVob(style, ":-)")
  
  def put(x,y,d,key,vs,stenciled):
      outer = vs.coords.coordsys(0, 'o'+key, d, x, y, 100, 50)
!     inner = vs.coords.coordsys(outer, 'i'+key, 0, 5, 5, 90, 40)
  
      vs.map.put(rect, outer)
  
      if stenciled:
+       print "Dostenc",inner, outer
          Stencil.drawStenciled(vs,
              R(lambda: vs.map.put(RectBgVob(), inner)),
              None,
***************
*** 36,41 ****
--- 37,43 ----
      else:
          vs.map.put(RectBgVob(), inner)
          vs.map.put(t, inner)
+       return
  
  
  
***************
*** 45,55 ****
      def scene(self, vs):
          putnoc(vs, background((0.7,0.6,0.9)))
  
!         put(50, 50, 1, '1', vs, 0)
!         put(80, 80, 2, '2', vs, 0)
  
!       put(250, 50, 1, '3', vs, 1)
!       put(280, 80, 2, '4', vs, 1)
  
  
  currentScene = StencilDepthBugScene()
--- 47,57 ----
      def scene(self, vs):
          putnoc(vs, background((0.7,0.6,0.9)))
  
!         put(50, 50, 10, '1', vs, 0)
!         put(80, 80, 20, '2', vs, 0)
  
!       put(250, 50, 10, '3', vs, 1)
!       put(280, 80, 20, '4', vs, 1)
  
  
  currentScene = StencilDepthBugScene()
Index: gzz/gfx/librenderables/renderables.py
diff -c gzz/gfx/librenderables/renderables.py:1.26 
gzz/gfx/librenderables/renderables.py:1.27
*** gzz/gfx/librenderables/renderables.py:1.26  Sat Sep 14 06:22:28 2002
--- gzz/gfx/librenderables/renderables.py       Sun Sep 15 06:11:14 2002
***************
*** 630,639 ****
--- 630,642 ----
            Coords tcoords(widthmul, heightmul, origin.x, origin.y, origin.z, 
                        coords1);
            Vertexer<Coords> v(tcoords);
+           glPushAttrib(GL_ENABLE_BIT);
+           glEnable(GL_BLEND);
            Text::renderIter(*r, txt.begin(), txt.end(), 
                    0,0,
                    v
                    );
+           glPopAttrib();
                            
      """       
  }, 
***************
*** 682,691 ****
--- 685,697 ----
            Coords tcoords(widthmul, heightmul, origin.x, origin.y, origin.z, 
                        coords1);
            Vertexer<Coords> v(tcoords, squishx);
+           glPushAttrib(GL_ENABLE_BIT);
+           glEnable(GL_BLEND);
            Text::renderIter(*r, txt.begin(), txt.end(), 
                    0,0,
                    v
                    );
+           glPopAttrib();
                            
      """       
  }, 
Index: gzz/gzz/gfx/gl/GLVobCoorder.java
diff -c gzz/gzz/gfx/gl/GLVobCoorder.java:1.25 
gzz/gzz/gfx/gl/GLVobCoorder.java:1.26
*** gzz/gzz/gfx/gl/GLVobCoorder.java:1.25       Sat Sep 14 10:07:01 2002
--- gzz/gzz/gfx/gl/GLVobCoorder.java    Sun Sep 15 06:11:14 2002
***************
*** 29,35 ****
  import gzz.client.gl.*;
  
  public class GLVobCoorder extends AffineVobCoorder {
! public static final String rcsid = "$Id: GLVobCoorder.java,v 1.25 2002/09/14 
14:07:01 benja Exp $";
      public static boolean dbg = false;
      private static void pa(String s) { System.err.println(s); }
  
--- 29,35 ----
  import gzz.client.gl.*;
  
  public class GLVobCoorder extends AffineVobCoorder {
! public static final String rcsid = "$Id: GLVobCoorder.java,v 1.26 2002/09/15 
10:11:14 tjl Exp $";
      public static boolean dbg = false;
      private static void pa(String s) { System.err.println(s); }
  
***************
*** 96,102 ****
  
            // a REAL kludge
            if(dbg) pa("Passed key: "+key);
!           key = new Integer(key.hashCode() % 27482963 * 427189 + 
(keys[into]!=null?keys[into].hashCode() : 89761));
            if(dbg) {
                pa("Old key: "+keys[into]);
                pa("New key: "+key);
--- 96,105 ----
  
            // a REAL kludge
            if(dbg) pa("Passed key: "+key);
!           key = new Integer(
!                   mix(key.hashCode(), 
!                       keys[into] != null ? 1 : 0,
!                       keys[into] != null ? keys[into].hashCode() : 0));
            if(dbg) {
                pa("Old key: "+keys[into]);
                pa("New key: "+key);
***************
*** 117,122 ****
--- 120,130 ----
        return was;
      }
  
+     static public int mix(int i1, int i2, int i3) {
+       return (i1 * 5124723 + 9812375) % 5350917 +
+               (i2 * 127401 + 897124) % 1128501 +
+               (i3 * 317819 + 1897124) % 12501 ;
+     }
  
      public Object getKeyAt(VobMap v, float x, float y, float[] 
internalcoords) {
        float depth = 100000000;
Index: gzz/gzz/vob/SolidBgVob.java
diff -c gzz/gzz/vob/SolidBgVob.java:1.3 gzz/gzz/vob/SolidBgVob.java:1.4
*** gzz/gzz/vob/SolidBgVob.java:1.3     Fri Sep 13 07:48:31 2002
--- gzz/gzz/vob/SolidBgVob.java Sun Sep 15 06:11:14 2002
***************
*** 62,72 ****
      private String getGLStr() {
        return
            "ClearColor " + ColorUtil.colorGLString(color) + " 0\n"+
!           "Clear COLOR_BUFFER_BIT DEPTH_BUFFER_BIT\n"+
            "Enable TEXTURE_2D\n"+
            "Enable ALPHA_TEST\n"+
!           "AlphaFunc GREATER 0\n"+
!           "Enable BLEND\n"+
            "BlendFunc SRC_ALPHA ONE_MINUS_SRC_ALPHA\n"+
            "Color 1 1 1 1\n"+
            "";
--- 62,75 ----
      private String getGLStr() {
        return
            "ClearColor " + ColorUtil.colorGLString(color) + " 0\n"+
!           "Clear COLOR_BUFFER_BIT DEPTH_BUFFER_BIT STENCIL_BUFFER_BIT\n"+
            "Enable TEXTURE_2D\n"+
            "Enable ALPHA_TEST\n"+
!           "AlphaFunc GREATER 0.1\n"+
!           "Disable BLEND\n"+  // Don't want to enable this by default
!                               // as it's fairly expensive
!           "Enable DEPTH_TEST\n"+
!           "DepthFunc LEQUAL\n"+
            "BlendFunc SRC_ALPHA ONE_MINUS_SRC_ALPHA\n"+
            "Color 1 1 1 1\n"+
            "";




reply via email to

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