Releases: jMonkeyEngine/jmonkeyengine
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:
jMonkeyEngine 3.5.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.4.0-stable:
-
Potential breaking changes:
-
New features:
- 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)
- 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)
-
Bugs and defects addressed:
- crashes while deleting native objects (issue #1614, PR #1617)
- incorrect cursor position on macOS with Retina (issue #893, PR #1607)
- can't recover from a disconnected audio device (PR #1593)
- Android devices can't load assets whose names start with "/" (issue #352, PR #1577)
- incorrect
VirtualIndexBuffer
for aLineLoop
mesh (issue #1603, PR #1605) sphericalToCartesianZ()
doesn't reversecartesianZToSpherical()
(issue #1349, PR #1573)- assertion failure while loading a valid glTF model (issue #1089, PR #1608)
- 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:
jMonkeyEngine 3.4.0-stable
A production-quality release of JMonkeyEngine with the following changes relative to v3.3.2-stable:
-
Upgrade considerations (a.k.a. potential breaking changes):
- Gamma correction is enabled by default. In apps that default the setting (don't explicitly enable/disable it), scenes may appear brighter or darker than expected. (discussion, 6ade1a0)
- Vsync is enabled by default. In apps that default the setting (don't explicitly enable/disable it), the frame rate and CPU/GPU usage may be lower than expected. (discussion, f34e660)
- Maven artifacts aren't available from JCenter. Obtain them from the Maven Central Repository instead. (issue #1468, discussion)
- The "jme3-bullet", "jme3-bullet-native", and "jme-bullet-native-android" libraries (physics using native Bullet) were removed from the Engine. For 3-D physics, use "jme3-jbullet" or Minie. (PR #1474)
- The "jme3-blender" library (Blender importer) was removed from the Engine. To import 3-D models from Blender, use glTF as an intermediate format. (discussion, 221acaa)
- Setters that had previously been deprecated to no-ops were removed. (PR #1510)
- Utility classes that previously could be instantiated were made non-instantiable. (420b959, 1031e03, 145cc1b)
- Protected the no-arg constructors for
Camera
(issue #1461, PR #1464) andInstancedNode
(6402aad). - Added range checks to
IndexBuffer.put()
methods. (issue #1427) - The "jme3-jogl" library (JOGL backend) was removed from the Engine. If you must use JOGL instead of LWJGL, contact JogAmp. (discussion, PRs #1339 and #1368)
- The "jme3tools.navigation" package was removed from the "jme3-desktop" library. If you need this package, it's available from the "jMonkeyEngine-Contributions" project. (issue #1430, PR #1450)
-
New features:
- material definitions for physically-based rendering (PBR) of terrain (PR #1478)
- map keys for non-US keyboard layouts when using LWJGL v3 (issue #942)
- de-saturation for materials based on "Unshaded.j3md" (PR #1449)
- embed a JME application in a custom UI design on Android devices (PR #1494)
- extensions to
JoystickCompatibilityMappings
(PR #1483) - flesh out the new animation system:
- more getters/setters for
Action
(PR #1489) andAnimComposer
(PR #1376) - a factory class to generate animations programmatically (issue #1453, PR #1507)
- incorporate animations into cinematic cutscenes (PR #1508)
- more methods to create and manipulate armature masks (issue #1499, PR #1504)
- capability to remove morph targets from a
Mesh
(PR #1378)
- more getters/setters for
- enhance the glTF importer:
- LWJGL v3 support for Linux-on-ARM and 32-bit Windows (discussion, 6711986)
- more ways to look up appstates by ID (a79be13)
LightControl
support for spotlights (PR #1466)- combine
GlowColor
andGlowMap
in a singleMaterial
(PR #1444) - add
fromRGBA255()
and chainable setters to theColorRGBA
class (a057a6d, 37f1e7f) - serialize
final
fields across a network (PR #1505) - more getters/setters for
Camera
(PR #1492),EnvironmentCamera
(issue #1447, PR #1481), andRenderer
(PR #1482) - pack ambient-occlusion (AO) data into the metallic roughness map of a PBR material (PR #1403)
- handle named groups when importing 3-D models in OBJ format (PR #1369)
- a unified mechanism to manage the render targets of a
FrameBuffer
(PR #1401) - depth-only copy of a
FrameBuffer
(PR #1400) - performance profiling of
render()
andpostRender()
methods (PR #1485)
-
Bugs addressed:
- no sound on Android devices (issue #1239, PR #1475)
- inaccurate frame rate when using LWJGL v3 (issue #1455)
- LWJGL context restart issues (PR #1526, issues #844 and #1445)
- OGRE importer doesn't set the initial pose (issue #1395)
- jme3-jbullet depends on unavailable Maven artifacts (PR #1541)
- cloning a
Joint
(issue #1469, PR #1470) - logic error in
Transform.interpolateTransforms()
(issue #1394) - crashes in
TransformTrack.getTranslations()
andgetRotations()
(PR #1532) - crashes while compiling shaders (PRs #1456 and #1458)
- crash while importing from glTF (PR #1442)
- crash with
NegativeArraySizeException
(PR #1377) - assertion failure in
TouchTrigger.touchHash()
(PR #1448) - wrong center location for a spherical
LightProbe
(PR #1440) - animation uses wrong easing function (PR #1397)
- material parameter of type
IntArray
not set (issue #1564, PR #1565) - incorrect import of UTF-8 data (issue #1436, PR #1437)
- unable to locate OpenAL library (issue #1383, PR #1432)
- multiple issues involving iOS devices (PR #1473)
- multiple issues involving instanced geometries (PRs #1457 and #1467)
- gamepad split into 2 input devices (PR #1454)
- SSAO interferes with transparent unshaded materials (discussion, PR #1512)
- FXAA filter disables transparency (discussion, PR #1517)
- can't generate mipmaps for cubemap faces (issue #1222, PR #1409)
- bounding-sphere merge yields
NaN
(issue #1459, PR #1465) - LOD causes terrain patches to disappear (issue #1382, PR #1418)
- crash while de-serializing a
WireFrustum
(issue #1462) - crash in
LogicalOggStreamImpl
(issue #1244, PR #1480) - crash while cloning a
TerrainPatch
(issue #1391) MorphControl
doesn't overrideJmeCloneable
/Savable
methods (issue #1548, PRs #1549 and #1553)- incomplete serialization of
TerrainQuad
(PR #1476) - inaccurate de-serialization of
DistanceLodCalculator
(issue #1381, PR #1385) checkSetParam()
warning while creating sky (issue #1414, PR #1438)
-
General improvements:
-
New deprecations:
jMonkeyEngine 3.4.0-beta4
A non-production release for development and testing, which will hopefully lead to a "stable" release.
Noteworthy changes relative to 3.4.0-beta3:
jMonkeyEngine 3.4.0-beta3
A non-production release for development and testing, which will hopefully lead to a "stable" release.
Noteworthy changes relative to 3.4.0-beta2:
- Bugs addressed:
- LWJGL context restart issues (PR #1526, issues #844 and #1445)
AnimEvent.onStop()
kills prior event on the sameLayer
(PR #1537)- failed assertion in
TestAnimMigration
(issue #1533, PR #1534) - crashes in
TransformTrack.getTranslations()
andgetRotations()
(PR #1532) - jme3-jbullet depends on unavailable Maven artifacts (PR #1541)