appsettings.html 64 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <title>jME3 Application Display Settings :: jMonkeyEngine Docs</title>
  7. <link rel="canonical" href="https://wiki.jmonkeyengine.org/docs/3.8/core/system/appsettings.html">
  8. <link rel="prev" href="../app/simpleapplication.html">
  9. <link rel="next" href="../app/update_loop.html">
  10. <meta name="generator" content="Antora 3.0.1">
  11. <link rel="stylesheet" href="../../../../_/css/site.css">
  12. <meta property="og:image" content="https://wiki.jmonkeyengine.org/_/img/iconx128.png">
  13. <meta property="og:description" content="jME3 Application Display Settings">
  14. <meta property="og:title" content="jMonkeyEngine Docs">
  15. <link rel="stylesheet" href="../../../../_/css/site-extra.css">
  16. <link rel="stylesheet" href="../../../../_/css/vendor/docsearch.min.css">
  17. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css -->
  18. <link rel="icon" href="../../../../_/img/favicon.ico" type="image/x-icon">
  19. </head>
  20. <body class="article">
  21. <header class="header">
  22. <nav class="navbar">
  23. <div class="navbar-brand">
  24. <a class="navbar-item" href="https://wiki.jmonkeyengine.org">
  25. <img alt="" src="../../../../_/img/jme-logo.png" height="32" type="image/x-icon">
  26. </a>
  27. <div class="navbar-item hide-for-print">
  28. <input id="search-input" type="text" placeholder="Search docs">
  29. </div>
  30. <button class="navbar-burger" data-target="topbar-nav">
  31. <span></span>
  32. <span></span>
  33. <span></span>
  34. </button>
  35. </div>
  36. <div id="topbar-nav" class="navbar-menu">
  37. <div class="navbar-end">
  38. <div class="navbar-item theme-switch-wrapper">
  39. <label class="theme-switch" for="checkbox">
  40. <input type="checkbox" id="checkbox" />
  41. <div class="slider round"></div>
  42. </label>
  43. </div>
  44. <a class="navbar-item" href="https://github.com/jmonkeyengine/wiki">Github</a>
  45. </div>
  46. </div>
  47. </nav>
  48. </header>
  49. <div class="body">
  50. <div class="nav-container" data-component="docs" data-version="3.8">
  51. <aside class="nav">
  52. <div class="panels">
  53. <div class="nav-panel-menu is-active" data-panel="menu">
  54. <nav class="nav-menu">
  55. <h3 class="title"><a href="../../documentation.html">JME</a></h3>
  56. <ul class="nav-list">
  57. <li class="nav-item" data-depth="0">
  58. <ul class="nav-list">
  59. <li class="nav-item" data-depth="1">
  60. <a class="nav-link" href="../../documentation.html">Getting Started</a>
  61. </li>
  62. <li class="nav-item" data-depth="1">
  63. <a class="nav-link" href="https://javadoc.jmonkeyengine.org/v3.4.1-stable">JavaDoc</a>
  64. </li>
  65. <li class="nav-item" data-depth="1">
  66. <a class="nav-link" href="../../release.html">Release Guide</a>
  67. </li>
  68. </ul>
  69. </li>
  70. <li class="nav-item" data-depth="0">
  71. <ul class="nav-list">
  72. <li class="nav-item" data-depth="1">
  73. <button class="nav-item-toggle"></button>
  74. <a class="nav-link" href="../../tutorials/beginner/beginner.html">Beginner Tutorials</a>
  75. <ul class="nav-list">
  76. <li class="nav-item" data-depth="2">
  77. <a class="nav-link" href="../../tutorials/beginner/hello_simpleapplication.html">Hello SimpleApplication</a>
  78. </li>
  79. <li class="nav-item" data-depth="2">
  80. <a class="nav-link" href="../../tutorials/beginner/hello_node.html">Hello Node</a>
  81. </li>
  82. <li class="nav-item" data-depth="2">
  83. <a class="nav-link" href="../../tutorials/beginner/hello_asset.html">Hello Asset</a>
  84. </li>
  85. <li class="nav-item" data-depth="2">
  86. <a class="nav-link" href="../../tutorials/beginner/hello_main_event_loop.html">Hello Update Loop</a>
  87. </li>
  88. <li class="nav-item" data-depth="2">
  89. <a class="nav-link" href="../../tutorials/beginner/hello_input_system.html">Hello Input System</a>
  90. </li>
  91. <li class="nav-item" data-depth="2">
  92. <a class="nav-link" href="../../tutorials/beginner/hello_material.html">Hello Material</a>
  93. </li>
  94. <li class="nav-item" data-depth="2">
  95. <a class="nav-link" href="../../tutorials/beginner/hello_animation.html">Hello Animation</a>
  96. </li>
  97. <li class="nav-item" data-depth="2">
  98. <a class="nav-link" href="../../tutorials/beginner/hello_picking.html">Hello Picking</a>
  99. </li>
  100. <li class="nav-item" data-depth="2">
  101. <a class="nav-link" href="../../tutorials/beginner/hello_collision.html">Hello Collision</a>
  102. </li>
  103. <li class="nav-item" data-depth="2">
  104. <a class="nav-link" href="../../tutorials/beginner/hello_terrain.html">Hello Terrain</a>
  105. </li>
  106. <li class="nav-item" data-depth="2">
  107. <a class="nav-link" href="../../tutorials/beginner/hello_audio.html">Hello Audio</a>
  108. </li>
  109. <li class="nav-item" data-depth="2">
  110. <a class="nav-link" href="../../tutorials/beginner/hello_effects.html">Hello Effects</a>
  111. </li>
  112. <li class="nav-item" data-depth="2">
  113. <a class="nav-link" href="../../tutorials/beginner/hello_physics.html">Hello Physics</a>
  114. </li>
  115. </ul>
  116. </li>
  117. <li class="nav-item" data-depth="1">
  118. <button class="nav-item-toggle"></button>
  119. <span class="nav-text">Key Concepts</span>
  120. <ul class="nav-list">
  121. <li class="nav-item" data-depth="2">
  122. <a class="nav-link" href="../../tutorials/concepts/best_practices.html">Best Practices</a>
  123. </li>
  124. <li class="nav-item" data-depth="2">
  125. <a class="nav-link" href="../../tutorials/concepts/optimization.html">Optimization</a>
  126. </li>
  127. <li class="nav-item" data-depth="2">
  128. <a class="nav-link" href="../../tutorials/concepts/faq.html">Frequently Asked Questions</a>
  129. </li>
  130. <li class="nav-item" data-depth="2">
  131. <a class="nav-link" href="../../tutorials/concepts/math_for_dummies.html">Math for Dummies</a>
  132. </li>
  133. <li class="nav-item" data-depth="2">
  134. <a class="nav-link" href="../../tutorials/concepts/math.html">Math overview</a>
  135. </li>
  136. <li class="nav-item" data-depth="2">
  137. <a class="nav-link" href="../../tutorials/concepts/math_cheet_sheet.html">3D math "cheat sheet"</a>
  138. </li>
  139. <li class="nav-item" data-depth="2">
  140. <a class="nav-link" href="../../tutorials/concepts/rotate.html">3-D Rotation</a>
  141. </li>
  142. <li class="nav-item" data-depth="2">
  143. <a class="nav-link" href="../../tutorials/concepts/math_video_tutorials.html">Math video tutorial series</a>
  144. </li>
  145. <li class="nav-item" data-depth="2">
  146. <a class="nav-link" href="../../tutorials/concepts/multi-media_asset_pipeline.html">Multi-Media Asset Pipeline</a>
  147. </li>
  148. <li class="nav-item" data-depth="2">
  149. <a class="nav-link" href="../../tutorials/concepts/the_scene_graph.html">The Scene Graph</a>
  150. </li>
  151. <li class="nav-item" data-depth="2">
  152. <a class="nav-link" href="../../tutorials/concepts/scenegraph_for_dummies.html">Scene Graph for Dummies</a>
  153. </li>
  154. <li class="nav-item" data-depth="2">
  155. <a class="nav-link" href="../../tutorials/concepts/terminology.html">3D Graphics Terminology</a>
  156. </li>
  157. <li class="nav-item" data-depth="2">
  158. <a class="nav-link" href="../../tutorials/concepts/transparency_sorting.html">Transparency Sorting</a>
  159. </li>
  160. </ul>
  161. </li>
  162. <li class="nav-item" data-depth="1">
  163. <button class="nav-item-toggle"></button>
  164. <span class="nav-text">Articles and How-to&#8217;s</span>
  165. <ul class="nav-list">
  166. <li class="nav-item" data-depth="2">
  167. <button class="nav-item-toggle"></button>
  168. <span class="nav-text">How to Model</span>
  169. <ul class="nav-list">
  170. <li class="nav-item" data-depth="3">
  171. <a class="nav-link" href="../../tutorials/how-to/modeling/3dsmax/3dsmax.html">3dsmax</a>
  172. </li>
  173. <li class="nav-item" data-depth="3">
  174. <button class="nav-item-toggle"></button>
  175. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender.html">Blender</a>
  176. <ul class="nav-list">
  177. <li class="nav-item" data-depth="4">
  178. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_buffer_clearing.html">Buffer Clearing</a>
  179. </li>
  180. <li class="nav-item" data-depth="4">
  181. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_gltf.html">Export as GlTF</a>
  182. </li>
  183. <li class="nav-item" data-depth="4">
  184. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_ogre_export.html">Export as Ogre XML</a>
  185. </li>
  186. <li class="nav-item" data-depth="4">
  187. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_ogre_compatibility.html">Ogre Compatibility</a>
  188. </li>
  189. <li class="nav-item" data-depth="4">
  190. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/makehuman.html">MakeHuman</a>
  191. </li>
  192. <li class="nav-item" data-depth="4">
  193. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/makehuman_blender_ogrexml_toolchain.html">MakeHuman toolchain</a>
  194. </li>
  195. </ul>
  196. </li>
  197. </ul>
  198. </li>
  199. <li class="nav-item" data-depth="2">
  200. <button class="nav-item-toggle"></button>
  201. <span class="nav-text">How to Animate</span>
  202. <ul class="nav-list">
  203. <li class="nav-item" data-depth="3">
  204. <button class="nav-item-toggle"></button>
  205. <span class="nav-text">Mixamo</span>
  206. <ul class="nav-list">
  207. <li class="nav-item" data-depth="4">
  208. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/mixamo.html">Blender Models</a>
  209. </li>
  210. </ul>
  211. </li>
  212. </ul>
  213. </li>
  214. <li class="nav-item" data-depth="2">
  215. <a class="nav-link" href="../../tutorials/how-to/debugging.html">Debugging with Wireframes</a>
  216. </li>
  217. <li class="nav-item" data-depth="2">
  218. <a class="nav-link" href="../../tutorials/how-to/util/free_skymaps.html">How to create free skymaps</a>
  219. </li>
  220. <li class="nav-item" data-depth="2">
  221. <button class="nav-item-toggle"></button>
  222. <span class="nav-text">Java Tips</span>
  223. <ul class="nav-list">
  224. <li class="nav-item" data-depth="3">
  225. <a class="nav-link" href="../../tutorials/how-to/java/localization.html">Localization</a>
  226. </li>
  227. <li class="nav-item" data-depth="3">
  228. <a class="nav-link" href="../../tutorials/how-to/java/swing_canvas.html">Swing Canvas</a>
  229. </li>
  230. <li class="nav-item" data-depth="3">
  231. <a class="nav-link" href="../../tutorials/how-to/java/logging.html">Logging</a>
  232. </li>
  233. <li class="nav-item" data-depth="3">
  234. <a class="nav-link" href="../../tutorials/how-to/java/read_graphic_card_capabilites.html">Read Graphics Capabilities</a>
  235. </li>
  236. </ul>
  237. </li>
  238. <li class="nav-item" data-depth="2">
  239. <button class="nav-item-toggle"></button>
  240. <span class="nav-text">Articles</span>
  241. <ul class="nav-list">
  242. <li class="nav-item" data-depth="3">
  243. <button class="nav-item-toggle"></button>
  244. <span class="nav-text">Physically Based Rendering</span>
  245. <ul class="nav-list">
  246. <li class="nav-item" data-depth="4">
  247. <a class="nav-link" href="../../tutorials/how-to/articles/pbr/pbr_part1.html">PBR – Part one</a>
  248. </li>
  249. <li class="nav-item" data-depth="4">
  250. <a class="nav-link" href="../../tutorials/how-to/articles/pbr/pbr_part2.html">PBR – Part two</a>
  251. </li>
  252. <li class="nav-item" data-depth="4">
  253. <a class="nav-link" href="../../tutorials/how-to/articles/pbr/pbr_part3.html">PBR – Part three</a>
  254. </li>
  255. </ul>
  256. </li>
  257. </ul>
  258. </li>
  259. </ul>
  260. </li>
  261. </ul>
  262. </li>
  263. <li class="nav-item" data-depth="0">
  264. <ul class="nav-list">
  265. <li class="nav-item" data-depth="1">
  266. <button class="nav-item-toggle"></button>
  267. <span class="nav-text">Core Engine</span>
  268. <ul class="nav-list">
  269. <li class="nav-item" data-depth="2">
  270. <a class="nav-link" href="../app/simpleapplication.html">SimpleApplication</a>
  271. </li>
  272. <li class="nav-item is-current-page" data-depth="2">
  273. <a class="nav-link" href="appsettings.html">AppSettings</a>
  274. </li>
  275. </ul>
  276. </li>
  277. <li class="nav-item" data-depth="1">
  278. <button class="nav-item-toggle"></button>
  279. <span class="nav-text">Controlling Game Logic</span>
  280. <ul class="nav-list">
  281. <li class="nav-item" data-depth="2">
  282. <a class="nav-link" href="../app/update_loop.html">Update Loop</a>
  283. </li>
  284. <li class="nav-item" data-depth="2">
  285. <a class="nav-link" href="../app/state/application_states.html">Application States</a>
  286. </li>
  287. <li class="nav-item" data-depth="2">
  288. <button class="nav-item-toggle"></button>
  289. <a class="nav-link" href="../scene/control/custom_controls.html">Custom Controls</a>
  290. <ul class="nav-list">
  291. <li class="nav-item" data-depth="3">
  292. <button class="nav-item-toggle"></button>
  293. <span class="nav-text">Video</span>
  294. <ul class="nav-list">
  295. <li class="nav-item" data-depth="4">
  296. <a class="nav-link" href="https://www.youtube.com/watch?v=MNDiZ9YHIpM">Control any scene node</a>
  297. </li>
  298. <li class="nav-item" data-depth="4">
  299. <a class="nav-link" href="https://www.youtube.com/watch?v=-OzRZscLlHY">Control a character</a>
  300. </li>
  301. <li class="nav-item" data-depth="4">
  302. <a class="nav-link" href="https://wiki.jmonkeyengine.org/Scenes/SDK-UsecaseDemo_1.zip">Video Source Code</a>
  303. </li>
  304. </ul>
  305. </li>
  306. </ul>
  307. </li>
  308. <li class="nav-item" data-depth="2">
  309. <a class="nav-link" href="../app/multithreading.html">Multithreading</a>
  310. </li>
  311. </ul>
  312. </li>
  313. <li class="nav-item" data-depth="1">
  314. <button class="nav-item-toggle"></button>
  315. <span class="nav-text">Scene Graph</span>
  316. <ul class="nav-list">
  317. <li class="nav-item" data-depth="2">
  318. <a class="nav-link" href="../scene/traverse_scenegraph.html">Traverse SceneGraph</a>
  319. </li>
  320. <li class="nav-item" data-depth="2">
  321. <a class="nav-link" href="../scene/spatial.html">Spatial: Node vs Geometry</a>
  322. </li>
  323. <li class="nav-item" data-depth="2">
  324. <button class="nav-item-toggle"></button>
  325. <a class="nav-link" href="../scene/mesh.html">Mesh</a>
  326. <ul class="nav-list">
  327. <li class="nav-item" data-depth="3">
  328. <a class="nav-link" href="../scene/custom_meshes.html">Custom Meshes</a>
  329. </li>
  330. <li class="nav-item" data-depth="3">
  331. <a class="nav-link" href="../scene/shape/shape.html">Shape</a>
  332. </li>
  333. <li class="nav-item" data-depth="3">
  334. <a class="nav-link" href="../scene/3d_models.html">3D Models</a>
  335. </li>
  336. </ul>
  337. </li>
  338. <li class="nav-item" data-depth="2">
  339. <a class="nav-link" href="../asset/asset_manager.html">Asset Manager</a>
  340. </li>
  341. <li class="nav-item" data-depth="2">
  342. <a class="nav-link" href="../export/save_and_load.html">Saving and Loading Nodes</a>
  343. </li>
  344. <li class="nav-item" data-depth="2">
  345. <a class="nav-link" href="../collision/collision_and_intersection.html">Collision and Intersection</a>
  346. </li>
  347. <li class="nav-item" data-depth="2">
  348. <a class="nav-link" href="../scene/control/level_of_detail.html">Level of Detail</a>
  349. </li>
  350. </ul>
  351. </li>
  352. <li class="nav-item" data-depth="1">
  353. <button class="nav-item-toggle"></button>
  354. <span class="nav-text">Animation, Scene</span>
  355. <ul class="nav-list">
  356. <li class="nav-item" data-depth="2">
  357. <a class="nav-link" href="../animation/animation_new.html">Animation with AnimComposer</a>
  358. </li>
  359. <li class="nav-item" data-depth="2">
  360. <a class="nav-link" href="../animation/animation.html">Animation-Old (AnimControl)</a>
  361. </li>
  362. <li class="nav-item" data-depth="2">
  363. <a class="nav-link" href="../cinematic/cinematics.html">Cinematics (cutscenes, fake destruction physics)</a>
  364. </li>
  365. <li class="nav-item" data-depth="2">
  366. <a class="nav-link" href="../cinematic/motionpath.html">MotionPaths and Waypoints</a>
  367. </li>
  368. </ul>
  369. </li>
  370. <li class="nav-item" data-depth="1">
  371. <button class="nav-item-toggle"></button>
  372. <span class="nav-text">Material, Light, Shadow</span>
  373. <ul class="nav-list">
  374. <li class="nav-item" data-depth="2">
  375. <a class="nav-link" href="../material/how_to_use_materials.html">How to use Materials</a>
  376. </li>
  377. <li class="nav-item" data-depth="2">
  378. <a class="nav-link" href="../material/j3m_material_files.html">.j3m Material Files</a>
  379. </li>
  380. <li class="nav-item" data-depth="2">
  381. <a class="nav-link" href="../material/material_definitions.html">.j3md Material Definitions</a>
  382. </li>
  383. <li class="nav-item" data-depth="2">
  384. <a class="nav-link" href="../material/materials_overview.html">.j3md Properties</a>
  385. </li>
  386. <li class="nav-item" data-depth="2">
  387. <a class="nav-link" href="../shader/jme3_shaders.html">Shaders and JME3</a>
  388. </li>
  389. <li class="nav-item" data-depth="2">
  390. <a class="nav-link" href="../shader/jme3_shadernodes.html">Shader Node System</a>
  391. </li>
  392. <li class="nav-item" data-depth="2">
  393. <a class="nav-link" href="../shader/shader_video_tutorials.html">Shader Video Tutorials</a>
  394. </li>
  395. <li class="nav-item" data-depth="2">
  396. <a class="nav-link" href="../light/light_and_shadow.html">Light and Shadow</a>
  397. </li>
  398. <li class="nav-item" data-depth="2">
  399. <a class="nav-link" href="../texture/anisotropic_filtering.html">Anisotropic Filtering</a>
  400. </li>
  401. <li class="nav-item" data-depth="2">
  402. <a class="nav-link" href="jme3_srgbpipeline.html">Gamma Correction</a>
  403. </li>
  404. <li class="nav-item" data-depth="2">
  405. <a class="nav-link" href="../material/normal_types.html">Normal Map Conventions</a>
  406. </li>
  407. </ul>
  408. </li>
  409. <li class="nav-item" data-depth="1">
  410. <button class="nav-item-toggle"></button>
  411. <span class="nav-text">Audio, Video</span>
  412. <ul class="nav-list">
  413. <li class="nav-item" data-depth="2">
  414. <a class="nav-link" href="../audio/audio.html">Playing Sounds</a>
  415. </li>
  416. <li class="nav-item" data-depth="2">
  417. <a class="nav-link" href="../audio/audio_environment_presets.html">Audio Environment Presets</a>
  418. </li>
  419. <li class="nav-item" data-depth="2">
  420. <a class="nav-link" href="../app/state/screenshots.html">Capture Screenshots</a>
  421. </li>
  422. <li class="nav-item" data-depth="2">
  423. <a class="nav-link" href="../app/state/capture_audio_video_to_a_file.html">Capture Audio/Video</a>
  424. </li>
  425. </ul>
  426. </li>
  427. <li class="nav-item" data-depth="1">
  428. <button class="nav-item-toggle"></button>
  429. <span class="nav-text">Filter, Effect</span>
  430. <ul class="nav-list">
  431. <li class="nav-item" data-depth="2">
  432. <a class="nav-link" href="../effect/effects_overview.html">Overview</a>
  433. </li>
  434. <li class="nav-item" data-depth="2">
  435. <a class="nav-link" href="../effect/bloom_and_glow.html">Bloom and Glow</a>
  436. </li>
  437. <li class="nav-item" data-depth="2">
  438. <a class="nav-link" href="../effect/particle_emitters.html">Particle Emitters</a>
  439. </li>
  440. </ul>
  441. </li>
  442. <li class="nav-item" data-depth="1">
  443. <button class="nav-item-toggle"></button>
  444. <span class="nav-text">Landscapes</span>
  445. <ul class="nav-list">
  446. <li class="nav-item" data-depth="2">
  447. <a class="nav-link" href="../util/sky.html">Sky</a>
  448. </li>
  449. <li class="nav-item" data-depth="2">
  450. <a class="nav-link" href="../terrain/terrain.html">Terrain (TerraMonkey)</a>
  451. </li>
  452. <li class="nav-item" data-depth="2">
  453. <a class="nav-link" href="../collision/terrain_collision.html">Terrain Collision</a>
  454. </li>
  455. <li class="nav-item" data-depth="2">
  456. <a class="nav-link" href="../effect/water.html">Simple Water</a>
  457. </li>
  458. <li class="nav-item" data-depth="2">
  459. <a class="nav-link" href="../effect/post-processor_water.html">Post-Processor Water</a>
  460. </li>
  461. </ul>
  462. </li>
  463. <li class="nav-item" data-depth="1">
  464. <button class="nav-item-toggle"></button>
  465. <span class="nav-text">Camera</span>
  466. <ul class="nav-list">
  467. <li class="nav-item" data-depth="2">
  468. <a class="nav-link" href="../renderer/camera.html">Camera</a>
  469. </li>
  470. <li class="nav-item" data-depth="2">
  471. <a class="nav-link" href="../renderer/making_the_camera_follow_a_character.html">Follow a Character</a>
  472. </li>
  473. <li class="nav-item" data-depth="2">
  474. <a class="nav-link" href="../renderer/remote-controlling_the_camera.html">Remote-Controlling</a>
  475. </li>
  476. <li class="nav-item" data-depth="2">
  477. <a class="nav-link" href="../renderer/multiple_camera_views.html">Multiple Camera Views</a>
  478. </li>
  479. <li class="nav-item" data-depth="2">
  480. <a class="nav-link" href="../renderer/jme3_renderbuckets.html">Render Buckets</a>
  481. </li>
  482. </ul>
  483. </li>
  484. <li class="nav-item" data-depth="1">
  485. <button class="nav-item-toggle"></button>
  486. <span class="nav-text">Rendering</span>
  487. <ul class="nav-list">
  488. <li class="nav-item" data-depth="2">
  489. <a class="nav-link" href="../renderer/render_pipeline.html">Render Pipelines</a>
  490. </li>
  491. </ul>
  492. </li>
  493. <li class="nav-item" data-depth="1">
  494. <button class="nav-item-toggle"></button>
  495. <span class="nav-text">User Interaction</span>
  496. <ul class="nav-list">
  497. <li class="nav-item" data-depth="2">
  498. <a class="nav-link" href="../input/input_handling.html">Input Handling</a>
  499. </li>
  500. <li class="nav-item" data-depth="2">
  501. <a class="nav-link" href="../input/combo_moves.html">Combo Moves</a>
  502. </li>
  503. <li class="nav-item" data-depth="2">
  504. <a class="nav-link" href="../input/mouse_picking.html">Mouse Picking</a>
  505. </li>
  506. </ul>
  507. </li>
  508. <li class="nav-item" data-depth="1">
  509. <button class="nav-item-toggle"></button>
  510. <a class="nav-link" href="../gui/topic_gui.html">Graphical User Interface</a>
  511. <ul class="nav-list">
  512. <li class="nav-item" data-depth="2">
  513. <button class="nav-item-toggle"></button>
  514. <span class="nav-text">Nifty GUI</span>
  515. <ul class="nav-list">
  516. <li class="nav-item" data-depth="3">
  517. <a class="nav-link" href="../gui/nifty_gui.html">Integration Tutorial</a>
  518. </li>
  519. <li class="nav-item" data-depth="3">
  520. <a class="nav-link" href="../gui/nifty_gui_best_practices.html">Best Practices</a>
  521. </li>
  522. <li class="nav-item" data-depth="3">
  523. <a class="nav-link" href="../gui/nifty_gui_scenarios.html">Scenarios</a>
  524. </li>
  525. </ul>
  526. </li>
  527. <li class="nav-item" data-depth="2">
  528. <a class="nav-link" href="../ui/hud.html">Head-Up Display (HUD)</a>
  529. </li>
  530. </ul>
  531. </li>
  532. <li class="nav-item" data-depth="1">
  533. <button class="nav-item-toggle"></button>
  534. <span class="nav-text">Virtual Reality</span>
  535. <ul class="nav-list">
  536. <li class="nav-item" data-depth="2">
  537. <a class="nav-link" href="../vr/virtualreality.html">Virtual Reality</a>
  538. </li>
  539. <li class="nav-item" data-depth="2">
  540. <a class="nav-link" href="../vr/legacyOpenVr.html">Virtual Reality Legacy Support</a>
  541. </li>
  542. <li class="nav-item" data-depth="2">
  543. <a class="nav-link" href="../vr/virtualrealitycontrollers.html">Virtual Reality Legacy Controller Support</a>
  544. </li>
  545. </ul>
  546. </li>
  547. </ul>
  548. </li>
  549. <li class="nav-item" data-depth="0">
  550. <ul class="nav-list">
  551. <li class="nav-item" data-depth="1">
  552. <button class="nav-item-toggle"></button>
  553. <a class="nav-link" href="../../physics/physics.html">Physics</a>
  554. <ul class="nav-list">
  555. <li class="nav-item" data-depth="2">
  556. <a class="nav-link" href="../../physics/bullet_multithreading.html">Multi-Threaded Physics</a>
  557. </li>
  558. <li class="nav-item" data-depth="2">
  559. <a class="nav-link" href="../../physics/collision/physics_listeners.html">Collision Detection</a>
  560. </li>
  561. <li class="nav-item" data-depth="2">
  562. <a class="nav-link" href="../../physics/joint/hinges_and_joints.html">Hinges and Joints</a>
  563. </li>
  564. <li class="nav-item" data-depth="2">
  565. <a class="nav-link" href="../../physics/control/walking_character.html">Walking Character</a>
  566. </li>
  567. <li class="nav-item" data-depth="2">
  568. <a class="nav-link" href="../../physics/control/ragdoll.html">Ragdoll</a>
  569. </li>
  570. <li class="nav-item" data-depth="2">
  571. <a class="nav-link" href="../../physics/control/vehicles.html">Vehicles</a>
  572. </li>
  573. <li class="nav-item" data-depth="2">
  574. <a class="nav-link" href="../../physics/control/softbody.html">Softbody</a>
  575. </li>
  576. <li class="nav-item" data-depth="2">
  577. <a class="nav-link" href="../../physics/bullet_pitfalls.html">Bullet Physics Pitfalls</a>
  578. </li>
  579. </ul>
  580. </li>
  581. </ul>
  582. </li>
  583. <li class="nav-item" data-depth="0">
  584. <ul class="nav-list">
  585. <li class="nav-item" data-depth="1">
  586. <button class="nav-item-toggle"></button>
  587. <span class="nav-text">Networking</span>
  588. <ul class="nav-list">
  589. <li class="nav-item" data-depth="2">
  590. <a class="nav-link" href="../../networking/networking.html">Networking (SpiderMonkey)</a>
  591. </li>
  592. <li class="nav-item" data-depth="2">
  593. <a class="nav-link" href="../../networking/headless_server.html">Headless Server</a>
  594. </li>
  595. <li class="nav-item" data-depth="2">
  596. <a class="nav-link" href="../../networking/monkey_zone.html">Multi-Player Demo Code</a>
  597. </li>
  598. <li class="nav-item" data-depth="2">
  599. <a class="nav-link" href="../../networking/networking_video_tutorials.html">Networking Video Tutorials</a>
  600. </li>
  601. </ul>
  602. </li>
  603. </ul>
  604. </li>
  605. <li class="nav-item" data-depth="0">
  606. <ul class="nav-list">
  607. <li class="nav-item" data-depth="1">
  608. <button class="nav-item-toggle"></button>
  609. <span class="nav-text">User Contributions</span>
  610. <ul class="nav-list">
  611. <li class="nav-item" data-depth="2">
  612. <a class="nav-link" href="../../contributions/contributions.html">User Made Utilities</a>
  613. </li>
  614. <li class="nav-item" data-depth="2">
  615. <button class="nav-item-toggle"></button>
  616. <span class="nav-text">Shader</span>
  617. <ul class="nav-list">
  618. <li class="nav-item" data-depth="3">
  619. <a class="nav-link" href="../../contributions/shader/shaderblow_project.html">ShaderBlow Project</a>
  620. </li>
  621. </ul>
  622. </li>
  623. <li class="nav-item" data-depth="2">
  624. <button class="nav-item-toggle"></button>
  625. <span class="nav-text">Landscapes</span>
  626. <ul class="nav-list">
  627. <li class="nav-item" data-depth="3">
  628. <a class="nav-link" href="../../contributions/lanscapes/vegetationsystem/vegetationsystem.html">Vegetation System</a>
  629. </li>
  630. </ul>
  631. </li>
  632. <li class="nav-item" data-depth="2">
  633. <button class="nav-item-toggle"></button>
  634. <span class="nav-text">Networking</span>
  635. <ul class="nav-list">
  636. <li class="nav-item" data-depth="3">
  637. <a class="nav-link" href="../../contributions/networking/open_game_finder.html">Open Game Finder</a>
  638. </li>
  639. </ul>
  640. </li>
  641. <li class="nav-item" data-depth="2">
  642. <button class="nav-item-toggle"></button>
  643. <span class="nav-text">Entity System</span>
  644. <ul class="nav-list">
  645. <li class="nav-item" data-depth="3">
  646. <a class="nav-link" href="#es/entitysystem.adoc">The Zay-ES Entity System</a>
  647. </li>
  648. </ul>
  649. </li>
  650. <li class="nav-item" data-depth="2">
  651. <button class="nav-item-toggle"></button>
  652. <span class="nav-text">Artificial Intelligence</span>
  653. <ul class="nav-list">
  654. <li class="nav-item" data-depth="3">
  655. <a class="nav-link" href="../../contributions/ai/recast.html">Recast Navigation</a>
  656. </li>
  657. <li class="nav-item" data-depth="3">
  658. <a class="nav-link" href="../../contributions/ai/building_recast.html">Updating and building Recast Native Bindings</a>
  659. </li>
  660. <li class="nav-item" data-depth="3">
  661. <a class="nav-link" href="../../contributions/ai/monkey_brains.html">Monkey Brains</a>
  662. </li>
  663. <li class="nav-item" data-depth="3">
  664. <a class="nav-link" href="../../contributions/ai/steer_behaviours.html">Steer Behaviours</a>
  665. </li>
  666. <li class="nav-item" data-depth="3">
  667. <a class="nav-link" href="../../contributions/ai/jme3_ai.html">jME3 Artificial Intelligence</a>
  668. </li>
  669. </ul>
  670. </li>
  671. <li class="nav-item" data-depth="2">
  672. <button class="nav-item-toggle"></button>
  673. <a class="nav-link" href="../../contributions/gui/topic_contributions_gui.html">GUI</a>
  674. <ul class="nav-list">
  675. <li class="nav-item" data-depth="3">
  676. <a class="nav-link" href="../../contributions/contributions.html#lemur-gui-library">Lemur - a native jME3 GUI library with scene graph tools</a>
  677. </li>
  678. <li class="nav-item" data-depth="3">
  679. <a class="nav-link" href="../../contributions/contributions.html#tonegodgui">tonegodGUI - a native jME3 GUI library</a>
  680. </li>
  681. <li class="nav-item" data-depth="3">
  682. <a class="nav-link" href="../../contributions/contributions.html#immediate-graphical-user-interface">Immediate graphical user interface</a>
  683. </li>
  684. </ul>
  685. </li>
  686. <li class="nav-item" data-depth="2">
  687. <button class="nav-item-toggle"></button>
  688. <span class="nav-text">Tools</span>
  689. <ul class="nav-list">
  690. <li class="nav-item" data-depth="3">
  691. <a class="nav-link" href="../../contributions/tools/navigation.html">Mercator Projection Tool (Marine Navigation)</a>
  692. </li>
  693. <li class="nav-item" data-depth="3">
  694. <a class="nav-link" href="../../contributions/tools/charts.html">Visualizing Maps in JME3 (Marine Charts)</a>
  695. </li>
  696. </ul>
  697. </li>
  698. <li class="nav-item" data-depth="2">
  699. <button class="nav-item-toggle"></button>
  700. <a class="nav-link" href="../../contributions/vr/topic_contributions_vr.html">Virtual Reality (And augmented reality)</a>
  701. <ul class="nav-list">
  702. <li class="nav-item" data-depth="3">
  703. <a class="nav-link" href="../../contributions/contributions.html#tamarin-openxr">Tamarin OpenXR</a>
  704. </li>
  705. </ul>
  706. </li>
  707. <li class="nav-item" data-depth="2">
  708. <button class="nav-item-toggle"></button>
  709. <span class="nav-text">Projects</span>
  710. <ul class="nav-list">
  711. <li class="nav-item" data-depth="3">
  712. <a class="nav-link" href="../../contributions/projects/rise_of_mutants_project.html">Rise of Mutants Project</a>
  713. </li>
  714. </ul>
  715. </li>
  716. </ul>
  717. </li>
  718. </ul>
  719. </li>
  720. <li class="nav-item" data-depth="0">
  721. <ul class="nav-list">
  722. <li class="nav-item" data-depth="1">
  723. <button class="nav-item-toggle"></button>
  724. <a class="nav-link" href="../../sdk/sdk.html">SDK</a>
  725. <ul class="nav-list">
  726. <li class="nav-item" data-depth="2">
  727. <button class="nav-item-toggle"></button>
  728. <span class="nav-text">Video Tutorials</span>
  729. <ul class="nav-list">
  730. <li class="nav-item" data-depth="3">
  731. <button class="nav-item-toggle"></button>
  732. <span class="nav-text">SDK Use Case Tutorials</span>
  733. <ul class="nav-list">
  734. <li class="nav-item" data-depth="4">
  735. <a class="nav-link" href="http://www.youtube.com/watch?v=-OzRZscLlHY">Demo 1 (Quixote demo)</a>
  736. </li>
  737. <li class="nav-item" data-depth="4">
  738. <a class="nav-link" href="http://www.youtube.com/watch?v=6-YWxD3JByE">Demo 2 (Models and Materials)</a>
  739. </li>
  740. </ul>
  741. </li>
  742. <li class="nav-item" data-depth="3">
  743. <button class="nav-item-toggle"></button>
  744. <span class="nav-text">SDK Tutorials</span>
  745. <ul class="nav-list">
  746. <li class="nav-item" data-depth="4">
  747. <a class="nav-link" href="http://www.youtube.com/watch?v=M1_0pbeyJzI">Basics</a>
  748. </li>
  749. <li class="nav-item" data-depth="4">
  750. <a class="nav-link" href="http://www.youtube.com/watch?v=nL7woH40i5c">Importing Models</a>
  751. </li>
  752. <li class="nav-item" data-depth="4">
  753. <a class="nav-link" href="http://www.youtube.com/watch?v=DUmgAjiNzhY">Dragging&amp;Dropping Nodes</a>
  754. </li>
  755. <li class="nav-item" data-depth="4">
  756. <a class="nav-link" href="http://www.youtube.com/watch?v=ntPAmtsQ6eM">Scene Composing</a>
  757. </li>
  758. <li class="nav-item" data-depth="4">
  759. <a class="nav-link" href="http://www.youtube.com/watch?v=zgPV3W6dD4s">Terrain with Collision Shape</a>
  760. </li>
  761. <li class="nav-item" data-depth="4">
  762. <a class="nav-link" href="http://www.youtube.com/watch?v=Feu3-mrpolc">Working with Materials</a>
  763. </li>
  764. <li class="nav-item" data-depth="4">
  765. <a class="nav-link" href="http://www.youtube.com/watch?v=MNDiZ9YHIpM">Custom Controls</a>
  766. </li>
  767. <li class="nav-item" data-depth="4">
  768. <a class="nav-link" href="http://www.youtube.com/watch?v=oZnssg8TBWQ">WebStart Deployment</a>
  769. </li>
  770. <li class="nav-item" data-depth="4">
  771. <a class="nav-link" href="http://www.youtube.com/watch?v=D7JM4VMKqPc">Animation and Effect TrackEditing</a>
  772. </li>
  773. </ul>
  774. </li>
  775. </ul>
  776. </li>
  777. <li class="nav-item" data-depth="2">
  778. <button class="nav-item-toggle"></button>
  779. <span class="nav-text">Getting Started</span>
  780. <ul class="nav-list">
  781. <li class="nav-item" data-depth="3">
  782. <a class="nav-link" href="../../sdk/update_center.html">Updating jMonkeyEngine SDK</a>
  783. </li>
  784. <li class="nav-item" data-depth="3">
  785. <a class="nav-link" href="../../sdk/troubleshooting.html">Troubleshooting</a>
  786. </li>
  787. </ul>
  788. </li>
  789. <li class="nav-item" data-depth="2">
  790. <button class="nav-item-toggle"></button>
  791. <span class="nav-text">Java Development Features</span>
  792. <ul class="nav-list">
  793. <li class="nav-item" data-depth="3">
  794. <a class="nav-link" href="../../sdk/project_creation.html">Project Creation</a>
  795. </li>
  796. <li class="nav-item" data-depth="3">
  797. <a class="nav-link" href="../../sdk/code_editor.html">Code Editor and Palette</a>
  798. </li>
  799. <li class="nav-item" data-depth="3">
  800. <a class="nav-link" href="../../sdk/version_control.html">File Version Control</a>
  801. </li>
  802. <li class="nav-item" data-depth="3">
  803. <a class="nav-link" href="../../sdk/debugging_profiling_testing.html">Debug, Profile, Test</a>
  804. </li>
  805. <li class="nav-item" data-depth="3">
  806. <button class="nav-item-toggle"></button>
  807. <a class="nav-link" href="../../sdk/application_deployment.html">Application Deployment</a>
  808. <ul class="nav-list">
  809. <li class="nav-item" data-depth="4">
  810. <a class="nav-link" href="../../sdk/default_build_script.html">Default Build Script</a>
  811. </li>
  812. <li class="nav-item" data-depth="4">
  813. <a class="nav-link" href="../../sdk/android.html">Android</a>
  814. </li>
  815. <li class="nav-item" data-depth="4">
  816. <a class="nav-link" href="../../sdk/android_cheat_sheet.html">Android Cheat Sheet</a>
  817. </li>
  818. <li class="nav-item" data-depth="4">
  819. <a class="nav-link" href="../../sdk/ios.html">iOS</a>
  820. </li>
  821. </ul>
  822. </li>
  823. </ul>
  824. </li>
  825. <li class="nav-item" data-depth="2">
  826. <button class="nav-item-toggle"></button>
  827. <span class="nav-text">Unique Features</span>
  828. <ul class="nav-list">
  829. <li class="nav-item" data-depth="3">
  830. <button class="nav-item-toggle"></button>
  831. <a class="nav-link" href="../../sdk/model_loader_and_viewer.html">Import, View, Convert Models</a>
  832. <ul class="nav-list">
  833. <li class="nav-item" data-depth="4">
  834. <a class="nav-link" href="../../sdk/asset_packs.html">Asset Packs</a>
  835. </li>
  836. </ul>
  837. </li>
  838. <li class="nav-item" data-depth="3">
  839. <a class="nav-link" href="../../sdk/scene_explorer.html">The SceneExplorer</a>
  840. </li>
  841. <li class="nav-item" data-depth="3">
  842. <a class="nav-link" href="../../sdk/scene_composer.html">Composing a Scene</a>
  843. </li>
  844. <li class="nav-item" data-depth="3">
  845. <a class="nav-link" href="../../sdk/terrain_editor.html">Terrain Editor</a>
  846. </li>
  847. <li class="nav-item" data-depth="3">
  848. <a class="nav-link" href="../../sdk/sample_code.html">Sample Code</a>
  849. </li>
  850. <li class="nav-item" data-depth="3">
  851. <a class="nav-link" href="../../sdk/material_editing.html">Material Editing</a>
  852. </li>
  853. <li class="nav-item" data-depth="3">
  854. <a class="nav-link" href="../../sdk/font_creation.html">Creating Bitmap Fonts</a>
  855. </li>
  856. <li class="nav-item" data-depth="3">
  857. <button class="nav-item-toggle"></button>
  858. <a class="nav-link" href="https://hub.jmonkeyengine.org/t/effecttrack-and-audiotrack-editing-in-the-sdk/23378">Audio and Effect Track Editing</a>
  859. <ul class="nav-list">
  860. <li class="nav-item" data-depth="4">
  861. <a class="nav-link" href="https://www.youtube.com/watch?v=D7JM4VMKqPc">Video: Effect and AudioTrack editing in jMonkeyEngine 3 sdk</a>
  862. </li>
  863. </ul>
  864. </li>
  865. <li class="nav-item" data-depth="3">
  866. <a class="nav-link" href="../../sdk/filters.html">Post-Processor Filter Editor and Viewer</a>
  867. </li>
  868. <li class="nav-item" data-depth="3">
  869. <a class="nav-link" href="../app/state/application_states.html">Application States</a>
  870. </li>
  871. <li class="nav-item" data-depth="3">
  872. <a class="nav-link" href="../scene/control/custom_controls.html">Custom Controls</a>
  873. </li>
  874. <li class="nav-item" data-depth="3">
  875. <a class="nav-link" href="../../sdk/vehicle_creator.html">Vehicle Creator</a>
  876. </li>
  877. <li class="nav-item" data-depth="3">
  878. <a class="nav-link" href="../../sdk/assetbrowser.html">Asset Browser</a>
  879. </li>
  880. <li class="nav-item" data-depth="3">
  881. <a class="nav-link" href="../../sdk/animations.html">Animations</a>
  882. </li>
  883. </ul>
  884. </li>
  885. <li class="nav-item" data-depth="2">
  886. <button class="nav-item-toggle"></button>
  887. <span class="nav-text">Advanced Usage</span>
  888. <ul class="nav-list">
  889. <li class="nav-item" data-depth="3">
  890. <a class="nav-link" href="../../sdk/build_platform.html">Building jMonkeyEngine SDK</a>
  891. </li>
  892. <li class="nav-item" data-depth="3">
  893. <a class="nav-link" href="../../sdk/use_own_jme.html#.adoc">Using your own (modified) version of jME3 in jMonkeyEngine SDK</a>
  894. </li>
  895. <li class="nav-item" data-depth="3">
  896. <a class="nav-link" href="../../sdk/increasing_heap_memory.html">Increasing Heap Memory</a>
  897. </li>
  898. <li class="nav-item" data-depth="3">
  899. <a class="nav-link" href="../../sdk/log_files.html">Log Files</a>
  900. </li>
  901. </ul>
  902. </li>
  903. <li class="nav-item" data-depth="2">
  904. <button class="nav-item-toggle"></button>
  905. <span class="nav-text">Available external plugins</span>
  906. <ul class="nav-list">
  907. <li class="nav-item" data-depth="3">
  908. <a class="nav-link" href="../../contributions/contributions.html">Contributions</a>
  909. </li>
  910. <li class="nav-item" data-depth="3">
  911. <a class="nav-link" href="../../sdk/neotexture.html">Neo Texture Editor for procedural textures</a>
  912. </li>
  913. <li class="nav-item" data-depth="3">
  914. <a class="nav-link" href="http://www.youtube.com/watch?v=yS9a9o4WzL8">Video: Mesh Tool &amp; Physics Editor</a>
  915. </li>
  916. </ul>
  917. </li>
  918. <li class="nav-item" data-depth="2">
  919. <button class="nav-item-toggle"></button>
  920. <a class="nav-link" href="../../sdk/development.html">Developing plugins for jMonkeyEngine SDK</a>
  921. <ul class="nav-list">
  922. <li class="nav-item" data-depth="3">
  923. <a class="nav-link" href="../../sdk/development/setup.html">Creating a plugin</a>
  924. </li>
  925. <li class="nav-item" data-depth="3">
  926. <a class="nav-link" href="../../sdk/development/general.html">Creating components</a>
  927. </li>
  928. <li class="nav-item" data-depth="3">
  929. <a class="nav-link" href="../../sdk/development/scene.html">The Main Scene</a>
  930. </li>
  931. <li class="nav-item" data-depth="3">
  932. <a class="nav-link" href="../../sdk/development/sceneexplorer.html">The Scene Explorer</a>
  933. </li>
  934. <li class="nav-item" data-depth="3">
  935. <a class="nav-link" href="../../sdk/development/projects_assets.html">Projects and Assets</a>
  936. </li>
  937. <li class="nav-item" data-depth="3">
  938. <a class="nav-link" href="../../sdk/development/extension_library.html">Create a library plugin from a jar file</a>
  939. </li>
  940. <li class="nav-item" data-depth="3">
  941. <a class="nav-link" href="../../sdk/development/model_loader.html">Create a new or custom model filetype and loader</a>
  942. </li>
  943. </ul>
  944. </li>
  945. </ul>
  946. </li>
  947. </ul>
  948. </li>
  949. </ul>
  950. </nav>
  951. </div>
  952. <div class="nav-panel-explore" data-panel="explore">
  953. <div class="context">
  954. <span class="title">JME</span>
  955. <span class="version">3.8</span>
  956. </div>
  957. <ul class="components">
  958. <li class="component is-current">
  959. <span class="title">JME</span>
  960. <ul class="versions">
  961. <li class="version is-current">
  962. <a href="../../documentation.html">3.8</a>
  963. </li>
  964. <li class="version">
  965. <a href="../../../3.4/documentation.html">3.4</a>
  966. </li>
  967. <li class="version">
  968. <a href="../../../3.3/documentation.html">3.3</a>
  969. </li>
  970. <li class="version">
  971. <a href="../../../3.2/documentation.html">3.2</a>
  972. </li>
  973. </ul>
  974. </li>
  975. <li class="component">
  976. <span class="title">Wiki Contribution</span>
  977. <ul class="versions">
  978. <li class="version">
  979. <a href="../../../../docs-wiki/3.8/wiki_contributor.html">3.8</a>
  980. </li>
  981. </ul>
  982. </li>
  983. <li class="component">
  984. <span class="title">Wiki UI</span>
  985. <ul class="versions">
  986. <li class="version">
  987. <a href="../../../../wiki-ui/index.html">master</a>
  988. </li>
  989. </ul>
  990. </li>
  991. </ul>
  992. </div>
  993. </div>
  994. </aside>
  995. </div>
  996. <main class="article">
  997. <div class="toolbar" role="navigation">
  998. <button class="nav-toggle"></button>
  999. <nav class="breadcrumbs" aria-label="breadcrumbs">
  1000. <ul>
  1001. <li><a href="../../documentation.html">JME</a></li>
  1002. <li>Core Engine</li>
  1003. <li><a href="appsettings.html">AppSettings</a></li>
  1004. </ul>
  1005. </nav>
  1006. <div class="page-versions">
  1007. <button class="version-menu-toggle" title="Show other versions of page">3.8</button>
  1008. <div class="version-menu">
  1009. <a class="version is-current" href="appsettings.html">3.8</a>
  1010. <a class="version" href="../../../3.4/core/system/appsettings.html">3.4</a>
  1011. <a class="version" href="../../../3.3/core/system/appsettings.html">3.3</a>
  1012. <a class="version" href="../../../3.2/core/system/appsettings.html">3.2</a>
  1013. </div>
  1014. </div>
  1015. <div class="edit-this-page"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/docs/modules/core/pages/system/appsettings.adoc">Edit this Page</a></div>
  1016. </div>
  1017. <div class="content">
  1018. <article class="doc">
  1019. <h1 class="page">jME3 Application Display Settings</h1>
  1020. <div id="preamble">
  1021. <div class="sectionbody">
  1022. <div class="paragraph">
  1023. <p>Every class that extends jme3.app.SimpleApplication has properties that can be configured by customizing a <code>com.jme3.system.AppSettings</code> object.</p>
  1024. </div>
  1025. <div class="admonitionblock important">
  1026. <table>
  1027. <tr>
  1028. <td class="icon">
  1029. <i class="fa icon-important" title="Important"></i>
  1030. </td>
  1031. <td class="content">
  1032. <div class="paragraph">
  1033. <p>Configure application settings in <code>main()</code>, before you call <code>app.start()</code> on the application object. If you change display settings during runtime, for example in <code>simpleInitApp()</code>, you must call <code>app.restart()</code> to make them take effect.</p>
  1034. </div>
  1035. </td>
  1036. </tr>
  1037. </table>
  1038. </div>
  1039. <div class="paragraph">
  1040. <p><strong>Note:</strong> Other runtime settings are covered in <a href="../app/simpleapplication.html" class="xref page">SimpleApplication</a>.</p>
  1041. </div>
  1042. </div>
  1043. </div>
  1044. <div class="sect1">
  1045. <h2 id="code-samples"><a class="anchor" href="#code-samples"></a>Code Samples</h2>
  1046. <div class="sectionbody">
  1047. <div class="paragraph">
  1048. <p>Specify settings for a game (here called <code>MyGame</code>, or whatever you called your SimpleApplication instance) in the <code>main()</code> method before the game starts:</p>
  1049. </div>
  1050. <div class="listingblock">
  1051. <div class="content">
  1052. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">public static void main(String[] args) {
  1053. AppSettings settings = new AppSettings(true);
  1054. settings.setResolution(640,480);
  1055. // ... other properties, see below
  1056. MyGame app = new MyGame();
  1057. app.setSettings(settings);
  1058. app.start();
  1059. }</code></pre>
  1060. </div>
  1061. </div>
  1062. <div class="paragraph">
  1063. <p>Set the boolean in the AppSettings constructor to true if you want to keep the default settings for values that you do not specify. Set this parameter to false if you want the application to load user settings from previous launches. In either case you can still customize individual settings.</p>
  1064. </div>
  1065. <div class="admonitionblock warning">
  1066. <table>
  1067. <tr>
  1068. <td class="icon">
  1069. <i class="fa icon-warning" title="Warning"></i>
  1070. </td>
  1071. <td class="content">
  1072. The settings are saved based on the title of your game (default = &#8220;jMonkey Engine 3.x-stable&#8221;). This means that if you have not changed the default title, then remove a setting method call, your settings changes will remain in effect for all projects using the default title. To prevent this, set the title for your game or remember to change the settings back to their <a href="https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-core/src/main/java/com/jme3/system/AppSettings.java#L213">default</a> and run the project again.
  1073. </td>
  1074. </tr>
  1075. </table>
  1076. </div>
  1077. <div class="paragraph">
  1078. <p>This example toggles the settings to fullscreen while the game is already running. Then it restarts the game context (not the whole game) which applies the changed settings.</p>
  1079. </div>
  1080. <div class="admonitionblock warning">
  1081. <table>
  1082. <tr>
  1083. <td class="icon">
  1084. <i class="fa icon-warning" title="Warning"></i>
  1085. </td>
  1086. <td class="content">
  1087. The code below uses the Java AWT, which in incompatible with LWJGL3 on the Mac. Attempting to use both may cause an application UI to become unresponsive. Exact results may vary depending on what AWT features are used, when they are used, and/or which version of the MacOS, Java, and jME is used.
  1088. </td>
  1089. </tr>
  1090. </table>
  1091. </div>
  1092. <div class="listingblock">
  1093. <div class="content">
  1094. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">public void toggleToFullscreen() {
  1095. GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
  1096. DisplayMode[] modes = device.getDisplayModes();
  1097. int i=0; // note: there are usually several, let's pick the first
  1098. settings.setResolution(modes[i].getWidth(),modes[i].getHeight());
  1099. settings.setFrequency(modes[i].getRefreshRate());
  1100. settings.setBitsPerPixel(modes[i].getBitDepth());
  1101. settings.setFullscreen(device.isFullScreenSupported());
  1102. app.setSettings(settings);
  1103. app.restart(); // restart the context to apply changes
  1104. }</code></pre>
  1105. </div>
  1106. </div>
  1107. <div class="paragraph">
  1108. <p>To view your current settings, use the System class.</p>
  1109. </div>
  1110. <div class="listingblock">
  1111. <div class="content">
  1112. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">AppSettings settings = new AppSettings(true);
  1113. System.out.println(settings);</code></pre>
  1114. </div>
  1115. </div>
  1116. </div>
  1117. </div>
  1118. <div class="sect1">
  1119. <h2 id="properties"><a class="anchor" href="#properties"></a>Properties</h2>
  1120. <div class="sectionbody">
  1121. <table class="tableblock frame-all grid-all stretch">
  1122. <caption class="title">Table A: Video</caption>
  1123. <colgroup>
  1124. <col style="width: 30%;">
  1125. <col style="width: 55%;">
  1126. <col style="width: 15%;">
  1127. </colgroup>
  1128. <thead>
  1129. <tr>
  1130. <th class="tableblock halign-left valign-top">Settings Property</th>
  1131. <th class="tableblock halign-left valign-top">Description</th>
  1132. <th class="tableblock halign-left valign-top">Default</th>
  1133. </tr>
  1134. </thead>
  1135. <tbody>
  1136. <tr>
  1137. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1138. <p>setRenderer(AppSettings.LWJGL_OPENGL1)<br>
  1139. setRenderer(AppSettings.LWJGL_OPENGL2)<br>
  1140. setRenderer(AppSettings.LWJGL_OPENGL3)</p>
  1141. </div></div></td>
  1142. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1143. <p>Switch Video Renderer to OpenGL 1.1, OpenGL 2, or OpenGL 3.3. If your graphic card does not support all OpenGL2 features (<code>UnsupportedOperationException: GLSL and OpenGL2 is required for the LWJGL renderer</code>), then you can force your SimpleApplication to use OpenGL1 compatibility. (Then you still can&#8217;t use special OpenGL2 features, but at least the error goes away and you can continue with the rest.)</p>
  1144. </div></div></td>
  1145. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1146. <p>OpenGL 2</p>
  1147. </div></div></td>
  1148. </tr>
  1149. <tr>
  1150. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1151. <p>setBitsPerPixel(32)</p>
  1152. </div></div></td>
  1153. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1154. <p>Set the color depth.<br>
  1155. 1 bpp = black and white, 2 bpp = gray,<br>
  1156. 4 bpp = 16 colors, 8 bpp = 256 colors, 24 or 32 bpp = &#8220;truecolor&#8221;.</p>
  1157. </div></div></td>
  1158. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1159. <p>24</p>
  1160. </div></div></td>
  1161. </tr>
  1162. <tr>
  1163. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1164. <p>setFrameRate(60)</p>
  1165. </div></div></td>
  1166. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1167. <p>How often per second the engine should try to refresh the frame. For the release, usually 60 fps. Can be lower (30) if you need to free up the CPU for other applications. No use setting it to a higher value than the screen frequency! If the framerate goes below 30 fps, viewers start to notice choppiness or flickering.</p>
  1168. </div></div></td>
  1169. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1170. <p>-1 (unlimited)</p>
  1171. </div></div></td>
  1172. </tr>
  1173. <tr>
  1174. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1175. <p>setFullscreen(true)</p>
  1176. </div></div></td>
  1177. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1178. <p>Set this to true to make the game window fill the whole screen; you need to provide a key that calls app.stop() to exit the fullscreen view gracefully (default: escape).<br>
  1179. Set this to false to play the game in a normal window of its own.</p>
  1180. </div></div></td>
  1181. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1182. <p>False (windowed)</p>
  1183. </div></div></td>
  1184. </tr>
  1185. <tr>
  1186. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1187. <p>setHeight(480), setWidth(640)<br>
  1188. setResolution(640,480)</p>
  1189. </div></div></td>
  1190. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1191. <p>Two equivalent ways of setting the display resolution.</p>
  1192. </div></div></td>
  1193. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1194. <p>640x480 pixels</p>
  1195. </div></div></td>
  1196. </tr>
  1197. <tr>
  1198. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1199. <p>setSamples(4)</p>
  1200. </div></div></td>
  1201. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1202. <p>Set multisampling to 0 to switch antialiasing off (harder edges, faster.)<br>
  1203. Set multisampling to 2 or 4 to activate antialiasing (softer edges, may be slower.)<br>
  1204. Depending on your graphic card, you may be able to set multisampling to higher values such as 8, 16, or 32 samples.</p>
  1205. </div></div></td>
  1206. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1207. <p>0</p>
  1208. </div></div></td>
  1209. </tr>
  1210. <tr>
  1211. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1212. <p>setVSync(true)<br>
  1213. setFrequency(60)</p>
  1214. </div></div></td>
  1215. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1216. <p>Set vertical syncing to true to time the frame buffer to coincide with the refresh frequency of the screen. VSync prevents ugly page tearing artefacts, but is a bit slower; recommened for release build.<br>
  1217. Set VSync to false to deactivate vertical syncing (faster, but possible page tearing artifacts); can remain deactivated during development or for slower PCs.</p>
  1218. </div></div></td>
  1219. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1220. <p>false<br>
  1221. 60 fps</p>
  1222. </div></div></td>
  1223. </tr>
  1224. <tr>
  1225. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1226. <p>setStencilBits(8)</p>
  1227. </div></div></td>
  1228. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1229. <p>Set the number of stencil bits.<br>
  1230. This value is only relevant when the stencil buffer is being used. Specify 8 to indicate an 8-bit stencil buffer, specify 0 to disable the stencil buffer.</p>
  1231. </div></div></td>
  1232. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1233. <p>0 (disabled)</p>
  1234. </div></div></td>
  1235. </tr>
  1236. <tr>
  1237. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1238. <p>setDepthBits(16)</p>
  1239. </div></div></td>
  1240. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1241. <p>Sets the number of depth bits to use.<br>
  1242. The number of depth bits specifies the precision of the depth buffer. To increase precision, specify 32 bits. To decrease precision, specify 16 bits. On some platforms 24 bits might not be supported, in that case, specify 16 bits.<br>
  1243. See <a href="https://en.wikipedia.org/wiki/Z-buffering">Z-buffering</a> for a more in depth explanation.</p>
  1244. </div></div></td>
  1245. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1246. <p>24</p>
  1247. </div></div></td>
  1248. </tr>
  1249. <tr>
  1250. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1251. <p>setGammaCorrection(true)</p>
  1252. </div></div></td>
  1253. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1254. <p>Enables Gamma Correction.<br>
  1255. If you’re starting a new project, use it, period. And don’t allow the player to turn it off.<br>
  1256. See <a href="jme3_srgbpipeline.html" class="xref page">Gamma Correction or sRGB pipeline</a></p>
  1257. </div></div></td>
  1258. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1259. <p>false</p>
  1260. </div></div></td>
  1261. </tr>
  1262. </tbody>
  1263. </table>
  1264. <table class="tableblock frame-all grid-all stretch">
  1265. <caption class="title">Table B: Input</caption>
  1266. <colgroup>
  1267. <col style="width: 30%;">
  1268. <col style="width: 55%;">
  1269. <col style="width: 15%;">
  1270. </colgroup>
  1271. <thead>
  1272. <tr>
  1273. <th class="tableblock halign-left valign-top">Settings Property</th>
  1274. <th class="tableblock halign-left valign-top">Description</th>
  1275. <th class="tableblock halign-left valign-top">Default</th>
  1276. </tr>
  1277. </thead>
  1278. <tbody>
  1279. <tr>
  1280. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1281. <p>setUseInput(false)</p>
  1282. </div></div></td>
  1283. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1284. <p>Respond to user input by mouse and keyboard. Can be deactivated for use cases where you only display a 3D scene on the canvas without any interaction.</p>
  1285. </div></div></td>
  1286. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1287. <p>true</p>
  1288. </div></div></td>
  1289. </tr>
  1290. <tr>
  1291. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1292. <p>setUseJoysticks(true)</p>
  1293. </div></div></td>
  1294. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1295. <p>Activate optional joystick support</p>
  1296. </div></div></td>
  1297. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1298. <p>false</p>
  1299. </div></div></td>
  1300. </tr>
  1301. <tr>
  1302. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1303. <p>setEmulateMouse(true)</p>
  1304. </div></div></td>
  1305. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1306. <p>Enable or disable mouse emulation for touchscreen-based devices. Setting this to true converts taps on the touchscreen to clicks, and finger swiping gestures over the touchscreen into mouse axis events.</p>
  1307. </div></div></td>
  1308. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1309. <p>false</p>
  1310. </div></div></td>
  1311. </tr>
  1312. <tr>
  1313. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1314. <p>setEmulateMouseFlipAxis(true,true)</p>
  1315. </div></div></td>
  1316. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1317. <p>Flips the X or Y (or both) axes for the emulated mouse. Set the first parameter to true to flip the x axis, and the second to flip the y axis.</p>
  1318. </div></div></td>
  1319. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1320. <p>false,false</p>
  1321. </div></div></td>
  1322. </tr>
  1323. </tbody>
  1324. </table>
  1325. <table class="tableblock frame-all grid-all stretch">
  1326. <caption class="title">Table C: Audio</caption>
  1327. <colgroup>
  1328. <col style="width: 30%;">
  1329. <col style="width: 55%;">
  1330. <col style="width: 15%;">
  1331. </colgroup>
  1332. <thead>
  1333. <tr>
  1334. <th class="tableblock halign-left valign-top">Settings Property</th>
  1335. <th class="tableblock halign-left valign-top">Description</th>
  1336. <th class="tableblock halign-left valign-top">Default</th>
  1337. </tr>
  1338. </thead>
  1339. <tbody>
  1340. <tr>
  1341. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1342. <p>setAudioRenderer(AppSettings.LWJGL_OPENAL)</p>
  1343. </div></div></td>
  1344. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1345. <p>Switch Audio Renderer. Currently there is only one option.</p>
  1346. </div></div></td>
  1347. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1348. <p>OpenAL</p>
  1349. </div></div></td>
  1350. </tr>
  1351. <tr>
  1352. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1353. <p>setStereo3D(true)</p>
  1354. </div></div></td>
  1355. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1356. <p>Enable 3D stereo. This feature requires hardware support from the GPU driver. See <a href="http://en.wikipedia.org/wiki/Quad_buffering">Quad Buffering</a>. Currently, your everyday user&#8217;s hardware does not support this, so you can ignore it for now.</p>
  1357. </div></div></td>
  1358. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1359. <p>false</p>
  1360. </div></div></td>
  1361. </tr>
  1362. </tbody>
  1363. </table>
  1364. <table class="tableblock frame-all grid-all stretch">
  1365. <caption class="title">Table D: Branding</caption>
  1366. <colgroup>
  1367. <col style="width: 30%;">
  1368. <col style="width: 55%;">
  1369. <col style="width: 15%;">
  1370. </colgroup>
  1371. <thead>
  1372. <tr>
  1373. <th class="tableblock halign-left valign-top">Settings Property</th>
  1374. <th class="tableblock halign-left valign-top">Description</th>
  1375. <th class="tableblock halign-left valign-top">Default</th>
  1376. </tr>
  1377. </thead>
  1378. <tbody>
  1379. <tr>
  1380. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1381. <p>setTitle("My Game")</p>
  1382. </div></div></td>
  1383. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1384. <p>This string will be visible in the titlebar, unless the window is fullscreen.</p>
  1385. </div></div></td>
  1386. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1387. <p>&#8220;jMonkey Engine 3.x-stable&#8221;</p>
  1388. </div></div></td>
  1389. </tr>
  1390. <tr>
  1391. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1392. <p>setIcons(new BufferedImage[]{<br>
  1393. ImageIO.read(new File(" ")), …});</p>
  1394. </div></div></td>
  1395. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1396. <p>This specifies the little application icon in the titlebar of the application (unused in MacOS?). You should specify the icon in various sizes (256,128,32,16) to look good on various operating systems. Note: This is not the application icon on the desktop.</p>
  1397. </div></div></td>
  1398. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1399. <p>null</p>
  1400. </div></div></td>
  1401. </tr>
  1402. <tr>
  1403. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1404. <p>setSettingsDialogImage("Interface/mysplashscreen.png")</p>
  1405. </div></div></td>
  1406. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1407. <p>A custom splashscreen image in the <code>assets/Interface</code> directory which is displayed when the settings dialog is shown.</p>
  1408. </div></div></td>
  1409. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1410. <p>"/com/jme3/app/Monkey.png"</p>
  1411. </div></div></td>
  1412. </tr>
  1413. </tbody>
  1414. </table>
  1415. <div class="admonitionblock tip">
  1416. <table>
  1417. <tr>
  1418. <td class="icon">
  1419. <i class="fa icon-tip" title="Tip"></i>
  1420. </td>
  1421. <td class="content">
  1422. <div class="paragraph">
  1423. <p>You can use <code>app.setShowSettings(true);</code> and <code>setSettingsDialogImage("Interface/mysplashscreen.png")</code> to present the user with jme3&#8217;s default display settings dialog when starting the game. Use <code>app.setShowSettings(false);</code> to hide the default settings screen. Set this boolean before calling <code>app.start()</code> on the SimpleApplication.</p>
  1424. </div>
  1425. </td>
  1426. </tr>
  1427. </table>
  1428. </div>
  1429. </div>
  1430. </div>
  1431. <div class="sect1">
  1432. <h2 id="toggling-and-activating-settings"><a class="anchor" href="#toggling-and-activating-settings"></a>Toggling and Activating Settings</h2>
  1433. <div class="sectionbody">
  1434. <table class="tableblock frame-all grid-all stretch">
  1435. <colgroup>
  1436. <col style="width: 25%;">
  1437. <col style="width: 75%;">
  1438. </colgroup>
  1439. <thead>
  1440. <tr>
  1441. <th class="tableblock halign-left valign-top">SimpleApplication method</th>
  1442. <th class="tableblock halign-left valign-top">Description</th>
  1443. </tr>
  1444. </thead>
  1445. <tbody>
  1446. <tr>
  1447. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1448. <p>app.setShowSettings(boolean)</p>
  1449. </div></div></td>
  1450. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1451. <p>Activate or deactivate the default settings screen before start()ing the game. If you let users use this screen, you do not need to modify the settings object. Note: Most developers implement their own custom settings screen, but the default one is useful during the alpha stages.</p>
  1452. </div></div></td>
  1453. </tr>
  1454. <tr>
  1455. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1456. <p>app.setSettings(settings)</p>
  1457. </div></div></td>
  1458. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1459. <p>After you have modified the properties on the settings object, you apply it to your application. Note that the settings are not automatically reloaded while the game is running.</p>
  1460. </div></div></td>
  1461. </tr>
  1462. <tr>
  1463. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1464. <p>app.start()</p>
  1465. </div></div></td>
  1466. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1467. <p>Every game calls start() in the beginning to initialize the game and apply the settings. Modify and set your settings before calling start().</p>
  1468. </div></div></td>
  1469. </tr>
  1470. <tr>
  1471. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1472. <p>app.restart()</p>
  1473. </div></div></td>
  1474. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1475. <p>Restart()ing a running game restarts the game context and applies the updated settings object. (This does not restart or reinitialize the whole game.)</p>
  1476. </div></div></td>
  1477. </tr>
  1478. </tbody>
  1479. </table>
  1480. </div>
  1481. </div>
  1482. <div class="sect1">
  1483. <h2 id="saving-and-loading-settings"><a class="anchor" href="#saving-and-loading-settings"></a>Saving and Loading Settings</h2>
  1484. <div class="sectionbody">
  1485. <div class="admonitionblock caution">
  1486. <table>
  1487. <tr>
  1488. <td class="icon">
  1489. <i class="fa icon-caution" title="Caution"></i>
  1490. </td>
  1491. <td class="content">
  1492. <div class="paragraph">
  1493. <p>Due to a current bug and inconsistent behavior observed related to the preferences save location, to ensure correct behavior, save() and load() should only use forward slashes <kbd>/</kbd> and must be all lowercase.</p>
  1494. </div>
  1495. <div class="paragraph">
  1496. <p>More information can be found <a href="https://github.com/jMonkeyEngine/jmonkeyengine/issues/1161">here</a>.</p>
  1497. </div>
  1498. </td>
  1499. </tr>
  1500. </table>
  1501. </div>
  1502. <div class="paragraph">
  1503. <p>An AppSettings object also supports the following methods to save your settings under a unique key (in this example &#8220;com/foo/mycoolgame3&#8221;):</p>
  1504. </div>
  1505. <div class="ulist">
  1506. <ul>
  1507. <li>
  1508. <p>Use <code>settings.save("com/foo/mycoolgame3")</code> to save your settings via standard java.io serialization.</p>
  1509. </li>
  1510. <li>
  1511. <p>Use <code>settings.load("com/foo/mycoolgame3")</code> to load your settings.</p>
  1512. </li>
  1513. <li>
  1514. <p>Use <code>settings2.copyFrom(settings)</code> to copy a settings object.</p>
  1515. </li>
  1516. </ul>
  1517. </div>
  1518. <div class="paragraph">
  1519. <p>Usage:</p>
  1520. </div>
  1521. <div class="paragraph">
  1522. <p>Provide the unique name of your jME3 application as the String argument. For example <code>com/foo/mycoolgame3</code>.</p>
  1523. </div>
  1524. <div class="listingblock">
  1525. <div class="content">
  1526. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java"> try { settings.save("com/foo/mycoolgame3"); }
  1527. catch (BackingStoreException ex) { /** could not save settings */ }</code></pre>
  1528. </div>
  1529. </div>
  1530. <div class="ulist">
  1531. <ul>
  1532. <li>
  1533. <p>On Windows, the preferences are saved under the following registry key:<br>
  1534. <code>HKEY_CURRENT_USER\Software\JavaSoft\Prefs\com\foo\mycoolgame3</code></p>
  1535. </li>
  1536. <li>
  1537. <p>On Linux, the preferences are saved in an XML file under:<br>
  1538. <code>$HOME/.java/.userPrefs/com/foo/mycoolgame3</code></p>
  1539. </li>
  1540. <li>
  1541. <p>On Mac <abbr title="Operating System">OS</abbr> X, the preferences are saved as XML file under:<br>
  1542. <code>$HOME/Library/Preferences/com.foo.mycoolgame3.plist</code></p>
  1543. </li>
  1544. </ul>
  1545. </div>
  1546. </div>
  1547. </div>
  1548. <nav class="pagination">
  1549. <span class="prev"><a href="../app/simpleapplication.html">SimpleApplication</a></span>
  1550. <span class="next"><a href="../app/update_loop.html">Update Loop</a></span>
  1551. </nav>
  1552. </article>
  1553. <aside class="toc sidebar" data-title="Contents" data-levels="2">
  1554. <div class="toc-menu"></div>
  1555. </aside>
  1556. </div>
  1557. </main>
  1558. </div>
  1559. <footer class="footer">
  1560. <p>Copyright 2020 jMonkeyEngine Wiki Contributors. Licensed BSD-3.</p>
  1561. </footer>
  1562. <script src="../../../../_/js/vendor/docsearch.min.js"></script>
  1563. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js -->
  1564. <script>
  1565. var search = docsearch({
  1566. apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
  1567. indexName: 'jmonkeyengine',
  1568. inputSelector: '#search-input',
  1569. autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
  1570. algoliaOptions: { hitsPerPage: 10 }
  1571. }).autocomplete
  1572. search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
  1573. function focusSearchInput () { document.querySelector('#search-input').focus() }
  1574. if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput)
  1575. </script>
  1576. <script src="../../../../_/js/site.js"></script>
  1577. <script async src="../../../../_/js/vendor/highlight.js"></script>
  1578. </body>
  1579. </html>