[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ff-cvs] fenfire ./Makefile org/fenfire/spanimages/gl/De...
From: |
Tuomas J. Lukka |
Subject: |
[ff-cvs] fenfire ./Makefile org/fenfire/spanimages/gl/De... |
Date: |
Fri, 17 Oct 2003 05:25:34 -0400 |
CVSROOT: /cvsroot/fenfire
Module name: fenfire
Branch:
Changes by: Tuomas J. Lukka <address@hidden> 03/10/17 05:25:34
Modified files:
. : Makefile
org/fenfire/spanimages/gl: DefaultSpanImageFactory.java
PageScrollBlockImager.java
PlainPaperMaker.java PoolManager.java
SingleImage.java papermakers.py
spanimages.test
Added files:
docs/official : tekes-2004.txt
Log message:
Arch sync
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/Makefile.diff?tr1=1.47&tr2=1.48&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/docs/official/tekes-2004.txt?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/DefaultSpanImageFactory.java.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/PageScrollBlockImager.java.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/PlainPaperMaker.java.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/PoolManager.java.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/SingleImage.java.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/papermakers.py.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/spanimages/gl/spanimages.test.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
Patches:
Index: fenfire/Makefile
diff -u fenfire/Makefile:1.47 fenfire/Makefile:1.48
--- fenfire/Makefile:1.47 Mon Oct 6 02:26:12 2003
+++ fenfire/Makefile Fri Oct 17 05:25:31 2003
@@ -14,17 +14,21 @@
LDLIB=LD_LIBRARY_PATH=../libvob/src/jni
-CLASSPATH=../storm-depends/cryptix-jce-provider.jar:./build:../navidoc/CLASSES:../storm/CLASSES:../alph/CLASSES:../libvob/CLASSES:../fenfire-depends/libvob.jar:../fenfire-depends/jython.jar:../fenfire-depends/jena.jar:../fenfire-depends/icu4j.jar:../fenfire-depends/xerces.jar
+FFCLASSPATH=../storm-depends/cryptix-jce-provider.jar:./build:../navidoc/CLASSES:../storm/CLASSES:../alph/CLASSES:../libvob/CLASSES:../fenfire-depends/libvob.jar:../fenfire-depends/jython.jar:../fenfire-depends/jena.jar:../fenfire-depends/icu4j.jar:../fenfire-depends/xerces.jar
-PYTHONPATH=-Dpython.path=../fenfire-depends/jythonlib.jar:../fenfire-depends/jython.jar:../fenfire-depends/pythonlib.jar:.:../libvob:../alph
+PYTHONPATH=-Dpython.path=../fenfire-depends/jythonlib.jar:../fenfire-depends/jython.jar:../fenfire-depends/pythonlib.jar:.:../libvob:../alph
-Dpython.cachedir=$(PWD)/.
JAVA ?= java -Xincgc
+JAVAC ?= javac
+
java:
mkdir -p build
- javac -d build -classpath $(CLASSPATH) `find org -name '*.java'`
+ $(JAVAC) -d build -classpath $(FFCLASSPATH):$(CLASSPATH) `find org
-name '*.java'`
+
+JAVACMD=java -cp $(FFCLASSPATH):$(CLASSPATH) $(PYTHONPATH)
-RUNTEST=$(LDLIB) java -cp $(CLASSPATH) $(PYTHONPATH) org.python.util.jython
org/fenfire/test/test.py
+RUNTEST=$(LDLIB) $(JAVACMD) org.python.util.jython org/fenfire/test/test.py
test:
$(RUNTEST) -Dvob.api=gl $(DBG) $(TEST)
@@ -35,28 +39,28 @@
DEMO?=org/fenfire/demo/buoyoing.py
runjython:
- $(LDLIB) java -cp $(CLASSPATH) $(PYTHONPATH) org.python.util.jython
$(DBG)
+ $(LDLIB) $(JAVACMD) org.python.util.jython $(DBG)
rundemo:
- $(LDLIB) java -cp $(CLASSPATH) $(PYTHONPATH) org.python.util.jython
../libvob/rundemo.py $(DBG) $(DEMO)
+ $(LDLIB) $(JAVACMD) org.python.util.jython ../libvob/rundemo.py $(DBG)
$(DEMO)
BIN?=fenpdf10.py
FILE?=myFenfire/mygraph.rdf
WINDOWSIZE?=1600x1200
run:
- $(LDLIB) java -cp $(CLASSPATH) $(PYTHONPATH) org.python.util.jython
../libvob/rundemo.py -Dfenpdf.file=$(FILE) $(DBG) org/fenfire/bin/$(BIN)
+ $(LDLIB) $(JAVACMD) org.python.util.jython ../libvob/rundemo.py
-Dfenpdf.file=$(FILE) $(DBG) org/fenfire/bin/$(BIN)
run_literature:
- $(LDLIB) $(JAVA) -cp $(CLASSPATH) $(PYTHONPATH) org.python.util.jython
../libvob/rundemo.py -Dfenpdf.pool=../fenfire-priv/
-Dfenpdf.file=../spaces/literature.rdf -Dvob.windowsize=$(WINDOWSIZE) $(DBG)
org/fenfire/bin/$(BIN)
+ $(LDLIB) $(JAVACMD) org.python.util.jython ../libvob/rundemo.py
-Dfenpdf.pool=../fenfire-priv/ -Dfenpdf.file=../spaces/literature.rdf
-Dvob.windowsize=$(WINDOWSIZE) $(DBG) org/fenfire/bin/$(BIN)
run_fenpdfdemo:
- $(LDLIB) java -cp $(CLASSPATH) $(PYTHONPATH) org.python.util.jython
../libvob/rundemo.py -Dfenpdf.file=$(FILE) -Dfenpdf.demo=1 $(DBG)
org/fenfire/bin/$(BIN)
+ $(LDLIB) $(JAVACMD) org.python.util.jython ../libvob/rundemo.py
-Dfenpdf.file=$(FILE) -Dfenpdf.demo=1 $(DBG) org/fenfire/bin/$(BIN)
run_mmdemo:
- $(LDLIB) java -cp $(CLASSPATH) $(PYTHONPATH) org.python.util.jython
../libvob/rundemo.py -Dfenmm.file="../spaces/mmdemo.rdf" $(DBG)
org/fenfire/demo/mm.py
+ $(LDLIB) $(JAVACMD) org.python.util.jython ../libvob/rundemo.py
-Dfenmm.file="../spaces/mmdemo.rdf" $(DBG) org/fenfire/demo/mm.py
run_textmm:
- java -cp $(CLASSPATH) $(PYTHONPATH) -Dfenmm.file="$(FILE)"
org.python.util.jython org/fenfire/fenmm/textmm.py
+ $(JAVACMD) -Dfenmm.file="$(FILE)" org.python.util.jython
org/fenfire/fenmm/textmm.py
VERSION=snapshot-`date -I`
@@ -69,7 +73,7 @@
BENCH=org.fenfire.swamp.bench.graph
bench:
- $(LDLIB) $(JAVA) -cp $(CLASSPATH) $(PYTHONPATH) -Dvob.api=gl
org.python.util.jython ../libvob/runbench.py $(BENCH)
+ $(LDLIB) $(JAVACMD) -Dvob.api=gl org.python.util.jython
../libvob/runbench.py $(BENCH)
copyrighted::
python ../fenfire/metacode/copyrighter.py Fenfire
Index: fenfire/org/fenfire/spanimages/gl/DefaultSpanImageFactory.java
diff -u fenfire/org/fenfire/spanimages/gl/DefaultSpanImageFactory.java:1.10
fenfire/org/fenfire/spanimages/gl/DefaultSpanImageFactory.java:1.11
--- fenfire/org/fenfire/spanimages/gl/DefaultSpanImageFactory.java:1.10 Fri Oct
10 16:40:42 2003
+++ fenfire/org/fenfire/spanimages/gl/DefaultSpanImageFactory.java Fri Oct
17 05:25:33 2003
@@ -70,13 +70,13 @@
s, poolManager);
// x,y texcoords of (1,1) inside texture
- float x1 = singleImage.loader.getMipzipFile().getOrigWidth();
- float y1 = singleImage.loader.getMipzipFile().getOrigHeight();
+ float x1 = singleImage.virtualTexture.mipzipFile.getOrigWidth();
+ float y1 = singleImage.virtualTexture.mipzipFile.getOrigHeight();
Dimension d = superImage.getSize();
- Dimension largest = singleImage.loader.getMipzipFile().
+ Dimension largest = singleImage.virtualTexture.mipzipFile.
getLevelDimension(0);
// Calculate pixels in output per texels in texture
Index: fenfire/org/fenfire/spanimages/gl/PageScrollBlockImager.java
diff -u fenfire/org/fenfire/spanimages/gl/PageScrollBlockImager.java:1.14
fenfire/org/fenfire/spanimages/gl/PageScrollBlockImager.java:1.15
--- fenfire/org/fenfire/spanimages/gl/PageScrollBlockImager.java:1.14 Tue Aug
26 14:50:47 2003
+++ fenfire/org/fenfire/spanimages/gl/PageScrollBlockImager.java Fri Oct
17 05:25:33 2003
@@ -45,12 +45,6 @@
public int RESOLUTION = 160;
public int MAXTEXSIZE = 2048;
- public String filter =
- "TexParameter TEXTURE_2D TEXTURE_MIN_FILTER LINEAR_MIPMAP_LINEAR\n"+
- "TexParameter TEXTURE_2D TEXTURE_MAG_FILTER LINEAR\n"+
- "TexParameter TEXTURE_2D TEXTURE_MAX_ANISOTROPY_EXT 10\n"+
- "";
-
/** A cache of block file names.
* Useful because usually pages of the same file are created
* right next to each other.
@@ -112,10 +106,10 @@
pageFiles.filenames[page],
pageFiles.xreso,
pageFiles.yreso,
- filter,
poolManager
);
} catch(Exception e) {
+ e.printStackTrace();
throw new Error("Couldn't create singleimage! "+e);
}
map.map.put(sb.getID(), singleImage);
Index: fenfire/org/fenfire/spanimages/gl/PlainPaperMaker.java
diff -u fenfire/org/fenfire/spanimages/gl/PlainPaperMaker.java:1.10
fenfire/org/fenfire/spanimages/gl/PlainPaperMaker.java:1.11
--- fenfire/org/fenfire/spanimages/gl/PlainPaperMaker.java:1.10 Mon Aug 25
03:46:52 2003
+++ fenfire/org/fenfire/spanimages/gl/PlainPaperMaker.java Fri Oct 17
05:25:34 2003
@@ -113,7 +113,9 @@
}
if(depends != null)
p.addDepend(depends);
- p.addDepend(img.loader.getTexture());
+
+ int iind = pass.getNIndirectTextureBinds();
+ pass.setNIndirectTextureBinds(iind + n);
buf.append(setup);
@@ -122,9 +124,12 @@
for(int i=0; i<n ; i++) {
buf.append("\nActiveTexture TEXTURE");
buf.append(i + offs);
- buf.append("\nEnable TEXTURE_2D\nBindTexture TEXTURE_2D ");
- buf.append(img.loader.getTexture().getTexId());
- buf.append("\n");
+ buf.append("\nEnable TEXTURE_2D\n");
+
+ pass.putIndirectTextureBind(iind + i,
+ "TEXTURE"+(i+offs),
+ "TEXTURE_2D",
+ img.virtualTexture.indirectTexture);
pass.putNormalTexGen(i + offs, texgen);
}
Index: fenfire/org/fenfire/spanimages/gl/PoolManager.java
diff -u fenfire/org/fenfire/spanimages/gl/PoolManager.java:1.12
fenfire/org/fenfire/spanimages/gl/PoolManager.java:1.13
--- fenfire/org/fenfire/spanimages/gl/PoolManager.java:1.12 Thu Sep 11
13:26:08 2003
+++ fenfire/org/fenfire/spanimages/gl/PoolManager.java Fri Oct 17 05:25:34 2003
@@ -28,6 +28,7 @@
import org.fenfire.spanimages.*;
import org.nongnu.libvob.*;
import org.nongnu.libvob.gl.*;
+import org.nongnu.libvob.gl.virtualtexture.*;
import org.nongnu.libvob.memory.*;
import org.nongnu.libvob.util.ThreadBackground;
import java.util.*;
@@ -37,7 +38,7 @@
private static void p(String s) {
System.out.println("PoolManager: "+s); }
- public int POOLSIZE = 64 * 1024 * 1024;
+ // public int POOLSIZE = 64 * 1024 * 1024;
public float DICELENGTH = 1;
public float DICELENGTH2 = 1;
@@ -47,6 +48,7 @@
Set activeSet = Collections.synchronizedSet(new HashSet());
+
class MySIV extends AbstractVob implements SpanImageVob {
float w, h;
float sx0, sx1;
@@ -77,6 +79,33 @@
}
}
+ IndirectMipzipManager indirectMipzipManager;
+ int[] allocations = new int[] {
+ /*
+ 2, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0
+ */
+
+ 2, 8, 15, 20, 40, 80,
+ 200, 0, 0, 0, 0, 0
+ };
+ VirtualTexture[][] slotContents;
+
+ public PoolManager() {
+ indirectMipzipManager = new NonDeletingIndirectMipzipManager();
+ indirectMipzipManager.init("COMPRESSED_RGB_S3TC_DXT1_EXT",
+ 2048, 2048);
+ indirectMipzipManager.setDefaultTexParameters(new String[] {
+ "TEXTURE_MIN_FILTER", "LINEAR_MIPMAP_LINEAR",
+ "TEXTURE_MAG_FILTER", "LINEAR",
+ "TEXTURE_MAX_ANISOTROPY_EXT", "10"
+ });
+ indirectMipzipManager.setAllocations(allocations);
+ slotContents = new VirtualTexture[allocations.length][];
+ for(int i=0; i<allocations.length; i++)
+ slotContents[i] = new VirtualTexture[allocations[i]];
+ }
+
/** Make a SpanImageVob whose SingleImage's texture allocation will
* be tracked by this object.
* @param i The image
@@ -170,6 +199,33 @@
SingleImage[] actives = (SingleImage[])activeSet.toArray(templ);
if(dbg) p("UpdateAllocs start "+actives.length);
Arrays.sort(actives, sortPriority);
+ int level=0; int ind = 0;
+ for(int i=0; level < slotContents.length &&
+ i<actives.length; i++) {
+ // if(dbg) p("Level 1 "+i+" "+level);
+ slotContents[level][ind] = actives[i].virtualTexture;
+ ind++;
+ while(level < slotContents.length &&
+ ind >= slotContents[level].length) {
+ // if(dbg) p("LevelIn1 "+level);
+ ind = 0;
+ level++;
+ }
+ }
+
+ while(level < slotContents.length) {
+ slotContents[level][ind] = null;
+ ind++;
+ while(level < slotContents.length &&
+ ind >= slotContents[level].length) {
+ ind = 0;
+ level++;
+ }
+ }
+ if(dbg) p("UpdateAllocs finish ");
+ indirectMipzipManager.setSlotContents(slotContents);
+
+ /*
int left = POOLSIZE;
long time = System.currentTimeMillis();
for(int i=0; i<actives.length; i++) {
@@ -206,6 +262,7 @@
activeSet.remove(actives[i]);
}
if(dbg) p("Memory left: "+left);
+ */
}
}
Index: fenfire/org/fenfire/spanimages/gl/SingleImage.java
diff -u fenfire/org/fenfire/spanimages/gl/SingleImage.java:1.12
fenfire/org/fenfire/spanimages/gl/SingleImage.java:1.13
--- fenfire/org/fenfire/spanimages/gl/SingleImage.java:1.12 Mon Aug 25
06:52:13 2003
+++ fenfire/org/fenfire/spanimages/gl/SingleImage.java Fri Oct 17 05:25:34 2003
@@ -27,6 +27,7 @@
package org.fenfire.spanimages.gl;
import java.io.File;
import org.nongnu.libvob.gl.*;
+import org.nongnu.libvob.gl.virtualtexture.*;
import org.nongnu.libvob.memory.*;
/** A single texture image of an imagespan or pageimagespan.
@@ -37,10 +38,10 @@
public static boolean dbg = false;
private static void p(String s) { System.out.println("SingleImage: "+s); }
- public final MipzipLoader loader;
+ public final VirtualTexture virtualTexture;
public final GL.TexAccum accum;
- /** For each mipmap level of loader, the number of pixels
+ /** For each mipmap level of the texture, the number of pixels
* that would be rendered less than optimally.
* These numbers are calculated cumulatively with time, along
* with an exponential decay term.
@@ -85,7 +86,6 @@
String filename,
float xresolution,
float yresolution,
- String filter,
GL.StatsCallback statsCallback
) throws java.io.IOException {
this.scrollBlock = scrollBlock;
@@ -93,8 +93,9 @@
this.xresolution = xresolution;
this.yresolution = yresolution;
- this.loader = new MipzipLoader(new File(filename));
- this.loader.setFilterSettings(filter);
+ this.virtualTexture = new VirtualTexture(
+ new MipzipFile(new File(filename)));
+
if(statsCallback != null)
this.accum = GL.createTexAccum(statsCallback, this);
else
@@ -103,7 +104,8 @@
if(dbg) p("Create single image: "+scrollBlock+" "+page+" "+filename
+" "+xresolution+" "+yresolution+" "+statsCallback);
- this.missingPixels = new double[this.loader.getNLevels()];
+ this.missingPixels = new double[
+ this.virtualTexture.mipzipFile.getNLevels()];
}
public void finalize() {
Index: fenfire/org/fenfire/spanimages/gl/papermakers.py
diff -u fenfire/org/fenfire/spanimages/gl/papermakers.py:1.14
fenfire/org/fenfire/spanimages/gl/papermakers.py:1.15
--- fenfire/org/fenfire/spanimages/gl/papermakers.py:1.14 Sun Sep 14
12:17:23 2003
+++ fenfire/org/fenfire/spanimages/gl/papermakers.py Fri Oct 17 05:25:34 2003
@@ -256,9 +256,12 @@
Enable TEXTURE_2D
Enable BLEND
BlendFunc ZERO SRC_COLOR
- BindTexture TEXTURE_2D %s
TexEnv TEXTURE_ENV TEXTURE_ENV_MODE REPLACE
- """ % img.loader.getTexture().getTexId())
+ """ )
+
+ pas.setNIndirectTextureBinds(1)
+ pas.putIndirectTextureBind(0, "TEXTURE0", "TEXTURE_2D",
img.virtualTexture.indirectTexture)
+
pas.setTeardowncode("""
PopAttrib
BindTexture TEXTURE_2D 0
Index: fenfire/org/fenfire/spanimages/gl/spanimages.test
diff -u fenfire/org/fenfire/spanimages/gl/spanimages.test:1.6
fenfire/org/fenfire/spanimages/gl/spanimages.test:1.7
--- fenfire/org/fenfire/spanimages/gl/spanimages.test:1.6 Tue Jun 24
06:02:33 2003
+++ fenfire/org/fenfire/spanimages/gl/spanimages.test Fri Oct 17 05:25:34 2003
@@ -100,7 +100,7 @@
vs.map.put(spanImageVob, pcs)
- for i in range(0, 10):
+ for i in range(0, 50):
for j in range(0, 20):
# Have to do by hand - no abstractupdatemanager loop
vob.AbstractUpdateManager.tickIdle()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [ff-cvs] fenfire ./Makefile org/fenfire/spanimages/gl/De...,
Tuomas J. Lukka <=