Releases: jMonkeyEngine/jmonkeyengine
jMonkeyEngine 3.6.0-alpha1
A non-production release, for development and testing only, not intended to be used in any product. Largely untested, without complete/reliable documentation, and without SDK support. Vital features may be missing. The feature set, API, and serialization format might change before the next release.
Changes relative to v3.5.2-stable:
-
Potential breaking changes:
- Use OpenGL 3.2 as default by @riccardobl in #1752
- BlendAction: resolve slow-motion side effect caused by stretching actions by @Ali-RS in #1848
- move SettingsDialog and ErrorDialog to new jme3-awt-dialogs module by @riccardobl in #1876
- JmeSurfaceView: Package migration by @Scrappers-glitch in #1819
-
New features:
- jme3-lwjgl3: add a WindowSizeListener by @Ali-RS in #1711
- #1734 actions based vr input by @richardTingle in #1735
- Separate concept of window size from default framebuffer size by @riccardobl in #1750
- Add FOR macro to GLSL preprocessor and J3MD by @riccardobl in #1758
- Android: Implemented AndroidNativeBufferAllocator - Deprecated AndroidBufferAllocator by @Scrappers-glitch in #1821
- Add GL debug capabilities by @riccardobl in #1790
- Add java types to VarType and type checks to MatParam by @riccardobl in #1797
- Some enhancement to new animation system by @Ali-RS in #1845
- Added a Loop tween to Tweens factory class. Supports looping by count… by @Ali-RS in #1846
- Added Tweens.cycle() and Tweens.invert() methods by @Ali-RS in #1849
- Add instance culling function in InstancedGeometry by @Ali-RS in #1865
- Implementation of a glTF extension loader for KHR_texture_transform by @manuelrmo in #1869
-
Bugs and defects addressed:
- RenderState: fixed 'backStencilStencilFailOperation' field serializat… by @Ali-RS in #1719
- LwjglWindow:assign new thread to
mainThread
field. by @Ali-RS in #1722 - Chase cam can rotate fix on re-enable by @tlf30 in #1692
- fix and test for issue 1723 (more serialization bugs in RenderState) by @stephengold in #1726
- Fix NullPointerException in AnimLayer.update() by @capdevon in #1730
- AlAudioRenderer: update OpenAL state when dry filter is re-applied by @stephengold in #1728
- Cross-platform fix for issue 1745 (mouse input scaling) by @riccardobl in #1753
- Fix error 1280 in MacOS when querying GL_FRAMEBUFFER_SRGB_CAPABLE_EXT by @riccardobl in #1749
- Fix issue 1705 (serialize 6 mesh subclasses) by @stephengold in #1754
- solve issue #1761 (AssertionError in ALAudioRenderer) by @stephengold in #1762
- solve issue #1780 (built-in matdefs/shaders lack core-profile support) by @stephengold in #1781
- Fix draw/read buffer selection for framebuffers (FrameBuffer.setTargetIndex(int)) by @riccardobl in #1786
- Add toggleable framebuffer mipmaps generation. Fix #1788 by @riccardobl in #1791
- work around missing reshape() callbacks from LWJGL v3 (issue #1793) by @stephengold in #1794
- JmeSurfaceView: Fixed duplicate app destruction. by @Scrappers-glitch in #1801
- solve issue #1798 (filtered scenes are squeezed) by @stephengold in #1812
- solve issue #1813 (glTF loader loses keyframes) by @stephengold in #1815
- refactor to avoid invoking AppSettings.getBoolean() directly by @stephengold in #1796
- JmeSurfaceView: Removed explicit nullifying GlSurfaceView onDestroy by @Scrappers-glitch in #1802
- solve issue #1809 (GltfLoader is not thread-safe) by @stephengold in #1810
- Fix issue #1839 by @Lukas-Habring in #1840
- SettingsDialog: LAF fix by @Scrappers-glitch in #1827
- Fix #1843 (java.util.zip.ZipException in HttpZipLocator) by @Ali-RS in #1842
- Fix #1850 (JmeSystem.writeImageFile() throw java.nio.BufferUnderflowE… by @Ali-RS in #1851
- Fix: make the stencil test functions usable. by @zzuegg in #1866
- Fix #1871 (vertex colors not loaded in gltf models) by @tonihele in #1873
- Fix #1867 (LightFilter gets applied even if not needed) by @zzuegg in #1872
- Fix #1412 (GltfLoader does not support AO packed in MetallicRoughnessMap) by @manuelrmo in #1880
- Fix #1882 (J3MLoader always generates mips ignoring MinFilter) by @Ali-RS in #1884
- Made Gltf extension loaders non-static to avoid concurrency issues by @Ali-RS in #1886
- Fix #1883 (Image class wrongly setting GL mips flags inside the constructor) by @Ali-RS in #1885
-
General improvements:
- avoid invoking the newly-deprecated BitmapText 2-arg constructor by @stephengold in #1709
- rename local variables for clarity by @stephengold in #1715
- clarify some non-javadoc comments by @stephengold in #1712
- rename method arguments for clarity by @stephengold in #1716
- downgrade or delete unnecessary library dependencies by @stephengold in #1714
- Test post water 1699 by @bob0bob in #1707
- LwjglCanvas: initialize OpenCL for LWJGL2 by @AmiroooTheWalnut in #1720
- account for world transform in TerrainQuad.setNormalRecalcNeeded() by @yaRnMcDonuts in #1741
- Vector2f: save 2 trig calculations in rotateAroundOrigin() by @stephengold in #1731
- Configure circular deps as warning on eclipse by @riccardobl in #1747
- GlfwMouseInput: scale mouse coords only if Retina AppSetting is true by @stephengold in #1746
- Add simple math methods to Vector3f by @yaRnMcDonuts in #1744
- TerrainQuad: publicize fixNormals() by @stephengold in #1738
- Add simple math methods to Vector4f by @yaRnMcDonuts in #1755
- Add simple math methods to Vector2f by @yaRnMcDonuts in #1756
- rename private variables by @stephengold in #1736
- rename more method arguments for clarity by @stephengold in #1742
- Add set methods and constructors to ColorRGBA that take in a Vector param by @yaRnMcDonuts in #1757
- JoyButtonTrigger: clarify that the constructor arg is not an axis ID by @stephengold in #1765
- jme3-nifty should account for gamma correction by @stephengold in #1764
- TestPostWater: avoid using the deprecated BitmapText constructor by @stephengold in #1766
- RenderDeviceJme: CachedTextKey.equals() lacks a type check by @stephengold in #1768
- Refactoring of the initialization code of the 'particleMesh' variable. by @capdevon in #1769
- InstancedGeometry: added a field to keep track of all instance data b… by @Ali-RS in #1772
- avoid use of deprecated methods (mostly Class.newInsta...
jMonkeyEngine 3.5.2-stable
A production-quality JMonkeyEngine 3.5 patch release with the following changes relative to 3.5.1-stable:
- solved issue 1710 - can't create windows on armhf platforms by upgrading LWJGL to v3.3.1
- solved issue 1788 - mipmaps generated for wrong framebuffer by backporting PR 1791
jMonkeyEngine 3.5.1-stable
A production-quality JMonkeyEngine 3.5 patch release with the following changes relative to 3.5.0-stable:
-
Bugs and defects addressed:
-
General improvements:
jMonkeyEngine 3.5.0-stable
A production-quality release of JMonkeyEngine with the following noteworthy changes relative to v3.4.1-stable:
-
Upgrade considerations (potential breaking changes):
- explicitly requires Java v8 or higher (issue #1661)
- cannot create a GL window on armhf (issue #1710)
- to use the "jme3-lwjgl3" library in a Gradle build, you'll need Gradle v6.3 or later
- more precise return types for 13
clone()
methods (issue #1676, PR #1683) - changed the semantics of
FastMath.sphericalToCartesianZ()
(issue #1349, PR #1573) - deleted the
Weights
class, which was deprecated in v3.4 (issue #1620, PR #1632) - protected the no-arg constructor of
TransformTrack
(PR #1531)
-
New features:
- enhancements to
SurfaceView
for Android (PR #1650), including:- optional binding to activity lifecycle
- added listeners for "layout drawn" and "renderer started"
- new
DestructionPolicy
applied when exiting an activity - add full stack trace and a "copy log" button to the error dialog
- added settings for "show error dialog", "exit on Esc pressed", and "show Esc exit prompt"
- added the
getGlEsVersion()
method
- determine the maximum supported width for lines (issue #1555, PR #1643)
- support for additional compressed texture formats (issue #1619, PR #1621)
- texture flipping for certain RGTC formats (PR #1629)
- app settings to position the initial window in LWJGL v3 (issue #1668, PR #1670)
- a color-adjustment filter (issue #781, PR #1665, a9e88b0)
RectangleMesh
class for custom quads (PR #1701)calculateD()
andcalculateNormal()
methods inRectangle
class (PR #1701)CenterQuad
mesh in jme3-core (PR #1704)- added
getNbMorphTargets()
,setKeyframesWeight()
, andsetNbMorphTargets()
to theMorphTrack
class (PR #1608) - made
getOffsetTransform()
andgetAttachmentsNode()
accessible to subclasses ofJoint
(PR #1536) - distinguish ARM macOS/Windows from other platforms (issue #1528, PR #1530)
Platform.getOs()
to determine the generic OS name (cc75352)- convert inner class
Layer
to a top-level class (issue #1566, PRs #1656 and #1730)
- enhancements to
-
Bugs and defects addressed:
- LWJGL v3 hangs while creating a window (issues #1193, #1514, and #1558; PRs #1690 and #1722)
- incorrect cursor position on macOS with Retina (issue #893, PRs #1607, #1746, and #1753; c44d74b)
- Right-to-Left and cursive fonts displayed incorrectly (issue #1158, PR #1685)
- incorrect
VirtualIndexBuffer
for aLineLoop
mesh (issue #1603, PR #1605) ChaseCamera
won't rotate after being re-enabled (PR #1692)- ineffective audio filters (issue #1699, PRs #1707 and #1728)
NullPointerException
inreloadJoysticks()
when joystick lacks buttons (issue #1739, PR #1740)LwjglCanvas
doesn't initialize OpenCL for LWJGL v2 (PR #1720)sphericalToCartesianZ()
doesn't reversecartesianZToSpherical()
(issue #1349, PR #1573)- null-pointer exceptions while loading erroneous glTF models:
- cryptic crash when more than 16 textures are used (issue #37, PR #1574)
- error 1280 in macOS querying
GL_FRAMEBUFFER_SRGB_CAPABLE_EXT
(PR #1749) fromJmeKeyCode()
returns garbage for unknown keys (issue #1596, PR #1638)- serialization bugs:
- typo in the value returned by
LodGenerator.toString()
(cfa497d) - typos in logger/exception messages (PRs #1584 and #1737, 3beca2b)
-
General improvements:
- upgraded LWJGL to v3.3.0 (PR #1659)
- faster asset loading on Android devices (issue #1622, PR #1627)
- faster writing of MJPEG files (PR #1592)
- more efficient logging (issues #1672 and #1680, PRs #1673 and #1682)
- un-deprecate
AndroidBufferImageLoader
(PR #1660) - numerous javadoc improvements
- improvements to examples and tests
-
New deprecations:
jMonkeyEngine 3.5.0-beta9
jMonkeyEngine 3.5.0-beta7
A non-production release for development and testing, which will hopefully lead to a "stable" release.
Noteworthy changes relative to 3.5.0-beta6:
-
Bugs and defects addressed:
-
General improvements:
- javadoc (various PRs and commits)
jMonkeyEngine 3.5.0-beta6
A non-production release for development and testing, which will hopefully lead to a "stable" release.
Noteworthy changes relative to 3.5.0-beta5:
-
Bugs and defects addressed:
-
General improvements:
- javadoc (various PRs and commits)
jMonkeyEngine 3.5.0-beta5
A non-production release for development and testing, which will hopefully lead to a "stable" release.
Noteworthy changes relative to 3.5.0-beta4:
-
Bugs and defects addressed:
-
General improvements:
- javadoc (various PRs and commits)
jMonkeyEngine 3.5.0-beta4
A non-production release for development and testing, which will hopefully lead to a "stable" release.
Noteworthy changes relative to 3.4.1-stable:
-
Upgrade considerations (potential breaking changes):
- explicitly requires Java 8 or higher (issue #1661)
- more precise return types for 13
clone()
methods (issue #1676, PR #1683) - changed the semantics of
FastMath.sphericalToCartesianZ()
(issue #1349, PR #1573) - deleted the
Weights
class, which was deprecated in v3.4 (issue #1620, PR #1632) - protected the no-arg constructor of
TransformTrack
(PR #1531) - to use the "jme3-lwjgl3" library in a Gradle build, you'll need Gradle v6.3 or later
-
New features:
- enhancements to
SurfaceView
for Android (PR #1650), including:- optional binding to activity lifecycle
- added listeners for "layout drawn" and "renderer started"
- new
DestructionPolicy
applied when exiting an activity - add full stack trace and a "copy log" button to the error dialog
- added settings for "show error dialog", "exit on Esc pressed", and "show Esc exit prompt"
- added the
getGlEsVersion()
method
- determine the maximum supported width for lines (issue #1555, PR #1643)
- support for additional compressed texture formats (issue #1619, PR #1621)
- texture flipping for certain RGTC formats (PR #1629)
- app settings to position the initial window in LWJGL v3 (issue #1668, PR #1670)
- a color-adjustment filter (issue #781, PR #1665)
RectangleMesh
class for custom quads (PR #1701)calculateD()
andcalculateNormal()
methods inRectangle
class (PR #1701)CenterQuad
mesh in jme3-core (PR #1704)- added
getNbMorphTargets()
,setKeyframesWeight()
, andsetNbMorphTargets()
to theMorphTrack
class (PR #1608) - made
getOffsetTransform()
andgetAttachmentsNode()
accessible to subclasses ofJoint
(PR #1536) - distinguish ARM macOS/Windows from other platforms (issue #1528, PR #1530)
- convert inner class Layer to a top-level class (issue #1566, PR #1656)
- enhancements to
-
Bugs and defects addressed:
- LWJGL v3 hangs while creating a window (issues #1193, #1514, and #1558, PR #1690)
- Right-to-Left and cursive fonts displayed incorrectly (issue #1158, PR #1685)
- incorrect cursor position on macOS with Retina (issue #893, PR #1607)
- incorrect
VirtualIndexBuffer
for aLineLoop
mesh (issue #1603, PR #1605) sphericalToCartesianZ()
doesn't reversecartesianZToSpherical()
(issue #1349, PR #1573)- null-pointer exceptions while loading erroneous glTF models:
- cryptic crash when more than 16 textures are used (issue #37, PR #1574)
fromJmeKeyCode()
returns garbage for unknown keys (issue #1596, PR #1638)- serialization bugs:
- typos in logger/exception messages (PR #1584, 3beca2b)
-
General improvements:
- upgraded LWJGL to v3.3.0 (PR #1659)
- faster asset loading on Android devices (issue #1622, PR #1627)
- faster writing of MJPEG files (PR #1592)
- more efficient logging (issues #1672 and #1680, PRs #1673 and #1682)
- un-deprecate
AndroidBufferImageLoader
(PR #1660) - javadoc (issues #1648 and #1597; PRs #1581, #1599, #1620, #1642, #1646, #1651, #1653, #1650, #1663, #1666, #1684, #1689, #1698, and #1706; 4db02fa, 8075eeb, ac8696e, e79340a, and f40f21a)
- examples and tests (issues #1290, #1630, and #1687; PRs #1570, #1594, #1610, #1625, #1631, #1635, and #1697; 7c5fe46 and 9d8bd88)
-
New deprecations:
jMonkeyEngine 3.4.1-stable
A production-quality JMonkeyEngine 3.4 patch release with the following changes relative to 3.4.0-stable:
-
Bugs and defects addressed:
-
General improvements: