/[gzz]/gzz/gzz/gfx/gl/PageSpanPaper.java
ViewVC logotype

Diff of /gzz/gzz/gfx/gl/PageSpanPaper.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.11 by tjl, Fri Feb 21 20:02:38 2003 UTC revision 1.12 by jvk, Sun Mar 2 13:49:31 2003 UTC
# Line 57  public class PageSpanPaper { Line 57  public class PageSpanPaper {
57      Paper bg;      Paper bg;
58    
59      Paper bgPaper;      Paper bgPaper;
60        Paper bgHaloPaper;
61      Paper noBgPaper;      Paper noBgPaper;
62    
63      /** Return callgl code to bind this page's texture      /** Return callgl code to bind this page's texture
# Line 101  public class PageSpanPaper { Line 102  public class PageSpanPaper {
102       */       */
103      public static String setupDualPass = null;      public static String setupDualPass = null;
104    
105        /** Set up code for being the extra pass.
106         * Take the value from texunit 0 and blend on top of it halo of texunit 1.
107         */
108        public static String setupHaloDualPass = null;
109    
110        public static boolean withHalo = false;
111    
112      public static String teardown = null;      public static String teardown = null;
113    
114      int paperSeed;      int paperSeed;
# Line 125  public class PageSpanPaper { Line 133  public class PageSpanPaper {
133                      throw new Error("Trying to use bg without papermill");                      throw new Error("Trying to use bg without papermill");
134                  bg = paperMill.getOptimizedPaper(paperSeed, paperMillWindow);                  bg = paperMill.getOptimizedPaper(paperSeed, paperMillWindow);
135              }              }
136              if(bgPaper == null) {              if(withHalo) {
137                  bgPaper = (Paper)bg.clone();                  if (bgHaloPaper == null) {
138                  // Check if we have a single pass and single texture                      bgHaloPaper = (Paper)bg.clone();
139                  // If yes, *assume*!!! that the right thing                      if(bgHaloPaper.getNPasses() == 1 &&
140                  // to do is to just put the RGB value out.                         bgHaloPaper.getPass(0).getNTexGens() == 1) {
141                  if(bgPaper.getNPasses() == 1 &&                          // Draw text-haloed paper
142                     bgPaper.getPass(0).getNTexGens() == 1) {                          Paper.Pass pass = bgHaloPaper.getPass(0);
143                            pass.setNTexGens(2);
144                      Paper.Pass pass = bgPaper.getPass(0);                          pass.putNormalTexGen(1, getTexgen());
145                      pass.setNTexGens(2);                          pass.setSetupcode(
146                      pass.putNormalTexGen(1, getTexgen());                                            pass.getSetupcode() +
147                      pass.setSetupcode(                                            setupHaloDualPass +
148                                  pass.getSetupcode() +                                            getBindTexture(1));
149                                  setupDualPass + getBindTexture(1));                          pass.setTeardowncode(teardown +
150                      pass.setTeardowncode(teardown +                                               pass.getTeardowncode());
151                                          pass.getTeardowncode());                          
152                            // Draw text
153                  } else {                          addPaperPass(bgHaloPaper, setupExtraPass);
154                      // We don't have an optimized paper;                      } else {
155                      // add a pass.                          // We don't have an optimized paper;
156                      addPaperPass(bgPaper, setupExtraPass);                          // add a pass.
157                            addPaperPass(bgHaloPaper, setupExtraPass);
158                            // FIXME: add halo
159                        }
160                    }
161                    return bgHaloPaper;
162                } else {
163                    if(bgPaper == null) {
164                        bgPaper = (Paper)bg.clone();
165                        // Check if we have a single pass and single texture
166                        // If yes, *assume*!!! that the right thing
167                        // to do is to just put the RGB value out.
168                        if(bgPaper.getNPasses() == 1 &&
169                           bgPaper.getPass(0).getNTexGens() == 1) {
170                            Paper.Pass pass = bgPaper.getPass(0);
171                            pass.setNTexGens(2);
172                            pass.putNormalTexGen(1, getTexgen());
173                            pass.setSetupcode(
174                                              pass.getSetupcode() +
175                                              setupDualPass + getBindTexture(1));
176                            pass.setTeardowncode(teardown +
177                                                 pass.getTeardowncode());
178                        } else {
179                            // We don't have an optimized paper;
180                            // add a pass.
181                            addPaperPass(bgPaper, setupExtraPass);
182                        }
183                  }                  }
184                    return bgPaper;
185              }              }
             return bgPaper;  
186          } else {          } else {
187              if(noBgPaper == null) {              if(noBgPaper == null) {
188                  noBgPaper = new Paper();                  noBgPaper = new Paper();

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26