123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- = jMonkeyEngine 3.0 Feature Overview
- :revnumber: 2.0
- :revdate: 2020/07/13
- See also: xref:jme3/requirements.adoc[requirements].
- == Software Development Kit: jMonkeyEngine SDK
- * xref:sdk:project_creation.adoc[Creates jME3-ready Java projects]
- ** Preconfigured classpath
- ** Bundled with compatible JDK
- ** xref:jme3/advanced/asset_manager.adoc[Asset Manager] for loading multi-media files and 3D models including asset name code completion
- ** xref:sdk:default_build_script.adoc[Non-proprietary Ant build scripts]
- ** jME3-ready Javadoc popups, xref:sdk:sample_code.adoc[sample code projects], and code snippet palette
- * xref:sdk:code_editor.adoc[Full-featured Java and XML code editor]
- * xref:sdk:update_center.adoc[Plugins]
- ** xref:sdk:version_control.adoc[File Version Control]
- ** xref:sdk:debugging_profiling_testing.adoc[Debugger and Profiler (optional)]
- ** xref:sdk:model_loader_and_viewer.adoc[Converters and Importers for game assets (3D models etc)]
- ** xref:sdk:scene_composer.adoc[3D Scene Viewer and Scene Composer]
- ** xref:sdk:material_editing.adoc[Material editor]
- ** Shader Node editor
- ** xref:sdk:terrain_editor.adoc[Terrain generation, painting, and editing]
- ** xref:jme3/external/fonts.adoc[Custom font creator]
- ** xref:sdk:neotexture.adoc[Procedural texture creator (NeoTexture)]
- ** xref:jme3/advanced/level_of_detail.adoc[Level of Detail (LOD) generator]
- ** xref:sdk:sdk.adoc[... and much more...]
- * xref:sdk:application_deployment.adoc[Deployment]
- ** Generates desktop executables for Win, Mac, Linux
- ** Generates mobile executables for xref:sdk:android.adoc[Android], iOS support is in the works.
- ** Generates JNLP WebStart and Java Browser Applets
- * xref:sdk:whynoteclipse.adoc[Based on the NetBeans Platform]
- ** Supports all NetBeans IDE plugins
- == Physics
- * xref:jme3/advanced/physics.adoc[JBullet physics binding]
- ** xref:jme3/advanced/walking_character.adoc[Physical characters]
- ** xref:jme3/advanced/hinges_and_joints.adoc[Physical joints and hinges]
- ** xref:jme3/advanced/vehicles.adoc[Ray-cast vehicle]
- ** xref:jme3/advanced/ragdoll.adoc[Ragdoll physics]
- * xref:jme3/advanced/bullet_multithreading.adoc[Multi-threaded physics]
- * xref:jme3/advanced/physics#create_a_collisionshape,Mesh-accurate collision shapes]
- == Supported Formats
- === jMonkeyEngine3 File Formats
- [cols="10,65,25", options="header"]
- |===
- a|Suffix
- a|Usage
- a|Learn more
- l|.j3o
- a|Binary 3D model or scene. At the latest from the Beta release of your game on, you should convert all models to .j3o format. +
- During alpha and earlier development phases (when models still change a lot) you can alternatively load GLTF/OBJ models directly.
- a|xref:sdk:model_loader_and_viewer.adoc[Model Loader and Viewer]
- l|.j3m
- a|A custom Material. You can create a .j3m file to store a Material configuration for a Geometry (e.g. 3D model).
- a|xref:jme3/advanced/materials_overview.adoc[Materials Overview] +
- xref:sdk:material_editing.adoc[Material Editing]
- l|.j3md
- a|A Material definition. These are pre-defined templates for shader-based Materials. +
- Each custom .j3m Material is based on a material definition. Advanced users can create their own material definitions.
- a| xref:jme3/advanced/materials_overview.adoc[Materials Overview]
- l|.j3f
- a|A custom post-processor filter configuration. You can create a .j3f file to store a FilterPostProcessor with a set of preconfigured filters.
- a| xref:sdk:filters.adoc[Filters] +
- xref:jme3/advanced/effects_overview.adoc[Effects Overview]
- |===
- === Supported External File Types
- [cols="40,15,45", options="header"]
- |===
- a|File Suffix
- a|Type
- a|Description
- l|.mesh.xml, .meshxml, .scene
- a|3D model
- a|Ogre Mesh XML *(soon to be discontinued)* +
- see:
- * xref:jme3/external/blender/blender_ogre_export.adoc[Exporting Models as Ogre XML meshes from Blender]
- * xref:jme3/external/blender/blender_ogre_compatibility.adoc[Ogre Compatibility]
- Converting to j3o:
- * xref:sdk:model_loader_and_viewer.adoc[SDK convert]
- * link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter]
- l|.obj, .mtl
- a|3D model
- a|Wavefront +
- Converting to j3o:
- * xref:sdk:model_loader_and_viewer.adoc[SDK convert]
- * link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter]
- l|.xbuf
- a|3D model
- a|Blender version 2.74 +
- See:
- * link:https://hub.jmonkeyengine.org/t/xbuf-format-a-developer-friendly-game-exchange-format-for-3d-data/31130[.xbuf] forum post.
- Converting to j3o:
- * xref:sdk:model_loader_and_viewer.adoc[SDK convert]
- * link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter]
- l|.fbx
- a|3D model
- a|Filmbox +
- See:
- * link:https://hub.jmonkeyengine.org/t/fbx-importer/30309[Fbx importer] forum post.
- Converting to j3o:
- * xref:sdk:model_loader_and_viewer.adoc[SDK convert]
- * link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter]
- l|.gltf, .bin, .glb, custom extensions
- a|3D model
- a|Blender version 2.78c onwards, +
- See:
- * link:https://hub.jmonkeyengine.org/t/jme-gltf-support/39174[gltf] forum post
- * xref:jme3/external/blender/blender_gltf.adoc[Exporting Models as GlTF meshes from Blender]
- Converting to j3o:
- * link:https://hub.jmonkeyengine.org/t/jmeconvert-tool/41831[JmeConvert tool]
- * xref:sdk:model_loader_and_viewer.adoc[SDK convert]
- * link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter]
- l|.jpg, .png, .gif
- a|image
- a|Textures, icons
- l|.dds
- a|image
- a|Direct Draw Surface texture
- l|.hdr
- a|image
- a|High Dynamic Range texture
- l|.tga
- a|image
- a|Targa Image File texture
- l|.pfm
- a|image
- a|Portable Float Map texture
- l|.bmp
- a|image
- a|Bitmap texture
- l|.ani, .cur, .ico
- a|image
- a|Windows Cursor, static or animated.
- l|.fnt
- a|bitmap font
- a|AngelCode font for +++<abbr title="Graphical User Interface">GUI</abbr>+++ and HUD
- l|.wav
- a|audio
- a|Wave music and sounds
- l|.ogg
- a|audio
- a|OGG Vorbis music and sounds
- |===
- == Shaders
- * GLSL support
- * Shader libraries
- * Shader permutations
- * xref:jme3/advanced/jme3_shadernodes.adoc[Shader Nodes]
- == Material Lighting
- * Per-pixel lighting
- * Multi-pass lighting
- * Phong Lighting
- ** Diffuse Map
- ** Alpha Map
- ** Glow Map
- ** Specular Map
- ** Normal Map, Parallax Map (a.k.a. bump mapping)
- * Tangent shading
- * Reflection
- == Material Textures
- * Texturing
- *** material colors (ambient, diffuse, specular/shininess, glow),
- *** color map, light map,
- *** transparency, translucency, alpha map, alpha testing with falloff threshold,
- *** sphere map, cube map,
- *** texture scale,
- *** wireframe
- *** color ramp texture
- * Multi-texturing through shaders
- * UV textures
- * Splat textures, Phong lit or unshaded, supports diffuse and normal maps
- //* link:http://hub.jmonkeyengine.org/forum/topic/textureatlas-creation-and-packed-texture-handling-in-sdk/[Texture Atlas, handling of packed Textures]
- == Asset System
- * Asset importing
- ** Animation
- ** Meshes
- ** Textures
- ** Scenes
- ** Materials
- ** Shaders
- * Multi-threaded asset loading via HTTP
- * Loading scenes from .ZIP files
- * Sharable AssetPacks
- == Special Effects
- * xref:jme3/advanced/particle_emitters.adoc[Particles: Smoke, fire, explosions, etc]
- * xref:jme3/advanced/effects_overview.adoc[Post processing / 2D Filter Effects]
- ** Reflective Water
- ** Shadow mapping
- ** High Dynamic Range rendering
- ** Screen Space Ambient Occlusion
- ** Light Scattering
- ** Cartoon Effect
- ** Fog
- ** Bloom
- ** Depth of Field Blur
- == Terrain
- * xref:jme3/advanced/terrain.adoc[Geomipmapped hightmap terrain]
- * xref:jme3/external/blender/blender_ogre_compatibility.adoc[Ogre Compatibility]
- * xref:jme3/advanced/sky.adoc[SkyBox and SkyDome]
- * Terrain lighting
- == GUI / HUD
- * xref:jme3/advanced/hud.adoc[Orthogonal (Billboard) node]
- * xref:jme3/advanced/nifty_gui.adoc[Nifty GUI integration]
- == Miscellaneous
- * xref:jme3/advanced/application_states.adoc[Application States] and xref:jme3/advanced/custom_controls.adoc[Controls] to implement xref:jme3/advanced/update_loop.adoc[game logic]
- * xref:jme3/advanced/cinematics.adoc[Cinematics and motion paths]
- * xref:jme3/advanced/camera.adoc[Camera System]
- ** Normal or parallel view
- ** Multiple views
- * Swing canvas (e.g. for Applets)
- * xref:jme3/advanced/input_handling.adoc[Input handling]
- ** Mouse, keyboard, joystick
- ** xref:jme3/advanced/combo_moves.adoc[Combo moves]
- == Networking
- * xref:jme3/advanced/networking.adoc[SpiderMonkey API]
|