/[gzz]/gzz/gfx/demo/opengl/imaging.py
ViewVC logotype

Diff of /gzz/gfx/demo/opengl/imaging.py

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

revision 1.4 by tjl, Wed Nov 20 22:12:34 2002 UTC revision 1.5 by tjl, Thu Nov 21 08:36:54 2002 UTC
# Line 1  Line 1 
1  from gfx.libutil import effects, nvcode  from gfx.libutil import effects, nvcode
2    
3    w.setLocation(0,0,1024,1024)
4    
5  c = java.util.Random()  c = java.util.Random()
6    
7  ts = 512  ts = 1024
8    
9  class BlurScene:  class BlurScene:
10      def __init__(self):      def __init__(self):
11          self.bv = GL.createByteVector(1024 * 768 * 4)          self.bv = GL.createByteVector(1024 * 768 * 4)
12          self.f = effects.IrreguFrame(0, 0, 1000, 1000, 20, 200)          self.f = effects.IrreguFrame(0, 0, 1000, 1000, 20, 200)
13          self.tex = GL.createTexture()          self.tex = GL.createTexture()
14          self.tex.loadNull2D(0, "RGBA", ts, ts, 0, "RGBA", "UNSIGNED_BYTE")          self.tex.loadNull2D(0, "DEPTH_COMPONENT24_SGIX", ts, ts, 0, "DEPTH_COMPONENT", "UNSIGNED_SHORT")
15            # self.tex.loadNull2D(0, "RGBA", ts, ts, 0, "RGBA", "UNSIGNED_BYTE")
16      def key(self, key):      def key(self, key):
17          pass          pass
18      def scene(self, vs):      def scene(self, vs):
19          vs.map.put(background((0, .1, 0)))          vs.map.put(background((.2, .4, .2)))
20    
21          sx = ts          sx = ts
22          sy = ts          sy = ts
23    
24    
25          f1cs = vs.orthoCS(0, "X", 50, 100*c.nextDouble(), 100*c.nextDouble(), 200, 100)          for i in range(0,10):
26          vs.map.put(self.f.getContent(), 0, f1cs)              f1cs = vs.orthoCS(0, str(i), 100*i, 300*c.nextDouble(), 300*c.nextDouble(), 200, 100)
27                vs.map.put(self.f.getContent(), 0, f1cs)
28    
         f1cs = vs.orthoCS(0, "Y", 70, 100*c.nextDouble(), 100*c.nextDouble(), 200, 100)  
         vs.map.put(self.f.getContent(), 0, f1cs)  
