v3.4.0-stable
版本发布时间: 2021-05-31 04:12:49
jMonkeyEngine/jmonkeyengine最新发布版本:v3.7.0-stable(2024-10-22 00:45:23)
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, 6ade1a027e584b808a00fa96a98713167b6b3348)
- 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, f34e660f03beea74107ed957aca032358dc6b3e4)
- 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, 221acaadfe565a7f112b9df74226ae9bec7dbab7)
- Setters that had previously been deprecated to no-ops were removed. (PR #1510)
- Utility classes that previously could be instantiated were made non-instantiable. (420b959e9d029a9d10c087767a04e5c991874af6, 1031e03d7249e090a606cd8f2fb5f33f7645a400, 145cc1bbdd766326e6ca9bf1722fbdb6460f6697)
- Protected the no-arg constructors for
Camera
(issue #1461, PR #1464) andInstancedNode
(6402aad4521d40f8d29e60369cf053bb125d0a70). - 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:
- handle "unlit" materials (PR #1463)
- handle URIs (PR #1396)
- handle lights defined using the "KHR_lights_punctual" extension (PR #1443)
- LWJGL v3 support for Linux-on-ARM and 32-bit Windows (discussion, 67119862d10fb0be8b98e930cc35fa0e6fd017cf)
- more ways to look up appstates by ID (a79be13ac83fdf421e00e6ca0c189d8f361b00d7)
-
LightControl
support for spotlights (PR #1466) - combine
GlowColor
andGlowMap
in a singleMaterial
(PR #1444) - add
fromRGBA255()
and chainable setters to theColorRGBA
class (a057a6d74d25a4f8bc769f9d72c98ead4d28492c, 37f1e7fabeae39d94acb1448d017c4e4ddda4edf) - 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:
- javadoc (issues #1275, #1366, #1370, #1388, #1428; PRs #1373, #1374, #1386, #1429, #1451, #1493, #1511, #1519, #1521, #1522, and #1550)
- ported "jme3-examples" apps to the new animation system (issue #1452; PRs #1333, #1487, #1500, #1503, and #1515)
-
New deprecations:
-
LightNode
class (issue #1033, PR #1042) -
com.jme3.anim.Weights
class (PR #1523) - 15 methods in the
FrameBuffer
class (PR #1401)
-
1、 jME3.4.0-stable.zip 436.05MB