gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz ./TODO Documentation/FAQ gzz/gfx/gl/GLSpann...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz ./TODO Documentation/FAQ gzz/gfx/gl/GLSpann...
Date: Mon, 27 Jan 2003 06:35:44 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        03/01/27 06:35:44

Modified files:
        .              : TODO 
        Documentation  : FAQ 
        gzz/gfx/gl     : GLSpanner.java PaperMill.java 
        gzz/view       : xubuoy.py 
Added files:
        gzz/gfx/gl     : PageSpanPaper.java 
        test/gzz/gfx/gl: b_01ACE8A2E202A26072012715A94A270CD012F9B0F2 
                         pagespanpaper.test 

Log message:
        Start work on cleaning xupdf

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/TODO.diff?tr1=1.536&tr2=1.537&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Documentation/FAQ.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/PageSpanPaper.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/GLSpanner.java.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/gfx/gl/PaperMill.java.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/xubuoy.py.diff?tr1=1.44&tr2=1.45&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/test/gzz/gfx/gl/b_01ACE8A2E202A26072012715A94A270CD012F9B0F2?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/test/gzz/gfx/gl/pagespanpaper.test?rev=1.1

Patches:
Index: gzz/Documentation/FAQ
diff -u gzz/Documentation/FAQ:1.10 gzz/Documentation/FAQ:1.11
--- gzz/Documentation/FAQ:1.10  Sun Jan 26 16:25:58 2003
+++ gzz/Documentation/FAQ       Mon Jan 27 06:35:43 2003
@@ -1,5 +1,5 @@
 Frequently Asked Questions about Gzz, with answers.
-$Id: FAQ,v 1.10 2003/01/26 21:25:58 tjl Exp $
+$Id: FAQ,v 1.11 2003/01/27 11:35:43 tjl Exp $
 
 All trademarks are the trademarks of their respective owners.
 
@@ -232,33 +232,64 @@
 Section IV: Questions specific to using OpenGL with the Java version
 
 -----
-1. What video card should I get?
+1. Isn't it a downside not to use pure Java? Can you run the OpenGL version
+on any non-Linux operating systems? Why not java3d?
+
+There are several answers here.
+
+a) OpenGL and GLX are standard APIs, and the same code should run unchanged
+on Solaris, IRIX, etc.  Additionally, we have been careful to separate the
+OS-dependent parts into one C++ file, which can easily be ported; I'd estimate
+a week or two of work by a programmer experienced on using OpenGL on
+the platform being ported to.
+
+So the portability is only marginally affected
+
+b) Yes, it is a downside, but the benefits outweigh the costs:
+we really want the advanced properties the OpenGL for freeer visualizations.
+Java2D would only be a stopgap measure and has no *efficient* Linux 
implementations.
+
+c) Java3D is proprietary; there are no free implementations. We want our
+software to run on a purely free software platform for ideological
+reasons. Yes, we know NVIDIA's drivers are proprietary; however, for most
+OpenGL extensions there are free implementations.
+
+-----
+2. What video card should I get?
 
 Currently, the recommended cards (on Linux) are as follows
 (note, this is just personal opinions; not all the cards below have been 
 tested and, as usual, we guarantee *nothing*)
 
+Currently, the best option is GeForce4 Ti.
+
 ATI:
     - R300: Radeon 9500, 9500PRO, 9700, 9700PRO: GOOD FEATURES, SHAKY DRIVERS.
-      ATI turned the tables in fall 2002 by releasing a texture
-      shading linux driver.
 
-      These boards excellent with the fragment program
-      support. Gzz still has some problems but these will 
-      likely be resolved soon since active work is being done
-      in the area.
-      
-      Also, the drivers still somewhat unstable but we're 
-      working around that. See GL.workaroundStupidBuggyAtiDrivers
-      for a list of bugs.
+         ATI turned the tables in fall 2002 by releasing a texture
+         shading linux driver.
+
+         These boards excellent with the fragment program
+         support. Gzz still has some problems but these will 
+         likely be resolved soon since active work is being done
+         in the area.
+
+         Also, the drivers still somewhat unstable but we're 
+         working around the bugs as hard as we can.. See 
+         the variable GL.workaroundStupidBuggyAtiDrivers
+         for a list of bugs.
+
+         There are some bugs we can't work around which will cause
+         significant performance degradation in important applications
+         (e.g. xupdf)
 
     - R100, R200: Radeon 7500, 8500, 9000, 9100: AVOID
 
