Java 3D: где я могу вставить FX для пост-рендеринга? - PullRequest
0 голосов
/ 25 апреля 2009

Я расширил 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 голосов
/ 25 апреля 2009

Я нашел хорошее решение, которое я публикую здесь, чтобы поделиться им, если у вас есть другое, пожалуйста, опубликуйте его: -)

@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 duo: -)

...