29    
30          # vs.put(coloredQuad((1,1,1)), "A", 10, 100*c.nextDouble(), 100*c.nextDouble(), 200, 100)          # vs.put(coloredQuad((1,1,1)), "A", 10, 100*c.nextDouble(), 100*c.nextDouble(), 200, 100)
31          # vs.put(coloredQuad((1,1,1)), "B", 100, 150*c.nextDouble(), 150*c.nextDouble(), 200, 100)          # vs.put(coloredQuad((1,1,1)), "B", 100, 150*c.nextDouble(), 150*c.nextDouble(), 200, 100)
# Line 69  class BlurScene: Line 71  class BlurScene:
71              "tex": self.tex.getTexId(),              "tex": self.tex.getTexId(),
72          }))          }))
73    
74          cs = vs.orthoCS(0, "dp", 0, 20, sy+10, 1, 1)          cs = vs.orthoCS(0, "dp", 0, 0, sy, 1, 1)
75          cs2 = vs.orthoCS(0, "dp2", 300, 300, sy+10, sx, sy)          # cs2 = vs.orthoCS(0, "dp2", 300, 300, sy+10, sx, sy)
76            cs2 = vs.orthoCS(0, "dp2", 0, 0, 0, sx, sy)
77          if 1:          if 1:
78              getp = GLRen.createReadPixels(sx, sy,              if 1:
79                          "DEPTH_COMPONENT", "UNSIGNED_SHORT", self.bv)                  texim = GLRen.createCopyTexSubImage2D(
80              texim = GLRen.createTexSubImage2D("TEXTURE_2D", 0, 0, 0, ts, ts,                                      "TEXTURE_2D", 0, 0, 0, ts, ts)
81                  "RGBA", "UNSIGNED_SHORT_4_4_4_4", self.bv)              elif 1:
82                                if 1:
83              vs.map.put(getp, cs)                      getp = GLRen.createReadPixels(sx, sy,
84              vs.map.put(texim)                                  "DEPTH_COMPONENT", "UNSIGNED_SHORT", self.bv)
85                        texim = GLRen.createTexSubImage2D("TEXTURE_2D", 0, 0, 0, ts, ts,
86                            "RGBA", "UNSIGNED_SHORT_4_4_4_4", self.bv)
87                    else:
88                        getp = GLRen.createReadPixels(sx, sy,
89                                    "DEPTH_COMPONENT", "UNSIGNED_BYTE", self.bv)
90                        texim = GLRen.createTexSubImage2D("TEXTURE_2D", 0, 0, 0, ts, ts,
91                            "LUMINANCE", "UNSIGNED_BYTE", self.bv)
92                    vs.map.put(getp, cs)
93    
94                vs.map.put(texim, cs)
95    
96              # vs.map.put(coloredQuad((1,0,0)), cs2)              # vs.map.put(coloredQuad((1,0,0)), cs2)
97    
# Line 86  class BlurScene: Line 99  class BlurScene:
99                  BindTexture TEXTURE_2D %(tex)s                  BindTexture TEXTURE_2D %(tex)s
100                  PushAttrib TEXTURE_BIT                  PushAttrib TEXTURE_BIT
101                  TexGen S TEXTURE_GEN_MODE OBJECT_LINEAR                  TexGen S TEXTURE_GEN_MODE OBJECT_LINEAR
102                  TexGen S OBJECT_PLANE 1 0 0 -300                  TexGen S OBJECT_PLANE 1 0 0 -0
103                  TexGen T TEXTURE_GEN_MODE OBJECT_LINEAR                  TexGen T TEXTURE_GEN_MODE OBJECT_LINEAR
104                  TexGen T OBJECT_PLANE 0 1 0 -300                  TexGen T OBJECT_PLANE 0 -1 0 -0
105                  Enable TEXTURE_GEN_S                  Enable TEXTURE_GEN_S
106                  Enable TEXTURE_GEN_T                  Enable TEXTURE_GEN_T
107    
# Line 96  class BlurScene: Line 109  class BlurScene:
109                  BindTexture TEXTURE_2D %(tex)s                  BindTexture TEXTURE_2D %(tex)s
110                  Enable TEXTURE_2D                  Enable TEXTURE_2D
111                  TexGen S TEXTURE_GEN_MODE OBJECT_LINEAR                  TexGen S TEXTURE_GEN_MODE OBJECT_LINEAR
112                  TexGen S OBJECT_PLANE 1 0 0 -300.005                  TexGen S OBJECT_PLANE 1 0 0 -0.005
113                  TexGen T TEXTURE_GEN_MODE OBJECT_LINEAR                  TexGen T TEXTURE_GEN_MODE OBJECT_LINEAR
114                  TexGen T OBJECT_PLANE 0 1 0 -300.005                  TexGen T OBJECT_PLANE 0 -1 0 -0.005
115                  Enable TEXTURE_GEN_S                  Enable TEXTURE_GEN_S
116                  Enable TEXTURE_GEN_T                  Enable TEXTURE_GEN_T
117    
118                  TexEnv TEXTURE_ENV TEXTURE_ENV_MODE MODULATE                  TexEnv TEXTURE_ENV TEXTURE_ENV_MODE MODULATE
119        
120                    Enable ALPHA_TEST
121                    Disable BLEND
122                    Disable DEPTH_TEST
123                    AlphaFunc GREATER 0
124    
125                  ActiveTexture TEXTURE0                  ActiveTexture TEXTURE0
126    
# Line 110  class BlurScene: Line 128  class BlurScene:
128                  CombinerParameterNV NUM_GENERAL_COMBINERS_NV 2                  CombinerParameterNV NUM_GENERAL_COMBINERS_NV 2
129    
130                  # Calculate Tex0 - Tex1                  # Calculate Tex0 - Tex1
131                  CI0 RGB A TEXTURE0 UNSIGNED_IDENTITY_NV RGB                  CI0 RGB A TEXTURE0 UNSIGNED_IDENTITY_NV ALPHA
132                  CI0 RGB B ZERO UNSIGNED_INVERT_NV RGB                  CI0 RGB B ZERO UNSIGNED_INVERT_NV RGB
133                  CI0 RGB C TEXTURE1 UNSIGNED_IDENTITY_NV RGB                  CI0 RGB C TEXTURE1 UNSIGNED_IDENTITY_NV ALPHA
134                  CI0 RGB D ZERO EXPAND_NORMAL_NV RGB                  CI0 RGB D ZERO EXPAND_NORMAL_NV RGB
135                  CO0 RGB DISCARD_NV DISCARD_NV SPARE0_NV SCALE_BY_FOUR_NV NONE FALSE FALSE FALSE                  CO0 RGB DISCARD_NV DISCARD_NV SPARE0_NV SCALE_BY_FOUR_NV NONE FALSE FALSE FALSE
136    
# Line 120  class BlurScene: Line 138  class BlurScene:
138                  CI1 RGB B SPARE0_NV SIGNED_IDENTITY_NV RGB                  CI1 RGB B SPARE0_NV SIGNED_IDENTITY_NV RGB
139                  CO1 RGB SPARE0_NV DISCARD_NV DISCARD_NV SCALE_BY_FOUR_NV NONE TRUE FALSE FALSE                  CO1 RGB SPARE0_NV DISCARD_NV DISCARD_NV SCALE_BY_FOUR_NV NONE TRUE FALSE FALSE
140    
141                  FCI A SPARE0_NV UNSIGNED_IDENTITY_NV RGB                  # FCI A SPARE0_NV UNSIGNED_IDENTITY_NV RGB
142                    FCI A ZERO UNSIGNED_IDENTITY_NV RGB
143                  FCI B ZERO UNSIGNED_INVERT_NV RGB                  FCI B ZERO UNSIGNED_INVERT_NV RGB
144                  FCI C ZERO UNSIGNED_IDENTITY_NV RGB                  FCI C ZERO UNSIGNED_IDENTITY_NV RGB
145                  FCI D ZERO UNSIGNED_IDENTITY_NV RGB                  FCI D ZERO UNSIGNED_IDENTITY_NV RGB
146    
147                    FCI G SPARE0_NV UNSIGNED_IDENTITY_NV BLUE
148    
149              """ % {              """ % {
150                  "tex" : self.tex.getTexId()                  "tex" : self.tex.getTexId()
151              })))              })))

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

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