-       - ATI did not have proper Linux drivers with texture 
+         ATI did not have proper Linux drivers with texture 
          shading support out during the reign of these cards. Therefore,
          we did not buy any and have not developed support for the
          ATI_fragment_shader extension, and you will get very suboptimal
-         results with these.
+         results with these; just base OpenGL support.
 
          If you are into programming and own one of these cards,
          it should not be too difficult to rectify the situation;
@@ -269,9 +300,10 @@
 NVIDIA:
     - NV20: GeForce4 Ti, GeForce3, GeForce3 Ti, GeForce4 Go 4200: RECOMMENDED
 
-       - NVIDIA drivers are good and we put their register combiners
+         NVIDIA drivers are good and we put their register combiners
          extensions to active use in Gzz. Libpaper uses texture shading
-         on NV20, and we are working on vertex programs.
+         on NV20, and we are working on vertex programs. The texture shading
+         pipeline is slightly restrictive but reasonable.
 
     - NV10: GeForce2 Ti, GeForce2 MX, GeForce4 MX, GeForce4 Go 460: PASSABLE
       
@@ -296,7 +328,7 @@
       the graphics MUCH better, but is not absolutely required..
     
 ---
-2. I'm a video card / input device / ... manufacturer. How can I get my
+3. I'm a video card / input device / ... manufacturer. How can I get my
 hardware better supported?
 
 Well, as usual, no guarantees, but if you donate us cool hardware with
@@ -308,7 +340,7 @@
 9900?), it would probably be fully supported in days.
 
 ---
-3. Why are fragment programs (texture shading) so important for Gzz?
+4. Why are fragment programs (texture shading) so important for Gzz?
 
 They allow detailed control of the output, pixel by pixel, at amazing
 speeds.  For instance, rendering unique backgrounds using libpaper stops
@@ -321,4 +353,15 @@
 Quite simply, this is where a lot of our visual experimentation will be
 happening in the near future. Be there or be square ;)
 
+---
+5. Isn't the variable name "GL.workaroundStupidBuggyAtiDrivers" a bit
+unprofessional?
+
+So are their drivers :(
+
+For instance, advertising the opengl compressed extension and not
+implementing the entry point glCompressedTexImage2DARB is pretty bad.
+
+I will change the name once I see them fixing some of the most 
+glaring problems.
 
Index: gzz/TODO
diff -u gzz/TODO:1.536 gzz/TODO:1.537
--- gzz/TODO:1.536      Sun Jan 26 16:25:57 2003
+++ gzz/TODO    Mon Jan 27 06:35:43 2003
@@ -271,14 +271,12 @@
          color really is right)
     tjl:
        - implement uncompressed mipzips for R300. BLECHHH!!!!
-       - implement "motion-sensitive" vobs:
-         GL renderables that run if used in motion, or in static frame.
-         For instance, texture filtering should be adjusted: when in motion,
-         some blur not only acceptable but *desirable*, whereas then not 
moving,
-         text should be as sharp as possible.
-           - implement "needInterp"
        - make demo start screen size adjustable by environment vars
        - xupdf: distorted multi-page PDF view with xu links
+           - clean the code: split PageSpanPaper &c.
+           - adjustable zoom / distortion area by mouse
+               - important for letting user feel in control!
+           - start fixing geometry
            - buoy circle -> ellipse
            - repaint first the existing vobscene!!
            - change memorypartitioner focus scale:  0..1 is not good,
@@ -291,7 +289,6 @@
            - multiple instances of same cell visible as a buoy --> keys?
                - special matcher? or pp/VobKeyer?
                - really USE hierarchical keys
