NASAWorldWind / WorldWindJava

The NASA WorldWind Java SDK (WWJ) is for building cross-platform 3D geospatial desktop applications in Java.
718 stars 327 forks source link

Use JOGL edition of TextRenderer #272

Closed gbburkhardt closed 7 months ago

gbburkhardt commented 1 year ago

Note: Filling out this template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainer's discretion.

Description of the Change

Delete local copy of worldwind/render/TextRenderer in favor of version that is maintained by JOGAMP. Update JOGL jar files with released version 2.5.0, build Build: 2.5-b1533-20230818. That build includes the DPI scaling fix for TextRenderer, which was committed to the jogl repo on 6/4, commit 25fd535a11.

JOGL jar files were pulled from: https://jogamp.org/deployment/maven/org/jogamp/gluegen/gluegen-rt/2.5.0/ https://jogamp.org/deployment/maven/org/jogamp/gluegen/gluegen/2.5.0/ https://jogamp.org/deployment/maven/org/jogamp/jogl/jogl-all/2.5.0/

This can be checked by examining the MANIFEST.MF file in the jar files.

Why Should This Be In Core?

WorldWind code had a copy of TextRenderer that originated with the JOGAMP group. However, it had not been maintained with updates from the JOGAMP group, specifically, plugs for resource leaks and an error check.

The debug flag can still be set with a runtime property definition (-Djogl.debug.TextRenderer). The other change in the WorldWind edition, to allow dynamic setting of DISABLE_GLYPH_CACHE for debugging of the TextRenderer code, is not likely to be needed at this point in time, and can be easily enabled with a debugger if need be.

Benefits

Less maintenance needed for a local edition of TextRenderer. Improvements made by the JOGAMP group can be picked up by updating the jar files.

Potential Drawbacks

Applicable Issues

DPI Scaling

gbburkhardt commented 8 months ago

Tested on LInux Ubuntu 22.05 Java 11.0.21.