Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8036875

Component.setGraphicsConfiguration() breaks some 3D applications

    Details

    • Type: Bug
    • Status: Open
    • Priority: P3
    • Resolution: Unresolved
    • Affects Version/s: 7, 8, 9
    • Fix Version/s: tbd
    • Component/s: client-libs
    • Labels:
    • Subcomponent:
    • Introduced In Build:
      b55
    • Introduced In Version:
      7

      Description

      http://mail.openjdk.java.net/pipermail/awt-dev/2014-March/007173.html

      In 2009 Anthony asked:
      > The question is: is it really possible for one toplevel to contain
      > components having different GraphicsDevice's (and/or different
      > GraphicsConfiguration's)? Or may I assume that all and every descendant
      > components of a toplevel window use the same GC that the window uses
      > (and therefore the Container.checkGD() may safely be removed)?
      http://mail.openjdk.java.net/pipermail/awt-dev/2009-January/000509.html
      ...
      http://mail.openjdk.java.net/pipermail/awt-dev/2009-January/000519.html

      Yes when using Java3D and GraphicsConfigTemplate3D is possible and wanted for the Java3D Canvas3D
      to use a different GraphicsConfiguration compared to its parent components GraphicsConfiguration
      especially when using 3D Stereoscopy.

      The old awt-dev discussion ended with a behavioural change in Container when using 7u45 and later.
      JDK-6804747 : Ensure consistent graphicsConfig member across components hierarchy
      http://bugs.java.com/view_bug.do?bug_id=6804747
      http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/rev/66d6db0a1de6

      This change caused Java3D Stereoscopy to stop working when using professional
      3D equipment such as NVIDIA Quadro (FX) or ATI/ASUS FireGL, compatible monitors.
      The Stereo capable GraphicsConfiguration GC of the Canvas3D now gets replaced using
      Component.setGraphicsConfiguration() inside java.awt.Container.addImpl()
      by the non Stereo enabled GraphicsConfig of the parent window/frame.
      Regressions caused by JDK-6804747 is described here:
      http://stackoverflow.com/questions/21239229/stereo-problems-on-linux-using-java-7-how-to-change-the-gc-of-a-component-afte?rq=1
      http://forum.jogamp.org/Java3D-stereo-tp4029914.html - includes Java3D test code that expose the issue.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                serb Sergey Bylokhov
                Reporter:
                anthony Anthony Petrov (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: