features.adoc 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. = jMonkeyEngine 3.0 Feature Overview
  2. :revnumber: 2.0
  3. :revdate: 2020/07/13
  4. See also: xref:jme3/requirements.adoc[requirements].
  5. == Software Development Kit: jMonkeyEngine SDK
  6. * xref:sdk:project_creation.adoc[Creates jME3-ready Java projects]
  7. ** Preconfigured classpath
  8. ** Bundled with compatible JDK
  9. ** xref:jme3/advanced/asset_manager.adoc[Asset Manager] for loading multi-media files and 3D models including asset name code completion
  10. ** xref:sdk:default_build_script.adoc[Non-proprietary Ant build scripts]
  11. ** jME3-ready Javadoc popups, xref:sdk:sample_code.adoc[sample code projects], and code snippet palette
  12. * xref:sdk:code_editor.adoc[Full-featured Java and XML code editor]
  13. * xref:sdk:update_center.adoc[Plugins]
  14. ** xref:sdk:version_control.adoc[File Version Control]
  15. ** xref:sdk:debugging_profiling_testing.adoc[Debugger and Profiler (optional)]
  16. ** xref:sdk:model_loader_and_viewer.adoc[Converters and Importers for game assets (3D models etc)]
  17. ** xref:sdk:scene_composer.adoc[3D Scene Viewer and Scene Composer]
  18. ** xref:sdk:material_editing.adoc[Material editor]
  19. ** Shader Node editor
  20. ** xref:sdk:terrain_editor.adoc[Terrain generation, painting, and editing]
  21. ** xref:jme3/external/fonts.adoc[Custom font creator]
  22. ** xref:sdk:neotexture.adoc[Procedural texture creator (NeoTexture)]
  23. ** xref:jme3/advanced/level_of_detail.adoc[Level of Detail (LOD) generator]
  24. ** xref:sdk:sdk.adoc[... and much more...]
  25. * xref:sdk:application_deployment.adoc[Deployment]
  26. ** Generates desktop executables for Win, Mac, Linux
  27. ** Generates mobile executables for xref:sdk:android.adoc[Android], iOS support is in the works.
  28. ** Generates JNLP WebStart and Java Browser Applets
  29. * xref:sdk:whynoteclipse.adoc[Based on the NetBeans Platform]
  30. ** Supports all NetBeans IDE plugins
  31. == Physics
  32. * xref:jme3/advanced/physics.adoc[JBullet physics binding]
  33. ** xref:jme3/advanced/walking_character.adoc[Physical characters]
  34. ** xref:jme3/advanced/hinges_and_joints.adoc[Physical joints and hinges]
  35. ** xref:jme3/advanced/vehicles.adoc[Ray-cast vehicle]
  36. ** xref:jme3/advanced/ragdoll.adoc[Ragdoll physics]
  37. * xref:jme3/advanced/bullet_multithreading.adoc[Multi-threaded physics]
  38. * xref:jme3/advanced/physics#create_a_collisionshape,Mesh-accurate collision shapes]
  39. == Supported Formats
  40. === jMonkeyEngine3 File Formats
  41. [cols="10,65,25", options="header"]
  42. |===
  43. a|Suffix
  44. a|Usage
  45. a|Learn more
  46. l|.j3o
  47. 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. +
  48. During alpha and earlier development phases (when models still change a lot) you can alternatively load GLTF/OBJ models directly.
  49. a|xref:sdk:model_loader_and_viewer.adoc[Model Loader and Viewer]
  50. l|.j3m
  51. a|A custom Material. You can create a .j3m file to store a Material configuration for a Geometry (e.g. 3D model).
  52. a|xref:jme3/advanced/materials_overview.adoc[Materials Overview] +
  53. xref:sdk:material_editing.adoc[Material Editing]
  54. l|.j3md
  55. a|A Material definition. These are pre-defined templates for shader-based Materials. +
  56. Each custom .j3m Material is based on a material definition. Advanced users can create their own material definitions.
  57. a| xref:jme3/advanced/materials_overview.adoc[Materials Overview]
  58. l|.j3f
  59. a|A custom post-processor filter configuration. You can create a .j3f file to store a FilterPostProcessor with a set of preconfigured filters.
  60. a| xref:sdk:filters.adoc[Filters] +
  61. xref:jme3/advanced/effects_overview.adoc[Effects Overview]
  62. |===
  63. === Supported External File Types
  64. [cols="40,15,45", options="header"]
  65. |===
  66. a|File Suffix
  67. a|Type
  68. a|Description
  69. l|.mesh.xml, .meshxml, .scene
  70. a|3D model
  71. a|Ogre Mesh XML *(soon to be discontinued)* +
  72. see:
  73. * xref:jme3/external/blender/blender_ogre_export.adoc[Exporting Models as Ogre XML meshes from Blender]
  74. * xref:jme3/external/blender/blender_ogre_compatibility.adoc[Ogre Compatibility]
  75. Converting to j3o:
  76. * xref:sdk:model_loader_and_viewer.adoc[SDK convert]
  77. * link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter]
  78. l|.obj, .mtl
  79. a|3D model
  80. a|Wavefront +
  81. Converting to j3o:
  82. * xref:sdk:model_loader_and_viewer.adoc[SDK convert]
  83. * link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter]
  84. l|.xbuf
  85. a|3D model
  86. a|Blender version 2.74 +
  87. See:
  88. * link:https://hub.jmonkeyengine.org/t/xbuf-format-a-developer-friendly-game-exchange-format-for-3d-data/31130[.xbuf] forum post.
  89. Converting to j3o:
  90. * xref:sdk:model_loader_and_viewer.adoc[SDK convert]
  91. * link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter]
  92. l|.fbx
  93. a|3D model
  94. a|Filmbox +
  95. See:
  96. * link:https://hub.jmonkeyengine.org/t/fbx-importer/30309[Fbx importer] forum post.
  97. Converting to j3o:
  98. * xref:sdk:model_loader_and_viewer.adoc[SDK convert]
  99. * link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter]
  100. l|.gltf, .bin, .glb, custom extensions
  101. a|3D model
  102. a|Blender version 2.78c onwards, +
  103. See:
  104. * link:https://hub.jmonkeyengine.org/t/jme-gltf-support/39174[gltf] forum post
  105. * xref:jme3/external/blender/blender_gltf.adoc[Exporting Models as GlTF meshes from Blender]
  106. Converting to j3o:
  107. * link:https://hub.jmonkeyengine.org/t/jmeconvert-tool/41831[JmeConvert tool]
  108. * xref:sdk:model_loader_and_viewer.adoc[SDK convert]
  109. * link:{link-javadoc}/com/jme3/export/binary/BinaryExporter.html[BinaryExporter]
  110. l|.jpg, .png, .gif
  111. a|image
  112. a|Textures, icons
  113. l|.dds
  114. a|image
  115. a|Direct Draw Surface texture
  116. l|.hdr
  117. a|image
  118. a|High Dynamic Range texture
  119. l|.tga
  120. a|image
  121. a|Targa Image File texture
  122. l|.pfm
  123. a|image
  124. a|Portable Float Map texture
  125. l|.bmp
  126. a|image
  127. a|Bitmap texture
  128. l|.ani, .cur, .ico
  129. a|image
  130. a|Windows Cursor, static or animated.
  131. l|.fnt
  132. a|bitmap font
  133. a|AngelCode font for +++<abbr title="Graphical User Interface">GUI</abbr>+++ and HUD
  134. l|.wav
  135. a|audio
  136. a|Wave music and sounds
  137. l|.ogg
  138. a|audio
  139. a|OGG Vorbis music and sounds
  140. |===
  141. == Shaders
  142. * GLSL support
  143. * Shader libraries
  144. * Shader permutations
  145. * xref:jme3/advanced/jme3_shadernodes.adoc[Shader Nodes]
  146. == Material Lighting
  147. * Per-pixel lighting
  148. * Multi-pass lighting
  149. * Phong Lighting
  150. ** Diffuse Map
  151. ** Alpha Map
  152. ** Glow Map
  153. ** Specular Map
  154. ** Normal Map, Parallax Map (a.k.a. bump mapping)
  155. * Tangent shading
  156. * Reflection
  157. == Material Textures
  158. * Texturing
  159. *** material colors (ambient, diffuse, specular/shininess, glow),
  160. *** color map, light map,
  161. *** transparency, translucency, alpha map, alpha testing with falloff threshold,
  162. *** sphere map, cube map,
  163. *** texture scale,
  164. *** wireframe
  165. *** color ramp texture
  166. * Multi-texturing through shaders
  167. * UV textures
  168. * Splat textures, Phong lit or unshaded, supports diffuse and normal maps
  169. //* link:http://hub.jmonkeyengine.org/forum/topic/textureatlas-creation-and-packed-texture-handling-in-sdk/[Texture Atlas, handling of packed Textures]
  170. == Asset System
  171. * Asset importing
  172. ** Animation
  173. ** Meshes
  174. ** Textures
  175. ** Scenes
  176. ** Materials
  177. ** Shaders
  178. * Multi-threaded asset loading via HTTP
  179. * Loading scenes from .ZIP files
  180. * Sharable AssetPacks
  181. == Special Effects
  182. * xref:jme3/advanced/particle_emitters.adoc[Particles: Smoke, fire, explosions, etc]
  183. * xref:jme3/advanced/effects_overview.adoc[Post processing / 2D Filter Effects]
  184. ** Reflective Water
  185. ** Shadow mapping
  186. ** High Dynamic Range rendering
  187. ** Screen Space Ambient Occlusion
  188. ** Light Scattering
  189. ** Cartoon Effect
  190. ** Fog
  191. ** Bloom
  192. ** Depth of Field Blur
  193. == Terrain
  194. * xref:jme3/advanced/terrain.adoc[Geomipmapped hightmap terrain]
  195. * xref:jme3/external/blender/blender_ogre_compatibility.adoc[Ogre Compatibility]
  196. * xref:jme3/advanced/sky.adoc[SkyBox and SkyDome]
  197. * Terrain lighting
  198. == GUI / HUD
  199. * xref:jme3/advanced/hud.adoc[Orthogonal (Billboard) node]
  200. * xref:jme3/advanced/nifty_gui.adoc[Nifty GUI integration]
  201. == Miscellaneous
  202. * 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]
  203. * xref:jme3/advanced/cinematics.adoc[Cinematics and motion paths]
  204. * xref:jme3/advanced/camera.adoc[Camera System]
  205. ** Normal or parallel view
  206. ** Multiple views
  207. * Swing canvas (e.g. for Applets)
  208. * xref:jme3/advanced/input_handling.adoc[Input handling]
  209. ** Mouse, keyboard, joystick
  210. ** xref:jme3/advanced/combo_moves.adoc[Combo moves]
  211. == Networking
  212. * xref:jme3/advanced/networking.adoc[SpiderMonkey API]