Scene can be rendered multiple times if depth buffer and dirty regions are enabled

XMLWordPrintable

    • Type: Bug
    • Resolution: Not an Issue
    • Priority: P3
    • 8
    • Affects Version/s: 8
    • Component/s: javafx

      This code in ViewPainter can cause the scene to be rendered multiple times:


                  for (int i = 0; i < dirtyRegionContainer.size(); i++) {

      // <snipped>

                          // Disable occlusion culling if depth buffer is enabled for the scene.
                          if (sceneState.getScene().getDepthBuffer()) {
                              doPaint(g, null);
                          } else {
                              doPaint(g, root.getRenderRoot(NODE_PATH, dirtyRegion, i, tx, projTx));
                              NODE_PATH.clear();
                          }
                      }
                  }

      The line doPaint(g, null) should never be called more than once in ViewPainter. The check for getDepthBuffer() can be made once, outside the for loop.

            Assignee:
            Petr Pchelko (Inactive)
            Reporter:
            Daniel Blaukopf (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: