/[gzz]/gzz/gfx/util/anim.py
ViewVC logotype

Diff of /gzz/gfx/util/anim.py

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

revision 1.1 by tjl, Sun Dec 8 12:15:57 2002 UTC revision 1.2 by tjl, Tue Dec 10 12:45:52 2002 UTC
# Line 1  Line 1 
1  #(c): Tuomas J. Lukka  #(c): Tuomas J. Lukka
2    
3  # A GL animation framework  # A GL animation framework
4    #
5    # To be run as main, with cmd-line param
6    
7  from __future__ import nested_scopes  from __future__ import nested_scopes
8    
9  import sys  import sys
10  from java.lang import System,Runnable  from java.lang import System,Runnable
11  from gzz.client import AbstractBinder, AbstractShower, AbstractUpdateManager, GraphicsAPI, Screen  from gzz.client import AbstractBinder, AbstractShower, AbstractUpdateManager, GraphicsAPI, Screen
12    from gzz.gfx.gl import GL, GLRen
13  from gfx.util import reload as reloadmod  from gfx.util import reload as reloadmod
14    from gfx.util import misc
15  import gzz  import gzz
16  import getopt  import getopt
17  import traceback  import traceback
18    
19    animSize = (400, 300)
20    
21  System.setProperty("gzzclient", "gl")  System.setProperty("gzzclient", "gl")
22    
23  print "ARGV:",sys.argv  print "ARGV:",sys.argv
# Line 74  def loadAnim(): Line 80  def loadAnim():
80      if 1:      if 1:
81          reloadmod.reloadModules()          reloadmod.reloadModules()
82      dict = {}      dict = {}
83      dict["film"] = Film(w)      dict["film"] = Film(rs)
84      try:      try:
85          exec open(animfile) in dict, dict          exec open(animfile) in dict, dict
86          print dict          print dict
# Line 99  class Bindings(AbstractBinder): Line 105  class Bindings(AbstractBinder):
105          AbstractUpdateManager.chg()          AbstractUpdateManager.chg()
106  class Show(AbstractShower):  class Show(AbstractShower):
107      def generate(self):      def generate(self):
108          film.renderFrame(w, frameno)          film.renderFrame(rs, frameno)
109                    print "1"
110            rsbuf.readFromBuffer(rs.getRenderingSurface(),
111                        "FRONT", 0, 0, animSize[0], animSize[1],
112                            "RGB", "UNSIGNED_BYTE")
113            print "2"
114            vs = w.createVobScene()
115            vs.map.put(misc.background((0, 0, 0.2)))
116            cs = vs.translateCS(0, "tr", 300, 300) # 0, animSize[1]-1)
117            vs.map.put(
118                misc.getDListNocoords("""
119                    Color 1 1 1 1
120                """)
121            )
122            vs.map.put(
123                GLRen.createDrawPixels(
124                    animSize[0], animSize[1],
125                    "RGB", "UNSIGNED_BYTE", rsbuf),
126                    cs)
127            # rsbuf.drawPixels(w.getRenderingSurface(),
128            #               0, 0, 0, animSize[0], animSize[1],
129            #               "RGB", "UNSIGNED_BYTE")
130            print "3"
131            return vs
132    
133  class Main(Runnable):  class Main(Runnable):
134      def run(self):      def run(self):
135          b,s = (Bindings(), Show())          b,s = (Bindings(), Show())
136          global w          global w
137          global rs          global rs, rsbuf
138          w = gfxapi.createWindow()          w = gfxapi.createWindow()
139          w.setLocation(0,0,1024,768)          w.setLocation(0,0,800,600)
140            if 1:
141                rs = gfxapi.createStableOffscreen(*animSize)
142            else:
143                rs = gfxapi.createWindow()
144                rs.setLocation(0,600,animSize[0],animSize[1])
145            rsbuf = GL.createByteVector(animSize[0] * animSize[1] * 3)
146          loadAnim()          loadAnim()
147          scr = Screen(w, b, s)          scr = Screen(w, b, s)
148          AbstractUpdateManager.addWindow(scr)          AbstractUpdateManager.addWindow(scr)

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

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