[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz/gfx demo/papertest.py libpaper/papermill.py...
From: |
Janne V. Kujala |
Subject: |
[Gzz-commits] gzz/gfx demo/papertest.py libpaper/papermill.py... |
Date: |
Mon, 07 Oct 2002 08:14:05 -0400 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Janne V. Kujala <address@hidden> 02/10/07 08:14:05
Modified files:
gfx/demo : papertest.py
gfx/libpaper : papermill.py textures.py
Added files:
gfx/libutil : myimport.py
Log message:
Make libpaper into real modules; add gfx.libutil.myimport module for a
reloading import replacement; implement texture caching in
gfx.libpaper.textures module, remaking the texture .bin files if source is
changed
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/papertest.py.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libpaper/papermill.py.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libpaper/textures.py.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/libutil/myimport.py?rev=1.1
Patches:
Index: gzz/gfx/demo/papertest.py
diff -c gzz/gfx/demo/papertest.py:1.34 gzz/gfx/demo/papertest.py:1.35
*** gzz/gfx/demo/papertest.py:1.34 Mon Oct 7 06:15:09 2002
--- gzz/gfx/demo/papertest.py Mon Oct 7 08:14:04 2002
***************
*** 25,31 ****
def ignore(s):
return ""
! execfile("gfx/libpaper/papermill.py")
benchmark = 0
def globalkey(k):
--- 25,33 ----
def ignore(s):
return ""
! import gfx.libpaper.papermill
! from gfx.libpaper.papermill import ThePaperMill
! reload(gfx.libpaper.papermill)
benchmark = 0
def globalkey(k):
Index: gzz/gfx/libpaper/papermill.py
diff -c gzz/gfx/libpaper/papermill.py:1.34 gzz/gfx/libpaper/papermill.py:1.35
*** gzz/gfx/libpaper/papermill.py:1.34 Fri Oct 4 09:18:18 2002
--- gzz/gfx/libpaper/papermill.py Mon Oct 7 08:14:04 2002
***************
*** 1,21 ****
! dbg = 0
! initialized = 0
! import gfx.libpaper.textures
! reload(gfx.libpaper.textures)
from gfx.libpaper.textures import Textures
! import gfx.libpaper.colors
! reload(gfx.libpaper.colors)
from gfx.libpaper.colors import Colors
from gzz.gfx.gl import GL,GLRen,Paper,PaperMill
import java
from java.lang import Math
! def initialize():
! global initialized
! if initialized: return
! initialized = 1
dbg=1
# Discriminate between different renderers.
# These are for debug output only.
--- 1,28 ----
! #initialized = 0
!
! from gfx.libutil.myimport import my_import
! my_import("gfx.libpaper.textures")
from gfx.libpaper.textures import Textures
! my_import("gfx.libpaper.colors")
from gfx.libpaper.colors import Colors
+ my_import("gfx.libpaper.texcoords")
+ from gfx.libpaper.texcoords import TexGenXYRepeatUnit
+
+ my_import("gfx.libpaper.params")
+ from gfx.libpaper.params import *
+
from gzz.gfx.gl import GL,GLRen,Paper,PaperMill
import java
from java.lang import Math
!
! #def initialize():
! if 1:
! #global initialized
! #if initialized: return
! #initialized = 1
dbg=1
# Discriminate between different renderers.
# These are for debug output only.
***************
*** 28,36 ****
# The backend files to load
files = [
#"textures.py",
! "texcoords.py",
#"colors.py",
! "params.py"
]
#
--- 35,43 ----
# The backend files to load
files = [
#"textures.py",
! #"texcoords.py",
#"colors.py",
! #"params.py"
]
#
***************
*** 43,54 ****
# XXX Should check separately for texture_shader2,
# otherwise it'll be SLOW.
if dbg: print "Using NV20 texture shaders"
! files.append("texops_NV2X.py")
! #from gfx.libpaper.texops_NV2X import *
else:
if dbg: print "Using unextended OpenGL texture accesses"
! files.append("texops_STD.py")
! #from gfx.libpaper.texops_STD import *
# Check which combiners to use.
--- 50,64 ----
# XXX Should check separately for texture_shader2,
# otherwise it'll be SLOW.
if dbg: print "Using NV20 texture shaders"
! #files.append("texops_NV2X.py")
! my_import("gfx.libpaper.texops_NV2X")
! from gfx.libpaper.texops_NV2X import *
!
else:
if dbg: print "Using unextended OpenGL texture accesses"
! #files.append("texops_STD.py")
! my_import("gfx.libpaper.texops_STD")
! from gfx.libpaper.texops_STD import *
# Check which combiners to use.
***************
*** 59,69 ****
if maxcomb < 4:
# use NV10 version
if dbg: print "Using NV10 combiners ",maxcomb
! files.append("texcomb_NV1X.py")
else:
# use NV20 version
if dbg: print "Using NV20 combiners ",maxcomb
! files.append("texcomb_NV2X.py")
else:
assert 0, "Sorry, can't do without NVIDIA register combiners yet."
--- 69,83 ----
if maxcomb < 4:
# use NV10 version
if dbg: print "Using NV10 combiners ",maxcomb
! #files.append("texcomb_NV1X.py")
! my_import("gfx.libpaper.texcomb_NV1X")
! from gfx.libpaper.texcomb_NV1X import *
else:
# use NV20 version
if dbg: print "Using NV20 combiners ",maxcomb
! #files.append("texcomb_NV2X.py")
! my_import("gfx.libpaper.texcomb_NV2X")
! from gfx.libpaper.texcomb_NV2X import *
else:
assert 0, "Sorry, can't do without NVIDIA register combiners yet."
***************
*** 71,76 ****
--- 85,92 ----
print "Load file ",f
execfile("gfx/libpaper/"+f, globals())
+ dbg = 0
+
def randvec(rnd): return [rnd.nextDouble() for i in range(0,3)]
def randunitvec(rnd):
***************
*** 112,118 ****
pas.setTeardowncode("PopAttrib")
class ThePaperMill(PaperMill):
! initialize()
def getPaper(self, seed, passmask=[1,1,1,1,1,1,1]):
reg = Registry()
--- 128,134 ----
pas.setTeardowncode("PopAttrib")
class ThePaperMill(PaperMill):
! #initialize()
def getPaper(self, seed, passmask=[1,1,1,1,1,1,1]):
reg = Registry()
Index: gzz/gfx/libpaper/textures.py
diff -c gzz/gfx/libpaper/textures.py:1.12 gzz/gfx/libpaper/textures.py:1.13
*** gzz/gfx/libpaper/textures.py:1.12 Fri Oct 4 09:18:18 2002
--- gzz/gfx/libpaper/textures.py Mon Oct 7 08:14:04 2002
***************
*** 18,30 ****
ptextures = {}
class NamedTexture:
def __init__(self, name, args):
print "Generating texture: ",name, args
! self.texture = GL.createTexture()
! res = self.texture.shade(*args)
self.name = name
- print "SHADER: ", res, self.texture.getTexId()
def getTexId(self):
return self.texture.getTexId()
def getName(self):
--- 18,65 ----
ptextures = {}
+ import os
+ from gfx.libutil.myimport import get_file_ctime
+
+ if "texcache" not in globals().keys():
+ texcache = {}
+
+ def getCachedTexture(args):
+ global texcache
+
+ name = args[6]
+ file = "gfx/libtexture/" + name
+ binfile = file + ".bin"
+ srcfile = file + ".texture"
+
+ bintime = get_file_ctime(binfile)
+ srctime = get_file_ctime(srcfile)
+ print binfile,bintime,srcfile,srctime
+ if srctime > bintime:
+ os.system("make -C gfx/libtexture " + name + ".bin")
+ bintime = get_file_ctime(binfile)
+
+ key = (name, tuple(args[0:7]), tuple(args[7]))
+ if texcache.has_key(key) and texcache[(key,"ctime")] == srctime:
+ print "Returning cached texture"
+ return texcache[key]
+
+ tex = GL.createTexture()
+ res = tex.shade(*args)
+ texcache[key] = tex
+ texcache[(key,"ctime")] = srctime
+ print "SHADER: ", res, tex.getTexId()
+ return tex
+
+
class NamedTexture:
def __init__(self, name, args):
print "Generating texture: ",name, args
! #self.texture = GL.createTexture()
! #res = self.texture.shade(*args)
! #print "SHADER: ", res, self.texture.getTexId()
! self.texture = getCachedTexture(args)
self.name = name
def getTexId(self):
return self.texture.getTexId()
def getName(self):
- [Gzz-commits] gzz/gfx demo/papertest.py libpaper/papermill.py...,
Janne V. Kujala <=