2009-04-25 46 views
0

我擴展了Canvas3D,然後重寫了「postSwap()」方法,但是我的奇偶行效果閃爍了很多,插入這個過程有什麼好處?Java 3D:我可以在哪裏插入「後期渲染」FX?

public void postSwap() { 
    Graphics2D g2 = (Graphics2D)this.getGraphics(); 
    Map map = new HashMap(); 
    map.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); 
    g2.addRenderingHints(map); 
    g2.setColor(WipideaApplet.BCK2); 
    int h = this.getHeight(), w = this.getWidth(); 
    for (int i=0;i<h;i++) { 
     if (i%2==0) 
      g2.drawLine(0, i, w, i); 
    } 
} 

回答

0

我找到了一個很好的解決方案由我,我張貼在這裏分享它,如果你有一個又一個,請張貼:-)

@Override 
public void postRender() { 
    super.postRender(); 
    getGraphics2D().setColor(WipideaApplet.BCK2); 
    int h = this.getHeight(), w = this.getWidth(); 
    for (int i=0;i<h;i++) { 
      if (i%2==0) { 
       getGraphics2D().drawLine(0, i, w, i); 
      } 
    } 
    getGraphics2D().flush(true); 
} 

Pratically getGraphics2D()。平齊(真) ;是最重要的,因爲避免任何閃爍,至少在我的centrino二重奏:-)