jMonkeyEngine3

jMonkeyEngine is a game engine made for developers who want to create 3D games following modern technology standards. The framework is programmed entirely in Java aimed at wide accessibility and quick deployment to desktop, web, and mobile platforms.

Key Features

  • Free, open-source software (under the New BSD license) – Use our free engine for commercial, educational, or hobby game development
  • Minimal adaptations for cross-compatibility – Create games that run on any OpenGL 2 and 3-ready device with the Java Virtual Machine – web, desktop, or mobile.
  • Built around a shader-based architecture – Compliant with current and next generation graphics standards.
  • jMonkeyEngine SDK – A complete development environment (IDE) with visual editors, integrated tools, and unique plugins.
  • Complete and modular – The developer remains in power while getting all game development essentials straight out of the box.
Packages
Package
Description
Contains the basic annotations to be used by all type systems and meta-annotations to qualify annotations (qualifiers).
central classes of the "new" animation system (the one using AnimComposer and tweens)
interpolation support for the "new" animation system
tweening support for the "new" animation system
actions and blending support for the "new" animation system
utility classes that support the "new" animation system
 
 
 
 
 
access loadable assets on the classpath, in a filesystem, or on the Web
audio support, including music and sound effects
audio support for Android devices
audio support for devices running the iOS mobile operating system
audio support based on the Lightweight Java Game Library (LWJGL)
audio support based on the OpenAL API
audio formats supported across all platforms
bounding volumes for collision detection and scene-graph culling
central classes of the physics system
A dynamic animation control and some associated classes.
physics-based collision detection, including ray tests and sweep tests
collision shapes: standard shapes used in physics-based collision detection
supplemental classes for physics-based collision detection
physics controls: scene-graph controls for linking physics collision objects to spatials
supplemental classes related to KinematicRagdollControl
visualize physics objects for debugging
physics joints: join pairs of rigid bodies in order to constrain their relative motion
motors: supplemental classes related to physics joints
physics collision objects, including vehicles
supplemental classes related to physics collision objects
utility classes related to Bullet physics
cinematics, for programming cutscenes and the like
events for use in cinematics
scene-based (non-physics) collision detection
bounding interval hierarchies (BIH) for use in collision detection
cursor formats supported across all platforms
 
particle influencers for use in special effects
emitter shapes for use in particle effects
generate lighting environments for physically-based rendering (PBR)
 
supplemental classes for generating lighting environments
utilities for generating lighting environments
load and save assets in jMonkeyEngine's native formats, including J3O
J3O format (jMonkeyEngine's native binary format)
load and save assets (such as models) in XML format
render letters, numbers, and other glyphs
font formats supported across all platforms
 
user-input classes specific to Android devices
user-input classes specific to the Abstract Window Toolkit (AWT)
 
 
 
user-input classes specific to the iOS mobile operating system
user input based on the Lightweight Java Game Library (LWJGL)
user-input classes for Virtual Reality (VR) applications
 
user-input classes for Oculus Rift headsets
user-input classes for devices that use the OpenVR API
user-input classes for devices that use the Open Source Virtual Reality (OSVR) API
 
miscellaneous code for interfacing with v3 of the Lightweight Java Game Library (LWJGL)
 
 
export a Material using the J3M file format
export a material definition using the J3MD file format
the J3M asset format
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
implement interactive user interfaces using Nifty GUI
This package contains an API for using OpenCL together with jME3.
OpenCL access based on the Lightweight Java Game Library (LWJGL)
 
 
standard special-effects filters
screen-space ambient occlusion (SSAO) effects
performance profiling
 
graphics-rendering code specific to Android devices
graphics-rendering code specific to the iOS mobile operating system
rendering support for the Lightweight Java Game Library (LWJGL)
rendering based on OpenGL (Open Graphics Library)
determine the order in which geometries are rendered
 
 
meshes for debug visualizations
visualize for animation armatures for debugging
share mesh data across multiple geometries
 
 
import models in the FBX file format
import animations from an FBX asset
read and parse FBX files
import materials from an FBX asset
import meshes from an FBX asset
 
import nodes from an FBX asset
 
 
import 3-D models in Graphics Language Transmission Format (glTF) format
import 3-D models in formats defined by the OGRE 3-D engine
 
generate meshes for various geometric shapes
manage and manipulate OpenGL shaders
 
 
 
simulate shadows using filters or renderers
interface with the underlying operating system
 
 
code specific to the iOS mobile operating system
 
 
 
 
 
 
 
 
 
 
 
the terrain system
execute background tasks connected with terrain
 
 
 
 
picking algorithms for use with terrain
heightmaps for use with terrain
 
 
filters to modify terrain
use fractals to generate terrain
 
textures for applying image data to 3-D geometries
 
 
 
display 2-D images
utility classes and miscellaneous useful algorithms
parse block-structured languages that use braces and semicolons
generate deep clones of objects
 
generate tangents for models using the mikktspace algorithm
 
 
 
utilities for parsing XML
Holds JmeSurfaceView with some lifecycle interfaces.
water effects