From b87d3e93f0d0c7dc0101cbcbc5cb487244f46eb5 Mon Sep 17 00:00:00 2001 From: Egor Tsinko Date: Wed, 22 Jan 2020 15:06:57 -0700 Subject: fixed a NPE that happened during offscreen rendering --- src/main/java/org/jogamp/java3d/CanvasViewCache.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jogamp/java3d/CanvasViewCache.java b/src/main/java/org/jogamp/java3d/CanvasViewCache.java index 1edb33e..1532a81 100644 --- a/src/main/java/org/jogamp/java3d/CanvasViewCache.java +++ b/src/main/java/org/jogamp/java3d/CanvasViewCache.java @@ -589,9 +589,11 @@ class CanvasViewCache extends Object { // 0.666x0.666 = 0.444 scaling. This is not a Java3D issue. try { final Graphics2D g2d = (Graphics2D) canvas.getGraphics(); - final AffineTransform t = g2d.getTransform(); - hiDPIXScale = t.getScaleX(); - hiDPIYScale = t.getScaleY(); + if (g2d != null) { + final AffineTransform t = g2d.getTransform(); + hiDPIXScale = t.getScaleX(); + hiDPIYScale = t.getScaleY(); + } } catch (IllegalComponentStateException e) {} metersPerPixelX = screenViewCache.metersPerPixelX; -- cgit v1.2.3 From a69370750d2af8b22990be779640f3f42eca624d Mon Sep 17 00:00:00 2001 From: Philip Jordan Date: Sun, 26 Jan 2020 10:55:14 +1300 Subject: Revert "fixed a NPE that happened during offscreen rendering" --- src/main/java/org/jogamp/java3d/CanvasViewCache.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/jogamp/java3d/CanvasViewCache.java b/src/main/java/org/jogamp/java3d/CanvasViewCache.java index 1532a81..1edb33e 100644 --- a/src/main/java/org/jogamp/java3d/CanvasViewCache.java +++ b/src/main/java/org/jogamp/java3d/CanvasViewCache.java @@ -589,11 +589,9 @@ class CanvasViewCache extends Object { // 0.666x0.666 = 0.444 scaling. This is not a Java3D issue. try { final Graphics2D g2d = (Graphics2D) canvas.getGraphics(); - if (g2d != null) { - final AffineTransform t = g2d.getTransform(); - hiDPIXScale = t.getScaleX(); - hiDPIYScale = t.getScaleY(); - } + final AffineTransform t = g2d.getTransform(); + hiDPIXScale = t.getScaleX(); + hiDPIYScale = t.getScaleY(); } catch (IllegalComponentStateException e) {} metersPerPixelX = screenViewCache.metersPerPixelX; -- cgit v1.2.3 From ce5a0e13d536dc67f121d39117db6f1b47d29525 Mon Sep 17 00:00:00 2001 From: Egor Tsinko Date: Mon, 27 Jan 2020 14:20:11 -0700 Subject: improved the 2D graphics overlay in Canvas3D. Now actual pixel sizes are used instead of canvas sizes for creating an overlay image. --- src/main/java/org/jogamp/java3d/Canvas3D.java | 32 ++++++++++++++++++++++ .../java/org/jogamp/java3d/CanvasViewCache.java | 8 ++++++ .../java/org/jogamp/java3d/J3DGraphics2DImpl.java | 8 ++++-- 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jogamp/java3d/Canvas3D.java b/src/main/java/org/jogamp/java3d/Canvas3D.java index c678631..55dbab9 100644 --- a/src/main/java/org/jogamp/java3d/Canvas3D.java +++ b/src/main/java/org/jogamp/java3d/Canvas3D.java @@ -38,6 +38,7 @@ import java.awt.GraphicsEnvironment; import java.awt.IllegalComponentStateException; import java.awt.Point; import java.awt.Window; +import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.Hashtable; @@ -1577,6 +1578,13 @@ ArrayList textureIDResourceTable = new ArrayList textureIDResourceTable = new ArrayList