-           + adjustable zoom / distortion area by mouse
            + joystick?
            - use off-screen buffer for libpaper r2t
            - use background loading for paper textures
@@ -307,6 +304,12 @@
        - fillet demo
            + fix last two screens
            - add new libfillet code
+       - implement "motion-sensitive" vobs:
+         GL renderables that run if used in motion, or in static frame.
+         For instance, texture filtering should be adjusted: when in motion,
+         some blur not only acceptable but *desirable*, whereas then not 
moving,
+         text should be as sharp as possible.
+           - implement "needInterp"
        - proper UpdateManager -- gfxapi interface PEG
        + CoordSys::DistordCoords::canPerformGL() returns false.
           Define action (=complain in stderr?) when trying to use
Index: gzz/gzz/gfx/gl/GLSpanner.java
diff -u gzz/gzz/gfx/gl/GLSpanner.java:1.6 gzz/gzz/gfx/gl/GLSpanner.java:1.7
--- gzz/gzz/gfx/gl/GLSpanner.java:1.6   Fri Jan 24 04:09:30 2003
+++ gzz/gzz/gfx/gl/GLSpanner.java       Mon Jan 27 06:35:43 2003
@@ -39,7 +39,7 @@
        }
     }
 
-    private static class SpanPage {
+    public static class SpanPage {
        /** The consumer inside which this page is loaded.
         */
        private MipzipMemoryConsumer consumer;
@@ -51,12 +51,12 @@
 
        /** The width and height in pagespan units of the real page.
         */
-       int w, h;
+       public final int w, h;
 
-       float getX(int spx) {
+       float getX(float spx) {
            return spx / (float)w * x1;
        }
-       float getY(int spy) {
+       float getY(float spy) {
            return spy / (float)h * y1;
        }
 
Index: gzz/gzz/gfx/gl/PaperMill.java
diff -u gzz/gzz/gfx/gl/PaperMill.java:1.6 gzz/gzz/gfx/gl/PaperMill.java:1.7
--- gzz/gzz/gfx/gl/PaperMill.java:1.6   Wed Oct 23 09:45:37 2002
+++ gzz/gzz/gfx/gl/PaperMill.java       Mon Jan 27 06:35:43 2003
@@ -26,7 +26,21 @@
 import org.python.util.PythonInterpreter;
 
 public abstract class PaperMill {
+
+    /** Get the paper corresponding to the given seed.
+     */
     public abstract Paper getPaper(int seed);
+
+    /** Get an optimized (rendered-to-texture) paper.
+     * This will usually return a paper with a single
+     * pass and single 
+     * texture, in which case you can set the texture environment
+     * (or fragment program) and add other papers.
+     * <p>
+     * HOWEVER, this does not work on ATI drivers; so it is not
+     * guaranteed that the paper will be like that. Check it first.
+     * @see GL.workaroundStupidBuggyAtiDrivers
+     */
     public Paper getOptimizedPaper(int seed, GraphicsAPI.Window w) {
        return getPaper(seed);
     }
Index: gzz/gzz/view/xubuoy.py
diff -u gzz/gzz/view/xubuoy.py:1.44 gzz/gzz/view/xubuoy.py:1.45
--- gzz/gzz/view/xubuoy.py:1.44 Fri Jan 24 04:09:30 2003
+++ gzz/gzz/view/xubuoy.py      Mon Jan 27 06:35:43 2003
@@ -56,7 +56,7 @@
 filters = ["""
     TexParameter TEXTURE_2D TEXTURE_MIN_FILTER LINEAR_MIPMAP_LINEAR
     TexParameter TEXTURE_2D TEXTURE_MAG_FILTER LINEAR
-    TexParameter TEXTURE_2D TEXTURE_MAX_ANISOTROPY_EXT 10
+    TexParameter TEXTURE_2D TEXTURE_MAX_ANISOTROPY_EXT 20
 """,
 """
     TexParameter TEXTURE_2D TEXTURE_MIN_FILTER LINEAR_MIPMAP_LINEAR




reply via email to

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