/[gzz]/gzz/gfx/demo/irregu3.py
ViewVC logotype

Diff of /gzz/gfx/demo/irregu3.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.40 by jvk, Fri Nov 1 20:22:57 2002 UTC revision 1.41 by jvk, Fri Nov 1 22:21:33 2002 UTC
# Line 654  class IrreguScene: Line 654  class IrreguScene:
654      def __init__(self):      def __init__(self):
655          self.scale = texsize          self.scale = texsize
656          self.angle = 0          self.angle = 0
657            self.angle2 = 0
658          self.tx, self.ty = 0, 0          self.tx, self.ty = 0, 0
659          self.bg = background((0.7,0.7,1.0))          self.bg = background((0.7,0.7,1.0))
660    
# Line 700  class IrreguScene: Line 701  class IrreguScene:
701          else:          else:
702              tex2d = "Disable"              tex2d = "Disable"
703    
704            q = texscale
705          paint = """          paint = """
706          PushAttrib ENABLE_BIT          PushAttrib ENABLE_BIT
707          Disable ALPHA_TEST          Disable ALPHA_TEST
# Line 710  class IrreguScene: Line 711  class IrreguScene:
711          TexParameter TEXTURE_2D TEXTURE_MAG_FILTER NEAREST          TexParameter TEXTURE_2D TEXTURE_MAG_FILTER NEAREST
712          #TexEnv TEXTURE_ENV TEXTURE_ENV_MODE MODULATE          #TexEnv TEXTURE_ENV TEXTURE_ENV_MODE MODULATE
713          Begin QUAD_STRIP          Begin QUAD_STRIP
714          TexCoord 0 0          TexCoord %(x0)s %(y0)s 0 %(q)s
715          Vertex %(x0)s %(y0)s          Vertex %(x0)s %(y0)s
716          TexCoord 2.25 0          TexCoord %(x1)s %(y0)s 0 %(q)s
717          Vertex %(x1)s %(y0)s          Vertex %(x1)s %(y0)s
718          TexCoord 0 2.25          TexCoord %(x0)s %(y1)s 0 %(q)s
719          Vertex %(x0)s %(y1)s          Vertex %(x0)s %(y1)s
720          TexCoord 2.25 2.25          TexCoord %(x1)s %(y1)s 0 %(q)s
721          Vertex %(x1)s %(y1)s          Vertex %(x1)s %(y1)s
722          End          End
723          PopAttrib          PopAttrib
# Line 744  class IrreguScene: Line 745  class IrreguScene:
745          global scale          global scale
746          scale = self.scale          scale = self.scale
747    
748          cs3 = vs.coords.affineCoordsys(0, 0, 512, 384, self.scale, 0, 0, self.scale)          cs3 = vs.coords.affineCoordsys(0, 0, 512, 384,
749                                           cos(self.angle+self.angle2)*self.scale,
750                                           sin(self.angle+self.angle2)*self.scale,
751                                           -sin(self.angle+self.angle2)*self.scale,
752                                           cos(self.angle+self.angle2)*self.scale,
753                                           )
754          vs.matcher.add(cs3, "3")          vs.matcher.add(cs3, "3")
755                    
756          cs4 = vs.coords.affineCoordsys(0, 0,          cs4 = vs.coords.affineCoordsys(0, 0,
757                                         self.tx * cos(self.angle) +                                         self.tx, self.ty,
                                        self.ty * sin(self.angle),  
                                        self.tx * -sin(self.angle) +  
                                        self.ty * cos(self.angle),  
758                                         cos(self.angle), sin(self.angle),                                         cos(self.angle), sin(self.angle),
759                                         -sin(self.angle), cos(self.angle))                                         -sin(self.angle), cos(self.angle))
760          vs.matcher.add(cs4, "4")          vs.matcher.add(cs4, "4")
# Line 844  class IrreguScene: Line 847  class IrreguScene:
847          if k == "Next":          if k == "Next":
848              self.angle += pi/180; print "angle",round(self.angle / pi * 180)              self.angle += pi/180; print "angle",round(self.angle / pi * 180)
849              reinit = 1              reinit = 1
850            if k == "Home": self.angle2 -= pi/180; self.angle += pi/180
851            if k == "End": self.angle2 += pi/180; self.angle -= pi/180
852    
853          if k == "i": self.use_stencil = not self.use_stencil          if k == "i": self.use_stencil = not self.use_stencil
854                            
855          if k == "Up": self.ty -= .1          if k == "Up":
856          if k == "Down": self.ty += .1              self.tx -= .1 * sin(self.angle)
857          if k == "Left": self.tx -= .1              self.ty -= .1 * cos(self.angle)
858          if k == "Right": self.tx += .1          if k == "Down":
859                self.tx += .1 * sin(self.angle)
860                self.ty += .1 * cos(self.angle)
861            if k == "Left":
862                self.tx -= .1 * cos(self.angle)
863                self.ty -= .1 * -sin(self.angle)
864            if k == "Right":
865                self.tx += .1 * cos(self.angle)
866                self.ty += .1 * -sin(self.angle)
867                    
868    
869  currentScene = IrreguScene()          currentScene = IrreguScene()        

Legend:
Removed from v.1.40  
changed lines
  Added in v.1.41

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26