Nodes.json 49 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092
  1. {
  2. "nodes": [
  3. {
  4. "name": "Inputs",
  5. "icon": "stack-push",
  6. "children": [
  7. {
  8. "name": "Primitives",
  9. "icon": "forms",
  10. "children": [
  11. {
  12. "name": "Color",
  13. "icon": "palette",
  14. "editorClass": "ColorEditor"
  15. },
  16. {
  17. "name": "Float",
  18. "icon": "box-multiple-1",
  19. "editorClass": "FloatEditor"
  20. },
  21. {
  22. "name": "Slider",
  23. "icon": "adjustments-horizontal",
  24. "editorClass": "SliderEditor"
  25. },
  26. {
  27. "name": "String",
  28. "icon": "forms",
  29. "editorClass": "StringEditor"
  30. },
  31. {
  32. "name": "Texture",
  33. "icon": "photo",
  34. "editorClass": "TextureEditor"
  35. },
  36. {
  37. "name": "Vector 2",
  38. "icon": "box-multiple-2",
  39. "editorClass": "Vector2Editor"
  40. },
  41. {
  42. "name": "Vector 3",
  43. "icon": "box-multiple-3",
  44. "editorClass": "Vector3Editor"
  45. },
  46. {
  47. "name": "Vector 4",
  48. "icon": "box-multiple-4",
  49. "editorClass": "Vector4Editor"
  50. }
  51. ]
  52. },
  53. {
  54. "name": "Camera",
  55. "icon": "video",
  56. "children": [
  57. {
  58. "name": "Camera Normal Matrix",
  59. "icon": "video",
  60. "nodeType": "mat4",
  61. "shaderNode": "cameraNormalMatrix"
  62. },
  63. {
  64. "name": "Camera Position",
  65. "icon": "video",
  66. "description": "Returns the global transform of the camera.",
  67. "nodeType": "vec3",
  68. "shaderNode": "cameraPosition"
  69. },
  70. {
  71. "name": "Camera Projection Matrix",
  72. "icon": "video",
  73. "nodeType": "mat4",
  74. "description": "Returns the matrix which contains the projection.",
  75. "shaderNode": "cameraProjectionMatrix"
  76. },
  77. {
  78. "name": "Camera View Matrix",
  79. "icon": "video",
  80. "nodeType": "mat4",
  81. "shaderNode": "cameraViewMatrix"
  82. },
  83. {
  84. "name": "Camera World Matrix",
  85. "icon": "video",
  86. "description": "Returns the global transform of the camera.",
  87. "nodeType": "mat4",
  88. "shaderNode": "cameraWorldMatrix"
  89. }
  90. ]
  91. },
  92. {
  93. "name": "Material Elements",
  94. "icon": "circles-filled",
  95. "children": [
  96. {
  97. "name": "Material Alpha Test",
  98. "icon": "circle-filled",
  99. "description": "Return the `alphaTest` value of the Material.",
  100. "nodeType": "float",
  101. "shaderNode": "materialAlphaTest"
  102. },
  103. {
  104. "name": "Material Color",
  105. "icon": "circle-filled",
  106. "description": "Return the `emissive * emissiveMap` value of the Material",
  107. "nodeType": "color",
  108. "shaderNode": "materialColor"
  109. },
  110. {
  111. "name": "Material Emissive",
  112. "icon": "circle-filled",
  113. "description": "Return the `emissive * emissiveMap` value of the Material.",
  114. "nodeType": "color",
  115. "shaderNode": "materialEmissive"
  116. },
  117. {
  118. "name": "Material Metalness",
  119. "icon": "circle-filled",
  120. "description": "Return the `metalness * metalnessMap.b` value of the Material.",
  121. "nodeType": "float",
  122. "shaderNode": "materialMetalness"
  123. },
  124. {
  125. "name": "Material Normal",
  126. "icon": "circle-filled",
  127. "nodeType": "float",
  128. "shaderNode": "materialNormal"
  129. },
  130. {
  131. "name": "Material Opacity",
  132. "icon": "circle-filled",
  133. "description": "Return the `opacity * alphaMap` value of the Material.",
  134. "nodeType": "float",
  135. "shaderNode": "materialOpacity"
  136. },
  137. {
  138. "name": "Material Reflectivity",
  139. "icon": "circle-filled",
  140. "nodeType": "float",
  141. "shaderNode": "materialReflectivity"
  142. },
  143. {
  144. "name": "Material Rotation",
  145. "icon": "circle-filled",
  146. "nodeType": "float",
  147. "shaderNode": "materialRotation"
  148. },
  149. {
  150. "name": "Material Roughness",
  151. "icon": "circle-filled",
  152. "description": "Return the `roughness * roughnessMap.g` value of the Material.",
  153. "nodeType": "float",
  154. "shaderNode": "materialRoughness"
  155. },
  156. {
  157. "name": "Material Shininess",
  158. "icon": "circle-filled",
  159. "nodeType": "float",
  160. "shaderNode": "materialShininess"
  161. },
  162. {
  163. "name": "Material Specular Color",
  164. "icon": "circle-filled",
  165. "nodeType": "color",
  166. "shaderNode": "materialSpecularColor"
  167. },
  168. {
  169. "name": "Material UV",
  170. "icon": "circle-filled",
  171. "nodeType": "vec2",
  172. "shaderNode": "materialUV"
  173. }
  174. ]
  175. },
  176. {
  177. "name": "Normal",
  178. "icon": "arrow-bar-up",
  179. "children": [
  180. {
  181. "name": "Normal Geometry",
  182. "icon": "arrow-bar-up",
  183. "description": "Return the normal vector from the coordinate space Geometry.",
  184. "nodeType": "vec3",
  185. "shaderNode": "normalGeometry"
  186. },
  187. {
  188. "name": "Normal Local",
  189. "icon": "arrow-bar-up",
  190. "description": "Return the normal vector from the coordinate space Local.",
  191. "nodeType": "vec3",
  192. "shaderNode": "normalLocal"
  193. },
  194. {
  195. "name": "Normal View",
  196. "icon": "arrow-bar-up",
  197. "description": "Return the normal vector from the coordinate space View.",
  198. "nodeType": "vec3",
  199. "shaderNode": "normalView"
  200. },
  201. {
  202. "name": "Normal World",
  203. "icon": "arrow-bar-up",
  204. "description": "Return the normal vector from the coordinate space World.",
  205. "nodeType": "vec3",
  206. "shaderNode": "normalWorld"
  207. },
  208. {
  209. "name": "Transformed Normal View",
  210. "icon": "arrow-bar-up",
  211. "nodeType": "vec3",
  212. "shaderNode": "transformedNormalView"
  213. },
  214. {
  215. "name": "Transformed Normal World",
  216. "icon": "arrow-bar-up",
  217. "nodeType": "vec3",
  218. "shaderNode": "transformedNormalWorld"
  219. }
  220. ]
  221. },
  222. {
  223. "name": "Tangent",
  224. "icon": "arrows-up-right",
  225. "children": [
  226. {
  227. "name": "Tangent Geometry",
  228. "icon": "arrows-up-right",
  229. "nodeType": "vec3",
  230. "shaderNode": "tangentGeometry"
  231. },
  232. {
  233. "name": "Tangent Local",
  234. "icon": "arrows-up-right",
  235. "nodeType": "vec3",
  236. "shaderNode": "tangentLocal"
  237. },
  238. {
  239. "name": "Tangent View",
  240. "icon": "arrows-up-right",
  241. "nodeType": "vec3",
  242. "shaderNode": "tangentView"
  243. },
  244. {
  245. "name": "Tangent World",
  246. "icon": "arrows-up-right",
  247. "nodeType": "vec3",
  248. "shaderNode": "tangentWorld"
  249. },
  250. {
  251. "name": "Transformed Tangent View",
  252. "icon": "arrows-up-right",
  253. "nodeType": "vec3",
  254. "shaderNode": "transformedTangentView"
  255. },
  256. {
  257. "name": "Transformed Tangent World",
  258. "icon": "arrows-up-right",
  259. "nodeType": "vec3",
  260. "shaderNode": "transformedTangentWorld"
  261. }
  262. ]
  263. },
  264. {
  265. "name": "Bitangent",
  266. "icon": "arrows-up-left",
  267. "children": [
  268. {
  269. "name": "Bitangent Geometry",
  270. "icon": "arrows-up-left",
  271. "nodeType": "vec3",
  272. "shaderNode": "bitangentGeometry"
  273. },
  274. {
  275. "name": "Bitangent Local",
  276. "icon": "arrows-up-left",
  277. "nodeType": "vec3",
  278. "shaderNode": "bitangentLocal"
  279. },
  280. {
  281. "name": "Bitangent View",
  282. "icon": "arrow-up-left",
  283. "nodeType": "vec3",
  284. "shaderNode": "bitangentView"
  285. },
  286. {
  287. "name": "Bitangent World",
  288. "icon": "arrows-up-left",
  289. "nodeType": "vec3",
  290. "shaderNode": "bitangentWorld"
  291. },
  292. {
  293. "name": "Transformed Bitangent View",
  294. "icon": "arrows-up-left",
  295. "nodeType": "vec3",
  296. "shaderNode": "transformedBitangentView"
  297. },
  298. {
  299. "name": "Transformed Bitangent World",
  300. "icon": "arrows-up-left",
  301. "nodeType": "vec3",
  302. "shaderNode": "transformedBitangentWorld"
  303. }
  304. ]
  305. },
  306. {
  307. "name": "Model",
  308. "icon": "box",
  309. "children": [
  310. {
  311. "name": "Model Direction",
  312. "icon": "box",
  313. "nodeType": "vec3",
  314. "shaderNode": "modelDirection"
  315. },
  316. {
  317. "name": "Model Normal Matrix",
  318. "icon": "box",
  319. "nodeType": "vec3",
  320. "shaderNode": "modelNormalMatrix"
  321. },
  322. {
  323. "name": "Model Position",
  324. "icon": "box",
  325. "nodeType": "vec3",
  326. "shaderNode": "modelPosition"
  327. },
  328. {
  329. "name": "Model View Matrix",
  330. "icon": "box",
  331. "nodeType": "vec3",
  332. "shaderNode": "modelViewMatrix"
  333. },
  334. {
  335. "name": "Model View Position",
  336. "icon": "box",
  337. "nodeType": "vec3",
  338. "shaderNode": "modelViewPosition"
  339. },
  340. {
  341. "name": "Model World Matrix",
  342. "icon": "box",
  343. "nodeType": "vec3",
  344. "shaderNode": "modelWorldMatrix"
  345. }
  346. ]
  347. },
  348. {
  349. "name": "Object",
  350. "icon": "3d-cube-sphere",
  351. "children": [
  352. {
  353. "name": "Object Direction",
  354. "icon": "3d-cube-sphere",
  355. "shaderNode": "objectDirection",
  356. "properties": [
  357. {
  358. "name": "object3d",
  359. "nodeType": "Object3D"
  360. }
  361. ]
  362. },
  363. {
  364. "name": "Object Normal Matrix",
  365. "icon": "3d-cube-sphere",
  366. "shaderNode": "objectNormalMatrix",
  367. "properties": [
  368. {
  369. "name": "object3d",
  370. "nodeType": "Object3D"
  371. }
  372. ]
  373. },
  374. {
  375. "name": "Object Position",
  376. "icon": "3d-cube-sphere",
  377. "shaderNode": "objectPosition",
  378. "properties": [
  379. {
  380. "name": "object3d",
  381. "nodeType": "Object3D"
  382. }
  383. ]
  384. },
  385. {
  386. "name": "Object View Matrix",
  387. "icon": "3d-cube-sphere",
  388. "shaderNode": "objectViewMatrix",
  389. "properties": [
  390. {
  391. "name": "object3d",
  392. "nodeType": "Object3D"
  393. }
  394. ]
  395. },
  396. {
  397. "name": "Object View Position",
  398. "icon": "3d-cube-sphere",
  399. "shaderNode": "objectViewPosition",
  400. "properties": [
  401. {
  402. "name": "object3d",
  403. "nodeType": "Object3D"
  404. }
  405. ]
  406. },
  407. {
  408. "name": "Object World Matrix",
  409. "icon": "3d-cube-sphere",
  410. "shaderNode": "objectWorldMatrix",
  411. "properties": [
  412. {
  413. "name": "object3d",
  414. "nodeType": "Object3D"
  415. }
  416. ]
  417. }
  418. ]
  419. },
  420. {
  421. "name": "Position",
  422. "icon": "gizmo",
  423. "children": [
  424. {
  425. "name": "Position Geometry",
  426. "icon": "gizmo",
  427. "nodeType": "vec3",
  428. "shaderNode": "positionGeometry"
  429. },
  430. {
  431. "name": "Position Local",
  432. "icon": "gizmo",
  433. "nodeType": "mat4",
  434. "shaderNode": "positionLocal"
  435. },
  436. {
  437. "name": "Position View",
  438. "icon": "gizmo",
  439. "nodeType": "vec3",
  440. "shaderNode": "positionView"
  441. },
  442. {
  443. "name": "Position View Direction",
  444. "icon": "gizmo",
  445. "nodeType": "vec3",
  446. "shaderNode": "positionViewDirection"
  447. },
  448. {
  449. "name": "Position World",
  450. "icon": "gizmo",
  451. "nodeType": "mat3",
  452. "shaderNode": "positionWorld"
  453. },
  454. {
  455. "name": "Position World Direction",
  456. "icon": "gizmo",
  457. "nodeType": "mat4",
  458. "shaderNode": "positionWorldDirection"
  459. }
  460. ]
  461. },
  462. {
  463. "name": "Viewport",
  464. "icon": "device-desktop",
  465. "children": [
  466. {
  467. "name": "Viewport Bottom Left",
  468. "icon": "device-desktop",
  469. "nodeType": "vec3",
  470. "shaderNode": "viewportBottomLeft"
  471. },
  472. {
  473. "name": "Viewport Bottom Right",
  474. "icon": "device-desktop",
  475. "nodeType": "vec3",
  476. "shaderNode": "viewportBottomRight"
  477. },
  478. {
  479. "name": "Viewport Coordinate",
  480. "icon": "device-desktop",
  481. "nodeType": "vec3",
  482. "shaderNode": "viewportCoordinate"
  483. },
  484. {
  485. "name": "Viewport Resolution",
  486. "icon": "device-desktop",
  487. "nodeType": "vec3",
  488. "shaderNode": "viewportResolution"
  489. },
  490. {
  491. "name": "Viewport Top Left",
  492. "icon": "device-desktop",
  493. "nodeType": "vec3",
  494. "shaderNode": "viewportTopLeft"
  495. },
  496. {
  497. "name": "Viewport Top Right",
  498. "icon": "device-desktop",
  499. "nodeType": "vec3",
  500. "shaderNode": "viewportTopRight"
  501. }
  502. ]
  503. },
  504. {
  505. "name": "UV",
  506. "icon": "chart-treemap",
  507. "children": [
  508. {
  509. "name": "Matcap UV",
  510. "icon": "chart-treemap",
  511. "nodeType": "vec1",
  512. "shaderNode": "matcapUV"
  513. },
  514. {
  515. "name": "Point UV",
  516. "icon": "chart-treemap",
  517. "nodeType": "vec1",
  518. "shaderNode": "pointUV"
  519. },
  520. {
  521. "name": "UV",
  522. "icon": "chart-treemap",
  523. "nodeType": "vec2",
  524. "editorClass": "UVEditor"
  525. }
  526. ]
  527. },
  528. {
  529. "name": "Geometry",
  530. "icon": "world",
  531. "children": [
  532. {
  533. "name": "Attribute",
  534. "icon": "book-upload",
  535. "shaderNode": "attribute",
  536. "nodeType": "bool",
  537. "properties": [
  538. {
  539. "name": "aNode",
  540. "nodeType": "node"
  541. }
  542. ]
  543. },
  544. {
  545. "name": "Face Direction",
  546. "icon": "brightness",
  547. "nodeType": "float",
  548. "shaderNode": "faceDirection"
  549. },
  550. {
  551. "name": "Front Facing",
  552. "icon": "brightness",
  553. "shaderNode": "frontFacing",
  554. "nodeType": "bool"
  555. },
  556. {
  557. "name": "Geometry Color",
  558. "icon": "palette",
  559. "shaderNode": "geometryColor",
  560. "nodeType": "color"
  561. }
  562. ]
  563. }
  564. ]
  565. },
  566. {
  567. "name": "Math",
  568. "icon": "calculator",
  569. "children": [
  570. {
  571. "name": "Arithmetic Operators",
  572. "icon": "math-symbols",
  573. "children": [
  574. {
  575. "name": "Addition",
  576. "icon": "plus",
  577. "description": "Addition operator.",
  578. "shaderNode": "add",
  579. "nodeType": "node",
  580. "properties": [
  581. {
  582. "name": "aNode",
  583. "nodeType": "node"
  584. },
  585. {
  586. "name": "bNode",
  587. "nodeType": "node"
  588. }
  589. ]
  590. },
  591. {
  592. "name": "Division",
  593. "icon": "divide",
  594. "description": "Division operator.",
  595. "shaderNode": "div",
  596. "nodeType": "node",
  597. "properties": [
  598. {
  599. "name": "aNode",
  600. "nodeType": "node"
  601. },
  602. {
  603. "name": "bNode",
  604. "nodeType": "node"
  605. }
  606. ]
  607. },
  608. {
  609. "name": "Multiply",
  610. "icon": "x",
  611. "tags": "tag1,tag2",
  612. "description": "Multiply operator.",
  613. "shaderNode": "mul",
  614. "nodeType": "node",
  615. "renderers": "WebGPU",
  616. "properties": [
  617. {
  618. "name": "aNode",
  619. "nodeType": "float"
  620. },
  621. {
  622. "name": "bNode",
  623. "nodeType": "float"
  624. }
  625. ]
  626. },
  627. {
  628. "name": "Power",
  629. "icon": "arrow-up-right",
  630. "description": "Exponentiation operator.",
  631. "shaderNode": "pow",
  632. "nodeType": "node",
  633. "properties": [
  634. {
  635. "name": "aNode",
  636. "nodeType": "node"
  637. },
  638. {
  639. "name": "bNode",
  640. "nodeType": "node"
  641. }
  642. ]
  643. },
  644. {
  645. "name": "Remainder",
  646. "icon": "percentage",
  647. "description": "Remainder operator.",
  648. "shaderNode": "remainder",
  649. "nodeType": "node",
  650. "properties": [
  651. {
  652. "name": "aNode",
  653. "nodeType": "node"
  654. },
  655. {
  656. "name": "bNode",
  657. "nodeType": "node"
  658. }
  659. ]
  660. },
  661. {
  662. "name": "Subtraction",
  663. "icon": "minus",
  664. "description": "Subtraction operator.",
  665. "shaderNode": "sub",
  666. "nodeType": "node",
  667. "properties": [
  668. {
  669. "name": "aNode",
  670. "nodeType": "node"
  671. },
  672. {
  673. "name": "bNode",
  674. "nodeType": "node"
  675. }
  676. ]
  677. }
  678. ]
  679. },
  680. {
  681. "name": "Logic Operators",
  682. "icon": "math-symbols",
  683. "children": [
  684. {
  685. "name": "Less Than",
  686. "icon": "math-lower",
  687. "description": "Less than operator..",
  688. "shaderNode": "lessThan",
  689. "nodeType": "bool",
  690. "properties": [
  691. {
  692. "name": "aNode",
  693. "nodeType": "node"
  694. },
  695. {
  696. "name": "bNode",
  697. "nodeType": "node"
  698. }
  699. ]
  700. },
  701. {
  702. "name": "Less Than Or Equal",
  703. "icon": "math-equal-lower",
  704. "description": "Less than or equal operator.",
  705. "shaderNode": "lessThanEqual",
  706. "nodeType": "bool",
  707. "properties": [
  708. {
  709. "name": "aNode",
  710. "nodeType": "node"
  711. },
  712. {
  713. "name": "bNode",
  714. "nodeType": "node"
  715. }
  716. ]
  717. },
  718. {
  719. "name": "Greater Than",
  720. "icon": "math-greater",
  721. "description": "Greater than operator.",
  722. "shaderNode": "greaterThan",
  723. "nodeType": "bool",
  724. "renderers": "WebGPU",
  725. "properties": [
  726. {
  727. "name": "aNode",
  728. "nodeType": "node"
  729. },
  730. {
  731. "name": "bNode",
  732. "nodeType": "node"
  733. }
  734. ]
  735. },
  736. {
  737. "name": "Greater Than Or Equal",
  738. "icon": "math-equal-greater",
  739. "description": "Greater than or equal operator.",
  740. "shaderNode": "greaterThanEqual",
  741. "nodeType": "bool",
  742. "properties": [
  743. {
  744. "name": "aNode",
  745. "nodeType": "node"
  746. },
  747. {
  748. "name": "bNode",
  749. "nodeType": "node"
  750. }
  751. ]
  752. },
  753. {
  754. "name": "Equality",
  755. "icon": "equal-double",
  756. "description": "Equality operator.",
  757. "shaderNode": "equal",
  758. "nodeType": "bool",
  759. "properties": [
  760. {
  761. "name": "aNode",
  762. "nodeType": "node"
  763. },
  764. {
  765. "name": "bNode",
  766. "nodeType": "node"
  767. }
  768. ]
  769. },
  770. {
  771. "name": "Inequality",
  772. "icon": "equal-not",
  773. "description": "Inequality operator.",
  774. "shaderNode": "notEqual",
  775. "nodeType": "bool",
  776. "properties": [
  777. {
  778. "name": "aNode",
  779. "nodeType": "node"
  780. },
  781. {
  782. "name": "bNode",
  783. "nodeType": "node"
  784. }
  785. ]
  786. },
  787. {
  788. "name": "And",
  789. "icon": "ampersand",
  790. "description": "Logical AND operator.",
  791. "shaderNode": "and",
  792. "nodeType": "bool",
  793. "properties": [
  794. {
  795. "name": "aNode",
  796. "nodeType": "node"
  797. },
  798. {
  799. "name": "bNode",
  800. "nodeType": "node"
  801. }
  802. ]
  803. },
  804. {
  805. "name": "Or",
  806. "icon": "switch-horizontal",
  807. "description": "Logical OR operator.",
  808. "shaderNode": "or",
  809. "nodeType": "bool",
  810. "properties": [
  811. {
  812. "name": "aNode",
  813. "nodeType": "node"
  814. },
  815. {
  816. "name": "bNode",
  817. "nodeType": "node"
  818. }
  819. ]
  820. },
  821. {
  822. "name": "Conditional",
  823. "icon": "arrows-split",
  824. "description": "Logical OR operator.",
  825. "shaderNode": "Conditional",
  826. "nodeType": "bool",
  827. "properties": [
  828. {
  829. "name": "condNode",
  830. "nodeType": "node"
  831. },
  832. {
  833. "name": "ifNode",
  834. "nodeType": "node"
  835. },
  836. {
  837. "name": "elseNode",
  838. "nodeType": "node"
  839. }
  840. ]
  841. }
  842. ]
  843. },
  844. {
  845. "name": "Bitwise Operators",
  846. "icon": "math-symbols",
  847. "children": [
  848. {
  849. "name": "Bitwise AND",
  850. "icon": "binary",
  851. "description": "Bitwise AND operator.",
  852. "shaderNode": "bitAnd",
  853. "nodeType": "node",
  854. "properties": [
  855. {
  856. "name": "aNode",
  857. "nodeType": "node"
  858. },
  859. {
  860. "name": "bNode",
  861. "nodeType": "node"
  862. }
  863. ]
  864. },
  865. {
  866. "name": "Bitwise OR",
  867. "icon": "binary",
  868. "description": "Bitwise OR operator.",
  869. "shaderNode": "bitOr",
  870. "nodeType": "node",
  871. "properties": [
  872. {
  873. "name": "aNode",
  874. "nodeType": "node"
  875. },
  876. {
  877. "name": "bNode",
  878. "nodeType": "node"
  879. }
  880. ]
  881. },
  882. {
  883. "name": "Bitwise XOR",
  884. "icon": "binary",
  885. "description": "Bitwise XOR operator.",
  886. "shaderNode": "bitXor",
  887. "nodeType": "node",
  888. "properties": [
  889. {
  890. "name": "aNode",
  891. "nodeType": "node"
  892. },
  893. {
  894. "name": "bNode",
  895. "nodeType": "node"
  896. }
  897. ]
  898. },
  899. {
  900. "name": "Shift left",
  901. "icon": "binary",
  902. "description": "Bitwise left shift operator.",
  903. "shaderNode": "shiftLeft",
  904. "nodeType": "node",
  905. "properties": [
  906. {
  907. "name": "aNode",
  908. "nodeType": "node"
  909. },
  910. {
  911. "name": "bNode",
  912. "nodeType": "node"
  913. }
  914. ]
  915. },
  916. {
  917. "name": "Shift right",
  918. "icon": "binary",
  919. "description": "Bitwise right shift operator.",
  920. "shaderNode": "shiftRight",
  921. "nodeType": "node",
  922. "properties": [
  923. {
  924. "name": "aNode",
  925. "nodeType": "node"
  926. },
  927. {
  928. "name": "bNode",
  929. "nodeType": "node"
  930. }
  931. ]
  932. },
  933. {
  934. "name": "XOR",
  935. "icon": "binary",
  936. "description": "Bitwise XOR operator.",
  937. "shaderNode": "xor",
  938. "nodeType": "node",
  939. "properties": [
  940. {
  941. "name": "aNode",
  942. "nodeType": "node"
  943. },
  944. {
  945. "name": "bNode",
  946. "nodeType": "node"
  947. }
  948. ]
  949. }
  950. ]
  951. },
  952. {
  953. "name": "Functions",
  954. "icon": "math-function",
  955. "children": [
  956. {
  957. "name": "Abs",
  958. "icon": "math-function",
  959. "description": "Returns the absolute value of x.",
  960. "shaderNode": "abs",
  961. "nodeType": "node",
  962. "properties": [
  963. {
  964. "name": "aNode",
  965. "nodeType": "node",
  966. "label": "x",
  967. "description": "Specify the value of which to return the absolute."
  968. }
  969. ]
  970. },
  971. {
  972. "name": "Acos",
  973. "icon": "math-function",
  974. "description": "Returns the angle whose trigonometric cosine is x.",
  975. "shaderNode": "acos",
  976. "nodeType": "node",
  977. "properties": [
  978. {
  979. "name": "aNode",
  980. "nodeType": "node",
  981. "label": "x",
  982. "description": "Specify the value whose arccosine to return."
  983. }
  984. ]
  985. },
  986. {
  987. "name": "Asin",
  988. "icon": "math-function",
  989. "description": "Returns the angle whose trigonometric sine is X.",
  990. "shaderNode": "asin",
  991. "nodeType": "node",
  992. "properties": [
  993. {
  994. "name": "aNode",
  995. "nodeType": "node",
  996. "label": "x",
  997. "description": "Specify the value whose arcsine to return."
  998. }
  999. ]
  1000. },
  1001. {
  1002. "name": "Atan",
  1003. "icon": "math-function",
  1004. "description": "Returns either the angle whose trigonometric arctangent is yx or y_over_x, depending on which overload is invoked. In the first overload, the signs of y and x are used to determine the quadrant that the angle lies in.",
  1005. "shaderNode": "atan",
  1006. "nodeType": "node",
  1007. "properties": [
  1008. {
  1009. "name": "aSNode",
  1010. "nodeType": "node",
  1011. "label": "y_over_x",
  1012. "description": "Specify the fraction whose arctangent to return."
  1013. }
  1014. ]
  1015. },
  1016. {
  1017. "name": "Atan2",
  1018. "icon": "math-function",
  1019. "description": "Return the arc-tangent of the parameters",
  1020. "shaderNode": "atan2",
  1021. "nodeType": "node",
  1022. "properties": [
  1023. {
  1024. "name": "aNode",
  1025. "nodeType": "node",
  1026. "label": "y",
  1027. "description": "Specify the numerator of the fraction whose arctangent to return."
  1028. },
  1029. {
  1030. "name": "bNode",
  1031. "nodeType": "node",
  1032. "label": "x",
  1033. "description": "Specify the denominator of the fraction whose arctangent to return."
  1034. }
  1035. ]
  1036. },
  1037. {
  1038. "name": "Ceil",
  1039. "icon": "math-function",
  1040. "description": "Returns a value equal to the nearest integer that is greater than or equal to x.",
  1041. "shaderNode": "ceil",
  1042. "nodeType": "node",
  1043. "properties": [
  1044. {
  1045. "name": "aNode",
  1046. "nodeType": "node",
  1047. "label": "x",
  1048. "description": "Specify the value to evaluate."
  1049. }
  1050. ]
  1051. },
  1052. {
  1053. "name": "Clamp",
  1054. "icon": "math-function",
  1055. "description": "Constrain a value to lie between two further values",
  1056. "shaderNode": "clamp",
  1057. "nodeType": "node",
  1058. "properties": [
  1059. {
  1060. "name": "aNode",
  1061. "nodeType": "node",
  1062. "label": "x",
  1063. "description": "Specify the value to constrain."
  1064. },
  1065. {
  1066. "name": "bNode",
  1067. "nodeType": "node",
  1068. "label": "minVal",
  1069. "description": "Specify the lower end of the range into which to constrain."
  1070. },
  1071. {
  1072. "name": "cNode",
  1073. "nodeType": "node",
  1074. "label": "maxVal",
  1075. "description": "Specify the upper end of the range into which to constrain."
  1076. }
  1077. ]
  1078. },
  1079. {
  1080. "name": "Cosine",
  1081. "icon": "math-function",
  1082. "description": "Returns the trigonometric cosine of angle.",
  1083. "shaderNode": "cos",
  1084. "nodeType": "node",
  1085. "properties": [
  1086. {
  1087. "name": "aNode",
  1088. "nodeType": "node",
  1089. "label": "angle",
  1090. "description": "Specify the quantity, in radians, of which to return the cosine."
  1091. }
  1092. ]
  1093. },
  1094. {
  1095. "name": "Cross",
  1096. "icon": "math-function",
  1097. "description": "Calculate the cross product of two vectors",
  1098. "shaderNode": "cross",
  1099. "nodeType": "node",
  1100. "properties": [
  1101. {
  1102. "name": "aNode",
  1103. "nodeType": "node",
  1104. "label": "x",
  1105. "description": "Specifies the first of two points."
  1106. },
  1107. {
  1108. "name": "bNode",
  1109. "nodeType": "node",
  1110. "label": "y",
  1111. "description": "Specifies the second of two points."
  1112. }
  1113. ]
  1114. },
  1115. {
  1116. "name": "Degrees",
  1117. "icon": "math-function",
  1118. "description": "Converts a quantity specified in radians into degrees.",
  1119. "shaderNode": "degrees",
  1120. "nodeType": "node",
  1121. "properties": [
  1122. {
  1123. "name": "aNode",
  1124. "nodeType": "node",
  1125. "label": "radians",
  1126. "description": "Specify the quantity, in radians, to be converted to degrees."
  1127. }
  1128. ]
  1129. },
  1130. {
  1131. "name": "Distance",
  1132. "icon": "math-function",
  1133. "description": "Calculate the distance between two points",
  1134. "shaderNode": "distance",
  1135. "nodeType": "node",
  1136. "properties": [
  1137. {
  1138. "name": "aNode",
  1139. "nodeType": "node",
  1140. "label": "p0",
  1141. "description": "Specifies the first of two points."
  1142. },
  1143. {
  1144. "name": "bNode",
  1145. "nodeType": "node",
  1146. "label": "p1",
  1147. "description": "Specifies the second of two points."
  1148. }
  1149. ]
  1150. },
  1151. {
  1152. "name": "Dot",
  1153. "icon": "math-function",
  1154. "description": "Calculate the dot product of two vectors",
  1155. "shaderNode": "dot",
  1156. "nodeType": "node",
  1157. "properties": [
  1158. {
  1159. "name": "aNode",
  1160. "nodeType": "node",
  1161. "label": "x",
  1162. "description": "Specifies the first of two points."
  1163. },
  1164. {
  1165. "name": "bNode",
  1166. "nodeType": "node",
  1167. "label": "y",
  1168. "description": "Specifies the second of two points."
  1169. }
  1170. ]
  1171. },
  1172. {
  1173. "name": "Exp",
  1174. "icon": "math-function",
  1175. "description": "Returns the natural exponentiation of x. i.e., ex.",
  1176. "shaderNode": "exp",
  1177. "nodeType": "node",
  1178. "properties": [
  1179. {
  1180. "name": "aNode",
  1181. "nodeType": "node",
  1182. "label": "x",
  1183. "description": "Specify the value to exponentiate."
  1184. }
  1185. ]
  1186. },
  1187. {
  1188. "name": "Face Forward",
  1189. "icon": "math-function",
  1190. "description": "Return a vector pointing in the same direction as another",
  1191. "shaderNode": "faceForward",
  1192. "nodeType": "node",
  1193. "properties": [
  1194. {
  1195. "name": "aNode",
  1196. "nodeType": "node",
  1197. "label": "n",
  1198. "description": "Specifies the vector to orient."
  1199. },
  1200. {
  1201. "name": "bNode",
  1202. "nodeType": "node",
  1203. "label": "i",
  1204. "description": "Specifies the incident vector."
  1205. },
  1206. {
  1207. "name": "cNode",
  1208. "nodeType": "node",
  1209. "label": "nref",
  1210. "description": "Specifies the reference vector."
  1211. }
  1212. ]
  1213. },
  1214. {
  1215. "name": "Floor",
  1216. "icon": "math-function",
  1217. "description": "Returns a value equal to the nearest integer that is less than or equal to x.",
  1218. "shaderNode": "floor",
  1219. "nodeType": "node",
  1220. "properties": [
  1221. {
  1222. "name": "aNode",
  1223. "nodeType": "node",
  1224. "label": "x",
  1225. "description": "Specify the value to evaluate."
  1226. }
  1227. ]
  1228. },
  1229. {
  1230. "name": "Fract",
  1231. "icon": "math-function",
  1232. "description": "Returns the fractional part of x. This is calculated as x - floor(x).",
  1233. "shaderNode": "fract",
  1234. "nodeType": "node",
  1235. "properties": [
  1236. {
  1237. "name": "aNode",
  1238. "nodeType": "node",
  1239. "label": "x",
  1240. "description": "Specify the value to evaluate."
  1241. }
  1242. ]
  1243. },
  1244. {
  1245. "name": "Inverse Sqrt",
  1246. "icon": "math-function",
  1247. "description": "Returns the inverse of the square root of x; i.e. the value 1x√.",
  1248. "shaderNode": "inversesqrt",
  1249. "nodeType": "node",
  1250. "properties": [
  1251. {
  1252. "name": "aNode",
  1253. "nodeType": "node",
  1254. "label": "x",
  1255. "description": "Specify the value of which to take the inverse of the square root."
  1256. }
  1257. ]
  1258. },
  1259. {
  1260. "name": "Length",
  1261. "icon": "math-function",
  1262. "description": "Returns the length of the vector, i.e.",
  1263. "shaderNode": "length",
  1264. "nodeType": "node",
  1265. "properties": [
  1266. {
  1267. "name": "aNode",
  1268. "nodeType": "node",
  1269. "label": "x",
  1270. "description": "Specify the vector of which to calculate the length."
  1271. }
  1272. ]
  1273. },
  1274. {
  1275. "name": "Log",
  1276. "icon": "math-function",
  1277. "description": "Returns the natural logarithm of x, i.e. the value y which satisfies x=ey.",
  1278. "shaderNode": "log",
  1279. "nodeType": "node",
  1280. "properties": [
  1281. {
  1282. "name": "aNode",
  1283. "nodeType": "node",
  1284. "label": "x",
  1285. "description": "Specify the value of which to take the natural logarithm."
  1286. }
  1287. ]
  1288. },
  1289. {
  1290. "name": "Log2",
  1291. "icon": "math-function",
  1292. "description": "Returns the base 2 logarithm of x, i.e. the value y which satisfies x=2y.",
  1293. "shaderNode": "log2",
  1294. "nodeType": "node",
  1295. "properties": [
  1296. {
  1297. "name": "aNode",
  1298. "nodeType": "node",
  1299. "label": "x",
  1300. "description": "Specify the value of which to take the base 2 logarithm."
  1301. }
  1302. ]
  1303. },
  1304. {
  1305. "name": "Max",
  1306. "icon": "math-function",
  1307. "description": "Returns the maximun of the two parameters.",
  1308. "shaderNode": "max",
  1309. "nodeType": "node",
  1310. "properties": [
  1311. {
  1312. "name": "aNode",
  1313. "nodeType": "node",
  1314. "label": "x",
  1315. "description": "Specify the first value to compare."
  1316. },
  1317. {
  1318. "name": "bNode",
  1319. "nodeType": "node",
  1320. "label": "y",
  1321. "description": "Specify the second value to compare."
  1322. }
  1323. ]
  1324. },
  1325. {
  1326. "name": "Min",
  1327. "icon": "math-function",
  1328. "description": "Returns the minimum of the two parameters.",
  1329. "shaderNode": "min",
  1330. "nodeType": "node",
  1331. "properties": [
  1332. {
  1333. "name": "aNode",
  1334. "nodeType": "node",
  1335. "label": "x",
  1336. "description": "Specify the first value to compare."
  1337. },
  1338. {
  1339. "name": "bNode",
  1340. "nodeType": "node",
  1341. "label": "y",
  1342. "description": "Specify the second value to compare."
  1343. }
  1344. ]
  1345. },
  1346. {
  1347. "name": "Mix",
  1348. "icon": "math-function",
  1349. "description": "Linearly interpolate between two values",
  1350. "shaderNode": "mix",
  1351. "nodeType": "node",
  1352. "properties": [
  1353. {
  1354. "name": "aNode",
  1355. "nodeType": "node",
  1356. "label": "x",
  1357. "description": "Specify the start of the range in which to interpolate."
  1358. },
  1359. {
  1360. "name": "bNode",
  1361. "nodeType": "node",
  1362. "label": "y",
  1363. "description": "Specify the end of the range in which to interpolate."
  1364. },
  1365. {
  1366. "name": "cNode",
  1367. "nodeType": "node",
  1368. "label": "a",
  1369. "description": "Specify the value to use to interpolate between x and y."
  1370. }
  1371. ]
  1372. },
  1373. {
  1374. "name": "Modulo",
  1375. "icon": "math-function",
  1376. "description": "Returns the value of x modulo y.",
  1377. "shaderNode": "mod",
  1378. "nodeType": "node",
  1379. "properties": [
  1380. {
  1381. "name": "aNode",
  1382. "nodeType": "node",
  1383. "label": "x",
  1384. "description": "Specify the value to evaluate."
  1385. },
  1386. {
  1387. "name": "bNode",
  1388. "nodeType": "float",
  1389. "label": "y",
  1390. "description": "Specify the value to evaluate."
  1391. }
  1392. ]
  1393. },
  1394. {
  1395. "name": "Negate",
  1396. "icon": "math-function",
  1397. "description": "Returns the flipped sign value of input In",
  1398. "shaderNode": "negate",
  1399. "nodeType": "node",
  1400. "properties": [
  1401. {
  1402. "name": "aNode",
  1403. "nodeType": "node",
  1404. "description": "Input value."
  1405. }
  1406. ]
  1407. },
  1408. {
  1409. "name": "Normalize",
  1410. "icon": "math-function",
  1411. "description": "Returns a vector with the same direction as its parameter, v, but with length 1.",
  1412. "shaderNode": "normalize",
  1413. "nodeType": "node",
  1414. "properties": [
  1415. {
  1416. "name": "aNode",
  1417. "nodeType": "node",
  1418. "label": "v",
  1419. "description": "Specifies the vector to normalize."
  1420. }
  1421. ]
  1422. },
  1423. {
  1424. "name": "One Minus",
  1425. "icon": "math-function",
  1426. "description": "Returns the result of input `a` subtracted from 1.",
  1427. "shaderNode": "oneMinus",
  1428. "nodeType": "node",
  1429. "properties": [
  1430. {
  1431. "name": "aNode",
  1432. "nodeType": "node",
  1433. "description": "Input value."
  1434. }
  1435. ]
  1436. },
  1437. {
  1438. "name": "Pow",
  1439. "icon": "math-function",
  1440. "description": "Return the value of the first parameter raised to the power of the second",
  1441. "shaderNode": "pow",
  1442. "nodeType": "node",
  1443. "properties": [
  1444. {
  1445. "name": "aNode",
  1446. "nodeType": "node",
  1447. "label": "x",
  1448. "description": "Specify the value to raise to the power y."
  1449. },
  1450. {
  1451. "name": "bNode",
  1452. "nodeType": "node",
  1453. "label": "y",
  1454. "description": "Specify the value to whitch to raise x."
  1455. }
  1456. ]
  1457. },
  1458. {
  1459. "name": "Radians",
  1460. "icon": "math-function",
  1461. "description": "Converts a quantity specified in degrees into radians.",
  1462. "shaderNode": "radians",
  1463. "nodeType": "node",
  1464. "properties": [
  1465. {
  1466. "name": "aNode",
  1467. "nodeType": "node",
  1468. "label": "degrees",
  1469. "description": "Specify the quantity, in degrees, to be converted to radians."
  1470. }
  1471. ]
  1472. },
  1473. {
  1474. "name": "Reciprocal",
  1475. "icon": "math-function",
  1476. "description": "Returns the result of dividing 1 by the input.",
  1477. "shaderNode": "reciprocal",
  1478. "nodeType": "node",
  1479. "properties": [
  1480. {
  1481. "name": "aNode",
  1482. "nodeType": "node",
  1483. "description": "Input value."
  1484. }
  1485. ]
  1486. },
  1487. {
  1488. "name": "Reflect",
  1489. "icon": "math-function",
  1490. "description": "Calculate the reflection direction for an incident vector",
  1491. "shaderNode": "reflect",
  1492. "nodeType": "node",
  1493. "properties": [
  1494. {
  1495. "name": "aNode",
  1496. "nodeType": "node",
  1497. "label": "i",
  1498. "description": "Specifies the incident vector."
  1499. },
  1500. {
  1501. "name": "bNode",
  1502. "nodeType": "node",
  1503. "label": "n",
  1504. "description": "Specifies the normal vector."
  1505. }
  1506. ]
  1507. },
  1508. {
  1509. "name": "Refract",
  1510. "icon": "math-function",
  1511. "description": "Calculate the refraction direction for an incident vector",
  1512. "shaderNode": "refract",
  1513. "nodeType": "node",
  1514. "properties": [
  1515. {
  1516. "name": "aNode",
  1517. "nodeType": "node",
  1518. "label": "i",
  1519. "description": "Specifies the incident vector."
  1520. },
  1521. {
  1522. "name": "bNode",
  1523. "nodeType": "node",
  1524. "label": "n",
  1525. "description": "Specifies the normal vector."
  1526. },
  1527. {
  1528. "name": "cNode",
  1529. "nodeType": "node",
  1530. "label": "eta",
  1531. "description": "Specifies the ratio of indices of refraction."
  1532. }
  1533. ]
  1534. },
  1535. {
  1536. "name": "Remap",
  1537. "icon": "math-function",
  1538. "nodeType": "node",
  1539. "shaderNode": "remap",
  1540. "properties": [
  1541. {
  1542. "name": "node",
  1543. "nodeType": "node"
  1544. },
  1545. {
  1546. "name": "inLowNode",
  1547. "nodeType": "node"
  1548. },
  1549. {
  1550. "name": "inHighNode",
  1551. "nodeType": "node"
  1552. },
  1553. {
  1554. "name": "outLowNode",
  1555. "nodeType": "node"
  1556. },
  1557. {
  1558. "name": "outHighNode",
  1559. "nodeType": "node"
  1560. }
  1561. ]
  1562. },
  1563. {
  1564. "name": "Round",
  1565. "icon": "math-function",
  1566. "description": "Round returns a value equal to the nearest integer to x.",
  1567. "shaderNode": "round",
  1568. "nodeType": "node",
  1569. "properties": [
  1570. {
  1571. "name": "aNode",
  1572. "nodeType": "node",
  1573. "label": "x",
  1574. "description": "Specify the value to evaluate."
  1575. }
  1576. ]
  1577. },
  1578. {
  1579. "name": "Saturate",
  1580. "icon": "math-function",
  1581. "shaderNode": "saturate",
  1582. "nodeType": "node",
  1583. "properties": [
  1584. {
  1585. "name": "aNode",
  1586. "nodeType": "node"
  1587. }
  1588. ]
  1589. },
  1590. {
  1591. "name": "Sign",
  1592. "icon": "math-function",
  1593. "description": "Returns -1.0 if x is less than 0.0, 0.0 if x is equal to 0.0, and +1.0 if x is greater than 0.0.",
  1594. "shaderNode": "sign",
  1595. "nodeType": "node",
  1596. "properties": [
  1597. {
  1598. "name": "aNode",
  1599. "nodeType": "node",
  1600. "label": "x",
  1601. "description": "Specify the value from wich to extract the sign."
  1602. }
  1603. ]
  1604. },
  1605. {
  1606. "name": "Sine",
  1607. "icon": "math-function",
  1608. "description": "Returns the trigonometric sine of angle.",
  1609. "shaderNode": "sin",
  1610. "nodeType": "node",
  1611. "properties": [
  1612. {
  1613. "name": "aNode",
  1614. "nodeType": "node",
  1615. "label": "angle",
  1616. "description": "Specify the quantity, in radians, of which to return the sine."
  1617. }
  1618. ]
  1619. },
  1620. {
  1621. "name": "Smoothstep",
  1622. "icon": "math-function",
  1623. "description": "Perform Hermite interpolation between two values",
  1624. "shaderNode": "smoothstep",
  1625. "nodeType": "node",
  1626. "properties": [
  1627. {
  1628. "name": "aNode",
  1629. "nodeType": "node",
  1630. "label": "edge0",
  1631. "description": "Specifies the value of the lower edge of the Hermite function."
  1632. },
  1633. {
  1634. "name": "bNode",
  1635. "nodeType": "node",
  1636. "label": "edge1",
  1637. "description": "Specifies the value of the upper edge of the Hermite function."
  1638. },
  1639. {
  1640. "name": "cNode",
  1641. "nodeType": "node",
  1642. "label": "x",
  1643. "description": "Specifies the value to be used to generate the Hermite function."
  1644. }
  1645. ]
  1646. },
  1647. {
  1648. "name": "Sqrt",
  1649. "icon": "math-function",
  1650. "description": "Returns the square root of x, i.e.",
  1651. "shaderNode": "sqrt",
  1652. "nodeType": "node",
  1653. "properties": [
  1654. {
  1655. "name": "aNode",
  1656. "nodeType": "node",
  1657. "label": "x",
  1658. "description": "Specify the value of which to take the square root."
  1659. }
  1660. ]
  1661. },
  1662. {
  1663. "name": "Tangent",
  1664. "icon": "math-function",
  1665. "description": "Returns the trigonometric tangent of angle.",
  1666. "shaderNode": "tan",
  1667. "nodeType": "node",
  1668. "properties": [
  1669. {
  1670. "name": "aNode",
  1671. "nodeType": "node",
  1672. "label": "angle",
  1673. "description": "Specify the quantity, in radians, of which to return the tangent."
  1674. }
  1675. ]
  1676. },
  1677. {
  1678. "name": "Transform Direction",
  1679. "icon": "math-function",
  1680. "description": "Transforms the direction of vector by a matrix and then normalizes the result.",
  1681. "shaderNode": "transformDirection",
  1682. "nodeType": "node",
  1683. "properties": [
  1684. {
  1685. "name": "aNode",
  1686. "nodeType": "node",
  1687. "label": "dir"
  1688. },
  1689. {
  1690. "name": "bNode",
  1691. "nodeType": "node",
  1692. "label": "matrix"
  1693. }
  1694. ]
  1695. },
  1696. {
  1697. "name": "dFdx",
  1698. "icon": "math-function",
  1699. "description": "Return the partial derivative of expression p with respect to the window x coordinate.",
  1700. "shaderNode": "dFdx",
  1701. "nodeType": "node",
  1702. "properties": [
  1703. {
  1704. "name": "aNode",
  1705. "nodeType": "node",
  1706. "label": "p",
  1707. "description": "Specifies the expression of which to take the partial derivative."
  1708. }
  1709. ]
  1710. },
  1711. {
  1712. "name": "dFdy",
  1713. "icon": "math-function",
  1714. "description": "Return the partial derivative of expression p with respect to the window y coordinate.",
  1715. "shaderNode": "dFdy",
  1716. "nodeType": "node",
  1717. "properties": [
  1718. {
  1719. "name": "aNode",
  1720. "nodeType": "node",
  1721. "label": "p",
  1722. "description": "Specifies the expression of which to take the partial derivative."
  1723. }
  1724. ]
  1725. },
  1726. {
  1727. "name": "Step",
  1728. "icon": "math-function",
  1729. "description": "Generates a step function by comparing x to edge.",
  1730. "shaderNode": "step",
  1731. "nodeType": "node",
  1732. "properties": [
  1733. {
  1734. "name": "aNode",
  1735. "nodeType": "node",
  1736. "label": "edge",
  1737. "description": "Specifies the location of the edge of the step function."
  1738. },
  1739. {
  1740. "name": "bNode",
  1741. "nodeType": "node",
  1742. "label": "x",
  1743. "description": "Specify the value to be used to generate the step function."
  1744. }
  1745. ]
  1746. }
  1747. ]
  1748. },
  1749. {
  1750. "name": "Constants",
  1751. "icon": "123",
  1752. "children": [
  1753. {
  1754. "name": "Epsilon",
  1755. "icon": "letter-e",
  1756. "shaderNode": "EPSILON",
  1757. "nodeType": "float",
  1758. "value": 1000000
  1759. },
  1760. {
  1761. "name": "Infinity",
  1762. "icon": "infinity",
  1763. "shaderNode": "INFINITY",
  1764. "nodeType": "float",
  1765. "value": 0.000001
  1766. },
  1767. {
  1768. "name": "PI",
  1769. "icon": "math-pi",
  1770. "shaderNode": "PI",
  1771. "nodeType": "float",
  1772. "value": 3.141592653589793
  1773. }
  1774. ]
  1775. }
  1776. ]
  1777. },
  1778. {
  1779. "name": "Filters",
  1780. "icon": "color-filter",
  1781. "children": [
  1782. {
  1783. "name": "Burn",
  1784. "icon": "color-filter",
  1785. "nodeType": "color",
  1786. "shaderNode": "burn",
  1787. "properties": [
  1788. {
  1789. "name": "blendNode",
  1790. "nodeType": "color"
  1791. },
  1792. {
  1793. "name": "baseNode",
  1794. "nodeType": "color"
  1795. }
  1796. ]
  1797. },
  1798. {
  1799. "name": "Difference",
  1800. "icon": "color-filter",
  1801. "nodeType": "color",
  1802. "shaderNode": "difference",
  1803. "properties": [
  1804. {
  1805. "name": "blendNode",
  1806. "nodeType": "color"
  1807. },
  1808. {
  1809. "name": "baseNode",
  1810. "nodeType": "color"
  1811. }
  1812. ]
  1813. },
  1814. {
  1815. "name": "Dodge",
  1816. "icon": "color-filter",
  1817. "nodeType": "color",
  1818. "shaderNode": "dodge",
  1819. "properties": [
  1820. {
  1821. "name": "blendNode",
  1822. "nodeType": "color"
  1823. },
  1824. {
  1825. "name": "baseNode",
  1826. "nodeType": "color"
  1827. }
  1828. ]
  1829. },
  1830. {
  1831. "name": "Hue",
  1832. "icon": "color-filter",
  1833. "nodeType": "color",
  1834. "shaderNode": "hue",
  1835. "properties": [
  1836. {
  1837. "name": "blendNode",
  1838. "nodeType": "color"
  1839. },
  1840. {
  1841. "name": "baseNode",
  1842. "nodeType": "color"
  1843. }
  1844. ]
  1845. },
  1846. {
  1847. "name": "Luminance",
  1848. "icon": "color-filter",
  1849. "nodeType": "color",
  1850. "shaderNode": "luminance",
  1851. "properties": [
  1852. {
  1853. "name": "blendNode",
  1854. "nodeType": "color"
  1855. },
  1856. {
  1857. "name": "baseNode",
  1858. "nodeType": "color"
  1859. }
  1860. ]
  1861. },
  1862. {
  1863. "name": "Overlay",
  1864. "icon": "color-filter",
  1865. "nodeType": "color",
  1866. "shaderNode": "overlay",
  1867. "properties": [
  1868. {
  1869. "name": "blendNode",
  1870. "nodeType": "color"
  1871. },
  1872. {
  1873. "name": "baseNode",
  1874. "nodeType": "color"
  1875. }
  1876. ]
  1877. },
  1878. {
  1879. "name": "Posterize",
  1880. "icon": "color-filter",
  1881. "nodeType": "color",
  1882. "shaderNode": "posterize",
  1883. "visible": false,
  1884. "properties": [
  1885. {
  1886. "name": "blendNode",
  1887. "nodeType": "color"
  1888. },
  1889. {
  1890. "name": "baseNode",
  1891. "nodeType": "color"
  1892. }
  1893. ]
  1894. },
  1895. {
  1896. "name": "Saturation",
  1897. "icon": "color-filter",
  1898. "nodeType": "color",
  1899. "shaderNode": "saturation",
  1900. "properties": [
  1901. {
  1902. "name": "blendNode",
  1903. "nodeType": "color"
  1904. },
  1905. {
  1906. "name": "baseNode",
  1907. "nodeType": "color"
  1908. }
  1909. ]
  1910. },
  1911. {
  1912. "name": "Screen",
  1913. "icon": "color-filter",
  1914. "nodeType": "color",
  1915. "shaderNode": "screen",
  1916. "properties": [
  1917. {
  1918. "name": "blendNode",
  1919. "nodeType": "color"
  1920. },
  1921. {
  1922. "name": "baseNode",
  1923. "nodeType": "color"
  1924. }
  1925. ]
  1926. },
  1927. {
  1928. "name": "Vibrance",
  1929. "icon": "color-filter",
  1930. "nodeType": "color",
  1931. "shaderNode": "vibrance",
  1932. "properties": [
  1933. {
  1934. "name": "blendNode",
  1935. "nodeType": "color"
  1936. },
  1937. {
  1938. "name": "baseNode",
  1939. "nodeType": "color"
  1940. }
  1941. ]
  1942. }
  1943. ]
  1944. },
  1945. {
  1946. "name": "Utils",
  1947. "icon": "apps",
  1948. "children": [
  1949. {
  1950. "name": "Channel",
  1951. "icon": "server-2",
  1952. "children": [
  1953. {
  1954. "name": "Join",
  1955. "icon": "arrows-join",
  1956. "nodeType": "node",
  1957. "editorClass": "JoinEditor"
  1958. },
  1959. {
  1960. "name": "Split",
  1961. "icon": "arrows-split",
  1962. "nodeType": "node",
  1963. "editorClass": "SplitEditor"
  1964. },
  1965. {
  1966. "name": "Swizzle",
  1967. "icon": "switch-3",
  1968. "nodeType": "node",
  1969. "editorClass": "SwizzleEditor"
  1970. }
  1971. ]
  1972. },
  1973. {
  1974. "name": "UV",
  1975. "icon": "chart-treemap",
  1976. "children": [
  1977. {
  1978. "name": "Rotate UV",
  1979. "icon": "rotate-clockwise-2",
  1980. "nodeType": "float",
  1981. "shaderNode": "rotateUV"
  1982. }
  1983. ]
  1984. },
  1985. {
  1986. "name": "Preview",
  1987. "icon": "square-check",
  1988. "nodeType": "float",
  1989. "editorClass": "PreviewEditor"
  1990. },
  1991. {
  1992. "name": "Timer",
  1993. "icon": "clock",
  1994. "editorClass": "TimerEditor"
  1995. }
  1996. ]
  1997. },
  1998. {
  1999. "name": "Conversions",
  2000. "icon": "arrows-exchange",
  2001. "children": [
  2002. {
  2003. "name": "Color To Direction",
  2004. "icon": "arrows-exchange",
  2005. "nodeType": "color",
  2006. "shaderNode": "colorToDirection"
  2007. },
  2008. {
  2009. "name": "Direction To Color",
  2010. "icon": "arrows-exchange",
  2011. "nodeType": "color",
  2012. "shaderNode": "directionToColor"
  2013. }
  2014. ]
  2015. },
  2016. {
  2017. "name": "Procedural",
  2018. "icon": "binary-tree",
  2019. "children": [
  2020. {
  2021. "name": "Checker",
  2022. "icon": "border-all",
  2023. "nodeType": "float",
  2024. "shaderNode": "checker",
  2025. "properties": [
  2026. {
  2027. "name": "uvNode",
  2028. "nodeType": "vec2"
  2029. }
  2030. ]
  2031. },
  2032. {
  2033. "name": "Range",
  2034. "icon": "sort-ascending-2",
  2035. "nodeType": "node",
  2036. "shaderNode": "range",
  2037. "properties": [
  2038. {
  2039. "name": "minNode",
  2040. "nodeType": "InputNode"
  2041. },
  2042. {
  2043. "name": "maxNode",
  2044. "nodeType": "InputNode"
  2045. }
  2046. ]
  2047. }
  2048. ]
  2049. },
  2050. {
  2051. "name": "Prototype",
  2052. "icon": "code",
  2053. "children": [
  2054. {
  2055. "name": "Node Prototype",
  2056. "icon": "components",
  2057. "editorClass": "NodePrototypeEditor"
  2058. },
  2059. {
  2060. "name": "Scriptable",
  2061. "icon": "variable",
  2062. "editorClass": "ScriptableEditor"
  2063. }
  2064. ]
  2065. },
  2066. {
  2067. "name": "Material",
  2068. "icon": "circles",
  2069. "children": [
  2070. {
  2071. "name": "Basic Material",
  2072. "icon": "circle",
  2073. "nodeType": "float",
  2074. "editorClass": "BasicMaterialEditor",
  2075. "editorURL": "./materials/BasicMaterialEditor.js"
  2076. },
  2077. {
  2078. "name": "Points Material",
  2079. "icon": "circle-dotted",
  2080. "nodeType": "float",
  2081. "editorClass": "PointsMaterialEditor"
  2082. },
  2083. {
  2084. "name": "Standard Material",
  2085. "icon": "inner-shadow-top-left",
  2086. "nodeType": "float",
  2087. "editorClass": "StandardMaterialEditor"
  2088. }
  2089. ]
  2090. }
  2091. ]
  2092. }