/[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.24 by jvk, Mon Oct 28 09:54:56 2002 UTC revision 1.25 by jvk, Mon Oct 28 14:19:46 2002 UTC
# Line 42  def init(profile): Line 42  def init(profile):
42    
43          using_shader = 1          using_shader = 1
44          global use_stencil          global use_stencil
45          use_stencil = 0          #use_stencil = 0
46          edgetex = getCachedTexture([1, edgetexsize, 0, 4, "RGBA", "RGBA",          edgetex_inner = getCachedTexture(
47                                      "irreguedge", ["line_width", "1"]], shade_all_levels = 1)              [1, edgetexsize, 0, 1, "ALPHA", "ALPHA", "irreguedge",
48                 ["line_width", "2",
49                  "col0", "1",
50                  "col1", "0",
51                  "col2", "0"]],
52                shade_all_levels = 1)
53            
54            edgetex_outer = getCachedTexture(
55                [1, edgetexsize, 0, 1, "ALPHA", "ALPHA", "irreguedge",
56                 ["line_width", "2",
57                  "col0", "1",
58                  "col1", "1",
59                  "col2", "0"]],
60                shade_all_levels = 1)
61                    
62          texenv_inner = """          texenv = """
63          Enable TEXTURE_SHADER_NV          Enable TEXTURE_SHADER_NV
64                    
65          TexEnv TEXTURE_SHADER_NV SHADER_OPERATION_NV TEXTURE_2D          TexEnv TEXTURE_SHADER_NV SHADER_OPERATION_NV TEXTURE_2D
# Line 67  def init(profile): Line 80  def init(profile):
80          TexParameter TEXTURE_2D TEXTURE_WRAP_T CLAMP          TexParameter TEXTURE_2D TEXTURE_WRAP_T CLAMP
81    
82          ActiveTexture TEXTURE0          ActiveTexture TEXTURE0
83            """
84    
85          Disable ALPHA_TEST          texenv_inner = texenv % edgetex_inner.getTexId()
86          """ % edgetex.getTexId()          texenv_outer = texenv % edgetex_outer.getTexId()
   
         texenv_outer = texenv_inner  
87    
88          alphalevel = None          alphalevel = 1
89          w0,w1 = 1,1          w0,w1 = 1,1
90          def colmap0(dotvec): return (1,1,1)          def colmap0(dotvec): return (1,1,1)
91          def colmap1(dotvec): return (1,1,1)          def colmap1(dotvec): return (1,1,1)
# Line 210  def globalkey(k): Line 222  def globalkey(k):
222      if k == "b": lodbias += .25; print "lodbias", lodbias      if k == "b": lodbias += .25; print "lodbias", lodbias
223      elif k == "B": lodbias -= .25; print "lodbias", lodbias      elif k == "B": lodbias -= .25; print "lodbias", lodbias
224      global edgelodbias      global edgelodbias
225      if k == "e": edgelodbias += .25; print "lodbias", edgelodbias      if k == "e": edgelodbias += .25; print "edgelodbias", edgelodbias
226      elif k == "E": edgelodbias -= .25; print "lodbias", edgelodbias      elif k == "E": edgelodbias -= .25; print "edgelodbias", edgelodbias
227      global texscale      global texscale
228      if k == "s": texscale *= 1.2; print "texscale", texscale      if k == "s": texscale *= 1.2; print "texscale", texscale
229      elif k == "S": texscale /= 1.2; print "texscale", texscale      elif k == "S": texscale /= 1.2; print "texscale", texscale
# Line 255  def getIrregu(invert, x0, y0, x1, y1, ou Line 267  def getIrregu(invert, x0, y0, x1, y1, ou
267    
268      angle = atan2(y1 - y0, x1 - x0) - texangle      angle = atan2(y1 - y0, x1 - x0) - texangle
269    
270      dx = cos(angle)      dx = -cos(angle)
271      dy = sin(angle)      dy = -sin(angle)
272    
273      if using_shader:      if using_shader:
274          texcoords += [ [ (0, 0, 0),          texcoords += [ [ (0, 0, 0),
# Line 379  class IrreguScene: Line 391  class IrreguScene:
391          self.scale = texsize          self.scale = texsize
392          self.angle = 0          self.angle = 0
393          self.tx, self.ty = 0, 0          self.tx, self.ty = 0, 0
394            self.bg = background((0.7,0.7,1.0))
395                    
396      def scene(self, vs):      def scene(self, vs):
397          putnoc(vs, background((0.7,0.7,1.0)))          putnoc(vs, self.bg)
398    
399          global scale          global scale
400          scale = self.scale          scale = self.scale
# Line 449  class IrreguScene: Line 462  class IrreguScene:
462              MultMatrix  %s              MultMatrix  %s
463          """ % matrices[0]))          """ % matrices[0]))
464    
465          if not using_shader:          if use_stencil:
466              vs.map.put(getDList(getIrregu(0,x0,-1,x1,-1,1, texscale, self.angle) +              vs.map.put(getDList(getIrregu(0,x0,-1,x1,-1,1, texscale, self.angle) +
467                                  getIrregu(0,+1,y0,+1,y1,1, texscale, self.angle) +                                  getIrregu(0,+1,y0,+1,y1,1, texscale, self.angle) +
468                                  getIrregu(1,x1,+1,x0,+1,1, texscale, self.angle) +                                  getIrregu(1,x1,+1,x0,+1,1, texscale, self.angle) +

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.25

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