gzz-commits
[Top][All Lists]
Advanced

[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)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]