[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz gfx/demo/buoyoing.py gzz/gfx/gl/PageSpanPap...
From: |
Tuomas J. Lukka |
Subject: |
[Gzz-commits] gzz gfx/demo/buoyoing.py gzz/gfx/gl/PageSpanPap... |
Date: |
Mon, 10 Feb 2003 13:30:15 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Tuomas J. Lukka <address@hidden> 03/02/10 13:30:15
Modified files:
gfx/demo : buoyoing.py
gzz/gfx/gl : PageSpanPaper.java PaperMill.java
gzz/view : PageSpanCellView.java
test/gzz/gfx/gl: pagespanpaper.test
Added files:
gzz/gfx/gl : CachingPaperMill.java
Log message:
Solving the fillrate problem: 1. getting papermill to PageSpanPaper, 2.
Caching of papers
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gfx/demo/buoyoing.py.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/CachingPaperMill.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/PageSpanPaper.java.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/PaperMill.java.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/PageSpanCellView.java.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/test/gzz/gfx/gl/pagespanpaper.test.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
Patches:
Index: gzz/gfx/demo/buoyoing.py
diff -u gzz/gfx/demo/buoyoing.py:1.8 gzz/gfx/demo/buoyoing.py:1.9
--- gzz/gfx/demo/buoyoing.py:1.8 Mon Feb 10 05:09:27 2003
+++ gzz/gfx/demo/buoyoing.py Mon Feb 10 13:30:13 2003
@@ -20,6 +20,9 @@
buoymanager.replaceNewScene = replaceNewScene
+gzz.gfx.gl.PageSpanPaper.paperMill = gzz.gfx.gl.PaperMill.getInstance()
+gzz.gfx.gl.PageSpanPaper.paperMillWindow = w
+
xulinks = 1
# Create a space
Index: gzz/gzz/gfx/gl/PageSpanPaper.java
diff -u gzz/gzz/gfx/gl/PageSpanPaper.java:1.8
gzz/gzz/gfx/gl/PageSpanPaper.java:1.9
--- gzz/gzz/gfx/gl/PageSpanPaper.java:1.8 Tue Feb 4 08:47:54 2003
+++ gzz/gzz/gfx/gl/PageSpanPaper.java Mon Feb 10 13:30:14 2003
@@ -10,6 +10,9 @@
public static boolean dbg = false;
private static void pa(String s) { System.out.println(s); }
+ public static gzz.gfx.gl.PaperMill paperMill;
+ public static gzz.client.GraphicsAPI.RenderingSurface paperMillWindow;
+
/** The page is in the range (0,0)..(w,h) in paper coordinates.
*/
public final float w, h;
@@ -23,7 +26,6 @@
return h * p.getY(fullPageY) / p.y1;
}
- Object identity;
GLSpanner.SpanPage p;
Paper bg;
@@ -75,6 +77,8 @@
public static String teardown = null;
+ int paperSeed;
+
/** Add a pass where the current page image is the only thing.
*/
private void addPaperPass(Paper p, String setup) {
@@ -89,7 +93,12 @@
}
public Paper getPaper(boolean withBackground) {
- if(withBackground && bg != null) {
+ if(withBackground) {
+ if(bg == null) {
+ if(paperMill == null)
+ throw new Error("Trying to use bg without papermill");
+ bg = paperMill.getOptimizedPaper(paperSeed, paperMillWindow);
+ }
if(bgPaper == null) {
bgPaper = (Paper)bg.clone();
// Check if we have a single pass and single texture
@@ -128,15 +137,14 @@
p.getTexture(importance, pixels);
}
- public PageSpanPaper(Paper background, GLSpanner.SpanPage p) {
+ public PageSpanPaper(GLSpanner.SpanPage p, int paperSeed) {
if(filter == null) {
PythonInterpreter jython = new PythonInterpreter();
jython.execfile("gzz/gfx/gl/pagespanpaper.py");
jython.cleanup();
}
- this.bg = background;
- this.identity = identity;
this.p = p;
+ this.paperSeed = paperSeed;
this.w = p.w / 72.0f / 6;
this.h = p.h / 72.0f / 6;
Index: gzz/gzz/gfx/gl/PaperMill.java
diff -u gzz/gzz/gfx/gl/PaperMill.java:1.7 gzz/gzz/gfx/gl/PaperMill.java:1.8
--- gzz/gzz/gfx/gl/PaperMill.java:1.7 Mon Jan 27 06:35:43 2003
+++ gzz/gzz/gfx/gl/PaperMill.java Mon Feb 10 13:30:14 2003
@@ -41,7 +41,7 @@
* guaranteed that the paper will be like that. Check it first.
* @see GL.workaroundStupidBuggyAtiDrivers
*/
- public Paper getOptimizedPaper(int seed, GraphicsAPI.Window w) {
+ public Paper getOptimizedPaper(int seed, GraphicsAPI.RenderingSurface w) {
return getPaper(seed);
}
@@ -54,6 +54,8 @@
"papermillInstance = ThePaperMill()\n");
instance = (PaperMill)(jython.get("papermillInstance",
PaperMill.class));
+
+ instance = new CachingPaperMill(instance, 40);
}
return instance;
}
Index: gzz/gzz/view/PageSpanCellView.java
diff -u gzz/gzz/view/PageSpanCellView.java:1.14
gzz/gzz/view/PageSpanCellView.java:1.15
--- gzz/gzz/view/PageSpanCellView.java:1.14 Thu Feb 6 07:27:59 2003
+++ gzz/gzz/view/PageSpanCellView.java Mon Feb 10 13:30:14 2003
@@ -65,7 +65,8 @@
private void page(int p, PageSpan sp) {
pages[p] = sp;
GLSpanner.SpanRect rect = GLSpanner.getSpanRect(pages[p]);
- psps[p] = new PageSpanPaper(null, rect.page);
+ psps[p] = new PageSpanPaper(rect.page,
+ sp.getScrollBlock().hashCode());
Point l_p = pages[p].getLocation();
Dimension d_p = pages[p].getSize();
Index: gzz/test/gzz/gfx/gl/pagespanpaper.test
diff -u gzz/test/gzz/gfx/gl/pagespanpaper.test:1.7
gzz/test/gzz/gfx/gl/pagespanpaper.test:1.8
--- gzz/test/gzz/gfx/gl/pagespanpaper.test:1.7 Tue Feb 4 06:35:44 2003
+++ gzz/test/gzz/gfx/gl/pagespanpaper.test Mon Feb 10 13:30:15 2003
@@ -10,6 +10,9 @@
from test.tools.gfx import *
+gzz.gfx.gl.PageSpanPaper.paperMill = gzz.gfx.gl.PaperMill.getInstance()
+gzz.gfx.gl.PageSpanPaper.paperMillWindow = win
+
id = "01ACE8A2E202A26072012715A94A270CD012F9B0F2"
sc = gzz.media.impl.PageImageScroll(None, gzz.mediaserver.Mediaserver.Id(id))
@@ -52,10 +55,10 @@
def checkBlank():
checkAvgColor(100, 100, 3, 20, (255, 255, 255))
-def checkPaper(bgpaper, blank):
+def checkPaper(blank):
pagespan = GLSpanner.getSpanRect(sc.getCurrent()).page
- p = PageSpanPaper(bgpaper, pagespan)
+ p = PageSpanPaper(pagespan, 42)
pap = p.getPaper(not blank)
@@ -92,25 +95,5 @@
"""Test that the image gets loaded correctly from GLSpanner.
"""
- checkPaper(None, 1)
-
-def testUnoptimized():
- """Test that rendering the paper on top of fancy unoptimized
- paper works.
-
- """
-
- checkPaper(PaperMill.getInstance().getPaper(42), 1)
- checkPaper(PaperMill.getInstance().getPaper(42), 0)
-
-def testOptimized():
- """Test that rendering the paper on top of fancy optimized
- paper works.
-
- """
-
- checkPaper(PaperMill.getInstance().getOptimizedPaper(43, win), 1)
- checkPaper(PaperMill.getInstance().getOptimizedPaper(43, win), 0)
-
-
-# : vim: set syntax=python :
+ checkPaper(0)
+ checkPaper(1)
- [Gzz-commits] gzz gfx/demo/buoyoing.py gzz/gfx/gl/PageSpanPap...,
Tuomas J. Lukka <=