materials_overview.html 74 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835
  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>Material Definition Properties :: jMonkeyEngine Docs</title>
  7. <link rel="canonical" href="https://wiki.jmonkeyengine.org/docs/3.8/core/material/materials_overview.html">
  8. <link rel="prev" href="material_definitions.html">
  9. <link rel="next" href="../shader/jme3_shaders.html">
  10. <meta name="keywords" content="material, texture, MatDefs, light, culling, RenderStates, documentation">
  11. <meta name="generator" content="Antora 3.0.1">
  12. <link rel="stylesheet" href="../../../../_/css/site.css">
  13. <meta property="og:image" content="https://wiki.jmonkeyengine.org/_/img/iconx128.png">
  14. <meta property="og:description" content="Material Definition Properties">
  15. <meta property="og:title" content="jMonkeyEngine Docs">
  16. <link rel="stylesheet" href="../../../../_/css/site-extra.css">
  17. <link rel="stylesheet" href="../../../../_/css/vendor/docsearch.min.css">
  18. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css -->
  19. <link rel="icon" href="../../../../_/img/favicon.ico" type="image/x-icon">
  20. </head>
  21. <body class="article">
  22. <header class="header">
  23. <nav class="navbar">
  24. <div class="navbar-brand">
  25. <a class="navbar-item" href="https://wiki.jmonkeyengine.org">
  26. <img alt="" src="../../../../_/img/jme-logo.png" height="32" type="image/x-icon">
  27. </a>
  28. <div class="navbar-item hide-for-print">
  29. <input id="search-input" type="text" placeholder="Search docs">
  30. </div>
  31. <button class="navbar-burger" data-target="topbar-nav">
  32. <span></span>
  33. <span></span>
  34. <span></span>
  35. </button>
  36. </div>
  37. <div id="topbar-nav" class="navbar-menu">
  38. <div class="navbar-end">
  39. <div class="navbar-item theme-switch-wrapper">
  40. <label class="theme-switch" for="checkbox">
  41. <input type="checkbox" id="checkbox" />
  42. <div class="slider round"></div>
  43. </label>
  44. </div>
  45. <a class="navbar-item" href="https://github.com/jmonkeyengine/wiki">Github</a>
  46. </div>
  47. </div>
  48. </nav>
  49. </header>
  50. <div class="body">
  51. <div class="nav-container" data-component="docs" data-version="3.8">
  52. <aside class="nav">
  53. <div class="panels">
  54. <div class="nav-panel-menu is-active" data-panel="menu">
  55. <nav class="nav-menu">
  56. <h3 class="title"><a href="../../documentation.html">JME</a></h3>
  57. <ul class="nav-list">
  58. <li class="nav-item" data-depth="0">
  59. <ul class="nav-list">
  60. <li class="nav-item" data-depth="1">
  61. <a class="nav-link" href="../../documentation.html">Getting Started</a>
  62. </li>
  63. <li class="nav-item" data-depth="1">
  64. <a class="nav-link" href="https://javadoc.jmonkeyengine.org/v3.4.1-stable">JavaDoc</a>
  65. </li>
  66. <li class="nav-item" data-depth="1">
  67. <a class="nav-link" href="../../release.html">Release Guide</a>
  68. </li>
  69. </ul>
  70. </li>
  71. <li class="nav-item" data-depth="0">
  72. <ul class="nav-list">
  73. <li class="nav-item" data-depth="1">
  74. <button class="nav-item-toggle"></button>
  75. <a class="nav-link" href="../../tutorials/beginner/beginner.html">Beginner Tutorials</a>
  76. <ul class="nav-list">
  77. <li class="nav-item" data-depth="2">
  78. <a class="nav-link" href="../../tutorials/beginner/hello_simpleapplication.html">Hello SimpleApplication</a>
  79. </li>
  80. <li class="nav-item" data-depth="2">
  81. <a class="nav-link" href="../../tutorials/beginner/hello_node.html">Hello Node</a>
  82. </li>
  83. <li class="nav-item" data-depth="2">
  84. <a class="nav-link" href="../../tutorials/beginner/hello_asset.html">Hello Asset</a>
  85. </li>
  86. <li class="nav-item" data-depth="2">
  87. <a class="nav-link" href="../../tutorials/beginner/hello_main_event_loop.html">Hello Update Loop</a>
  88. </li>
  89. <li class="nav-item" data-depth="2">
  90. <a class="nav-link" href="../../tutorials/beginner/hello_input_system.html">Hello Input System</a>
  91. </li>
  92. <li class="nav-item" data-depth="2">
  93. <a class="nav-link" href="../../tutorials/beginner/hello_material.html">Hello Material</a>
  94. </li>
  95. <li class="nav-item" data-depth="2">
  96. <a class="nav-link" href="../../tutorials/beginner/hello_animation.html">Hello Animation</a>
  97. </li>
  98. <li class="nav-item" data-depth="2">
  99. <a class="nav-link" href="../../tutorials/beginner/hello_picking.html">Hello Picking</a>
  100. </li>
  101. <li class="nav-item" data-depth="2">
  102. <a class="nav-link" href="../../tutorials/beginner/hello_collision.html">Hello Collision</a>
  103. </li>
  104. <li class="nav-item" data-depth="2">
  105. <a class="nav-link" href="../../tutorials/beginner/hello_terrain.html">Hello Terrain</a>
  106. </li>
  107. <li class="nav-item" data-depth="2">
  108. <a class="nav-link" href="../../tutorials/beginner/hello_audio.html">Hello Audio</a>
  109. </li>
  110. <li class="nav-item" data-depth="2">
  111. <a class="nav-link" href="../../tutorials/beginner/hello_effects.html">Hello Effects</a>
  112. </li>
  113. <li class="nav-item" data-depth="2">
  114. <a class="nav-link" href="../../tutorials/beginner/hello_physics.html">Hello Physics</a>
  115. </li>
  116. </ul>
  117. </li>
  118. <li class="nav-item" data-depth="1">
  119. <button class="nav-item-toggle"></button>
  120. <span class="nav-text">Key Concepts</span>
  121. <ul class="nav-list">
  122. <li class="nav-item" data-depth="2">
  123. <a class="nav-link" href="../../tutorials/concepts/best_practices.html">Best Practices</a>
  124. </li>
  125. <li class="nav-item" data-depth="2">
  126. <a class="nav-link" href="../../tutorials/concepts/optimization.html">Optimization</a>
  127. </li>
  128. <li class="nav-item" data-depth="2">
  129. <a class="nav-link" href="../../tutorials/concepts/faq.html">Frequently Asked Questions</a>
  130. </li>
  131. <li class="nav-item" data-depth="2">
  132. <a class="nav-link" href="../../tutorials/concepts/math_for_dummies.html">Math for Dummies</a>
  133. </li>
  134. <li class="nav-item" data-depth="2">
  135. <a class="nav-link" href="../../tutorials/concepts/math.html">Math overview</a>
  136. </li>
  137. <li class="nav-item" data-depth="2">
  138. <a class="nav-link" href="../../tutorials/concepts/math_cheet_sheet.html">3D math "cheat sheet"</a>
  139. </li>
  140. <li class="nav-item" data-depth="2">
  141. <a class="nav-link" href="../../tutorials/concepts/rotate.html">3-D Rotation</a>
  142. </li>
  143. <li class="nav-item" data-depth="2">
  144. <a class="nav-link" href="../../tutorials/concepts/math_video_tutorials.html">Math video tutorial series</a>
  145. </li>
  146. <li class="nav-item" data-depth="2">
  147. <a class="nav-link" href="../../tutorials/concepts/multi-media_asset_pipeline.html">Multi-Media Asset Pipeline</a>
  148. </li>
  149. <li class="nav-item" data-depth="2">
  150. <a class="nav-link" href="../../tutorials/concepts/the_scene_graph.html">The Scene Graph</a>
  151. </li>
  152. <li class="nav-item" data-depth="2">
  153. <a class="nav-link" href="../../tutorials/concepts/scenegraph_for_dummies.html">Scene Graph for Dummies</a>
  154. </li>
  155. <li class="nav-item" data-depth="2">
  156. <a class="nav-link" href="../../tutorials/concepts/terminology.html">3D Graphics Terminology</a>
  157. </li>
  158. <li class="nav-item" data-depth="2">
  159. <a class="nav-link" href="../../tutorials/concepts/transparency_sorting.html">Transparency Sorting</a>
  160. </li>
  161. </ul>
  162. </li>
  163. <li class="nav-item" data-depth="1">
  164. <button class="nav-item-toggle"></button>
  165. <span class="nav-text">Articles and How-to&#8217;s</span>
  166. <ul class="nav-list">
  167. <li class="nav-item" data-depth="2">
  168. <button class="nav-item-toggle"></button>
  169. <span class="nav-text">How to Model</span>
  170. <ul class="nav-list">
  171. <li class="nav-item" data-depth="3">
  172. <a class="nav-link" href="../../tutorials/how-to/modeling/3dsmax/3dsmax.html">3dsmax</a>
  173. </li>
  174. <li class="nav-item" data-depth="3">
  175. <button class="nav-item-toggle"></button>
  176. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender.html">Blender</a>
  177. <ul class="nav-list">
  178. <li class="nav-item" data-depth="4">
  179. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_buffer_clearing.html">Buffer Clearing</a>
  180. </li>
  181. <li class="nav-item" data-depth="4">
  182. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_gltf.html">Export as GlTF</a>
  183. </li>
  184. <li class="nav-item" data-depth="4">
  185. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_ogre_export.html">Export as Ogre XML</a>
  186. </li>
  187. <li class="nav-item" data-depth="4">
  188. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/blender_ogre_compatibility.html">Ogre Compatibility</a>
  189. </li>
  190. <li class="nav-item" data-depth="4">
  191. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/makehuman.html">MakeHuman</a>
  192. </li>
  193. <li class="nav-item" data-depth="4">
  194. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/makehuman_blender_ogrexml_toolchain.html">MakeHuman toolchain</a>
  195. </li>
  196. </ul>
  197. </li>
  198. </ul>
  199. </li>
  200. <li class="nav-item" data-depth="2">
  201. <button class="nav-item-toggle"></button>
  202. <span class="nav-text">How to Animate</span>
  203. <ul class="nav-list">
  204. <li class="nav-item" data-depth="3">
  205. <button class="nav-item-toggle"></button>
  206. <span class="nav-text">Mixamo</span>
  207. <ul class="nav-list">
  208. <li class="nav-item" data-depth="4">
  209. <a class="nav-link" href="../../tutorials/how-to/modeling/blender/mixamo.html">Blender Models</a>
  210. </li>
  211. </ul>
  212. </li>
  213. </ul>
  214. </li>
  215. <li class="nav-item" data-depth="2">
  216. <a class="nav-link" href="../../tutorials/how-to/debugging.html">Debugging with Wireframes</a>
  217. </li>
  218. <li class="nav-item" data-depth="2">
  219. <a class="nav-link" href="../../tutorials/how-to/util/free_skymaps.html">How to create free skymaps</a>
  220. </li>
  221. <li class="nav-item" data-depth="2">
  222. <button class="nav-item-toggle"></button>
  223. <span class="nav-text">Java Tips</span>
  224. <ul class="nav-list">
  225. <li class="nav-item" data-depth="3">
  226. <a class="nav-link" href="../../tutorials/how-to/java/localization.html">Localization</a>
  227. </li>
  228. <li class="nav-item" data-depth="3">
  229. <a class="nav-link" href="../../tutorials/how-to/java/swing_canvas.html">Swing Canvas</a>
  230. </li>
  231. <li class="nav-item" data-depth="3">
  232. <a class="nav-link" href="../../tutorials/how-to/java/logging.html">Logging</a>
  233. </li>
  234. <li class="nav-item" data-depth="3">
  235. <a class="nav-link" href="../../tutorials/how-to/java/read_graphic_card_capabilites.html">Read Graphics Capabilities</a>
  236. </li>
  237. </ul>
  238. </li>
  239. <li class="nav-item" data-depth="2">
  240. <button class="nav-item-toggle"></button>
  241. <span class="nav-text">Articles</span>
  242. <ul class="nav-list">
  243. <li class="nav-item" data-depth="3">
  244. <button class="nav-item-toggle"></button>
  245. <span class="nav-text">Physically Based Rendering</span>
  246. <ul class="nav-list">
  247. <li class="nav-item" data-depth="4">
  248. <a class="nav-link" href="../../tutorials/how-to/articles/pbr/pbr_part1.html">PBR – Part one</a>
  249. </li>
  250. <li class="nav-item" data-depth="4">
  251. <a class="nav-link" href="../../tutorials/how-to/articles/pbr/pbr_part2.html">PBR – Part two</a>
  252. </li>
  253. <li class="nav-item" data-depth="4">
  254. <a class="nav-link" href="../../tutorials/how-to/articles/pbr/pbr_part3.html">PBR – Part three</a>
  255. </li>
  256. </ul>
  257. </li>
  258. </ul>
  259. </li>
  260. </ul>
  261. </li>
  262. </ul>
  263. </li>
  264. <li class="nav-item" data-depth="0">
  265. <ul class="nav-list">
  266. <li class="nav-item" data-depth="1">
  267. <button class="nav-item-toggle"></button>
  268. <span class="nav-text">Core Engine</span>
  269. <ul class="nav-list">
  270. <li class="nav-item" data-depth="2">
  271. <a class="nav-link" href="../app/simpleapplication.html">SimpleApplication</a>
  272. </li>
  273. <li class="nav-item" data-depth="2">
  274. <a class="nav-link" href="../system/appsettings.html">AppSettings</a>
  275. </li>
  276. </ul>
  277. </li>
  278. <li class="nav-item" data-depth="1">
  279. <button class="nav-item-toggle"></button>
  280. <span class="nav-text">Controlling Game Logic</span>
  281. <ul class="nav-list">
  282. <li class="nav-item" data-depth="2">
  283. <a class="nav-link" href="../app/update_loop.html">Update Loop</a>
  284. </li>
  285. <li class="nav-item" data-depth="2">
  286. <a class="nav-link" href="../app/state/application_states.html">Application States</a>
  287. </li>
  288. <li class="nav-item" data-depth="2">
  289. <button class="nav-item-toggle"></button>
  290. <a class="nav-link" href="../scene/control/custom_controls.html">Custom Controls</a>
  291. <ul class="nav-list">
  292. <li class="nav-item" data-depth="3">
  293. <button class="nav-item-toggle"></button>
  294. <span class="nav-text">Video</span>
  295. <ul class="nav-list">
  296. <li class="nav-item" data-depth="4">
  297. <a class="nav-link" href="https://www.youtube.com/watch?v=MNDiZ9YHIpM">Control any scene node</a>
  298. </li>
  299. <li class="nav-item" data-depth="4">
  300. <a class="nav-link" href="https://www.youtube.com/watch?v=-OzRZscLlHY">Control a character</a>
  301. </li>
  302. <li class="nav-item" data-depth="4">
  303. <a class="nav-link" href="https://wiki.jmonkeyengine.org/Scenes/SDK-UsecaseDemo_1.zip">Video Source Code</a>
  304. </li>
  305. </ul>
  306. </li>
  307. </ul>
  308. </li>
  309. <li class="nav-item" data-depth="2">
  310. <a class="nav-link" href="../app/multithreading.html">Multithreading</a>
  311. </li>
  312. </ul>
  313. </li>
  314. <li class="nav-item" data-depth="1">
  315. <button class="nav-item-toggle"></button>
  316. <span class="nav-text">Scene Graph</span>
  317. <ul class="nav-list">
  318. <li class="nav-item" data-depth="2">
  319. <a class="nav-link" href="../scene/traverse_scenegraph.html">Traverse SceneGraph</a>
  320. </li>
  321. <li class="nav-item" data-depth="2">
  322. <a class="nav-link" href="../scene/spatial.html">Spatial: Node vs Geometry</a>
  323. </li>
  324. <li class="nav-item" data-depth="2">
  325. <button class="nav-item-toggle"></button>
  326. <a class="nav-link" href="../scene/mesh.html">Mesh</a>
  327. <ul class="nav-list">
  328. <li class="nav-item" data-depth="3">
  329. <a class="nav-link" href="../scene/custom_meshes.html">Custom Meshes</a>
  330. </li>
  331. <li class="nav-item" data-depth="3">
  332. <a class="nav-link" href="../scene/shape/shape.html">Shape</a>
  333. </li>
  334. <li class="nav-item" data-depth="3">
  335. <a class="nav-link" href="../scene/3d_models.html">3D Models</a>
  336. </li>
  337. </ul>
  338. </li>
  339. <li class="nav-item" data-depth="2">
  340. <a class="nav-link" href="../asset/asset_manager.html">Asset Manager</a>
  341. </li>
  342. <li class="nav-item" data-depth="2">
  343. <a class="nav-link" href="../export/save_and_load.html">Saving and Loading Nodes</a>
  344. </li>
  345. <li class="nav-item" data-depth="2">
  346. <a class="nav-link" href="../collision/collision_and_intersection.html">Collision and Intersection</a>
  347. </li>
  348. <li class="nav-item" data-depth="2">
  349. <a class="nav-link" href="../scene/control/level_of_detail.html">Level of Detail</a>
  350. </li>
  351. </ul>
  352. </li>
  353. <li class="nav-item" data-depth="1">
  354. <button class="nav-item-toggle"></button>
  355. <span class="nav-text">Animation, Scene</span>
  356. <ul class="nav-list">
  357. <li class="nav-item" data-depth="2">
  358. <a class="nav-link" href="../animation/animation_new.html">Animation with AnimComposer</a>
  359. </li>
  360. <li class="nav-item" data-depth="2">
  361. <a class="nav-link" href="../animation/animation.html">Animation-Old (AnimControl)</a>
  362. </li>
  363. <li class="nav-item" data-depth="2">
  364. <a class="nav-link" href="../cinematic/cinematics.html">Cinematics (cutscenes, fake destruction physics)</a>
  365. </li>
  366. <li class="nav-item" data-depth="2">
  367. <a class="nav-link" href="../cinematic/motionpath.html">MotionPaths and Waypoints</a>
  368. </li>
  369. </ul>
  370. </li>
  371. <li class="nav-item" data-depth="1">
  372. <button class="nav-item-toggle"></button>
  373. <span class="nav-text">Material, Light, Shadow</span>
  374. <ul class="nav-list">
  375. <li class="nav-item" data-depth="2">
  376. <a class="nav-link" href="how_to_use_materials.html">How to use Materials</a>
  377. </li>
  378. <li class="nav-item" data-depth="2">
  379. <a class="nav-link" href="j3m_material_files.html">.j3m Material Files</a>
  380. </li>
  381. <li class="nav-item" data-depth="2">
  382. <a class="nav-link" href="material_definitions.html">.j3md Material Definitions</a>
  383. </li>
  384. <li class="nav-item is-current-page" data-depth="2">
  385. <a class="nav-link" href="materials_overview.html">.j3md Properties</a>
  386. </li>
  387. <li class="nav-item" data-depth="2">
  388. <a class="nav-link" href="../shader/jme3_shaders.html">Shaders and JME3</a>
  389. </li>
  390. <li class="nav-item" data-depth="2">
  391. <a class="nav-link" href="../shader/jme3_shadernodes.html">Shader Node System</a>
  392. </li>
  393. <li class="nav-item" data-depth="2">
  394. <a class="nav-link" href="../shader/shader_video_tutorials.html">Shader Video Tutorials</a>
  395. </li>
  396. <li class="nav-item" data-depth="2">
  397. <a class="nav-link" href="../light/light_and_shadow.html">Light and Shadow</a>
  398. </li>
  399. <li class="nav-item" data-depth="2">
  400. <a class="nav-link" href="../texture/anisotropic_filtering.html">Anisotropic Filtering</a>
  401. </li>
  402. <li class="nav-item" data-depth="2">
  403. <a class="nav-link" href="../system/jme3_srgbpipeline.html">Gamma Correction</a>
  404. </li>
  405. <li class="nav-item" data-depth="2">
  406. <a class="nav-link" href="normal_types.html">Normal Map Conventions</a>
  407. </li>
  408. </ul>
  409. </li>
  410. <li class="nav-item" data-depth="1">
  411. <button class="nav-item-toggle"></button>
  412. <span class="nav-text">Audio, Video</span>
  413. <ul class="nav-list">
  414. <li class="nav-item" data-depth="2">
  415. <a class="nav-link" href="../audio/audio.html">Playing Sounds</a>
  416. </li>
  417. <li class="nav-item" data-depth="2">
  418. <a class="nav-link" href="../audio/audio_environment_presets.html">Audio Environment Presets</a>
  419. </li>
  420. <li class="nav-item" data-depth="2">
  421. <a class="nav-link" href="../app/state/screenshots.html">Capture Screenshots</a>
  422. </li>
  423. <li class="nav-item" data-depth="2">
  424. <a class="nav-link" href="../app/state/capture_audio_video_to_a_file.html">Capture Audio/Video</a>
  425. </li>
  426. </ul>
  427. </li>
  428. <li class="nav-item" data-depth="1">
  429. <button class="nav-item-toggle"></button>
  430. <span class="nav-text">Filter, Effect</span>
  431. <ul class="nav-list">
  432. <li class="nav-item" data-depth="2">
  433. <a class="nav-link" href="../effect/effects_overview.html">Overview</a>
  434. </li>
  435. <li class="nav-item" data-depth="2">
  436. <a class="nav-link" href="../effect/bloom_and_glow.html">Bloom and Glow</a>
  437. </li>
  438. <li class="nav-item" data-depth="2">
  439. <a class="nav-link" href="../effect/particle_emitters.html">Particle Emitters</a>
  440. </li>
  441. </ul>
  442. </li>
  443. <li class="nav-item" data-depth="1">
  444. <button class="nav-item-toggle"></button>
  445. <span class="nav-text">Landscapes</span>
  446. <ul class="nav-list">
  447. <li class="nav-item" data-depth="2">
  448. <a class="nav-link" href="../util/sky.html">Sky</a>
  449. </li>
  450. <li class="nav-item" data-depth="2">
  451. <a class="nav-link" href="../terrain/terrain.html">Terrain (TerraMonkey)</a>
  452. </li>
  453. <li class="nav-item" data-depth="2">
  454. <a class="nav-link" href="../collision/terrain_collision.html">Terrain Collision</a>
  455. </li>
  456. <li class="nav-item" data-depth="2">
  457. <a class="nav-link" href="../effect/water.html">Simple Water</a>
  458. </li>
  459. <li class="nav-item" data-depth="2">
  460. <a class="nav-link" href="../effect/post-processor_water.html">Post-Processor Water</a>
  461. </li>
  462. </ul>
  463. </li>
  464. <li class="nav-item" data-depth="1">
  465. <button class="nav-item-toggle"></button>
  466. <span class="nav-text">Camera</span>
  467. <ul class="nav-list">
  468. <li class="nav-item" data-depth="2">
  469. <a class="nav-link" href="../renderer/camera.html">Camera</a>
  470. </li>
  471. <li class="nav-item" data-depth="2">
  472. <a class="nav-link" href="../renderer/making_the_camera_follow_a_character.html">Follow a Character</a>
  473. </li>
  474. <li class="nav-item" data-depth="2">
  475. <a class="nav-link" href="../renderer/remote-controlling_the_camera.html">Remote-Controlling</a>
  476. </li>
  477. <li class="nav-item" data-depth="2">
  478. <a class="nav-link" href="../renderer/multiple_camera_views.html">Multiple Camera Views</a>
  479. </li>
  480. <li class="nav-item" data-depth="2">
  481. <a class="nav-link" href="../renderer/jme3_renderbuckets.html">Render Buckets</a>
  482. </li>
  483. </ul>
  484. </li>
  485. <li class="nav-item" data-depth="1">
  486. <button class="nav-item-toggle"></button>
  487. <span class="nav-text">Rendering</span>
  488. <ul class="nav-list">
  489. <li class="nav-item" data-depth="2">
  490. <a class="nav-link" href="../renderer/render_pipeline.html">Render Pipelines</a>
  491. </li>
  492. </ul>
  493. </li>
  494. <li class="nav-item" data-depth="1">
  495. <button class="nav-item-toggle"></button>
  496. <span class="nav-text">User Interaction</span>
  497. <ul class="nav-list">
  498. <li class="nav-item" data-depth="2">
  499. <a class="nav-link" href="../input/input_handling.html">Input Handling</a>
  500. </li>
  501. <li class="nav-item" data-depth="2">
  502. <a class="nav-link" href="../input/combo_moves.html">Combo Moves</a>
  503. </li>
  504. <li class="nav-item" data-depth="2">
  505. <a class="nav-link" href="../input/mouse_picking.html">Mouse Picking</a>
  506. </li>
  507. </ul>
  508. </li>
  509. <li class="nav-item" data-depth="1">
  510. <button class="nav-item-toggle"></button>
  511. <a class="nav-link" href="../gui/topic_gui.html">Graphical User Interface</a>
  512. <ul class="nav-list">
  513. <li class="nav-item" data-depth="2">
  514. <button class="nav-item-toggle"></button>
  515. <span class="nav-text">Nifty GUI</span>
  516. <ul class="nav-list">
  517. <li class="nav-item" data-depth="3">
  518. <a class="nav-link" href="../gui/nifty_gui.html">Integration Tutorial</a>
  519. </li>
  520. <li class="nav-item" data-depth="3">
  521. <a class="nav-link" href="../gui/nifty_gui_best_practices.html">Best Practices</a>
  522. </li>
  523. <li class="nav-item" data-depth="3">
  524. <a class="nav-link" href="../gui/nifty_gui_scenarios.html">Scenarios</a>
  525. </li>
  526. </ul>
  527. </li>
  528. <li class="nav-item" data-depth="2">
  529. <a class="nav-link" href="../ui/hud.html">Head-Up Display (HUD)</a>
  530. </li>
  531. </ul>
  532. </li>
  533. <li class="nav-item" data-depth="1">
  534. <button class="nav-item-toggle"></button>
  535. <span class="nav-text">Virtual Reality</span>
  536. <ul class="nav-list">
  537. <li class="nav-item" data-depth="2">
  538. <a class="nav-link" href="../vr/virtualreality.html">Virtual Reality</a>
  539. </li>
  540. <li class="nav-item" data-depth="2">
  541. <a class="nav-link" href="../vr/legacyOpenVr.html">Virtual Reality Legacy Support</a>
  542. </li>
  543. <li class="nav-item" data-depth="2">
  544. <a class="nav-link" href="../vr/virtualrealitycontrollers.html">Virtual Reality Legacy Controller Support</a>
  545. </li>
  546. </ul>
  547. </li>
  548. </ul>
  549. </li>
  550. <li class="nav-item" data-depth="0">
  551. <ul class="nav-list">
  552. <li class="nav-item" data-depth="1">
  553. <button class="nav-item-toggle"></button>
  554. <a class="nav-link" href="../../physics/physics.html">Physics</a>
  555. <ul class="nav-list">
  556. <li class="nav-item" data-depth="2">
  557. <a class="nav-link" href="../../physics/bullet_multithreading.html">Multi-Threaded Physics</a>
  558. </li>
  559. <li class="nav-item" data-depth="2">
  560. <a class="nav-link" href="../../physics/collision/physics_listeners.html">Collision Detection</a>
  561. </li>
  562. <li class="nav-item" data-depth="2">
  563. <a class="nav-link" href="../../physics/joint/hinges_and_joints.html">Hinges and Joints</a>
  564. </li>
  565. <li class="nav-item" data-depth="2">
  566. <a class="nav-link" href="../../physics/control/walking_character.html">Walking Character</a>
  567. </li>
  568. <li class="nav-item" data-depth="2">
  569. <a class="nav-link" href="../../physics/control/ragdoll.html">Ragdoll</a>
  570. </li>
  571. <li class="nav-item" data-depth="2">
  572. <a class="nav-link" href="../../physics/control/vehicles.html">Vehicles</a>
  573. </li>
  574. <li class="nav-item" data-depth="2">
  575. <a class="nav-link" href="../../physics/control/softbody.html">Softbody</a>
  576. </li>
  577. <li class="nav-item" data-depth="2">
  578. <a class="nav-link" href="../../physics/bullet_pitfalls.html">Bullet Physics Pitfalls</a>
  579. </li>
  580. </ul>
  581. </li>
  582. </ul>
  583. </li>
  584. <li class="nav-item" data-depth="0">
  585. <ul class="nav-list">
  586. <li class="nav-item" data-depth="1">
  587. <button class="nav-item-toggle"></button>
  588. <span class="nav-text">Networking</span>
  589. <ul class="nav-list">
  590. <li class="nav-item" data-depth="2">
  591. <a class="nav-link" href="../../networking/networking.html">Networking (SpiderMonkey)</a>
  592. </li>
  593. <li class="nav-item" data-depth="2">
  594. <a class="nav-link" href="../../networking/headless_server.html">Headless Server</a>
  595. </li>
  596. <li class="nav-item" data-depth="2">
  597. <a class="nav-link" href="../../networking/monkey_zone.html">Multi-Player Demo Code</a>
  598. </li>
  599. <li class="nav-item" data-depth="2">
  600. <a class="nav-link" href="../../networking/networking_video_tutorials.html">Networking Video Tutorials</a>
  601. </li>
  602. </ul>
  603. </li>
  604. </ul>
  605. </li>
  606. <li class="nav-item" data-depth="0">
  607. <ul class="nav-list">
  608. <li class="nav-item" data-depth="1">
  609. <button class="nav-item-toggle"></button>
  610. <span class="nav-text">User Contributions</span>
  611. <ul class="nav-list">
  612. <li class="nav-item" data-depth="2">
  613. <a class="nav-link" href="../../contributions/contributions.html">User Made Utilities</a>
  614. </li>
  615. <li class="nav-item" data-depth="2">
  616. <button class="nav-item-toggle"></button>
  617. <span class="nav-text">Shader</span>
  618. <ul class="nav-list">
  619. <li class="nav-item" data-depth="3">
  620. <a class="nav-link" href="../../contributions/shader/shaderblow_project.html">ShaderBlow Project</a>
  621. </li>
  622. </ul>
  623. </li>
  624. <li class="nav-item" data-depth="2">
  625. <button class="nav-item-toggle"></button>
  626. <span class="nav-text">Landscapes</span>
  627. <ul class="nav-list">
  628. <li class="nav-item" data-depth="3">
  629. <a class="nav-link" href="../../contributions/lanscapes/vegetationsystem/vegetationsystem.html">Vegetation System</a>
  630. </li>
  631. </ul>
  632. </li>
  633. <li class="nav-item" data-depth="2">
  634. <button class="nav-item-toggle"></button>
  635. <span class="nav-text">Networking</span>
  636. <ul class="nav-list">
  637. <li class="nav-item" data-depth="3">
  638. <a class="nav-link" href="../../contributions/networking/open_game_finder.html">Open Game Finder</a>
  639. </li>
  640. </ul>
  641. </li>
  642. <li class="nav-item" data-depth="2">
  643. <button class="nav-item-toggle"></button>
  644. <span class="nav-text">Entity System</span>
  645. <ul class="nav-list">
  646. <li class="nav-item" data-depth="3">
  647. <a class="nav-link" href="#es/entitysystem.adoc">The Zay-ES Entity System</a>
  648. </li>
  649. </ul>
  650. </li>
  651. <li class="nav-item" data-depth="2">
  652. <button class="nav-item-toggle"></button>
  653. <span class="nav-text">Artificial Intelligence</span>
  654. <ul class="nav-list">
  655. <li class="nav-item" data-depth="3">
  656. <a class="nav-link" href="../../contributions/ai/recast.html">Recast Navigation</a>
  657. </li>
  658. <li class="nav-item" data-depth="3">
  659. <a class="nav-link" href="../../contributions/ai/building_recast.html">Updating and building Recast Native Bindings</a>
  660. </li>
  661. <li class="nav-item" data-depth="3">
  662. <a class="nav-link" href="../../contributions/ai/monkey_brains.html">Monkey Brains</a>
  663. </li>
  664. <li class="nav-item" data-depth="3">
  665. <a class="nav-link" href="../../contributions/ai/steer_behaviours.html">Steer Behaviours</a>
  666. </li>
  667. <li class="nav-item" data-depth="3">
  668. <a class="nav-link" href="../../contributions/ai/jme3_ai.html">jME3 Artificial Intelligence</a>
  669. </li>
  670. </ul>
  671. </li>
  672. <li class="nav-item" data-depth="2">
  673. <button class="nav-item-toggle"></button>
  674. <a class="nav-link" href="../../contributions/gui/topic_contributions_gui.html">GUI</a>
  675. <ul class="nav-list">
  676. <li class="nav-item" data-depth="3">
  677. <a class="nav-link" href="../../contributions/contributions.html#lemur-gui-library">Lemur - a native jME3 GUI library with scene graph tools</a>
  678. </li>
  679. <li class="nav-item" data-depth="3">
  680. <a class="nav-link" href="../../contributions/contributions.html#tonegodgui">tonegodGUI - a native jME3 GUI library</a>
  681. </li>
  682. <li class="nav-item" data-depth="3">
  683. <a class="nav-link" href="../../contributions/contributions.html#immediate-graphical-user-interface">Immediate graphical user interface</a>
  684. </li>
  685. </ul>
  686. </li>
  687. <li class="nav-item" data-depth="2">
  688. <button class="nav-item-toggle"></button>
  689. <span class="nav-text">Tools</span>
  690. <ul class="nav-list">
  691. <li class="nav-item" data-depth="3">
  692. <a class="nav-link" href="../../contributions/tools/navigation.html">Mercator Projection Tool (Marine Navigation)</a>
  693. </li>
  694. <li class="nav-item" data-depth="3">
  695. <a class="nav-link" href="../../contributions/tools/charts.html">Visualizing Maps in JME3 (Marine Charts)</a>
  696. </li>
  697. </ul>
  698. </li>
  699. <li class="nav-item" data-depth="2">
  700. <button class="nav-item-toggle"></button>
  701. <a class="nav-link" href="../../contributions/vr/topic_contributions_vr.html">Virtual Reality (And augmented reality)</a>
  702. <ul class="nav-list">
  703. <li class="nav-item" data-depth="3">
  704. <a class="nav-link" href="../../contributions/contributions.html#tamarin-openxr">Tamarin OpenXR</a>
  705. </li>
  706. </ul>
  707. </li>
  708. <li class="nav-item" data-depth="2">
  709. <button class="nav-item-toggle"></button>
  710. <span class="nav-text">Projects</span>
  711. <ul class="nav-list">
  712. <li class="nav-item" data-depth="3">
  713. <a class="nav-link" href="../../contributions/projects/rise_of_mutants_project.html">Rise of Mutants Project</a>
  714. </li>
  715. </ul>
  716. </li>
  717. </ul>
  718. </li>
  719. </ul>
  720. </li>
  721. <li class="nav-item" data-depth="0">
  722. <ul class="nav-list">
  723. <li class="nav-item" data-depth="1">
  724. <button class="nav-item-toggle"></button>
  725. <a class="nav-link" href="../../sdk/sdk.html">SDK</a>
  726. <ul class="nav-list">
  727. <li class="nav-item" data-depth="2">
  728. <button class="nav-item-toggle"></button>
  729. <span class="nav-text">Video Tutorials</span>
  730. <ul class="nav-list">
  731. <li class="nav-item" data-depth="3">
  732. <button class="nav-item-toggle"></button>
  733. <span class="nav-text">SDK Use Case Tutorials</span>
  734. <ul class="nav-list">
  735. <li class="nav-item" data-depth="4">
  736. <a class="nav-link" href="http://www.youtube.com/watch?v=-OzRZscLlHY">Demo 1 (Quixote demo)</a>
  737. </li>
  738. <li class="nav-item" data-depth="4">
  739. <a class="nav-link" href="http://www.youtube.com/watch?v=6-YWxD3JByE">Demo 2 (Models and Materials)</a>
  740. </li>
  741. </ul>
  742. </li>
  743. <li class="nav-item" data-depth="3">
  744. <button class="nav-item-toggle"></button>
  745. <span class="nav-text">SDK Tutorials</span>
  746. <ul class="nav-list">
  747. <li class="nav-item" data-depth="4">
  748. <a class="nav-link" href="http://www.youtube.com/watch?v=M1_0pbeyJzI">Basics</a>
  749. </li>
  750. <li class="nav-item" data-depth="4">
  751. <a class="nav-link" href="http://www.youtube.com/watch?v=nL7woH40i5c">Importing Models</a>
  752. </li>
  753. <li class="nav-item" data-depth="4">
  754. <a class="nav-link" href="http://www.youtube.com/watch?v=DUmgAjiNzhY">Dragging&amp;Dropping Nodes</a>
  755. </li>
  756. <li class="nav-item" data-depth="4">
  757. <a class="nav-link" href="http://www.youtube.com/watch?v=ntPAmtsQ6eM">Scene Composing</a>
  758. </li>
  759. <li class="nav-item" data-depth="4">
  760. <a class="nav-link" href="http://www.youtube.com/watch?v=zgPV3W6dD4s">Terrain with Collision Shape</a>
  761. </li>
  762. <li class="nav-item" data-depth="4">
  763. <a class="nav-link" href="http://www.youtube.com/watch?v=Feu3-mrpolc">Working with Materials</a>
  764. </li>
  765. <li class="nav-item" data-depth="4">
  766. <a class="nav-link" href="http://www.youtube.com/watch?v=MNDiZ9YHIpM">Custom Controls</a>
  767. </li>
  768. <li class="nav-item" data-depth="4">
  769. <a class="nav-link" href="http://www.youtube.com/watch?v=oZnssg8TBWQ">WebStart Deployment</a>
  770. </li>
  771. <li class="nav-item" data-depth="4">
  772. <a class="nav-link" href="http://www.youtube.com/watch?v=D7JM4VMKqPc">Animation and Effect TrackEditing</a>
  773. </li>
  774. </ul>
  775. </li>
  776. </ul>
  777. </li>
  778. <li class="nav-item" data-depth="2">
  779. <button class="nav-item-toggle"></button>
  780. <span class="nav-text">Getting Started</span>
  781. <ul class="nav-list">
  782. <li class="nav-item" data-depth="3">
  783. <a class="nav-link" href="../../sdk/update_center.html">Updating jMonkeyEngine SDK</a>
  784. </li>
  785. <li class="nav-item" data-depth="3">
  786. <a class="nav-link" href="../../sdk/troubleshooting.html">Troubleshooting</a>
  787. </li>
  788. </ul>
  789. </li>
  790. <li class="nav-item" data-depth="2">
  791. <button class="nav-item-toggle"></button>
  792. <span class="nav-text">Java Development Features</span>
  793. <ul class="nav-list">
  794. <li class="nav-item" data-depth="3">
  795. <a class="nav-link" href="../../sdk/project_creation.html">Project Creation</a>
  796. </li>
  797. <li class="nav-item" data-depth="3">
  798. <a class="nav-link" href="../../sdk/code_editor.html">Code Editor and Palette</a>
  799. </li>
  800. <li class="nav-item" data-depth="3">
  801. <a class="nav-link" href="../../sdk/version_control.html">File Version Control</a>
  802. </li>
  803. <li class="nav-item" data-depth="3">
  804. <a class="nav-link" href="../../sdk/debugging_profiling_testing.html">Debug, Profile, Test</a>
  805. </li>
  806. <li class="nav-item" data-depth="3">
  807. <button class="nav-item-toggle"></button>
  808. <a class="nav-link" href="../../sdk/application_deployment.html">Application Deployment</a>
  809. <ul class="nav-list">
  810. <li class="nav-item" data-depth="4">
  811. <a class="nav-link" href="../../sdk/default_build_script.html">Default Build Script</a>
  812. </li>
  813. <li class="nav-item" data-depth="4">
  814. <a class="nav-link" href="../../sdk/android.html">Android</a>
  815. </li>
  816. <li class="nav-item" data-depth="4">
  817. <a class="nav-link" href="../../sdk/android_cheat_sheet.html">Android Cheat Sheet</a>
  818. </li>
  819. <li class="nav-item" data-depth="4">
  820. <a class="nav-link" href="../../sdk/ios.html">iOS</a>
  821. </li>
  822. </ul>
  823. </li>
  824. </ul>
  825. </li>
  826. <li class="nav-item" data-depth="2">
  827. <button class="nav-item-toggle"></button>
  828. <span class="nav-text">Unique Features</span>
  829. <ul class="nav-list">
  830. <li class="nav-item" data-depth="3">
  831. <button class="nav-item-toggle"></button>
  832. <a class="nav-link" href="../../sdk/model_loader_and_viewer.html">Import, View, Convert Models</a>
  833. <ul class="nav-list">
  834. <li class="nav-item" data-depth="4">
  835. <a class="nav-link" href="../../sdk/asset_packs.html">Asset Packs</a>
  836. </li>
  837. </ul>
  838. </li>
  839. <li class="nav-item" data-depth="3">
  840. <a class="nav-link" href="../../sdk/scene_explorer.html">The SceneExplorer</a>
  841. </li>
  842. <li class="nav-item" data-depth="3">
  843. <a class="nav-link" href="../../sdk/scene_composer.html">Composing a Scene</a>
  844. </li>
  845. <li class="nav-item" data-depth="3">
  846. <a class="nav-link" href="../../sdk/terrain_editor.html">Terrain Editor</a>
  847. </li>
  848. <li class="nav-item" data-depth="3">
  849. <a class="nav-link" href="../../sdk/sample_code.html">Sample Code</a>
  850. </li>
  851. <li class="nav-item" data-depth="3">
  852. <a class="nav-link" href="../../sdk/material_editing.html">Material Editing</a>
  853. </li>
  854. <li class="nav-item" data-depth="3">
  855. <a class="nav-link" href="../../sdk/font_creation.html">Creating Bitmap Fonts</a>
  856. </li>
  857. <li class="nav-item" data-depth="3">
  858. <button class="nav-item-toggle"></button>
  859. <a class="nav-link" href="https://hub.jmonkeyengine.org/t/effecttrack-and-audiotrack-editing-in-the-sdk/23378">Audio and Effect Track Editing</a>
  860. <ul class="nav-list">
  861. <li class="nav-item" data-depth="4">
  862. <a class="nav-link" href="https://www.youtube.com/watch?v=D7JM4VMKqPc">Video: Effect and AudioTrack editing in jMonkeyEngine 3 sdk</a>
  863. </li>
  864. </ul>
  865. </li>
  866. <li class="nav-item" data-depth="3">
  867. <a class="nav-link" href="../../sdk/filters.html">Post-Processor Filter Editor and Viewer</a>
  868. </li>
  869. <li class="nav-item" data-depth="3">
  870. <a class="nav-link" href="../app/state/application_states.html">Application States</a>
  871. </li>
  872. <li class="nav-item" data-depth="3">
  873. <a class="nav-link" href="../scene/control/custom_controls.html">Custom Controls</a>
  874. </li>
  875. <li class="nav-item" data-depth="3">
  876. <a class="nav-link" href="../../sdk/vehicle_creator.html">Vehicle Creator</a>
  877. </li>
  878. <li class="nav-item" data-depth="3">
  879. <a class="nav-link" href="../../sdk/assetbrowser.html">Asset Browser</a>
  880. </li>
  881. <li class="nav-item" data-depth="3">
  882. <a class="nav-link" href="../../sdk/animations.html">Animations</a>
  883. </li>
  884. </ul>
  885. </li>
  886. <li class="nav-item" data-depth="2">
  887. <button class="nav-item-toggle"></button>
  888. <span class="nav-text">Advanced Usage</span>
  889. <ul class="nav-list">
  890. <li class="nav-item" data-depth="3">
  891. <a class="nav-link" href="../../sdk/build_platform.html">Building jMonkeyEngine SDK</a>
  892. </li>
  893. <li class="nav-item" data-depth="3">
  894. <a class="nav-link" href="../../sdk/use_own_jme.html#.adoc">Using your own (modified) version of jME3 in jMonkeyEngine SDK</a>
  895. </li>
  896. <li class="nav-item" data-depth="3">
  897. <a class="nav-link" href="../../sdk/increasing_heap_memory.html">Increasing Heap Memory</a>
  898. </li>
  899. <li class="nav-item" data-depth="3">
  900. <a class="nav-link" href="../../sdk/log_files.html">Log Files</a>
  901. </li>
  902. </ul>
  903. </li>
  904. <li class="nav-item" data-depth="2">
  905. <button class="nav-item-toggle"></button>
  906. <span class="nav-text">Available external plugins</span>
  907. <ul class="nav-list">
  908. <li class="nav-item" data-depth="3">
  909. <a class="nav-link" href="../../contributions/contributions.html">Contributions</a>
  910. </li>
  911. <li class="nav-item" data-depth="3">
  912. <a class="nav-link" href="../../sdk/neotexture.html">Neo Texture Editor for procedural textures</a>
  913. </li>
  914. <li class="nav-item" data-depth="3">
  915. <a class="nav-link" href="http://www.youtube.com/watch?v=yS9a9o4WzL8">Video: Mesh Tool &amp; Physics Editor</a>
  916. </li>
  917. </ul>
  918. </li>
  919. <li class="nav-item" data-depth="2">
  920. <button class="nav-item-toggle"></button>
  921. <a class="nav-link" href="../../sdk/development.html">Developing plugins for jMonkeyEngine SDK</a>
  922. <ul class="nav-list">
  923. <li class="nav-item" data-depth="3">
  924. <a class="nav-link" href="../../sdk/development/setup.html">Creating a plugin</a>
  925. </li>
  926. <li class="nav-item" data-depth="3">
  927. <a class="nav-link" href="../../sdk/development/general.html">Creating components</a>
  928. </li>
  929. <li class="nav-item" data-depth="3">
  930. <a class="nav-link" href="../../sdk/development/scene.html">The Main Scene</a>
  931. </li>
  932. <li class="nav-item" data-depth="3">
  933. <a class="nav-link" href="../../sdk/development/sceneexplorer.html">The Scene Explorer</a>
  934. </li>
  935. <li class="nav-item" data-depth="3">
  936. <a class="nav-link" href="../../sdk/development/projects_assets.html">Projects and Assets</a>
  937. </li>
  938. <li class="nav-item" data-depth="3">
  939. <a class="nav-link" href="../../sdk/development/extension_library.html">Create a library plugin from a jar file</a>
  940. </li>
  941. <li class="nav-item" data-depth="3">
  942. <a class="nav-link" href="../../sdk/development/model_loader.html">Create a new or custom model filetype and loader</a>
  943. </li>
  944. </ul>
  945. </li>
  946. </ul>
  947. </li>
  948. </ul>
  949. </li>
  950. </ul>
  951. </nav>
  952. </div>
  953. <div class="nav-panel-explore" data-panel="explore">
  954. <div class="context">
  955. <span class="title">JME</span>
  956. <span class="version">3.8</span>
  957. </div>
  958. <ul class="components">
  959. <li class="component is-current">
  960. <span class="title">JME</span>
  961. <ul class="versions">
  962. <li class="version is-current">
  963. <a href="../../documentation.html">3.8</a>
  964. </li>
  965. <li class="version">
  966. <a href="../../../3.4/documentation.html">3.4</a>
  967. </li>
  968. <li class="version">
  969. <a href="../../../3.3/documentation.html">3.3</a>
  970. </li>
  971. <li class="version">
  972. <a href="../../../3.2/documentation.html">3.2</a>
  973. </li>
  974. </ul>
  975. </li>
  976. <li class="component">
  977. <span class="title">Wiki Contribution</span>
  978. <ul class="versions">
  979. <li class="version">
  980. <a href="../../../../docs-wiki/3.8/wiki_contributor.html">3.8</a>
  981. </li>
  982. </ul>
  983. </li>
  984. <li class="component">
  985. <span class="title">Wiki UI</span>
  986. <ul class="versions">
  987. <li class="version">
  988. <a href="../../../../wiki-ui/index.html">master</a>
  989. </li>
  990. </ul>
  991. </li>
  992. </ul>
  993. </div>
  994. </div>
  995. </aside>
  996. </div>
  997. <main class="article">
  998. <div class="toolbar" role="navigation">
  999. <button class="nav-toggle"></button>
  1000. <nav class="breadcrumbs" aria-label="breadcrumbs">
  1001. <ul>
  1002. <li><a href="../../documentation.html">JME</a></li>
  1003. <li>Material, Light, Shadow</li>
  1004. <li><a href="materials_overview.html">.j3md Properties</a></li>
  1005. </ul>
  1006. </nav>
  1007. <div class="page-versions">
  1008. <button class="version-menu-toggle" title="Show other versions of page">3.8</button>
  1009. <div class="version-menu">
  1010. <a class="version is-current" href="materials_overview.html">3.8</a>
  1011. <a class="version" href="../../../3.4/core/material/materials_overview.html">3.4</a>
  1012. <a class="version" href="../../../3.3/core/material/materials_overview.html">3.3</a>
  1013. <a class="version" href="../../../3.2/core/material/materials_overview.html">3.2</a>
  1014. </div>
  1015. </div>
  1016. <div class="edit-this-page"><a href="https://github.com/jMonkeyEngine/wiki/edit/master/docs/modules/core/pages/material/materials_overview.adoc">Edit this Page</a></div>
  1017. </div>
  1018. <div class="content">
  1019. <article class="doc">
  1020. <h1 class="page">Material Definition Properties</h1>
  1021. <div id="preamble">
  1022. <div class="sectionbody">
  1023. <div class="paragraph">
  1024. <p>In jMonkeyEngine 3, colors and textures are represented as Material objects.</p>
  1025. </div>
  1026. <div class="ulist">
  1027. <ul>
  1028. <li>
  1029. <p>All Geometries must have Materials. To improve performance, reuse Materials for similar models, don&#8217;t create a new Material object for every Geometry. (E.g. use one bark Material for several tree models.)</p>
  1030. </li>
  1031. <li>
  1032. <p>Each Material is based on one of jme3&#8217;s default Material Definitions (.j3md files) that are included in the engine. Advanced users can create additional custom Material Definitions (see how it&#8217;s done in the <a href="../../getting-started/build_from_sources.html" class="xref page">jme3 sources</a>).</p>
  1033. </li>
  1034. </ul>
  1035. </div>
  1036. <div class="admonitionblock tip">
  1037. <table>
  1038. <tr>
  1039. <td class="icon">
  1040. <i class="fa icon-tip" title="Tip"></i>
  1041. </td>
  1042. <td class="content">
  1043. <div class="paragraph">
  1044. <p>Find out quickly <a href="how_to_use_materials.html" class="xref page">How to Use Materials</a>, including the most commonly used code samples and RenderStates.<br>
  1045. Or find more background info on <a href="material_definitions.html" class="xref page">How to use Material Definitions</a>.</p>
  1046. </div>
  1047. </td>
  1048. </tr>
  1049. </table>
  1050. </div>
  1051. </div>
  1052. </div>
  1053. <div class="sect1">
  1054. <h2 id="all-materials-definition-properties"><a class="anchor" href="#all-materials-definition-properties"></a>All Materials Definition Properties</h2>
  1055. <div class="sectionbody">
  1056. <div class="paragraph">
  1057. <p>The following Materials table shows the Material Definitions that jMonkeyEngine 3 supports.</p>
  1058. </div>
  1059. <div class="admonitionblock tip">
  1060. <table>
  1061. <tr>
  1062. <td class="icon">
  1063. <i class="fa icon-tip" title="Tip"></i>
  1064. </td>
  1065. <td class="content">
  1066. <div class="paragraph">
  1067. <p>Looks confusing?<br>
  1068. 1) Start learning about <code>Unshaded.j3md</code> and <code>Lighting.j3md</code>, they cover 90% of the cases.<br>
  1069. 2) Use <a href="../../sdk/material_editing.html" class="xref page">the SDK&#8217;s visual material editor</a> to try out and save material settings easily.<br>
  1070. 3) The <a href="../../sdk/code_editor.html" class="xref page">SDK&#8217;s Palette</a> contains drag&amp;drop code snippets for loading materials.</p>
  1071. </div>
  1072. </td>
  1073. </tr>
  1074. </table>
  1075. </div>
  1076. <div class="paragraph">
  1077. <p>Most Material parameters are optional. For example, it is okay to specify solely the <code>DiffuseMap</code> and <code>NormalMap</code> when using <code>Lighting.j3md</code>, and leave the other texture maps empty. In this case, you are only using a subset of the possible features, but that&#8217;s fine if it already makes in the material look the way that you want. You can always add more texture maps later.</p>
  1078. </div>
  1079. <div class="sect2">
  1080. <h3 id="unshaded-coloring-and-textures"><a class="anchor" href="#unshaded-coloring-and-textures"></a>Unshaded Coloring and Textures</h3>
  1081. <div class="paragraph">
  1082. <p>jMonkeyEngine supports illuminated and unshaded Material Definitions.</p>
  1083. </div>
  1084. <div class="ulist">
  1085. <ul>
  1086. <li>
  1087. <p>Phong Illuminated materials look more naturalistic.</p>
  1088. </li>
  1089. <li>
  1090. <p>Unshaded materials look more abstract.</p>
  1091. </li>
  1092. </ul>
  1093. </div>
  1094. <div class="paragraph">
  1095. <p>&#8220;Unshaded&#8221; materials look somewhat abstract because they ignore lighting and shading. Unshaded Materials work even if the scene does not include a light source. These Materials can be single-colored or textured. For example, they are used for cards and tiles, for the sky, billboards and UI elements, for toon-style games, or for testing.</p>
  1096. </div>
  1097. <table class="tableblock frame-all grid-all stretch">
  1098. <caption class="title">Table 1. Standard Unshaded</caption>
  1099. <colgroup>
  1100. <col style="width: 20%;">
  1101. <col style="width: 30%;">
  1102. <col style="width: 50%;">
  1103. </colgroup>
  1104. <thead>
  1105. <tr>
  1106. <th class="tableblock halign-left valign-top">Material Definition</th>
  1107. <th class="tableblock halign-left valign-top">Usage</th>
  1108. <th class="tableblock halign-left valign-top">Material Parameters</th>
  1109. </tr>
  1110. </thead>
  1111. <tbody>
  1112. <tr>
  1113. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1114. <p>Common/MatDefs/Misc/<br>
  1115. Unshaded.j3md</p>
  1116. </div></div></td>
  1117. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1118. <p>Standard, non-illuminated Materials.</p>
  1119. </div>
  1120. <div class="paragraph">
  1121. <p>Use this for simple coloring, texturing, glow, and transparency.</p>
  1122. </div>
  1123. <div class="paragraph">
  1124. <p>See also: <a href="../../tutorials/beginner/hello_material.html" class="xref page">Hello Material</a></p>
  1125. </div></div></td>
  1126. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1127. <p><strong>Texture Maps</strong><br>
  1128. setTexture(&#8220;ColorMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1129. setBoolean(&#8220;SeparateTexCoord&#8221;,true);<br>
  1130. setTexture(&#8220;LightMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1131. <strong>Colors</strong><br>
  1132. setColor(&#8220;Color&#8221;, ColorRGBA.White);<br>
  1133. setBoolean(&#8220;VertexColor&#8221;,true);<br>
  1134. <strong>Glow</strong><br>
  1135. setTexture(&#8220;GlowMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1136. setColor(&#8220;GlowColor&#8221;, ColorRGBA.White);</p>
  1137. </div></div></td>
  1138. </tr>
  1139. </tbody>
  1140. </table>
  1141. <div class="paragraph">
  1142. <p>Other useful, but less commonly used material definitions:</p>
  1143. </div>
  1144. <table class="tableblock frame-all grid-all stretch">
  1145. <caption class="title">Table 2. Special Unshaded</caption>
  1146. <colgroup>
  1147. <col style="width: 20%;">
  1148. <col style="width: 25%;">
  1149. <col style="width: 55%;">
  1150. </colgroup>
  1151. <thead>
  1152. <tr>
  1153. <th class="tableblock halign-left valign-top">Material Definition</th>
  1154. <th class="tableblock halign-left valign-top">Usage</th>
  1155. <th class="tableblock halign-left valign-top">Material Parameters</th>
  1156. </tr>
  1157. </thead>
  1158. <tbody>
  1159. <tr>
  1160. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1161. <p>Common/MatDefs/Misc/<br>
  1162. Sky.j3md</p>
  1163. </div></div></td>
  1164. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1165. <p>A solid sky blue, or use with a custom SkyDome texture.</p>
  1166. </div>
  1167. <div class="paragraph">
  1168. <p>See also: <a href="../util/sky.html" class="xref page">Sky</a></p>
  1169. </div></div></td>
  1170. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1171. <p>setTexture(&#8220;Texture&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1172. setBoolean(&#8220;SphereMap&#8221;,true);<br>
  1173. setVector3(&#8220;NormalScale&#8221;, new Vector3f(0,0,0));</p>
  1174. </div></div></td>
  1175. </tr>
  1176. <tr>
  1177. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1178. <p>Common/MatDefs/Terrain/<br>
  1179. Terrain.j3md</p>
  1180. </div></div></td>
  1181. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1182. <p>Splat textures for, e.g. terrains.</p>
  1183. </div>
  1184. <div class="paragraph">
  1185. <p>See also: <a href="../../tutorials/beginner/hello_terrain.html" class="xref page">Hello Terrain</a></p>
  1186. </div></div></td>
  1187. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1188. <p>setTexture(&#8220;Tex1&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1189. (red)<br>
  1190. setFloat(&#8220;Tex1Scale&#8221;,1f);<br>
  1191. setTexture(&#8220;Tex2&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1192. (green)<br>
  1193. setFloat(&#8220;Tex2Scale&#8221;,1f);<br>
  1194. setTexture(&#8220;Tex3&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1195. (blue)<br>
  1196. setFloat(&#8220;Tex3Scale&#8221;,1f);<br>
  1197. setTexture(&#8220;Alpha&#8221;, assetManager.loadTexture(&#8220;name&#8221;));</p>
  1198. </div></div></td>
  1199. </tr>
  1200. <tr>
  1201. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1202. <p>Common/MatDefs/Terrain/<br>
  1203. HeightBasedTerrain.j3md</p>
  1204. </div></div></td>
  1205. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1206. <p>A multi-layered texture for terrains.</p>
  1207. </div>
  1208. <div class="paragraph">
  1209. <p>Specify four textures and a Vector3f describing the region in which each texture should appear:</p>
  1210. </div>
  1211. <div class="paragraph">
  1212. <p>X = start height,<br>
  1213. Y = end height,<br>
  1214. Z = texture scale.</p>
  1215. </div>
  1216. <div class="paragraph">
  1217. <p>Texture regions can overlap.</p>
  1218. </div>
  1219. <div class="paragraph">
  1220. <p>For example:</p>
  1221. </div>
  1222. <div class="paragraph">
  1223. <p>Specify a seafloor texture for the lowest areas.</p>
  1224. </div>
  1225. <div class="paragraph">
  1226. <p>A sandy texture for the beaches.</p>
  1227. </div>
  1228. <div class="paragraph">
  1229. <p>A grassy texture for inland areas.</p>
  1230. </div>
  1231. <div class="paragraph">
  1232. <p>A rocky texture for mountain tops.</p>
  1233. </div></div></td>
  1234. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1235. <p>setFloat(&#8220;terrainSize&#8221;,512f);<br>
  1236. setTexture(&#8220;region1ColorMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1237. setTexture(&#8220;region2ColorMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1238. setTexture(&#8220;region3ColorMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1239. setTexture(&#8220;region4ColorMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1240. setVector3(&#8220;region1&#8221;, new Vector3f(0,0,0));<br>
  1241. setVector3(&#8220;region2&#8221;, new Vector3f(0,0,0));<br>
  1242. setVector3(&#8220;region3&#8221;, new Vector3f(0,0,0));<br>
  1243. setVector3(&#8220;region4&#8221;, new Vector3f(0,0,0));<br>
  1244. <strong>Settings for steep areas:</strong><br>
  1245. setTexture(&#8220;slopeColorMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1246. setFloat(&#8220;slopeTileFactor&#8221;,1f);</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>Common/MatDefs/Misc/<br>
  1252. Particle.j3md</p>
  1253. </div></div></td>
  1254. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1255. <p>Used with texture masks for particle effects, or for point sprites.</p>
  1256. </div>
  1257. <div class="paragraph">
  1258. <p>The Quadratic value scales the particle for perspective view. (<a href="https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-core/src/main/java/com/jme3/effect/ParticleEmitter.java">formula</a>)</p>
  1259. </div>
  1260. <div class="paragraph">
  1261. <p>Does support an optional colored glow effect.</p>
  1262. </div>
  1263. <div class="paragraph">
  1264. <p>See also: <a href="../../tutorials/beginner/hello_effects.html" class="xref page">Hello Effects</a></p>
  1265. </div></div></td>
  1266. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1267. <p>setTexture(&#8220;Texture&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1268. setTexture(&#8220;GlowMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1269. setColor(&#8220;GlowColor&#8221;, ColorRGBA.White);<br>
  1270. setFloat(&#8220;Quadratic&#8221;,1f);<br>
  1271. setBoolean(&#8220;PointSprite&#8221;,true);</p>
  1272. </div></div></td>
  1273. </tr>
  1274. </tbody>
  1275. </table>
  1276. </div>
  1277. <div class="sect2">
  1278. <h3 id="phong-illuminated"><a class="anchor" href="#phong-illuminated"></a>Phong Illuminated</h3>
  1279. <div class="paragraph">
  1280. <p>jMonkeyEngine supports illuminated and unshaded Material Definitions.</p>
  1281. </div>
  1282. <div class="ulist">
  1283. <ul>
  1284. <li>
  1285. <p>Phong Illuminated materials look more naturalistic.</p>
  1286. </li>
  1287. <li>
  1288. <p>Unshaded materials look more abstract.</p>
  1289. </li>
  1290. </ul>
  1291. </div>
  1292. <div class="paragraph">
  1293. <p>Illuminated materials require a <a href="../light/light_and_shadow.html" class="xref page">light source</a> added to at least one of their parent nodes! (e.g. rootNode.) Illuminated materials are darker on the sides facing away from light sources. They use Phong illumination model (default), or the Ward isotropic gaussian specular shader (WardIso) which looks more like plastic. They do not cast drop shadows unless you use a FilterPostProcessor.</p>
  1294. </div>
  1295. <table class="tableblock frame-all grid-all stretch">
  1296. <caption class="title">Table 3. Standard Illuminated</caption>
  1297. <colgroup>
  1298. <col style="width: 20%;">
  1299. <col style="width: 30%;">
  1300. <col style="width: 50%;">
  1301. </colgroup>
  1302. <thead>
  1303. <tr>
  1304. <th class="tableblock halign-left valign-top">Material Definition</th>
  1305. <th class="tableblock halign-left valign-top">Usage</th>
  1306. <th class="tableblock halign-left valign-top">Material Parameters</th>
  1307. </tr>
  1308. </thead>
  1309. <tbody>
  1310. <tr>
  1311. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1312. <p>Common/MatDefs/Light/<br>
  1313. Lighting.j3md</p>
  1314. </div></div></td>
  1315. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1316. <p>Commonly used Material with Phong illumination.</p>
  1317. </div>
  1318. <div class="paragraph">
  1319. <p>Use this material together with DiffuseMap, SpecularMap, BumpMap (NormalMaps, ParalaxMap) textures.</p>
  1320. </div>
  1321. <div class="paragraph">
  1322. <p>Supports shininess, transparency, and plain material colors (Diffuse, Ambient, Specular).</p>
  1323. </div>
  1324. <div class="paragraph">
  1325. <p>See also: <a href="../../tutorials/beginner/hello_material.html" class="xref page">Hello Material</a></p>
  1326. </div></div></td>
  1327. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1328. <p><strong>Texture Maps</strong><br>
  1329. setTexture(&#8220;DiffuseMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1330. setBoolean(&#8220;UseAlpha&#8221;,true); <sup class="footnote">[<a id="_footnoteref_1" class="footnote" href="#_footnotedef_1" title="View footnote.">1</a>]</sup> <br>
  1331. setTexture(&#8220;NormalMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1332. setBoolean(&#8220;LATC&#8221;,true); <sup class="footnote">[<a id="_footnoteref_2" class="footnote" href="#_footnotedef_2" title="View footnote.">2</a>]</sup> <br>
  1333. setTexture(&#8220;SpecularMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1334. setFloat(&#8220;Shininess&#8221;,64f);<br>
  1335. setTexture(&#8220;ParallaxMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1336. setTexture(&#8220;AlphaMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1337. setFloat(&#8220;AlphaDiscardThreshold&#8221;,1f);<br>
  1338. setTexture(&#8220;ColorRamp&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1339. <strong>Glow</strong><br>
  1340. setTexture(&#8220;GlowMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1341. setColor(&#8220;GlowColor&#8221;, ColorRGBA.White);<br>
  1342. <strong>Performance and quality</strong><br>
  1343. setBoolean(&#8220;VertexLighting&#8221;,true);<br>
  1344. setBoolean(&#8220;UseVertexColor&#8221;,true);<br>
  1345. setBoolean(&#8220;LowQuality&#8221;,true);<br>
  1346. setBoolean(&#8220;HighQuality&#8221;,true);<br>
  1347. <strong>Material Colors</strong><br>
  1348. setBoolean(&#8220;UseMaterialColors&#8221;,true);<br>
  1349. setColor(&#8220;Diffuse&#8221;, ColorRGBA.White);<br>
  1350. setColor(&#8220;Ambient&#8221;, ColorRGBA.White);<br>
  1351. setColor(&#8220;Specular&#8221;, ColorRGBA.White);<br>
  1352. <strong>Tangent shading:</strong><br>
  1353. setBoolean(&#8220;VTangent&#8221;,true);<br>
  1354. setBoolean(&#8220;Minnaert&#8221;,true); <sup class="footnote">[<a id="_footnoteref_3" class="footnote" href="#_footnotedef_3" title="View footnote.">3</a>]</sup><br>
  1355. setBoolean(&#8220;WardIso&#8221;,true); <sup class="footnote">[<a id="_footnoteref_4" class="footnote" href="#_footnotedef_4" title="View footnote.">4</a>]</sup></p>
  1356. </div>
  1357. <div id="footnotes">
  1358. <hr>
  1359. <div class="footnote" id="_footnotedef_1">
  1360. <a href="#_footnoteref_1">1</a>. UseAlpha specifies whether DiffuseMap uses the alpha channel
  1361. </div>
  1362. <div class="footnote" id="_footnotedef_2">
  1363. <a href="#_footnoteref_2">2</a>. LATC Specifies whether NormalMap is BC5/ATI2n/LATC/3Dc-compressed
  1364. </div>
  1365. <div class="footnote" id="_footnotedef_3">
  1366. <a href="#_footnoteref_3">3</a>. Minnaert is a shader type.
  1367. </div>
  1368. <div class="footnote" id="_footnotedef_4">
  1369. <a href="#_footnoteref_4">4</a>. WardIso is a shader type.
  1370. </div>
  1371. </div></div></td>
  1372. </tr>
  1373. </tbody>
  1374. </table>
  1375. <table class="tableblock frame-all grid-all stretch">
  1376. <caption class="title">Table 4. Special Illuminated</caption>
  1377. <colgroup>
  1378. <col style="width: 20%;">
  1379. <col style="width: 30%;">
  1380. <col style="width: 50%;">
  1381. </colgroup>
  1382. <thead>
  1383. <tr>
  1384. <th class="tableblock halign-left valign-top">Material Definitions</th>
  1385. <th class="tableblock halign-left valign-top">Usage</th>
  1386. <th class="tableblock halign-left valign-top">Material Parameters</th>
  1387. </tr>
  1388. </thead>
  1389. <tbody>
  1390. <tr>
  1391. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1392. <p>Common/MatDefs/Terrain/<br>
  1393. TerrainLighting.j3md</p>
  1394. </div></div></td>
  1395. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1396. <p>Same kind of multi-layered splat texture as Terrain.j3md, but with illumination and shading.</p>
  1397. </div>
  1398. <div class="paragraph">
  1399. <p>Typically used for terrains, but works on any mesh.</p>
  1400. </div>
  1401. <div class="paragraph">
  1402. <p>For every three splat textures, you need one alpha map.</p>
  1403. </div>
  1404. <div class="paragraph">
  1405. <p>You can use a total of 11 texture maps in the terrain&#8217;s splat texture:</p>
  1406. </div>
  1407. <div class="paragraph">
  1408. <p>Note that diffuse and normal maps all count against that.</p>
  1409. </div>
  1410. <div class="paragraph">
  1411. <p>For example:</p>
  1412. </div>
  1413. <div class="paragraph">
  1414. <p>You can use a maximum of nine diffuse textures, two of which can have normal maps; or, five textures with both diffuse and normal maps.</p>
  1415. </div></div></td>
  1416. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1417. <p><strong>Texture Splat Maps</strong><br>
  1418. setTexture(&#8220;DiffuseMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1419. setFloat(&#8220;DiffuseMap_0_scale&#8221;,1f);<br>
  1420. setTexture(&#8220;NormalMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1421. setTexture(&#8220;DiffuseMap_1&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1422. setFloat(&#8220;DiffuseMap_1_scale&#8221;,1f);<br>
  1423. setTexture(&#8220;NormalMap_1&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1424. setTexture(&#8220;DiffuseMap_2&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1425. setFloat(&#8220;DiffuseMap_2_scale&#8221;,1f);<br>
  1426. setTexture(&#8220;NormalMap_2&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1427. setTexture(&#8220;DiffuseMap_3&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1428. setFloat(&#8220;DiffuseMap_3_scale&#8221;,1f);<br>
  1429. setTexture(&#8220;NormalMap_3&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1430. etc, up to 11.<br>
  1431. <strong>Alpha Maps</strong><br>
  1432. setTexture(&#8220;AlphaMap&#8221;, assetManager.loadTexture("name"));<br>
  1433. setTexture(&#8220;AlphaMap_1&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1434. setTexture(&#8220;AlphaMap_2&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1435. <strong>Glowing</strong><br>
  1436. setTexture(&#8220;GlowMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1437. setColor(&#8220;GlowColor&#8221;, ColorRGBA.White);<br>
  1438. <strong>Miscellaneous</strong><br>
  1439. setColor(&#8220;Diffuse&#8221;, ColorRGBA.White);<br>
  1440. setColor(&#8220;Ambient&#8221;, ColorRGBA.White);<br>
  1441. setFloat(&#8220;Shininess&#8221;,64f);<br>
  1442. setColor(&#8220;Specular&#8221;, ColorRGBA.White);<br>
  1443. setTexture(&#8220;SpecularMap&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1444. setBoolean(&#8220;WardIso&#8221;,true);<br>
  1445. setBoolean(&#8220;useTriPlanarMapping&#8221;,true);<br>
  1446. setBoolean(&#8220;isTerrainGrid&#8221;,true);</p>
  1447. </div></div></td>
  1448. </tr>
  1449. <tr>
  1450. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1451. <p>Common/MatDefs/Light/<br>
  1452. reflect.j3md</p>
  1453. </div></div></td>
  1454. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1455. <p>Reflective glass material with environment map (CubeMap/SphereMap).</p>
  1456. </div></div></td>
  1457. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1458. <p>setTexture(&#8220;Texture&#8221;, assetManager.loadTexture(&#8220;name&#8221;));<br>
  1459. setBoolean(&#8220;SphereMap&#8221;,true);</p>
  1460. </div></div></td>
  1461. </tr>
  1462. </tbody>
  1463. </table>
  1464. </div>
  1465. <div class="sect2">
  1466. <h3 id="other-test-and-debug"><a class="anchor" href="#other-test-and-debug"></a>Other: Test and Debug</h3>
  1467. <table class="tableblock frame-all grid-all stretch">
  1468. <caption class="title">Table 5. Testing</caption>
  1469. <colgroup>
  1470. <col style="width: 20%;">
  1471. <col style="width: 80%;">
  1472. </colgroup>
  1473. <thead>
  1474. <tr>
  1475. <th class="tableblock halign-left valign-top">Material Definition</th>
  1476. <th class="tableblock halign-left valign-top">Usage</th>
  1477. </tr>
  1478. </thead>
  1479. <tbody>
  1480. <tr>
  1481. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1482. <p>Common/MatDefs/Misc/<br>
  1483. ShowNormals.j3md</p>
  1484. </div></div></td>
  1485. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1486. <p>A color gradient calculated from the model&#8217;s surface normal&#8217;s. You can use this built-in material to debug the generation of normal&#8217;s in meshes, to preview models that have no material and no lights, or as fall-back default material. This built-in material has no parameters.</p>
  1487. </div></div></td>
  1488. </tr>
  1489. </tbody>
  1490. </table>
  1491. </div>
  1492. </div>
  1493. </div>
  1494. <div class="sect1">
  1495. <h2 id="renderstates"><a class="anchor" href="#renderstates"></a>RenderStates</h2>
  1496. <div class="sectionbody">
  1497. <table class="tableblock frame-all grid-all stretch">
  1498. <caption class="title">Table 6. Transparency</caption>
  1499. <colgroup>
  1500. <col style="width: 33.3333%;">
  1501. <col style="width: 33.3333%;">
  1502. <col style="width: 33.3334%;">
  1503. </colgroup>
  1504. <thead>
  1505. <tr>
  1506. <th class="tableblock halign-left valign-top">Material Option</th>
  1507. <th class="tableblock halign-left valign-top">Description</th>
  1508. <th class="tableblock halign-left valign-top">Example</th>
  1509. </tr>
  1510. </thead>
  1511. <tbody>
  1512. <tr>
  1513. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1514. <p>getAdditionalRenderState().<br>
  1515. setBlendMode(BlendMode.Off);</p>
  1516. </div></div></td>
  1517. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1518. <p>This is the default, no transparency.</p>
  1519. </div></div></td>
  1520. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1521. <p>Use for all opaque objects like walls, floors, people…</p>
  1522. </div></div></td>
  1523. </tr>
  1524. <tr>
  1525. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1526. <p>getAdditionalRenderState()<br>
  1527. .setBlendMode(BlendMode.Alpha);</p>
  1528. </div></div></td>
  1529. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1530. <p>Interpolates the background pixel with the current pixel by using the current pixel&#8217;s alpha.</p>
  1531. </div></div></td>
  1532. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1533. <p>Use this for normal every-day translucency: Frosted window panes, ice, glass, alpha-blended vegetation textures…</p>
  1534. </div></div></td>
  1535. </tr>
  1536. <tr>
  1537. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1538. <p>getAdditionalRenderState()<br>
  1539. .setDepthWrite(false);</p>
  1540. </div></div></td>
  1541. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1542. <p>Disables writing of the pixel&#8217;s depth value to the depth buffer.</p>
  1543. </div></div></td>
  1544. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1545. <p>Use this on Materials if you have several transparent/translucent objects obscuring one another, but you want to see through both.</p>
  1546. </div></div></td>
  1547. </tr>
  1548. <tr>
  1549. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1550. <p>getAdditionalRenderState()<br>
  1551. .setAlphaFallOff(0.5f);</p>
  1552. </div>
  1553. <div class="paragraph">
  1554. <p>getAdditionalRenderState()<br>
  1555. .setAlphaTest(true)</p>
  1556. </div></div></td>
  1557. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1558. <p>Enables Alpha Testing with a &#8220;AlphaDiscardThreshold&#8221; in the AlphaMap.</p>
  1559. </div></div></td>
  1560. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1561. <p>Activate Alpha Testing for (partially) <strong>transparent</strong> objects such as foliage, hair, etc.</p>
  1562. </div>
  1563. <div class="paragraph">
  1564. <p>Deactivate Alpha Testing for gradually <strong>translucent</strong> objects, such as colored glass, smoked glass, ghosts.</p>
  1565. </div></div></td>
  1566. </tr>
  1567. <tr>
  1568. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1569. <p>getAdditionalRenderState()<br>
  1570. .setBlendMode(BlendMode.Additive);</p>
  1571. </div></div></td>
  1572. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1573. <p>Additive alpha blending adds colors in a commutative way, i.e. the result does not depend on the order of transparent layers since it adds the scene&#8217;s background pixel color to the current pixel color. This is useful if you have many transparent textures overlapping and don&#8217;t care about the order.</p>
  1574. </div>
  1575. <div class="paragraph">
  1576. <p><strong>Note:</strong> Viewed in front of a white background, Additive textures become fully transparent!</p>
  1577. </div></div></td>
  1578. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1579. <p>This is the default for Particle.j3md-based textures that have a black color background.</p>
  1580. </div></div></td>
  1581. </tr>
  1582. <tr>
  1583. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1584. <p>getAdditionalRenderState()<br>
  1585. .setBlendMode(BlendMode.AlphaAdditive);</p>
  1586. </div></div></td>
  1587. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1588. <p>Same as &#8220;Additive&#8221;, except first it multiplies the current pixel color by the pixel alpha.</p>
  1589. </div></div></td>
  1590. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1591. <p>This can be used for particle effects that have alpha as background.</p>
  1592. </div></div></td>
  1593. </tr>
  1594. <tr>
  1595. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1596. <p>getAdditionalRenderState()<br>
  1597. .setBlendMode(BlendMode.Color);</p>
  1598. </div></div></td>
  1599. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1600. <p>Blends by color.</p>
  1601. </div></div></td>
  1602. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1603. <p>Generally useless.</p>
  1604. </div></div></td>
  1605. </tr>
  1606. <tr>
  1607. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1608. <p>getAdditionalRenderState()<br>
  1609. .setBlendMode(BlendMode.Modulate);</p>
  1610. </div></div></td>
  1611. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1612. <p>Multiplies the background pixel by the current pixel.</p>
  1613. </div></div></td>
  1614. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1615. <p>?</p>
  1616. </div></div></td>
  1617. </tr>
  1618. <tr>
  1619. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1620. <p>getAdditionalRenderState()<br>
  1621. .setBlendMode(BlendMode.ModulateX2);</p>
  1622. </div></div></td>
  1623. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1624. <p>Same as &#8220;Modulate&#8221;, except the result is doubled.</p>
  1625. </div></div></td>
  1626. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1627. <p>?</p>
  1628. </div></div></td>
  1629. </tr>
  1630. <tr>
  1631. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1632. <p>getAdditionalRenderState()<br>
  1633. .setBlendMode(BlendMode.PremultAlpha);</p>
  1634. </div></div></td>
  1635. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1636. <p>Pre-multiplied alpha blending. E.g. if the color of the object has already been multiplied by its alpha, this is used instead of &#8220;Alpha&#8221; blend mode.</p>
  1637. </div></div></td>
  1638. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1639. <p>For use with Premult Alpha textures.</p>
  1640. </div></div></td>
  1641. </tr>
  1642. </tbody>
  1643. </table>
  1644. <div class="paragraph">
  1645. <p>If the DiffuseMap has an alpha channel, use:</p>
  1646. </div>
  1647. <div class="listingblock">
  1648. <div class="content">
  1649. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">mat.setBoolean("UseAlpha",true);</code></pre>
  1650. </div>
  1651. </div>
  1652. <div class="paragraph">
  1653. <p>Later, put the Geometry (not the Material!) in the appropriate render queue.</p>
  1654. </div>
  1655. <div class="listingblock">
  1656. <div class="content">
  1657. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">geo.setQueueBucket(Bucket.Translucent);</code></pre>
  1658. </div>
  1659. </div>
  1660. <div class="paragraph">
  1661. <p>or</p>
  1662. </div>
  1663. <div class="listingblock">
  1664. <div class="content">
  1665. <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">geo.setQueueBucket(Bucket.Transparent);</code></pre>
  1666. </div>
  1667. </div>
  1668. <table class="tableblock frame-all grid-all stretch">
  1669. <caption class="title">Table 7. Culling</caption>
  1670. <colgroup>
  1671. <col style="width: 33.3333%;">
  1672. <col style="width: 33.3333%;">
  1673. <col style="width: 33.3334%;">
  1674. </colgroup>
  1675. <thead>
  1676. <tr>
  1677. <th class="tableblock halign-left valign-top">Material Option</th>
  1678. <th class="tableblock halign-left valign-top">Usage</th>
  1679. <th class="tableblock halign-left valign-top">Example</th>
  1680. </tr>
  1681. </thead>
  1682. <tbody>
  1683. <tr>
  1684. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1685. <p>getAdditionalRenderState()<br>
  1686. .setFaceCullMode(FaceCullMode.Back);</p>
  1687. </div></div></td>
  1688. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1689. <p>Activates back-face culling. Mesh faces that are facing away from the camera are not rendered, which saves time.</p>
  1690. </div>
  1691. <div class="paragraph">
  1692. <p><strong>Backface culling is activated by default as a major optimization.</strong></p>
  1693. </div></div></td>
  1694. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1695. <p>The invisible backsides and insides of models are not calculated.</p>
  1696. </div></div></td>
  1697. </tr>
  1698. <tr>
  1699. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1700. <p>getAdditionalRenderState()<br>
  1701. .setFaceCullMode(FaceCullMode.Off);</p>
  1702. </div></div></td>
  1703. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1704. <p>No meshes are culled. Both mesh faces are rendered, even if they face away from the camera. Slow.</p>
  1705. </div></div></td>
  1706. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1707. <p>Sometimes used to debug custom meshes if you messed up some of the polygon sides, or for special shadow effects.</p>
  1708. </div></div></td>
  1709. </tr>
  1710. <tr>
  1711. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1712. <p>getAdditionalRenderState()<br>
  1713. .setFaceCullMode(FaceCullMode.Front);</p>
  1714. </div></div></td>
  1715. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1716. <p>Activates front-face culling. Mesh faces facing the camera are not rendered.</p>
  1717. </div></div></td>
  1718. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1719. <p>No example – Typically not used because you wouldn&#8217;t see anything meaningful.</p>
  1720. </div></div></td>
  1721. </tr>
  1722. <tr>
  1723. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1724. <p>getAdditionalRenderState()<br>
  1725. .setFaceCullMode(FaceCullMode.FrontAndBack)</p>
  1726. </div></div></td>
  1727. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1728. <p>Culls both backfaces and frontfaces.</p>
  1729. </div></div></td>
  1730. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1731. <p>Use this as an efficient way to make an object temporarily invisible, while keeping all its other in-game properties (such as node attachment, collision shapes, interactions, etc.) active.</p>
  1732. </div></div></td>
  1733. </tr>
  1734. </tbody>
  1735. </table>
  1736. <table class="tableblock frame-all grid-all stretch">
  1737. <caption class="title">Table 8. Miscellaneous</caption>
  1738. <colgroup>
  1739. <col style="width: 33.3333%;">
  1740. <col style="width: 33.3333%;">
  1741. <col style="width: 33.3334%;">
  1742. </colgroup>
  1743. <thead>
  1744. <tr>
  1745. <th class="tableblock halign-left valign-top">Material Option</th>
  1746. <th class="tableblock halign-left valign-top">Useage</th>
  1747. <th class="tableblock halign-left valign-top">Example</th>
  1748. </tr>
  1749. </thead>
  1750. <tbody>
  1751. <tr>
  1752. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1753. <p>getAdditionalRenderState()<br>
  1754. .setColorWrite(false);</p>
  1755. </div></div></td>
  1756. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1757. <p>Disable writing the color of pixels.</p>
  1758. </div></div></td>
  1759. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1760. <p>Use this together with setDepthWrite(true) to write pixels only to the depth buffer, for example.</p>
  1761. </div></div></td>
  1762. </tr>
  1763. <tr>
  1764. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1765. <p>getAdditionalRenderState()<br>
  1766. .setPointSprite(true);</p>
  1767. </div></div></td>
  1768. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1769. <p>Enables point-sprite mode, e.g. meshes with &#8220;Mode&#8221;.Points will be rendered as textured sprites.</p>
  1770. </div>
  1771. <div class="paragraph">
  1772. <p>Note that gl_PointCoord must be set in the shader.</p>
  1773. </div></div></td>
  1774. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1775. <p>Point sprites are used internally for hardware accelerated particle effects.</p>
  1776. </div></div></td>
  1777. </tr>
  1778. <tr>
  1779. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1780. <p>getAdditionalRenderState()<br>
  1781. .setPolyOffset();</p>
  1782. </div></div></td>
  1783. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1784. <p>Enable polygon offset.</p>
  1785. </div></div></td>
  1786. <td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
  1787. <p>Use this when you have meshes that have triangles really close to each over (e.g. <a href="http://en.wikipedia.org/wiki/Coplanarity">Coplanar</a>), it will shift the depth values to prevent <a href="http://en.wikipedia.org/wiki/Z-fighting">Z-fighting</a>.</p>
  1788. </div></div></td>
  1789. </tr>
  1790. </tbody>
  1791. </table>
  1792. <div class="paragraph">
  1793. <p><strong>Related Links</strong></p>
  1794. </div>
  1795. <div class="ulist">
  1796. <ul>
  1797. <li>
  1798. <p><a href="material_specification.html" class="xref page">Developer specification of the jME3 material system (.j3md,.j3m)</a></p>
  1799. </li>
  1800. </ul>
  1801. </div>
  1802. </div>
  1803. </div>
  1804. <nav class="pagination">
  1805. <span class="prev"><a href="material_definitions.html">.j3md Material Definitions</a></span>
  1806. <span class="next"><a href="../shader/jme3_shaders.html">Shaders and JME3</a></span>
  1807. </nav>
  1808. </article>
  1809. <aside class="toc sidebar" data-title="Contents" data-levels="2">
  1810. <div class="toc-menu"></div>
  1811. </aside>
  1812. </div>
  1813. </main>
  1814. </div>
  1815. <footer class="footer">
  1816. <p>Copyright 2020 jMonkeyEngine Wiki Contributors. Licensed BSD-3.</p>
  1817. </footer>
  1818. <script src="../../../../_/js/vendor/docsearch.min.js"></script>
  1819. <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js -->
  1820. <script>
  1821. var search = docsearch({
  1822. apiKey: 'a736b6d93de805e26ec2f49b55013fbd',
  1823. indexName: 'jmonkeyengine',
  1824. inputSelector: '#search-input',
  1825. autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
  1826. algoliaOptions: { hitsPerPage: 10 }
  1827. }).autocomplete
  1828. search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
  1829. function focusSearchInput () { document.querySelector('#search-input').focus() }
  1830. if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput)
  1831. </script>
  1832. <script src="../../../../_/js/site.js"></script>
  1833. <script async src="../../../../_/js/vendor/highlight.js"></script>
  1834. </body>
  1835. </html>