Java 3D:我在哪里可以插入“后期渲染”FX?

时间:2009-04-25 14:48:00

标签: 3d effects watermark java-3d

我扩展了一个Canvas3D,然后我重写了方法“postSwap()”,但我的奇数偶数行效果闪烁了很多,这可能是插入这个过程的另一个好点吗?

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);
    }
}

1 个答案:

答案 0 :(得分: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);
}

实际上 getGraphics2D()。flush(true); 是最重要的,因为避免任何闪烁,至少在我的centrino二重奏上: - )