You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2930 lines
133 KiB

  1. Release Notes:
  2. v1.6.2 rev 00 / v1.6.1 rev 05:
  3. * New Template:
  4. * Unlit Lightmap
  5. * New Sample:
  6. * Unlit With Lightmap
  7. * Fixes:
  8. * Fixed issue on 'Depth Fade' node with custom Vertex Positions
  9. * Fixed issue with using the X,Y,Z,W output ports on 'Object To World' node
  10. v1.6.1 rev 04:
  11. * New Node:
  12. * Linear Depth
  13. * Converts values given on logarithmic space to linear
  14. * Improvements:
  15. * Minor improvement on nodes loading time when initializing ASE
  16. * Fixes:
  17. * Fixed local variable duplicate issue when using 'Depth Fade' and 'Screen Position' nodes
  18. * Fixed serialization issue with Additional Use Passes and Fallback data when going into play mode
  19. * Fixed HDRP issues on Motion Vectors pass
  20. * Fixed issue with uniform keyword usage inside cbuffers (SRP templates) over PS4
  21. * Fixed issue with 'Common Transform Matrices' node over SRP templates
  22. * Fixed object to world/world to object space transform on transform nodes over HD templates
  23. * 'Transform Position', 'Object To World' and 'World To Object' nodes
  24. * They now take SHADEROPTIONS_CAMERA_RELATIVE_RENDERING keyword into account
  25. * Fixed issue with 'Pixelate UV' node when used over vertex functions
  26. * Fixed foldout issue between Additional Surface Options and Custom SubShader Tags on Surface node properties
  27. v1.6.1 rev 03:
  28. * New Shader Functions:
  29. * Terrain Wind Value
  30. * Terrain Wind Animate Vertex
  31. * Updated Simple Terrain sample to use this shader function
  32. * Improvements:
  33. * Updated HDRP PBR template to v4.6.0
  34. * Added Alpha To Coverage/Alpha To Mask option into templates
  35. * Set under the Blend Mode area
  36. * Fixes:
  37. * Fixed issue on Emission color being added over Forward Add pass when using 'Standard Surface Light' node
  38. v1.6.1 rev 02:
  39. * Fixes:
  40. * Fixed issue with reordering material properties for Translucency and Refraction port's properties
  41. * Fixed issue with 'Texture Sample' node when referencing an unconnected node
  42. v1.6.1 rev 01:
  43. * Improvements:
  44. * Updated HDRP templates to v4.3.0
  45. * 'Vertex Tangent' node now has Size option
  46. * Added access to all 8 UV sets on Surface shaders
  47. * Re-added 'Clip' node
  48. * First Input Port acts as a relay
  49. * Clip uses difference between Alpha and Threshold ( Alpha - Threshold )
  50. * Fixes:
  51. * Fixed issue with late directives being injected on globals tag when functions area is available
  52. * Affected usage of 'World Space Light' nodes on HDRP templates
  53. * Fixed division by 0 issue on 'Triplanar Sample' node
  54. * Fixed incorrect directional light vector usage on HDRP templates
  55. v1.6.1 rev 00:
  56. * Fixes:
  57. * Excluding Primitive ID source code from MacOS
  58. v1.6.0 rev 00:
  59. * Improvements:
  60. * Updated SRP templates to v4.2.0
  61. * Fixes:
  62. * Fixed issue on GBuffer pass over HD PBR template
  63. * Fixed alpha clip issues on Legacy HD PBR template
  64. v1.5.9 rev 02:
  65. * New Nodes:
  66. * Vertex Id
  67. * Primitive ID
  68. * New Shader Functions:
  69. * Perturb Normal HQ
  70. * Prepare Perturb Normal HQ
  71. * Improvements:
  72. * Matrix type nodes can now be GPU instanced
  73. * Fixes:
  74. * Fixed issue with 'Fresnel' node with Tangent Normal vectors on Surface shaders
  75. * Fixed issues on Motion Vector pass on both 3.x.x. and 4.x.x templates
  76. * Fixed issue with world pos generation on HD 4.x.x
  77. v1.5.9 rev 01:
  78. * Improvements:
  79. * Added Auto Gamma to Linear option into 'Color' nodes when set to Constant
  80. * Added access to all 8 uv channels on 'Texture Coordinates' and 'Vertex TexCoord' nodes
  81. * Only for 2018.2 and above
  82. * Fixes:
  83. * Fixed 'Gamma To Linear' and 'Linear To Gamma' compiler errors on SRP v.4.x.x
  84. v1.5.9 rev 00:
  85. * Fixes:
  86. * 'Grab Screen Color' node now also working on Lightweight SRP v3.x.x
  87. * Fixed possible issue with Shader Function creation callback not being inside AmplifyShaderEditor namespace
  88. v1.5.8 rev 03:
  89. * Fixes:
  90. * Fixed multiple issues in both PBR and Unlit templates for HD SRP v4.x.x
  91. * Fixed issue over clip space transforms on HD SRP
  92. * Fixed issue on sampling depth buffer on HD SRP
  93. v1.5.8 rev 02:
  94. * Improvements:
  95. * Multiple improvements over 'Global Array' node
  96. * Added support for jagged arrays
  97. * Added Auto-Register toggle
  98. * Can reference other nodes through new Mode dropdown ( similar to 'Grab Screen Color' node )
  99. * Fixes:
  100. * Fixed memory leak over 'Template Local Var' node
  101. * Fixed HD templates issues over new HD 4.1.0
  102. v1.5.8 rev 01:
  103. * Fixes:
  104. * Fixed issue on Live Mode writing on non ase shaders when loaded into canvas
  105. * Fixed issue on MacOS with scroll bar over Texture Array Creator tool
  106. * Fixed issue on MacOS with 'Function Input' node generated default Sampler 2D value
  107. * New Shader Function:
  108. * Substance Blend Metallic
  109. * Improvements:
  110. * 'Grab Screen Color' node is now supported on LW SRP
  111. * Uses the new _CameraOpaqueTexture which must be requested on the pipeline asset
  112. * Must toggle on the Opaque Texture option over its General foldout
  113. * Added Clip and Tangent spaces into 'Transform Direction' node
  114. * Added Tangent space into 'Transform Position' node
  115. v1.5.8 rev 00:
  116. * New Sample:
  117. * Substance 2018
  118. * Fixes:
  119. * Fixed canvas crash when loading shaders with missing templates
  120. * Fixed issue on UV Coords creation over 'Substance Sample' Node
  121. * Fixed issue with loosing Substance reference on 'Substance Sample' node when applying new changes on it
  122. * Only happened on Unity 2018 with Substance in Unity plugin
  123. * Fixed issue on nested instanced properties over shader functions not being taken into account
  124. * Improvements:
  125. * Upgraded Lightweight and HD templates to v5.0.0
  126. * Maintained templates for v.3.x.x under the packages HDSRPTemplates (Legacy) and LWSRPTemplates (Legacy)
  127. v1.5.7 rev 02:
  128. * Fixes:
  129. * Fixed issues on 'Static Switch' node
  130. * Property Name wasn't available in all options
  131. * Keys on Keyword Enum over Fetch Mode were being automatically upper cased
  132. * Fixed issue on 'Get Local Var' node not propagating node data correctly after being loaded
  133. v1.5.7 rev 01:
  134. * New Templates:
  135. * Custom RT Init
  136. * Packed inside AmplifyShaderEditor > Plugins > EditorResources > Templates > CustomRTTemplates
  137. * Custom RT Update
  138. * Packed inside AmplifyShaderEditor > Plugins > EditorResources > Templates > CustomRTTemplates
  139. * New Sample:
  140. * Custom Render Texture Rain
  141. * Packed inside AmplifyShaderEditor > Examples > Custom RT Samples
  142. * Needs both Custom RT Init and Custom RT Update templates to be imported into project
  143. * Fixes:
  144. * Fixed issue on Queue Offset incorrect writing over templates
  145. * Fixed issue on templates not recognizing uint
  146. * Fixed minor issue over Directives UI
  147. * Fixed Shadow Coord macro registry differences between Unity 5.5 and above
  148. * Improvements:
  149. * Added Substance Plugin integration over ASE for Unity 2018 and above
  150. * Added Mirror option into 'Depth Fade' node
  151. * Enabled by default, which was older behavior
  152. * If toggled on, sets an abs operation over the final value
  153. * Custom Render Textures can now be used/dragged over ASE
  154. * Can Pan and Zoom ASE canvas camera through keyboard directional keys
  155. * Up/Down/Left/Right Arrow keys pan camera
  156. * Alt+Up/Alt+Down/Alt+Left/Alt+Right Arrow keys zoom camera
  157. v1.5.7 rev 00:
  158. * Fixes:
  159. * Fixed issue with using FACE type nodes over both Lightweight and HD Unlit templates
  160. * Fixed issue regarding 'Lerp' node's Alpha input port always loading as a Float type
  161. * Fixed minor issue on 'Function Subtitle' node tooltip
  162. * Fixed minor issue on 'Posterize' node
  163. * Power variable should not be shown on property window if its input port is connected
  164. * Fixed minor issue with auto-spacing over shader function names
  165. v1.5.6 rev 08:
  166. * Fixes:
  167. * Fixed Queue Offset not being correctly set when loading certain template based shaders
  168. * Fixed HSV nodes previews
  169. * Fixed multiple issues with Directives over shaders functions
  170. * Fixed issue on nodes not being correctly set up over template's invisible passes with linked ports
  171. * Improvements:
  172. * Directives in Include mode now fully support cgincs and hlsl files to be dragged into them
  173. * Similar behavior of inline properties, click on button right next to Include textfield to activate object drop UI
  174. * Adding GPU Instancing support to Unlit template
  175. * Adding new Vertex Position port into 'Depth Fade' node
  176. * Adding new Saturate option into 'Depth Fade' node
  177. * Can now set precision to each 'Custom Expression' node items individually
  178. v1.5.6 rev 07:
  179. * Fixes:
  180. * Fixed duplicated events registry when loading graphs
  181. * Fixed incorrect instanced variables reset over shader functions
  182. v1.5.6 rev 06:
  183. * Fixes:
  184. * Out variables on 'Custom Expression' node no longer appears as inputs
  185. * Fixed issue on not updating output port names correctly over 'Custom Expression' node
  186. * Fixed issue on properties with Header(...) not being written on shader
  187. * Fixed incorrect read/write on MRT Blend Mode and Op over template based shaders
  188. * Fixed possible infinite loops caused by 'Register/Get Local Var' nodes
  189. * Fixed Shader Type dropdown items not updating names correctly according to changes on template
  190. * Fixed issue on adding multiple ASE tabs on Unity 2018.3
  191. * Fixed WebGL error over 2018.3b
  192. * Fixed 'Parallax Offset' node issues when used on Lightweight and HD SRP templates
  193. * Fixed dynamically created outputs over shader function not being correctly set after hot code reload
  194. * Improvements:
  195. * Property Name and Values get its label clamped when too big
  196. * Full original name and value is shown over its node tooltip
  197. * Hidden tag on template shader names no longer created a category called Hidden
  198. * Adding new ase_funcs tag functionality to determine where function code should be injected
  199. * If not specified, functions are grouped with global variables as before
  200. * Improved template reloading after being manually edited
  201. v1.5.6 rev 05:
  202. * Fixes:
  203. * Fixed 'Smoothstep' node code generation issue
  204. * Fixed ASE item grouping issue on Create menu over Unity 2017 and above
  205. v1.5.6 rev 04:
  206. * Fixes:
  207. * Fixed shortcut manager to take 2018.3 new event behavior into account
  208. v1.5.6 rev 03:
  209. * Fixes:
  210. * Fixed several shader functions issues
  211. * Fixed Undo issue when using directives textfields
  212. * Fixed issue of null references being set on directives list when loaded
  213. * Fixed directives not being correctly written on shader
  214. * Fixed incorrect Refraction port activation issue on Standard Surface Custom Lighting
  215. * Fixed issue on Property nodes with Auto-Register toggled on not being registered
  216. * Fixed cascaded shadows issue on HD PBR template
  217. * Improvements:
  218. * Minor update on 'Smoothstep' node ports behavior
  219. * Added preview to 'Swizzle' node
  220. v1.5.6 rev 02
  221. * Fixes:
  222. * Fixed issue on multi-pass templates not getting correct interpolator count from subshader info
  223. * Fixed issue on Depth Offset template option auto enabling after hot code reload
  224. * Improvements:
  225. * Using current world position and world view direction when getting indirect specular light values on templates
  226. v1.5.6 rev 01
  227. * Fixes:
  228. * Fixed issue with global variables on Property type nodes being ignored by Auto-Register toggle
  229. * Fixed Native Directives capture issue over templates
  230. * Fixed issues on adding duplicate directives if they are already natively on the template
  231. * Fixed compilation errors from Gamma/Linear nodes on SRP templates
  232. * Fixed ArgumentOutOfRangeException over file path on new shader creation
  233. * Fixed issues over Motion Vector pass on HD PBR template
  234. * Fixed issue on 'Light Color' node with HD templates
  235. * Fixed issue on 'World Space Light Dir' node with HD templates
  236. * Fixed issue on 'Object Space Light Dir' node with HD templates
  237. * Improvements:
  238. * Added support for Variable Mode over Texture Objects type nodes
  239. * Adding UI Widget helper for setting Render Type and Queue for templates
  240. * On SubShader Tags group, Value UI changes as soon as user writes RenderType or Queue on the Name textfield
  241. v1.5.6 rev 00
  242. * New Samples:
  243. * SRP Lightweight Terrain
  244. * Multi Pass Distortion
  245. * New Node:
  246. * Switch by Pipeline
  247. * Shader function specific node to choose different paths according to current pipeline
  248. * New Shader Function:
  249. * Fetch HD Color Pyramid
  250. * Fixes:
  251. * Fixed world position issues over HD PBR Template
  252. * Fixed transparent issues over HD PBR template
  253. * Prevented WorldNormalVector macro to confuse lerp operations
  254. * Fixed issue on created shaders being placed in incorrect folders when on two column node
  255. * Fixed issue on property registering over multi-pass shaders
  256. * Improvements:
  257. * Custom Options can now be added directly over templates
  258. * Adding Final Color x Alpha custom option into LW PBR
  259. * If toggled on multiples fragment final color by its alpha
  260. * Apply Fog on LW PBR takes Add Pass directive into account
  261. * Adding SRP support to Four Splats First Pass Terrain shader function
  262. * Material Global lIllumination flags for emission can now be modified over Surface Rendering Options
  263. * Activated Variable mode into 'Texture Sample' nodes
  264. v1.5.5 rev 01
  265. * Fixes:
  266. * Fixed issue over incorrect name registration over 'Register Local Var' on pasting into another shader
  267. * Fixed issue on reading shaders using old shader functions with deprecated nodes
  268. * Fixed 'World Pos' node issue on HD SRP template
  269. * Fixed issue on 'World Normal' node when used in 'Lerp' node
  270. * Improvements:
  271. * 'Register/Get Local Var' nodes maintain connections even if copied to another shader
  272. v1.5.5 rev 00
  273. * New Node:
  274. * Diffuse And Specular From Metallic
  275. * Fixes:
  276. * Fixed issues on graph not being updated with material changes on inspector if tab is opened but not selected
  277. * Preventing Culture difference issues on material copy-paste
  278. * Fixed issue on all modules template tag conflict with existing shader model definition
  279. * Fixed HD issue on 'World Position' node
  280. * Fixed issue on losing name when copy-pasting property nodes between shaders
  281. * Fixed issue on resetting custom inspector to ASE default when loading or hot code reloading shader with its textfield empty
  282. * Fixed issue on not setting importer correctly on 'Texture Sample' node when setting a normal map type texture from inspector
  283. * Improvements:
  284. * Properties on invisible passes can now be synced with main pass over templates
  285. v1.5.4 dev 10:
  286. * New Sample:
  287. * SRP HD Material Types
  288. * Please notice that for SSS to work properly, a Diffusion profile must be attached to the HD pipeline asset
  289. * We already supply one over the sample folder ( Diffusion Profile Settings )
  290. * Fixes:
  291. * Fixed UX issue with Auto-Register/Set Unique flags on 'Custom Expression' node
  292. * Fixed issue with cascade shadows over Lightweight template
  293. * Improvements:
  294. * Added Material Types selector into HD template
  295. * Subsurface Scattering
  296. * Standard (Metallic)
  297. * Specular
  298. * Anisotropy
  299. * Iridescence
  300. * Translucent
  301. v1.5.4 dev 09:
  302. * Fixes:
  303. * Fixed Grab Pass issue with 'Outline' node
  304. * Fixed PreviewRenderUtility leak over shader and material inspector on 2018.2
  305. * Fixed issue with 'PI' node over HD SRP
  306. * Improvements:
  307. * Minor improvement over shader save time
  308. v1.5.4 dev 08:
  309. * Fixes:
  310. * Fixed issue on 'Component Mask' node generating compilation errors inside shader functions with auto-cast inputs
  311. * Fixed issue on loop unroll error over 'Parallax Occlusion Mapping' node
  312. * Fixed issue on crashing ASE when loading a shader or shader function with a missing shader function reference
  313. * Adding error message when loading a shader or shader function with missing shader functions
  314. * Improvements:
  315. * Added support to Vertex Normal modification on both Unlit and PBR HD templates
  316. * Adding 'Global Array' variable name info directly on node
  317. v1.5.4 dev 07:
  318. * New Templates:
  319. * HD PBR
  320. * HD Unlit
  321. * Fixes:
  322. * Fixed issue on incorrectly capturing module tags
  323. * Fixed issues with 'Flipbook UV Animation' node
  324. * Fixed multiple issues with Directives usage under shader functions with templates
  325. * Fixed issue on 'Custom Expression' node loading on Call mode
  326. * Fixed issue on unpacking normals with scale on templates over multiple nodes
  327. * Changing tessellation on Procedural Wall sample shader from edge to distanced based to prevent metal issues on Mac
  328. v1.5.4 dev 06:
  329. * Fixes:
  330. * Fixed issue on 'Toggle Switch' node not taking Custom Attributes into account
  331. * Fixed out of bounds exception over 'Static Switch' node
  332. * Fixed issue on templates port linking behavior
  333. * Fixed issues on 'Texture Array', 'Triplanar Sample' and 'Unpack Scale Normal' nodes on Lightweight SRP
  334. * Fixed issue on shader function directives not being written on template based shaders
  335. * Fixed serialization issue on saving/loading shader function directives
  336. * Fixed issue with using 'Texture Array' node inside shader functions
  337. * Fixed shader compilation errors on'Parallax Occlusion Mapping'
  338. * Now it does not generate code if no 'Texture Object' node is connected to it
  339. * Fixed issue on 'Grab Screen Color' node not updating reference list correctly when copy/pasted
  340. * Fixed issue with Undo'ing a 'Grab Screen Color' node on reference mode
  341. * Improvements:
  342. * Min and Max Samples options on 'Parallax Occlusion Mapping' node are now inline options
  343. v1.5.4 dev 05:
  344. * Fixes:
  345. * Fixed issue with Vector and Matrix UI spacing on 'Custom Expression' node
  346. * Fixed issue on functions being generated twice over a 'Custom Expression' node when auto register and connection are both on
  347. * Fixed Blend Op issues with OFF state
  348. * Improvements:
  349. * Can now use a custom screen position into 'Dither' node
  350. * Added Normalize option into 'Compute Screen Pos' node
  351. v1.5.4 dev 04:
  352. * Fixes:
  353. * Fixed issue on resetting material's Render Queue setting when compiling the shader in Material mode
  354. * Fixed issue on Blend Op menu not showing when loading a template based shader
  355. * Improvements:
  356. * Re-adding DX11 specific Blend Ops into its respective dropdowns
  357. * 'Custom Expression' node items are now reorderable
  358. * 'Custom Expression' node can now register dependencies to other ones
  359. * Can now better control function register order on final shader
  360. v1.5.4 dev 02/dev 03:
  361. * New Shader Function:
  362. * Color Mask
  363. * Fixes:
  364. * Fixed issue on template Unlit SRP generating an error when creating a Color or MainTex named property
  365. * Fixed issue on both 'Surface Depth' and 'Camera Depth Fade' nodes when inputting a custom vertex position
  366. * Stencil module on Pass now uses SubShader Cull mode if it's not specified on it
  367. * Important since Cull determines if separate stencil ops are show for each face
  368. * Fixed issue with Fallback shader selector not updating if its textfield is focused
  369. * Fixed issue on Grab Pass only being registered on first pass when on multi-pass templates
  370. * Improvements:
  371. * Added auto register option into 'Grab Screen Color' node
  372. * Adding UsePass support
  373. * New Additional Use Passes section on both Surface and Template output nodes
  374. * Can add UsePass before or after Surface code via a Location dropdown
  375. * On Templates the Below location is still under development and its not available
  376. v1.5.4 dev 01:
  377. * New Shader Function:
  378. * Fetch Lightmap Value
  379. * Improvements:
  380. * Simple Terrain sample now support more than four splats
  381. * Fixes:
  382. * Fixed issue on Node Palette reading incorrect maximized value when opening ASE window
  383. v1.5.3 dev 12:
  384. * Fixes:
  385. * Fixed null pointer exception with texture arrays over shader functions
  386. * Fixed memory leak on shader functions destruction
  387. * Improvements:
  388. * Improved templates loading behavior after hot code reload
  389. * Replaced individual lists for pragmas, defines and includes by a single reorderable list
  390. * Now user select what each line represents via a dropdown
  391. * Additional surface options can now be added via the Additional Surface Options tab on the Output node
  392. * Added custom type for 'Custom Expression' node data type specification
  393. v1.5.3 dev 11:
  394. * Fixes:
  395. * Fixed issue on not correctly cleaning Undo stack when changing master node
  396. * Fixed multiple issues with safe normalize operation over world light dir and view dir
  397. * Fixed world light dir issues over Lightweight SRP
  398. * Fixed GPU instancing compile issues on Lightweight SRP
  399. * Fixed issue on Includes/Pragmas/Defines UI not showing when no other modules over a template
  400. * Improvements:
  401. * Optimizing property block allocation for instanced variables to have less internal padding involved
  402. * Added custom attributes to 'Toggle Switch' node
  403. * Added toggle to 'Matrix from Vector' node use each input as column
  404. v1.5.3 dev 10:
  405. * Fixes:
  406. * Fixed issue with being able to duplicate output nodes on templates
  407. * Fixed issue on foldout flag values being shared between multiple ASE tabs
  408. * Improvements:
  409. * 'Get Local Var' port is locked until a valid reference is set to prevent incorrect connections
  410. * Updated About image and added Manual link on Amplify Shader Editor menu group
  411. * Adding unique id duplicate prevention over shader load
  412. * Added support for stencil operations on Lightweight templates
  413. v1.5.3 dev 09:
  414. * New Shader Functions:
  415. * Lerp White To
  416. * Detail Albedo
  417. * Fixes:
  418. * Fixed API library excluding tool for custom nodes
  419. * Improvements:
  420. * Template creators can now register all modules
  421. * Simply add the /*ase_all_modules*/ either on the Pass or SubShader body
  422. * Templates now support Fallback definition on shader
  423. * Templates now support Dependencies definition on shader
  424. v1.5.3 dev 08:
  425. * Fixes:
  426. * Fixed Instance ID issue over Lightweight SRP template
  427. * Improvements:
  428. * Added API option to remove includes on data collector
  429. * Stencil can now be toggled off on templates which have it
  430. v1.5.3 dev 07:
  431. * New Sample:
  432. * Projectors
  433. * Exemplify Unity Projectors usage under ASE
  434. * Improvements:
  435. * Improved Texture Array Tool
  436. * Now also creates Texture3D by hitting the Texture 3D toggle
  437. * Can drag and drop multiple textures into tool
  438. * Can drag and drop a folder and it will include all its nested textures
  439. * Added Clear button to remove all textures from Texture List ( UI still work in progress )
  440. * 'Parallax Occlusion Mapping' node now also supports Texture 3D
  441. * Replaced the Texture Array toggle by a Texture Type dropdown
  442. * User must explicitly set the current 3D texture slice via the Tex3D Slice input port
  443. * Removed Fixed precision type since it's no longer available on Unity 2018
  444. * Updated Lightweight PBR template to v1.1.8
  445. * Re-factored Templates location and names
  446. * New and more flexible templates will be gradually added to replace legacy ones
  447. * A cleaner Unlit template shader was already added on this build
  448. * Fixes:
  449. * Fixed issue on using depth operations on particle template
  450. * Fixed sometimes light attenuation not showing up correctly
  451. * Fixed allowing to open unity built-in shaders on ASE
  452. * Fixed issue on using incorrect port value on 'Refract' node
  453. * Fixed issue on Texture Object type nodes loosing texture type after load
  454. v1.5.3 dev 06:
  455. * New Sample:
  456. * XRay
  457. * Object has different drawing behavior in front and behind a wall
  458. * Wall pattern is procedurally generated
  459. * Improvements:
  460. * Template internal properties can be used as inline properties on modules
  461. * Modules can now read inline properties from the template original source
  462. * Unreadable data message is no longer shown on node properties
  463. * Added more options to 'Fresnel' node
  464. * Now supports custom view vector
  465. * Preventing cast warning with object to clip internal function usage when building shader code for Lightweight SRP
  466. * Added new icons for inline properties to the Unity personal skin to make them easier to spot
  467. * Updated Lightweight SRP templates
  468. * Cull Mode now shared across base, shadow and depth pass
  469. * Added new Normal input port
  470. * Fixes:
  471. * Fixed issue over templates on not assuming inline properties when loading/saving Cull Mode module
  472. * Fixed incorrect cast and type assignment on connections between 'Texture Object' and 'Texture Sample' nodes
  473. * Fixed issue on deleting outputs on shader functions and later opening the shaders that use it
  474. * Fixed issues on Vertex Offset port on Lightweight PBR template
  475. * Fixed issue on not correctly loading 'Rotate About Axis' node from old shaders
  476. * Fixed issue on header not showing with texture properties with the NoScaleOffset attribute
  477. v1.5.3 dev 05:
  478. * Fixes:
  479. * Fixed world normal issues over 'Outline' node
  480. * Fixed issues on reading/writing cull mode on templates meta
  481. * Fixed issue on capturing includes over templates
  482. * Fixed issue on Specular workflow over Lightweight PBR template
  483. * Improvements:
  484. * Cull Mode can now be modified over outline node
  485. v1.5.3 dev 04:
  486. * New nodes:
  487. * Transform Position
  488. * Transform Direction
  489. * Improvements:
  490. * Added inline property support over templates modules
  491. * Also added inline property support over Depth Offset values in both template and standard surface
  492. * Minor tweak over 'Clamp' node
  493. * Internal max value defaulted to 1
  494. * Adding additional modules into Lightweight templates
  495. * Enabling ZTest over Particles Alpha Blended template
  496. * Fixes:
  497. * Fixed issue on Lightweight PBR template over tangents on objects with non-uniform scales
  498. * Fixed issue on Lightweight PBR not receiving real time shadows
  499. * Fixed issue on Lightweight Unlit template available interpolators
  500. * Fixed issue on Lightweight Unlit template not showing correctly on dropdown menu
  501. * Fixed issue on tab titles not being correctly written on shader mode over templates
  502. * Fixed issue on property names incorrectly appearing over inline properties
  503. * Fixed issue with copy/pasting 'Append' nodes
  504. * Fixed issue on 'Global Array' node loading from older shaders
  505. v1.5.3 dev 03:
  506. * New Template:
  507. * Lightweight Unlit
  508. * Renamed already existing SRP Template to Lightweight PBR
  509. * New Sample:
  510. * SRP Lightweight 2D Fractal
  511. * Fixes:
  512. * Fixed issue with 'Parallax Occlusion Mapping' node over Lightweight templates
  513. * Fixed Safe Normalize issues with 'View Dir' node on templates
  514. * Improvements:
  515. * Added Auto-Register option into 'Static Switch' node
  516. * Minor improvement over 'Parallax Occlusion Mapping' node generated code to avoid duplicate calculations
  517. v1.5.3 dev 02:
  518. * Fixes:
  519. * Fixed infinite loop via context menu issue
  520. * Improvements:
  521. * Added support for Specular workflow into Lightweight SRP template
  522. * Use either the new Specular port or the already existing Metallic port to choose which workflow to use
  523. * Added extra ASE null pointer exception prevention test on attempting loading shader with missing shader functions
  524. v1.5.3 dev 01:
  525. * Improvements:
  526. * Conditional 'If' node also support Int as compare values
  527. * Added Triplanar scale port for normal scaling when using normals in 'Triplanar Sample' node
  528. * Improved code generation for 'Texture Coordinates' node
  529. * Changed way float values were being generated when their value was an integer
  530. * Removes warnings and makes sure some operations are done in the correct space, like divisions
  531. * Improved operations order on 'Panner' node
  532. * Added Force Disable Instancing option into Surface output node Rendering Options
  533. * Updated Lightweight SRP template to be compatible with Unity latest LW SRP version 1.1.5
  534. * Fixes:
  535. * Fixed issue on 'Global Array' node not being correctly detected by ASE
  536. * Fixed texture array sampling error caused by 'Parallax Occlusion Mapping' node on Unity 2018
  537. * Fixed issue on local variable excluded reset method
  538. * Fixed issue on 'Triplanar Sample' node Material Mode not being correctly set
  539. v1.5.2 dev 05:
  540. * New Samples:
  541. * Single Channel Masking by Sarah Akers and David Marshall
  542. * Dithering Fade Blue Noise
  543. * New Node:
  544. * Inverse View Matrix
  545. * Fixes:
  546. * Fixed issue on not copying defaults to material values when changing Type from Global to Property over property type nodes
  547. * Fixed Stencil Comparison not being correctly written on shader when set as an inline property
  548. * Fixed issue on Reference mode not being taken into account when registering 'Texture Sample' properties
  549. * Fixed infinite loop on 'Texture Sample' nodes with Reference mode
  550. * Fixed custom outline alpha mask mode
  551. * Fixed issues on compare type nodes accessing their Wiki page
  552. * Fixed dropdown left title padding for nodes that have it but don't have a preview arrow
  553. * Improvements:
  554. * Improved 'Unpack Scale Normal' node usage on Burn Effect sample
  555. * Now compatible across all Unity versions
  556. * Re-factored Global variables behavior over property type nodes
  557. * Material values can no longer be edited
  558. * Auto-fetching global variables values every 2 seconds
  559. * Parameter type can be changed in node over texture type nodes
  560. * Removing automatic header creation by properties under shader functions
  561. * User now can manually set headers on property type nodes via its attributes
  562. * Turned the main Mask Clip Value an inline property so users can set it to be a specific node
  563. * Updated 'Screen Position' node preview
  564. * New Previews:
  565. * Compare ( A > B )
  566. * Compare ( A >= B )
  567. * Compare ( A < B )
  568. * Compare ( A <= B )
  569. * Compare ( A == B )
  570. * Compare ( A != B )
  571. * Compare With Range
  572. * If [Community]
  573. * Decode Float RG
  574. * Encode Float RG
  575. * Decode Float RGBA
  576. * Encode Float RGBA
  577. * Decode View Normal Stereo
  578. * Encode View Normal Stereo
  579. * Decode Lightmap
  580. * ColorSpaceDouble
  581. * Face
  582. * Switch By Face
  583. * LOD Fade
  584. * Layered Blend
  585. * Weighted Blend
  586. * Summed Blend
  587. v1.5.2 dev 04:
  588. * Fixes:
  589. * Fixed issue on Post-Process sample scenes crashing on lower Unity versions
  590. * Fixed issue on fallback behavior when required template on loaded shader is not found
  591. * Fixes issue on texture type nodes moving when a texture is selected over it's picker
  592. * ASE window now aware when ObjectSelectorClosed command is fired to ignore incorrect mouse delta values
  593. * Improvements:
  594. * View Dir vector on templates is now calculated on fragment by default
  595. * World Reflection vector on templates is now calculated on fragment by default
  596. * Native View Dir vector calculation on Lightweight SRP template is now done on fragment
  597. * Shader function 'Reconstruct World Position From Depth' now also works with screen shaders
  598. * Updated Skybox - Cubemap Extended by Cristian Pop sample
  599. v1.5.2 dev 03:
  600. * Fixes:
  601. * Fixed issue with 'Grab Screen Color' node on Lightweight SRP template
  602. * Fixed multiple issues with Shader Model selection over templates
  603. * Fixed issue on not correctly syncing module data from modified template
  604. * Improvements:
  605. * Re-factored local variable creation over ports to make it more robust
  606. * Vertex ports are now analyzed before fragment ones
  607. * Vertex position dependent operations now take applied offsets into account
  608. * Pragmas, Includes and Defines are copied from linked nodes if Pass is set as invisible
  609. * Added preview to 'Vertex To Frag' node
  610. * Small optimization on drawing connections
  611. * Minor tweak over Particles Alpha Blended template
  612. * Assigned dynamic interpolators now take both sub shader and pass info into account
  613. * Modified Lightweight SRP template to share dynamic interpolators amount over hidden passes
  614. v1.5.2 dev 02:
  615. * Improvements:
  616. * Added Safe Normalize option to 'World Space Light Dir' node
  617. * Assures vector is not zero even if there's no lights in scene
  618. * Added Safe Normalize option to 'View Dir' node
  619. * Assures vector is not zero even if there's no cameras on scene
  620. * Property names can neither be or start with numerical values nor Unity reserved names
  621. * Variables from 'Register Local Var' nodes cannot start or be numerical
  622. * Fixes:
  623. * Fixed shader function subtitles not being shown after being set with the 'Function Subtitle' node
  624. * Fixed Custom Lighting using opacity and opacity mask duplicating code
  625. v1.5.2 dev 01:
  626. * Fixes:
  627. * Changed alpha generation for Custom Lighting to work correctly with alpha mask
  628. * Fixed issue on shader function reloading not being taken as a load operation
  629. * Fixed instanced properties not being correctly taken into account inside shader functions
  630. * Improvements:
  631. * Improved shader function asset loading on Shader Function node
  632. v1.5.1 dev 06:
  633. * Improvements:
  634. * Added preview to 'Noise Generator' node
  635. * Improved node internal data viewer performance
  636. * Improved the shader changed/dirty flag behavior
  637. * Improved graph canvas position adjust on loading from a previously different window configuration
  638. * Renamed 'Melting' sample shader to be in accordance with other community samples
  639. * Fixes:
  640. * Fixed property node auto-register issue on 'Skybox - Cubemap Extended' sample
  641. * Fixed issues with 'World Normal' and 'World Reflection' nodes on PS4
  642. * Fixed multiple cast issues across multiple nodes
  643. * Fixed incorrect port behavior on 'Refract' node
  644. * Fixed issue on undoing instanced properties assignment
  645. * Fixed 'Break To Components' node duplicating code and generating errors
  646. v1.5.1 dev 05:
  647. * Improvements:
  648. * Added previews to nodes
  649. * Desaturate
  650. * Grayscale
  651. * Posterize
  652. * Simple Contrast
  653. * Normal type input ports now show the correct default tangent vector on nodes internal value previewer
  654. * Indirect Diffuse Light
  655. * Indirect Specular Light
  656. * Fresnel
  657. * World Normal
  658. * Fixes:
  659. * Fixed possible issue with 'Desaturate' node on PS4
  660. * Fixed issues with Undo/Redo operations over Wire nodes
  661. * Fixed light color and light dir info on 'Light Color'
  662. * Now takes into account Unity different behaviors between versions
  663. * Fixed issue on loading canvas on ASE tabs pointing to inexistent resources
  664. v1.5.1 dev 04:
  665. * New Node:
  666. * Function Subtitle
  667. * Allows creation for custom subtitles on Shader Functions
  668. * New Shader Functions:
  669. * Perturb Normal
  670. * Cotangent Frame
  671. * Improvements:
  672. * Can now assign property to both blend modes and operations
  673. * Removing carriage return when saving 'Custom Expression' node code on meta
  674. * Improved restrictions on Shader Functions outputting Matrix type data
  675. * Name is carried over Pasted/Duplicated 'Custom Expression' nodes
  676. * Custom Editor/Inspector option is now available over templates
  677. * Updated both Lightweight template and samples to new beta version
  678. * Template now support vertex offset and alpha test
  679. * Nodes internal data can be viewed directly on canvas
  680. * Can be turned on/off through the 'I' key
  681. * Added Editable If Custom Drawer by BinaryCats
  682. * Dynamic interpolator cap now respecting pass choice on graph
  683. * Updating current templates to be dynamically cap'ed
  684. * 'Light Color' and 'World Space Light Dir' nodes now behave properly when used with lightmaps
  685. * Fixes:
  686. * Fixed issue with incorrectly trying to write fragment instructions on template without specified frag code area
  687. * Fixed issue where reference 'Function Switch' nodes were not displaying their option in all cases
  688. * Fixed wire node Undo issues
  689. v1.5.1 dev 03:
  690. * New Samples:
  691. * Simple Potion Liquid
  692. * Melting by Gil Damoiseaux
  693. * Improvements:
  694. * Extended functionalities on 'Custom Expression' node
  695. * Added Auto-Register toggle to create custom functions even if not connected to output node
  696. * Added void to Output Type
  697. * Call Mode toggle is now a Mode dropdown
  698. * Mode Call now only allows external function calls or inline instructions
  699. * If a return instruction is detected on code, Mode is set to Create and return type set to void
  700. * Fixes:
  701. * Fixed Undo issue with property type nodes auto-register option
  702. * Fixed issue on calculation view direction on tangent space over templates
  703. v1.5.1 dev 02:
  704. * Fixes:
  705. * Fixed issue with 'Standard Surface Light' not taking Normal Space option into account
  706. * Fixed minor issue over 'Outline' node
  707. * Fixed issue on Undo not resetting correctly ports internal values
  708. * Fixed issue on incorrectly assigning main output node status into copy-pasted 'Function Output' nodes
  709. * Improvements:
  710. * Added custom attributes to 'Static Switch' node
  711. * Custom Material Inspector now properly copies texture scale and offset values
  712. v1.5.1 dev 01:
  713. * Fixes:
  714. * Fixed 'Static Switch' node not properly generating Enum code in the correct order
  715. * Fixed normal generation issue on 'Standard Surface Light' node
  716. * Fixed issue when attempting to load shader using inexistent template on project folder
  717. * Now fall-backing to Standard Surface when template is not found
  718. * Fixed issue capturing properties with attributes on templates
  719. * Fixed incorrect tool-tip on 'Template Multi-Pass Switch' node
  720. * Fixed issue on normal generation over 'Fresnel' node
  721. * Fixed initialization issue on Default UI template
  722. * Fixed issue with accessing uninitialized textures on 'Triplanar Sample' node
  723. * Fixed preview issue on 'Template Parameter' node
  724. * Fixed issue locking picker on texture type nodes to current type when auto-cast is on
  725. * Improvements:
  726. * Improved 'Break To Components' generated code
  727. * Preventing duplicates/re-definition of Pragmas, Defines and Includes over templates
  728. v1.5.0 dev 02:
  729. Fixes:
  730. * Fixed issue on template capturing commented properties
  731. * Fixed multiple issues over templates with multiple sub-shaders
  732. * Fixed issue on master nodes attempting to access uninitialized UI texture
  733. * Fixed issue with sometimes not extracting the correct pass name from template
  734. * Fixed issue on incorrectly catching shader name on fetching modules info
  735. * Fixed issue with correctly setting the shader name
  736. v1.5.0 dev 01:
  737. * New Samples:
  738. * SRP Lightweight GlintSparkle
  739. * SRP Lightweight Coverage
  740. * Fixes:
  741. * Fixed issue on loading shader with missing shader functions
  742. * Fixed issue on duplicate pragmas over generated shader
  743. * Fixed issue with template post processor not correctly registering new templates
  744. * Fixed issue on template output nodes modules incorrectly sharing foldout value
  745. * Fixed Undo issue when undoing deleted property type nodes after saving shader
  746. * Fixed 'Static Switch' node registering duplicates in the material properties group
  747. * Improvements:
  748. * Reorganized samples shader paths
  749. * Reorganized template menu items
  750. * Canvas and output node title now shows shader name without relative paths
  751. * 'Register Local Var' node now generates a new name when duplicated
  752. * 'Indirect Diffuse Light', 'Indirect Specular Light' and 'Light Attenuation' nodes now work on templates
  753. v1.4.5 dev 04:
  754. * New features:
  755. * Added support for multi-pass templates
  756. * Added support for Lightweight Scriptable Rendering Pipeline
  757. * New Shader Function:
  758. * Create Normal : Generates a normal map from a height map
  759. * New Template:
  760. * LightweightSRP
  761. * Fixes:
  762. * Fixed texture coordinates generation in templates
  763. * Changed initialization in 'Triplanar Sample' node to prevent null pointer errors
  764. v1.4.5 dev 03:
  765. * Improvements:
  766. * Exposed Specular Color property into the Output node material list when Blinn Phong Light Model is selected
  767. v1.4.5 dev 02:
  768. * Fixes:
  769. * Fixed Auto-Register option not being saved for property type nodes
  770. * Fixed issues with generated normalized screen position values over templates
  771. * Improvements:
  772. * Cull, Stencil, Color Mask and Depth options can now reference properties instead of standard options
  773. * Redone visuals of property type nodes Attributes list to be easier to use
  774. * Added new Enum and Custom attributes to property type nodes
  775. * Enum on Create Enum mode creates an Enum attribute using the specified Name/Value pairs
  776. * Enum on Use Engine Enum Class mode creates an Enum attribute from the specified class
  777. * Custom attribute allows to specify completely custom attributes
  778. * Outline now forces shader to be Forward only to prevent visual inconsistencies
  779. v1.4.5 dev 01:
  780. * New Shader Function:
  781. * Constant Bias Scale
  782. * Fixes:
  783. * Fixed null pointer issue with removing connections with Alt key
  784. * Fixed issue on 'Template Local Var' node only working on fragment function
  785. v1.4.4 dev 06:
  786. * Fixes:
  787. * Fixed issue on 'Texture Sample' nodes not automatically setting the texture type on AUTO
  788. * Fixed connection type mismatch after CTRL + swap shortcut
  789. * Fixed issue on 'Dither' node
  790. v1.4.4 dev 05:
  791. * Fixes:
  792. * Fixed multiple Undo issues on shader functions
  793. * Fixed serialization issue with both nodes and graph when hitting Unity play button
  794. v1.4.4 dev 04:
  795. * Fixes:
  796. * Fixed issue on Specular Highlights and Reflection toggle not being read/written into shader meta
  797. * Fixed issue on not correctly taking templates global variables into account when building shader
  798. * Fixed issue where 'Triplanar Sample' node wasn't being initialized properly
  799. * Fixed Undo issues on create/delete nodes
  800. * Fixed Undo issues on preview node resizing
  801. * Improvements:
  802. * Added new Enum Property Attributes for both 'Float' and 'Int' nodes
  803. * Added new Keyword Enums option to 'Static Switch' node Type option
  804. * Improved its interface to better accommodate new options
  805. * Added new keywords to 'Static Switch' Keyword dropdown
  806. * Increase max port count for 'Function Switch' node to 9
  807. * Added/Changed shortcuts for various nodes
  808. * R - Create 'Register Local Var' node
  809. * G - Create 'Get Local Var' node
  810. * Z - Create 'Swizzle' node
  811. * X - Create 'Cross' product node
  812. * Period(.) - Create 'Dot' product node
  813. * B - Create 'Break to Components' node
  814. * K - Create 'Component Mask' node
  815. * V - Create 'Append' node
  816. v1.4.4 dev 03:
  817. * New Sample:
  818. * Skybox - Cubemap Extended by Cristian Pop
  819. * New Shader Functions:
  820. * Step Antialiasing
  821. * Create Orthogonal Vector
  822. * Improvements:
  823. * Node graph is now a ScriptableObject to better deal with automatic serialization
  824. * Templates can now register and use local variables
  825. * Use /*ase_local_var*/ before the variable declaration over the template
  826. * Access the local variable through the new 'Template Local Var Data' node over the graph
  827. * Added new Normal Space option into 'Standard Surface Light' node
  828. * Optimized nodes port internal data usage
  829. * Node tooltip no longer shown online link for shader function nodes
  830. * Small optimizations to node previews
  831. * Fixes:
  832. * Fixed function registry on 'Custom Expression' node to correctly deal with dependencies
  833. * Fixed issue on linear textures over the texture creator tool
  834. * Fixed issue where the editor was being called on play mode but no window was present
  835. * Fixed issue on texture coordinates of different sizes being created with the same name
  836. v1.4.4 dev 02:
  837. * Fixes:
  838. * Fixed issue on templates where vertex normal was being declared as a float4 on vertex data
  839. * Fixed PS4 issue on billboards generated code
  840. * Updated Orientation Based Sprite sample to include fix
  841. * Improvements:
  842. * Changed texture array creator to support compressed formats
  843. * Added custom inspector for texture arrays to allows previewing their contents on the inspector window
  844. * Added new Set Unique option into 'Custom Expression' node
  845. * If toggled off, generated internal function doesn't use unique id on its name
  846. v1.4.4 dev 01:
  847. * Improvements:
  848. * Custom Pragmas, Includes and Defines are now also included on the Outline pass
  849. * Automatically removing crlf from copy-pasted code over the 'Custom Expression' node
  850. * Custom Render Type can now be specified on the Render Type dropdown over the Output node properties
  851. * Fixes:
  852. * Fixed issues on 'Remainder' node
  853. v1.4.3 dev 05:
  854. * Fixes:
  855. * Fixed issue on excluding Add Pass independently of Debug port connection
  856. v1.4.3 dev 04:
  857. * New Shader Function:
  858. * Radial UV Distortion
  859. * Sample with the same name was also added to demonstrate its usage
  860. * Fixes:
  861. * Fixed multiple issues related to Debug port usage on Output node
  862. * It now works as a custom lighting port instead of emission
  863. * Fixed issue on incorrectly opening standard materials into ASE
  864. * Fixed issue on duplicate local variable creation when using 'Parallax Mapping' node on shader functions
  865. v1.4.3 dev 03:
  866. * Fixes:
  867. * Fixed issue on 'Vertex Tangent' node internally outputting float4 data in templates instead of float3
  868. * Fixed shader function category typos
  869. * Fixed issue on ports accessing already destroyed nodes for previews
  870. * Fixed issue on precision type used in shader functions
  871. * Improvements:
  872. * Added ZWrite and ZTest options to 'Outline' node
  873. v1.4.3 dev 02:
  874. * Improvements:
  875. * Shader tags can now be modified on templates based shaders
  876. * Added new Particle Additive option on Blend RGB and Blend Alpha dropdown
  877. * Sets Source to 'Source Alpha' and Destination to 'One'
  878. * Added new options to 'Shade Vertex Lights' node
  879. * Can now select amount of lights to take into account and if as spot or point light
  880. * Fixes:
  881. * Fixed issue on incorrectly indented code generated by some nodes on template shaders
  882. v1.4.3 dev 01:
  883. * New Samples:
  884. * Orientation Based Sprite
  885. * UI Sprite FX
  886. * New Shader Function:
  887. * Box Mask
  888. * UI-Sprite Effect Layer
  889. * Fixes:
  890. * Fixed issue on attempting to deactivate destroyed nodes
  891. * Improvements:
  892. * Updated Sprite and UI templates to better support normal maps
  893. * Changed way logic is updated in some nodes to be more consistent and work inside shader functions
  894. v1.4.2 dev 06:
  895. * Fixes:
  896. * Fixed incorrect wire highlighting caused by 'Register Local Var' node
  897. * Fixed issue with 'Texture Sample' node not generating proper UVs in specific cases when using templates
  898. * Minor UI and refresh fixes to 'Function Switch' node
  899. * Fixed issue on incorrectly loading SimpleTerrain sample
  900. * Fixed issue on unnecessary loading when opening a changed shader or function
  901. * Improvements:
  902. * Added compatibility with Unity 2018
  903. * For now 'Substance Sample' node is unavailable on this version
  904. * Substance example is now inside a unity package to prevent sbsar importing error
  905. * Removed Substance and API update warnings on Unity 2017
  906. * Added new Vertex Position input port into 'Surface Depth' and 'Camera Depth Fade' nodes
  907. * Can now take custom vertex positions into account
  908. * Added some minor improvements into 'Register Local Var'/'Get Local Var' node usage
  909. * 'Register Local Var' node is now highlighted if one of its 'Get Local Var' nodes are selected
  910. * 'Register Local Var' node now lists and can focus each 'Get Local Var' which uses it
  911. * Added reference capabilities to 'Function Switch'
  912. * One node can now control different paths of a shader function graph
  913. v1.4.2 dev 05:
  914. * Fixes:
  915. * Fixed Undo issues with connections created/deleted by drag + Alt
  916. * Fixed issue on templates vertex local variables when using 'Vertex To Fragment' node
  917. * Fixed bug where 'Function Switch' node options were being incorrectly saved which caused a crash on load
  918. * Fixed shader 'Function Switch' node options not being correctly ordered all the time
  919. * Fixed connection signal detection to make 'Function Switch' nodes know when to turn on
  920. v1.4.2 dev 04:
  921. * New Node:
  922. * Function Switch
  923. * Node specific to shader functions which allows switching options at compile time on them
  924. * New Shader Function:
  925. * Flipbook
  926. * Improvements:
  927. * Changed switch type nodes port order to match 'Function Switch' and maintain consistency
  928. * Fixes:
  929. * Fixed issue on duplicated functions when both outline and shadow caster passes are active
  930. * Fixed issue with calculating label size for nodes
  931. * Fixed UI issue when not being able to read depth info from template
  932. v1.4.2 dev 03:
  933. * Improvements:
  934. * Added Depth module into templates
  935. * Minor improvement on Four Splats First Pass Terrain shader function
  936. * Minor improvement on TerrainSnowCoverage and SimpleTerrain samples
  937. * Added preview and access to internal data into 'HSV To RGB' and 'RGB To HSV' nodes
  938. * Added preview to 'If' node
  939. * Added new Normalize option into 'World Normal' and 'World Reflection' nodes
  940. * 'Outline' node now supports transparency and mask operations through the new Alpha Mode option
  941. * An additional depth pass can be added via the new Extra Depth Pass option on the Output Node properties
  942. * Property nodes can now register its properties/global variables without being connected to Output node
  943. * Done via the new Auto-Register option
  944. * Fixes:
  945. * Fixed minor issue on 'Rotate About Axis' node UI
  946. * Fixed issue with 'World Reflection' node on templates
  947. v1.4.2 dev 02:
  948. * Improvements:
  949. * 'Toggle Switch' node can now share properties
  950. * Added lock button to property name on property type nodes
  951. * Allows to customize the internal variable name used
  952. * Added support for 'View Dir' node on templates
  953. * Added preview position selection to shader functions to further customize function nodes
  954. * Fixes:
  955. * Fixed issue where custom shadows were ignoring vertex colors
  956. * Fixed issue on 'Fresnel' node using a non-normalized normal vector
  957. * Small fix on 'Static Switch' node getting and setting values from the material
  958. v1.4.2 dev 01:
  959. * Improvements:
  960. * Lowered Shader Model target of Custom Lighting Toon example to be compatible with MacOs
  961. * Improved generated code for 'Grab Screen Color' and 'Grab Screen Position' nodes
  962. * Changed automatic generation of 'Grab Screen Color' node to make sure normalization is happening only once
  963. * Added a toggle on 'Grab Screen Color' node which chooses if it normalizes/projects the input or not (default OFF)
  964. * Fixes:
  965. * Fixed issue on generating default values for shader functions
  966. * Fixed issue on normal generation with the following nodes:
  967. * 'Fresnel'
  968. * 'Indirect Specular Light'
  969. * 'World Reflection'
  970. v1.4.1 dev 02:
  971. * New Nodes:
  972. * Decode Depth Normal
  973. * Encode Depth Normal
  974. * Improvements:
  975. * Added internal data into shader functions
  976. * If inputs are unconnected is now possible to change the default value from its node property panel
  977. * Property type nodes can now keep material value when not connected to an Output node
  978. * Tweaked 'Static Switch' node properties
  979. * Initial opened tab on property nodes depends on material mode
  980. * Fixes:
  981. * Fixed issue on 'Custom Expression' node when using out variables in Call mode
  982. * Preventing 'Commentary' node from generating infinite loops when copy-pasted
  983. * Fixed issue with incorrect refresh call order on pasted nodes
  984. * Fixed issue on nodes are not being correctly nested into their parent 'Commentary' node when copy-pasted
  985. * Fixed issue on 'Toggle Switch' node not updating port names correctly after loading
  986. * Fixed focus issue on pickers with Mac
  987. v1.4.1 dev 01:
  988. * Fixes:
  989. * Fixed issue on 'Texture Sampler' node getting incorrectly configured on load
  990. * When default texture type different from material texture type
  991. v1.4.0 dev 06:
  992. * New Samples:
  993. * Simple Terrain
  994. * Terrain Snow Coverage
  995. * Custom Outline Toon
  996. * New Nodes:
  997. * Rotate About Axis
  998. * Outline
  999. * New Shader Functions:
  1000. * Four Splats First Pass Terrain
  1001. * Improvements:
  1002. * Tweaked 'Scale And Offset' node behavior
  1003. * Added Defines tab into Output node properties
  1004. * Preventing possible compilation errors on Experimental .NET 4.6
  1005. * Fixes:
  1006. * Fixed issue on 'Texture Sampler' node not previewing a connected 'Texture Object' node
  1007. * Fixed issue on texture picker not working correctly on texture nodes
  1008. * Fixed incorrect version reading Convert To Linear parameter at 'Screen Depth' and 'Depth Fade' node
  1009. * Fixed issue on duplicate UV Set on 'Texture Sampler' node when connected to a 'Texture Object'
  1010. * Fixed issue shader function inputs and outputs getting lost when re-focusing on them by double clicking the shader function node
  1011. * Fixed issue on 'Custom Expression' node name editing on node body
  1012. v1.4.0 dev 05:
  1013. * Fixes:
  1014. * Fixed issue on shadow caster for legacy samples:
  1015. * Matcap
  1016. * Parallax Mapping Iterations
  1017. * Reflect Refract Soap Bubble
  1018. * Screen Space Curvature
  1019. * Fixed typo in 'Toggle Switch' node
  1020. * Fixed issue on incorrectly accessing port through array id instead of unique id
  1021. * Fixed issue on deprecated internal data not being correctly read into new 'Append' node
  1022. * Improvements:
  1023. * Up and Down arrow keys can now change the focus of the node element in the context palette search similar to the Tab key
  1024. v1.4.0 dev 04:
  1025. * New Samples:
  1026. * Animated UV Distortion
  1027. * Fixes:
  1028. * Fixed issue on a shader function node crashing when its corresponding asset is not found
  1029. * Fixed issue on applying Undo on Material Inspector not being caught by ASE canvas
  1030. * Fixed issue on 'Float' node slider not being registered on Undo stack
  1031. * Fixed issue on generating duplicate function names at 'Noise Generator' node
  1032. * Fixed issue on returning to from a shader function to a main graph using with that shader function selected
  1033. * Improvements:
  1034. * Added new Variable Mode property into property nodes when their type are not Constant
  1035. * Create Mode, this is the current option on which an uniform variable is always created when the node is analyzed
  1036. * Fetch Mode, assumes that this variable is already declared elsewhere, p.e. an external lib and doesn't declare it
  1037. * When Property Type is selected, the property declaration is still created
  1038. * Added explicit call to both Thread and CultureInfo system classes to avoid conflicts with user classes without proper namespace
  1039. * Shader function's input and output ports maintain correct connections after being internally re-ordered
  1040. * Automatically adding spaces into camelcase'd shader function node titles
  1041. v1.4.0 dev 03:
  1042. * Improvements:
  1043. * Added validity check on Output and Input data types
  1044. * Improved color code request for ports
  1045. v1.4.0 dev 02:
  1046. * New Shader Functions:
  1047. * Compute Filter Width
  1048. * Improvements:
  1049. * Explicitly calling System.Globalization on TextInfo usage to avoid compilation errors
  1050. * Added custom pragmas for shader functions
  1051. * Updated Vertex Normal Reconstruction sample
  1052. * Added Reflection and Specular Highlight toggles into the Rendering Options group that mimic Unity's Standard
  1053. * Added ToggleOff option to 'Static Switch' node which should now allow the creation of OFF toggles
  1054. * Fixes:
  1055. * Fixed issue of properties not being properly ordered if their material property group wasn't open
  1056. * Blend modes now update properly even if group is collapsed
  1057. v1.4.0 dev 01:
  1058. * Fixes:
  1059. * Fixed issue with 'World Space Light Pos', 'World Space Light Dir' and 'Object Space Light Dir' nodes
  1060. * Fixed issue on 'Texture Coordinates' node forcing a sampler to be picked even when none was selected
  1061. * Fixed issue on 'Indirect Diffuse Light'node ignoring the tangent space normal completely
  1062. * Small fix to shader functions so they can refresh their custom include list properly on change
  1063. * Improvements:
  1064. * Added node previews for 'Light Attenuation' and both Indirect Light nodes
  1065. * Added explicit call to Unity Editor ShaderUtil on Material Inspector to prevent class issues
  1066. * Added Dependencies List on the Output Node properties
  1067. v1.3.9 dev 03:
  1068. * New Nodes:
  1069. * 'Projector Matrix'
  1070. * 'Projector Clip Matrix'
  1071. * 'Texture Transform'
  1072. * Improvements:
  1073. * Properties can be re-ordered on Template shaders
  1074. * Cull, Blend Mode, Blend Ops, Color Mask and Stencil Buffer data can be read and modified on Template shaders
  1075. * Added new custom Time port into 'Flipbook UV Animation' node
  1076. * Templates no longer need /*ase_pass*/ tag to be declared
  1077. * Adding UnityEngine.Object redundancy on its usage to prevent issues with other plugins
  1078. * Outline can now take fog into account
  1079. * Fixes:
  1080. * Fixed issue on shader function headers being placed last on shader property list
  1081. v1.3.9 dev 02:
  1082. * Fixes:
  1083. * Additional fix on custom colored categories
  1084. v1.3.9 dev 01:
  1085. * Fixes:
  1086. * Fixed issue with 'Texture Coordinates' node not generating proper code for sizes bigger than float2
  1087. * Fixed issue on reading old shaders data into new ASE versions
  1088. * Fixed issue on custom colored categories
  1089. * Improvements:
  1090. * Updated various samples that were still compiled on older ASE versions
  1091. * ASE window now loses text focus when losing its focus to prevent UI issues
  1092. * Added proper Texcoord support in custom shadow caster
  1093. * Added new toggle on 'Screen Depth' and 'Depth Fade' nodes to disable conversion from log to linear space
  1094. * Important for Orthographic camera projections where Depth Buffer values are already stored in linear space
  1095. v1.3.8 dev 02/03:
  1096. * Improvements:
  1097. * Added new custom lighting port and migrated the emission connection to this port
  1098. * Now custom lighting display both albedo and emission to be used in baking
  1099. * 'Function Input' and 'Function Output' names can be edited through node body
  1100. * Fixes:
  1101. * Fixed indentation issue on some templates generated code
  1102. * Fixed issue in texture property that would forget it's auto cast type on load
  1103. * Fixed issue on 'Triplanar Sample' node being initialized with incorrect internal tiling value
  1104. * Fixed issue on screen position for 'Dither' node
  1105. * Now it changes the screen position interpolator globally to make it work on the shadow caster
  1106. v1.3.8 dev 01 ( the same as v1.3.7 dev 07 but bumped version for Asset Store release ):
  1107. * Improvements:
  1108. * Added Shader Function previews
  1109. * Improved node list update on current focused window when renaming a shader function
  1110. * Fixes:
  1111. * Fixed issue on tabs node list not being updated with shader function renaming
  1112. * Fixed issue with opacity mask not working correctly in custom lighting mode
  1113. v1.3.7 dev 05/06:
  1114. * New Shader Functions:
  1115. * Half Lambert Term
  1116. * Blinn-Phong Light
  1117. * Fixes:
  1118. * Fixed issue with setting the proper canvas mode when load the shader or the editor window on hotcode reload
  1119. * Fixed issue with shader function titles not supporting hyphen characters
  1120. * Fixed issue on not refreshing shader function include files on load
  1121. * Fixed issue on shader function tab name not being renamed when its file is renamed from the editor
  1122. * Fixed 'Texture Sampler' node preview when in reference mode
  1123. * Fixed stack overflow crash with pasting 'Commentary' nodes
  1124. * Improvements:
  1125. * Premultiplied options now multiply RGB values with Alpha when in custom lighting mode
  1126. * Shader Functions are now loaded by guid and fallback to name search method if load fails
  1127. * Added custom categories for shader functions
  1128. * Recompiled existing shader functions to account for new categories
  1129. * Improved 'Triplanar Sample' node texture array support
  1130. * Now allows different index for each texture when doing triplanar in cylindrical mode
  1131. * Area from picking inputs from connections now only take the port icon into account and only include the label when dropping the connection
  1132. * Added preview for 'Static Switch' node
  1133. v1.3.7 dev 04:
  1134. * Fixes:
  1135. * Fixes issue on Shader Function includes
  1136. v1.3.7 dev 03:
  1137. * Fixes:
  1138. * Fixed issue on custom lighting nodes not compiling correctly when inside a shader function
  1139. * Fixed dithermask being declared when not in use
  1140. * Fixed texture array support with 'Triplanar Sample' node generating index code inside the function instead of outside of it
  1141. * Fixed issue with 'Append' node preview
  1142. * Improvements:
  1143. * Replacing '\' with '/' instead of removing it when writing Additional Include path names
  1144. * Added Additional Include list into shader functions
  1145. v1.3.7 dev 02:
  1146. * Fixes:
  1147. * Fixed issue with 'Texture Coordinates' node not generating local variables correctly
  1148. * Fixed issue with Refraction port not correctly working with Tessellation
  1149. * Fixed issue on applying vertex offset in certain Templates
  1150. * Fixed cast and per channel operation issues on remaining blends on 'Blend Ops' node
  1151. * Fixed issue on Soft Light Blend Op on 'Blend Ops' node
  1152. * Fixed issue of Shader Function nodes not propagating data when generating code
  1153. * Fixed focus issues when adding new items on Additional Includes, Pragmas, Sub-Shaders Tags and 'Custom Expression' node tools
  1154. v1.3.7 dev 01:
  1155. * Fixes:
  1156. * Fixed 'Fmod' node issue with Int type connections
  1157. * Small fix to the path button in the new Texture Array Creator tool
  1158. * Improvements:
  1159. * Adding fallback when searching template by guid fails
  1160. v1.3.6 dev 01:
  1161. * Fixes:
  1162. * Fixed error when setting previews for texture related nodes
  1163. * Improvements:
  1164. * Improved cubemap support into texture related nodes
  1165. * Removing Texture 0-3 and Scale Matrix options from 'Common Transform Matrices' node
  1166. * Major rewrite for 'Triplanar Sample' node to make it easy to extend on the future
  1167. * Small performance increase to 'Triplanar Sample' node
  1168. * Deprecated nodes:
  1169. * 'Texture 0 Matrix'
  1170. * 'Texture 1 Matrix'
  1171. * 'Texture 2 Matrix'
  1172. * 'Texture 3 Matrix'
  1173. * 'Scale Matrix'
  1174. v1.3.5 dev 02:
  1175. * New Tool:
  1176. * Added Texture Array Creator tool
  1177. * Available at Window > Amplify Shader Editor > Texture Array Creator
  1178. * Fixes:
  1179. * Fixed Undo not being able to recover some nodes
  1180. * Improvements:
  1181. * Changed Custom Material Inspector to be able to set and show custom meshes in it's Preview
  1182. * Template Data nodes now expand individual channels if data selected is from vector/color type
  1183. * Expanded individual channels ports on:
  1184. * 'Object Space Light Dir'
  1185. *'World Space Light Dir'
  1186. * 'World Space Camera Pos'
  1187. * 'Position From Transform'
  1188. * 'Vector From Matrix'
  1189. v1.3.5 dev 01:
  1190. * New Shader Functions:
  1191. * Blinn-Phong Half Vector
  1192. * Fixes:
  1193. * Fixed issue on 'Toggle Switch' node not being correctly registered when created
  1194. v1.3.4 dev 02:
  1195. * Fixes:
  1196. * Fixed issue on text fields in nodes picking up values from other text fields in the editor
  1197. * Fixed cast issue on 'Flipbook UV Animation' node
  1198. * Fixed issue on creating sampler wire nodes
  1199. * Small fix for resize buttons of 'Comment' nodes
  1200. * Small fix to focus and select search text in the context menu not happening in specific situations
  1201. * Fixed issue with 'Object To View Pos' local variable
  1202. * Fixed 'Triplanar Sample' node normal mode signs in certain situations
  1203. * Fixed issue on adding the same grab pass declaration multiple times
  1204. * Fixed issue on incorrectly getting separate channels from transform nodes after local variables are created
  1205. * Fixed issue on duplicate uniforms with some templates
  1206. * Fixed issue where shader function properties were resetting after every save
  1207. * Improvements:
  1208. * Locking blend type nodes from sampler and matrix type connections
  1209. * Expanded 'Object To View Pos' vector output vector into individual ports
  1210. * Changed 'Triplanar Sample' node base UV direction to match unity terrain
  1211. * Expanded vector ports for 'Object Space View Dir' and 'World Space View Dir'
  1212. * 'Lerp' node now converts int types in the alpha input port to float types to prevent errors
  1213. v1.3.4 dev 01
  1214. * Fixes:
  1215. * Fixed issue with Opacity Mask port incorrect type
  1216. * Fixed issue with incorrectly saving/loading multilines state in editor prefs
  1217. * Fixed issue on not being able to create relays on texture type connections
  1218. v1.3.3 dev 01:
  1219. * Fixes:
  1220. * Fixed multiple issues with 'Append' node behavior
  1221. * Fixed null pointer exception when Shift + Tabbing helper window
  1222. * Fixed duplication error on UV generation code
  1223. * Improvements:
  1224. * Added Alpha To Coverage option ( tied to Opacity port being active )
  1225. * Opacity Mask now only generates code if connected
  1226. * Blend ops defaults are now OFF instead of ADD
  1227. * Blend ops now pick the respective refined options when a specific blend mode is selected to make it easy to switch between them and the custom option ( opaque doesn't change anything )
  1228. v1.3.2 dev 04/05:
  1229. * Fixes:
  1230. * Fixed Asset Post Processor issue with Templates renaming
  1231. * Fixed middle clicking on reference preview focusing on referenced node
  1232. * Fixed graphic glitch on 'Static Switch' node button
  1233. * Fixed issue with copy/pasting nodes taking incorrect property names
  1234. * Fixed issue on 'Toggle Switch' incorrectly being read from older ASE versions
  1235. * Minor fix on 'Object To Clip Pos' node
  1236. * Fixed Undo issue with pasted property nodes
  1237. * Fixed issue with duplicate local variables on templates when having multiple ports from the same category
  1238. * Improvements:
  1239. * Minor visual tweak on 'Standard Surface Light' node
  1240. * Removed dependencies on custom shader inspector over the main ASE window so it can be removed by users
  1241. * Setting first vector port automatically invisible ( if unconnected ) on nodes representing Unity built-in parameters ( since they are never used as vectors )
  1242. * Improved custom template reader behavior
  1243. * Minor improvement on Undo node paste behavior
  1244. * Added Stencil Buffer Back and Front face options ( only visible when Culling is Off )
  1245. * Changed input ports number of connections and data type visualization to represent the data being transferred in each cast
  1246. * Improved crooked lines when nodes are too close to each other
  1247. * Added custom single line texture properties for when the texture is marked to not have scale and offset properties
  1248. v1.3.2 dev 03:
  1249. * Fixes:
  1250. * Fixed issue with 'Texture Sampler' node not taking procedural textures correctly into account
  1251. * Matrices can no longer be connected into 'Vertex To Fragment' nodes input port
  1252. * Fixed reordering issues with shader functions when these were updated
  1253. * Fixed rare compile issue where shader function headers were created but no property was present
  1254. * Fixed issue where view direction vector shader code was being generated with different precision types
  1255. * Fixed issue with Matrix nodes being able to choose its type as Property and add Attributes
  1256. * Fixed issue with Matrix nodes initial value not corresponding to internal draw data
  1257. * Fixed issue with Matrix3x3 not working correctly when its type was set as Global
  1258. * Fixed issue on function nodes generating local variables for Sampler data type variables
  1259. * Improvements:
  1260. * Activating internal data for tessellation nodes
  1261. * Minor tweak on vertex position data across all templates
  1262. * Preventing 'DDX' and 'DDY' nodes to generate code when in vertex function
  1263. * Removed Sampler data types as valid 'Custom Expression' output valid type
  1264. v1.3.2 dev 02:
  1265. * New Shader Functions:
  1266. * 'Bidirectional Parallax Mapping'
  1267. * Mimics iterative Parallax Mapping with reference plane
  1268. * 'Reconstruct World Position From Depth'
  1269. * New Samples:
  1270. * Added new Vertex Normal Reconstruction sample
  1271. * Fixes:
  1272. * Fixed issue with shader function nodes generating the same code multiple times
  1273. * Fixed issue with function input generating duplicated code
  1274. * Fixed issue with 'Texture Coordinates' node generating code in the vertex function when used inside a shader function
  1275. * Fixed issue on 'Texture Coordinates' node in templates not respecting the size of the Coord Size option
  1276. * Fixed issue on matrix multiplication via the 'Multiply' node not taking correct output type into account
  1277. * Minor fix on Search Bar positioning
  1278. * Recompiled Triplanar sample to be PS4 compatible
  1279. * Recompiled Translucency sample to be PS4 compatible
  1280. * Recompiled Hologram sample to be PS4 compatible
  1281. * Fixed compilation issue with Billboard generated code in PS4
  1282. * Fixed hot code reload issue with 'Template Parameter', 'Template Vertex Data' and 'Template Fragment Data'
  1283. * Fixed issue on 'Fresnel' node not read/writing new normal space option
  1284. * Fixed issue on 'Screen Position' node when used on Templates
  1285. * Improvements:
  1286. * Functions inputs now allow the use of node default graph trees supporting complex default operations
  1287. * Particle Alpha Blend template now uses a float4 on its TEXCOORD0 semantic both for vertex and interpolator data
  1288. * Added pragma tag into Default Sprites template
  1289. * Added port failsafe config into 'Texture Sample' node after reading all its internal data
  1290. * Making vector port invisible in Unity Parameters type nodes if not being used
  1291. * 'Component Mask' node only creates local variables if needed
  1292. * Multi-wire colored connections now active by default
  1293. * 'Fresnel' node now have Normal Space option set to Tangent by default
  1294. * Shader functions now display their description on its Inspector window
  1295. * Fixed 'Grab Screen Position' and 'Grab Screen Color' nodes for VR and updated the respective samples accordingly
  1296. v1.3.2 dev 01:
  1297. * New nodes:
  1298. * 'Camera To World Matrix'
  1299. * 'World To Camera Matrix'
  1300. * Fixes:
  1301. * Fixed issues with 'Toggle Switch' node
  1302. * It now properly creates a toggle property and lets user change material in the editor
  1303. * Fixed issue on vertex local variables not being registered correctly on custom lighting
  1304. * Precision selection on 'Grab Screen Color' node is no longer locked when Custom Grab pass is disabled
  1305. * Fixed issue with 'Depth Fade' node on OpenGL platforms
  1306. * Normalized screen position code now works properly in all platforms
  1307. * Fixed issue with 'Texture Array' node preview
  1308. * Fixed issue with 'Vertex To Fragment' node generating duplicated code
  1309. * Improvements:
  1310. * Added toggle button into 'Static Switch' node
  1311. * Improved wire auto-connection to node when its created from the context palette when dragging a wire
  1312. * Auto screen UVs from 'Grab Screen Color' node now also take Unity Single Pass Stereo into account
  1313. * Improved code generation on screen position related nodes
  1314. * Activating internal port data into 'Toggle Switch' node
  1315. * Updated Simple Blur and Simple noise examples to be fully android compatible
  1316. * Tweaked 'Desaturate' node to prevent issues with PS4
  1317. * Tweaked 'Parallax Occlusion Mapping' node to prevent issues with PS4
  1318. v1.3.1 dev 11:
  1319. * Fixes:
  1320. * Fixed incorrect UV variable name on Post-Process template
  1321. * Fixed Perforce integration again
  1322. * Fixed preview on 'Fresnel' node for the new tangent mode
  1323. * Fixed issue with 'Screen Position' subtitle
  1324. * Fixed issue with 'Vertex to Fragment' node on templates
  1325. * Improvements:
  1326. * Added two additional nodes to templates,'Template Vertex Data' and 'Template Fragment Data'
  1327. * These nodes allow direct access to vertex and interpolated fragment data from the template
  1328. * Adding vertex code entry tag into Post-Process template
  1329. * Improved fail-safe behavior on attempt to write vertex code on template with no vertex tag declared
  1330. * Minor tweaks on some nodes port names and order
  1331. * 'Dither' node now has a input port that allows the use of a custom dither pattern
  1332. * 'Vertex to Fragment' node no longer generates unnecessary code and now acts as a relay if connected to a vertex path
  1333. v1.3.1 dev 10:
  1334. * Fixes:
  1335. * Fixed cast issues on 'Smoothstep' node
  1336. v1.3.1 dev 09:
  1337. * Fixes:
  1338. * Multiple fixes on custom shadow caster
  1339. * Fixed issue on Templates Manager being incorrectly destroyed in some situations
  1340. * Fixed issue on Template data not being correctly synced when user changes its source code and returns to ASE
  1341. * Fixed issue where referenced 'Texture Sampler' nodes was not respecting the original property order
  1342. * Fixed issue on 'Grab Screen Color' node not using Unity default grab pass when selected to use it
  1343. * Fixed small issues on multiple examples
  1344. * Improvements:
  1345. * Added tangent space normals to 'Fresnel' node and removed the internal normal value from its properties
  1346. v1.3.1 dev 08:
  1347. * Fixes:
  1348. * Fixed issue on 'Simple Contrast' node
  1349. * Fixed boundaries issues on 'Dither' node
  1350. * Improvements:
  1351. * Minor tweak on 'Smoothstep' ports order
  1352. * Added new Color and Intensity ports into 'Light Color' node
  1353. * Minor overall optimizations on node previews
  1354. * Added preview for 'Substance Sample' node
  1355. * Added preview for 'Blend Operations'
  1356. * Added input port for automatic texture dithering into 'Dither' node
  1357. v1.3.1 dev 07:
  1358. * Fixes:
  1359. * Fixed issue on 'Simple Contrast' node ignoring Value internal data
  1360. * Fixed issue on nodes preview data not being written when its internal data is read from shader
  1361. * Fixed 'Texture Sampler' node to output a Color instead of Vector type
  1362. * Fixed 'Swizzle' node not detecting changes on its input ports
  1363. * Fixed issue on allowing invalid characters when typing a custom keyword on the 'Static Switch' node
  1364. * Improvements:
  1365. * Improved code generated by 'If' node and hides unused internal data
  1366. * Improved 'Rotator' node behavior
  1367. * Improved 'Panner' node behavior
  1368. * Added checkout for version control systems that need it to edit files like perforce.
  1369. * Changed labels and port order for various nodes in the Image Effects category to improve consistency
  1370. v1.3.1 dev 06:
  1371. * Fixes:
  1372. * Fixed issue on template output node attempting to access template data before its initialization is complete
  1373. * Fixed issue with validate/execute commands like duplicate on Mac
  1374. * Fixed issue on not updating correctly mouse position when doing multiple pastes/duplicates
  1375. * Fixed disappearing titles when selecting 'Register Local Var' nodes being used by 'Get Local Var' nodes located outside the visible graph area
  1376. * 'Toggle Switch' node now properly casts its main port type for both input ports
  1377. v1.3.1 dev 05:
  1378. * Fixes:
  1379. * 'Indirect Specular Light' and 'Indirect Diffuse Light' now compile properly in vertex functions but provide dynamic baking results only
  1380. * Changed mask clip variable name to be compatible with internal unity functions
  1381. * Fixed issue with texture arrays derivatives not being declared in 'Parallax Occlusion Mapping' nodes
  1382. * Fixed 'Texture Sample' node not changing cast mode automatically when in reference mode
  1383. * 'Lerp' node now works as the hlsl/cg specification and allows for component based interpolation
  1384. * Fixed issue on template native properties getting lost when hot code reloading
  1385. * Improvements:
  1386. * 'Get Local Var' nodes now get highlighted in green when their referenced 'Register Local Var' node are selected
  1387. * It should be now easier to spot how many and which nodes use a determined Register node, we intend to expand this idea to other similar cases
  1388. * 'Static Switch' now allows to use define symbols and material toggle is now optional
  1389. * 'Keyword Switch' is now deprecated (opening the shader in newer versions should replace it by 'Static Switch')
  1390. * 'Static Switch' and 'Grab Screen Color' nodes now show their node name in title but still allows to edit their variable by double clicking
  1391. * Reorganized toolbar buttons for consistency
  1392. * Showing internal value name at the node properties window when selecting a property on the 'Template Parameter' node
  1393. v1.3.1 dev 04:
  1394. * Fixes:
  1395. * Fixed issue with 'Static Switch' node duplicatnig code
  1396. * 'Static Switch' node now properly allows the use of the same keyword
  1397. * Fixed issue with Int ports generating black previews
  1398. * Fixed issue where 'Custom Standard Lighting' node was generating garbage code when connected multiple times
  1399. * Fixed dynamic baked lightmapping for 'Indirect Diffuse Light' node
  1400. * Default fallback is now only added if shader doesn't use it's own
  1401. * Improvements:
  1402. * Changed 'Template Parameter' node to mimic the same look from the equivalent property nodes
  1403. * Changed some labels and warning texts to be more clear on what's going on for texture objects
  1404. * Int port color now uses the same color as float nodes
  1405. * Added ASE custom inspector to the default templates
  1406. * Added support for Texture Arrays with 'Parallax Occlusion Mapping' node
  1407. v1.3.1 dev 03:
  1408. * New Features:
  1409. * Added custom pragmas support to the main property panel
  1410. * Fixes:
  1411. * Fixed issue with texture arrays when in reference mode creating multiple properties
  1412. * Fixed issue of 'Vertex To Frag' node not generating code in certain situations
  1413. * Fixed issue with 'World Reflection' node not generating code correctly in vertex functions
  1414. * Fixed issue of custom shadow caster not using the correct shader model
  1415. * Fixed issue with dynamic port nodes not updating correctly in some occasions
  1416. * Fixed issue of some nodes not properly using the selected precision type
  1417. * Matrix 3x3 port types now display properly in the node property panel and compile correctly
  1418. * Improvements:
  1419. * 'World Position' node now forces float precision
  1420. * Some more changes for the nodes subtitles for consistency
  1421. * Minor performance and GC improvements
  1422. v1.3.1 dev 02:
  1423. * Fixes:
  1424. * Fixed issue with 'World Normal' node not generating it's components values properly in some occasions
  1425. * Fixed issue with some parameters foldouts not displaying correctly and added a new context message for empty foldouts
  1426. * Improvements:
  1427. * Changed some subtitles prefixes to be more consistent about what they represent
  1428. * Changed dropdown icon to a less confusing and more intuitive one
  1429. * More editor performance improvements and reduction of GC in various places
  1430. v1.3.1 dev 01:
  1431. * Fixes:
  1432. * Fixed issue on copy-pasting custom lighting nodes
  1433. * Fixed issue on null pointer reference on preview material when hitting play mode
  1434. * Improvements:
  1435. * Added upper left widgets into several nodes to change important properties directly on node body
  1436. * Added secondary title into several nodes to show its current state directly from node body
  1437. v1.3.0 dev 03:
  1438. * Improvements:
  1439. * Completely refactored and changed the graph and node rendering to use a semi-MVC model
  1440. * Improves the overall performance in several orders of magnitude
  1441. * Various small visual fixes and improvements
  1442. * Various changes to prevent most memory allocations heavily reducing GC
  1443. * Changed zoom and auto-pan to a smooth version and fixed its auto-boundaries
  1444. * This should make the editor feel more snappy and responsive
  1445. * New object pickers for 'Substance Sampler' and 'Triplanar Sampler'
  1446. * New outline for selected Wire nodes
  1447. * Now is easier to see in all situations
  1448. * Various previews were added,improved or fixed
  1449. * 'Texture Sampler' nodes now properly display default values
  1450. * Tweaked Input Type labels on 'Custom Expression' nodes to match shader variable type names
  1451. * Custom Lighting nodes now show internal data and have additional Normal options
  1452. * Fixes:
  1453. * Fixed 'Texture Array' node issue when referencing an un-connected node
  1454. * Fixed UI issue on 'Custom Expression' qualifiers
  1455. * Fixed issue on shader name being overwritten when changing template
  1456. * Fixed issue on copy/cut/paste not being correctly caught by nodes search bar
  1457. v1.3.0 dev 02:
  1458. * Fixes:
  1459. * Fixed issue with Output Node Opacity Mask port not working with Custom Lighting
  1460. * Fixed errors with some nodes inside shader function
  1461. * Improvements:
  1462. * Improved internal file reader to be more robust in case of trying to load in-existent files
  1463. * Templates Manager can now also be initialized by its post processor in case of an ASE window is not open
  1464. * 'Blend Operations' node show current selected Blend Op on node body
  1465. * Locked Custom Light nodes from being used on Templates
  1466. v1.3.0 dev 01:
  1467. * New Features:
  1468. * Templates
  1469. * Create new shaders from already existing ones which serves as base/templates
  1470. * Fixes:
  1471. * Fixed issue on ports internal data not showing on 'Append' node
  1472. * Fixed infinite loop on 'Texture Coordinates' and 'Texel Size' nodes
  1473. v1.2.1 dev 02:
  1474. * Fixes:
  1475. * Fixed issues with previews on 'Multiply' node
  1476. * Fixed incorrect tooltip on 'Face' node
  1477. * Fixed issue on 'Standard Surface Light' node where GI wasn't correctly picking normals
  1478. * Fixed 'Texture Sampler' node not correctly generating code when connected to relays or shader functions
  1479. * Fixed issue on 'Texel Size' and 'Texture Coordinate' nodes when referencing nodes not connected to Master Node
  1480. * Improvements:
  1481. * 'Grab Screen Color' node now uses Unity default grab texture and allows overriding it like it's previous behavior
  1482. v1.2.1 dev 01:
  1483. * Improvements:
  1484. * Major refactor on all nodes categories and colors to improve consistency
  1485. * Added subtitle to 'Swizzle' and 'Component Mask' nodes to reflect their options
  1486. * Added configurable background color for 'Commentary' nodes
  1487. * Fixes:
  1488. * Fixed issue with lightmaps when using the 'Standard Surface Light' node on Custom Lighting Light Model
  1489. * Fixed issue on overwriting default texture values on 'Texture Sample' node when loading values from material
  1490. v1.2.0 dev 02:
  1491. * Improvements:
  1492. * Adding Call Mode into 'Custom Expression' node
  1493. * On this mode all code written into the Code area will be directly injected into the shader code without being assigned to a local variable
  1494. * The result written on the output port will be what is directly connected to the first input port ( named In ) which is not taken into account by the code expression. The In/Out pair will act as a simple relay.
  1495. v1.2.0 dev 01:
  1496. * Fixes:
  1497. * Fixed issue on generating UI exception when sometimes iterating between Search Node Bar results
  1498. * Fixed issue on Output node size increasing infinitely with shader name
  1499. * Fixed issue on incorrect serialization on 'Texture Sampler' node
  1500. * Improvements:
  1501. * Texture Object type nodes no longer auto-set the 'Texture Sampler' Normal Map option
  1502. * Normal Map option was renamed to Unpack Normal Map
  1503. * A warning is shown if a Texture Object marked as normal map is connected to a 'Texture Sampler' node with the Unpack Normal Map options turned off
  1504. v1.1.0 dev 13:
  1505. * Fixes:
  1506. * Fixed issue with reading incorrect legacy port info into 'Lerp' node
  1507. * Fixed issue on cycling through deleted nodes when using the Nodes Search Bar
  1508. * Fixed issue with incorrectly moving nodes nested into multiple 'Commentary' nodes
  1509. * Fixed issue on Undo not registering internal node movement on 'Commentary' nodes
  1510. * Fixed issue when using 'Virtual Texture Object' node on Vertex ports
  1511. * Fixed issue with incorrectly moving selected nodes while resizing side menus
  1512. * Improvements:
  1513. * 'Simple Contrast' node now always store its result on a local variable
  1514. * Greatly improved 'Commentary' node:
  1515. * You now can use box selection inside the node body
  1516. * You now can create Wire nodes by double clicking on a wire inside the node body
  1517. * You now select and drag the node via its header or by pressing anywhere on the node body having the Alt key down
  1518. * You now need to double click the node header to be able to modify its comment directly from there
  1519. v1.1.0 dev 12:
  1520. * Fixes:
  1521. * Fixed issue with creating legacy code for LOD Cross Fade on Unity v.2017 and above
  1522. * Fixed issue on 'Lerp' node not adjusting correctly when disconnecting input ports
  1523. * Fixing issue with node drag with snap
  1524. * Now done by having both Ctrl+Shift pressed
  1525. * Improvements:
  1526. * 'Blend Operations' node now automatically adapts to input ports
  1527. * Improving Search Bar focus behavior
  1528. v1.1.0 dev 11:
  1529. * Fixes:
  1530. * Fixed incorrect behavior on creating connections through Alt + Shift
  1531. * Fixed out of bounds exception caused by removing ports on shader functions
  1532. * Fixed issue with 'Triplanar Sampler' node not deleting correctly in some occasions
  1533. * Fixed ordering issues with Stencil Buffer example
  1534. * Improvements:
  1535. * Overall improvements on nodes descriptions
  1536. v1.1.0 dev 10:
  1537. * Fixes:
  1538. * Fixed new Billboard Ignore Rotation option incorrectly ignoring game object translation
  1539. v1.1.0 dev 09:
  1540. * Fixes:
  1541. * Fixed issue with deprecated nodes warning message throwing an exception on recent Unity versions
  1542. * Fixed 'Texel Size' node issues on Shader Functions
  1543. v1.1.0 dev 08:
  1544. * New Features:
  1545. * New 'Keyword Switch' node
  1546. * Improvements:
  1547. * Improved 'Lerp' and 'Clamp' nodes behavior
  1548. * Added new improved dynamic 'Append' node which adapts to inputs and deprecated the old one
  1549. * Billboards can now ignore object original rotation via its new Ignore Rotation toggle
  1550. * New Soft Light option was added to 'Blend Operations' node
  1551. v1.1.0 dev 07:
  1552. * New Features:
  1553. * Added support for Custom Subshader Tags on Output Node properties
  1554. * Fixes:
  1555. * Fixed issue with having 'Custom Expression' nodes with similar port names
  1556. * Improvements
  1557. * Small improvements on canvas zoom behavior
  1558. v1.1.0 dev 06:
  1559. * New Features:
  1560. * Added new nodes:
  1561. * 'World Transform Params'
  1562. * 'Vertex Bitangent'
  1563. * 'Vertex Tangent Sign'
  1564. * Improvements:
  1565. * Able to specify an HDR color on 'Color' node if the HDR attribute is set
  1566. * Added previews to nodes:
  1567. * Time
  1568. * Object Scale
  1569. * Improved how vertex data is being generated to prevent future issues
  1570. * Fixes:
  1571. * Fixed incorrect order of instruction write on 'Texture Coordinates' node
  1572. v1.1.0 dev 05:
  1573. * New Features:
  1574. * New 'Standard Surface Light' node ( exclusive to Custom Lighting Light Model )
  1575. * New Samples:
  1576. * Double Layer Custom Surface
  1577. * Fixes:
  1578. * Fixed issue with pasting nodes not refreshing external references from original ones
  1579. * Fixed issue with generating helper local variable ids on several nodes which may lead to issues on shader functions
  1580. * Fixed issue on 'Depth Fade' node
  1581. * Fixed issue with not registering sampler dummies correctly when using 'Texture Coordinates' node with Tessellation
  1582. * Fixed issue on multi-tabs with breaking all tabs except the focused one when dragging wires
  1583. * Improvements:
  1584. * Added previews to nodes:
  1585. *'World Space Camera Pos'
  1586. *'Object Space Light Dir'
  1587. *'World Space Light Dir'
  1588. *'Light Color'
  1589. *'Object To World'
  1590. *'World To Object'
  1591. v1.1.0 dev 04:
  1592. * Fixes:
  1593. * Fixed issue on 'Texture Coordinates' node generating wrong dummies on UV Sets different than 1
  1594. * Fixed issue on 'Register Local Var' node usage with shader functions
  1595. * Improvements:
  1596. * Setting Enable Instancing option default value to false
  1597. * Adding Exact Conversion option into 'Gamma To Linear' and 'Linear To Gamma' nodes for more accurate results
  1598. v1.1.0 dev 03:
  1599. * Fixes:
  1600. * Fixed issue on 'Pi' node
  1601. * Fixed issue on 'Texture Coordinates' node not generating unique names when used on vertex body
  1602. * Fixed issue with incorrectly counting amount of 'Virtual Texture Object' nodes on graphs
  1603. * Fixed issue on 'Texture Array' drawers
  1604. * Fixed issue on 'Remap' node preview preventing division by zero
  1605. * Improvements:
  1606. * 'Texture Array' node:
  1607. * Now work with shader functions
  1608. * Added derivative option to 'Texture Array' node
  1609. * Minor tweak on tooltip text
  1610. * New Features:
  1611. * New Community Node 'GlobalArray' submitted by Vincent van Brummen and created by Johann van Berkel
  1612. * Added new Enable Instancing toggle into Rendering Options to be able to activate instancing without having to use Property nodes
  1613. v1.1.0 dev 02:
  1614. * Improvements:
  1615. * 'Vertex TexCoord' and 'Swizzle' node types can be selected from node body
  1616. * Fixes:
  1617. * Fixed issue with 'Grab Screen Color', 'Get Local Var' and 'Texture Sample' nodes loosing references inside Shader Functions
  1618. * Fixed issue on not correctly registering all Grab Passes from multiple 'Grab Screen Color' nodes
  1619. * Fixed small issue on 'Commentary' node not being able to focus on comment text field when created
  1620. v1.1.0 dev 01:
  1621. * Fixes:
  1622. * Fixed issue with being able to open recently created shader multiple times
  1623. * Improvements:
  1624. * Added preview for 'Screen Position' node
  1625. * 'Append' output type can be selected from node body
  1626. * Small overall optimizations
  1627. v1.0.0 dev 12:
  1628. * Fixes:
  1629. * Fixed wrong casting issues on dynamic type nodes
  1630. * Fixed lost reference when deleting 'Grab Screen Color' node
  1631. v1.0.0 dev 11:
  1632. * New Features:
  1633. * Additional includes (.cginc) can now be used into an ASE shader via the Additional Includes sections on the Output node
  1634. * Their contents can be accessed via the 'Custom Expression' node
  1635. * Added Node Search bar to quickly find nodes on the canvas
  1636. * Ctrl + F: Shows Search Bar
  1637. * Enter/Return/F3: Goes to next occurrence
  1638. * Shift + (Enter/Return/F3): Goes to previous occurrence
  1639. * Escape: Hides Search Bar
  1640. * New samples:
  1641. * UV Light Reveal
  1642. * Fixes:
  1643. * Fixed issue on creating unnecessary casts from floats
  1644. * Fixed minor issue on GPU Instancing sample
  1645. * Fixed minor UI issues on 'Reflect' and 'Refract' nodes
  1646. * Fixing shader paths for Community Shaders
  1647. * Fixed issue on incorrect cast when using Floats and Ints in certain nodes
  1648. * Fixed issue on resetting in certain situations vertex local variables generated during Output Node fragment code generation
  1649. * Fixed issue on property name update in 'Grab Screen Color' node
  1650. * Improvements:
  1651. * Improved nodes local variables reset behavior to prevent future issues
  1652. * Added previews to 'Gamma To Linear' and 'Linear To Gamma' nodes
  1653. * Forcing 'Dot' and 'Normalize' nodes to store results in local value and prevent with power operations
  1654. v1.0.0 dev 10:
  1655. * Fixes:
  1656. * Fixed issue with temporary variable assignment Id on 'Texture Coordinates' node
  1657. v1.0.0 dev 09:
  1658. * New Features:
  1659. * New 'Static Switch' node which allows creation of shader variants
  1660. * Fixes:
  1661. * Fixed minor issue on reading inputs from dynamic 'Add' and 'Multiply' nodes on older shader versions
  1662. * Fixed issue on Parent Graph attempting to delete in-existent connections
  1663. * Fixed issue with always disabling Light Maps when using Tessellation
  1664. * Fixed issue with Texture Nodes reference drop down selector showing incorrect labels both on 'Texture Sampler' and 'Texture Coordinates' nodes
  1665. * Fixed issues on incorrect loosing references with 'Texture Sampler' node on Reference mode
  1666. * Improvements:
  1667. * Improved 'Append' node connection management
  1668. * Added Local Var selector directly on 'Get Local Var' node body
  1669. v1.0.0 dev 08:
  1670. * New Features:
  1671. * New Output node Rendering Options
  1672. * Disable Batching
  1673. * Ignore Projector
  1674. * Force No Shadow Casting
  1675. * Fixes:
  1676. * Fixed issue with new dynamic 'Add' and 'Multiply' nodes not registering port creation/destruction into Undo system
  1677. * Fixed issue on 'Grab Screen Color' node duplicating code
  1678. * Fixed issue with Opacity Mask port being incorrectly Enabled/Disabled on certain situations
  1679. * Fixed issue on 'Get Local Var' nodes getting wrong ids on certain situations when a 'Register Local Var' node is deleted
  1680. * Small fix to force property name update when changing type on property nodes
  1681. * Fixed issue where 'View Dir' node was generating code in the wrong space when in vertex function for both world space and tangent space
  1682. v1.0.0 dev 07:
  1683. * Fixes:
  1684. * Fixed name conflict on 'Custom Expression' node
  1685. * Fixed issue for both normal input in indirect lighting nodes that were asking from normal in world space instead of tangent space
  1686. v1.0.0 dev 06:
  1687. * New Features:
  1688. * Added LOD Cross Fade support for LOD groups ( located in the Output node Rendering Options tab )
  1689. * Improvements:
  1690. * 'Add' and 'Multiply' nodes can have more than 2 input ports ( max 10 )
  1691. * Minor improvements on several nodes
  1692. * Refraction port use Unity's grabpass by default so it can pick other refraction materials
  1693. * Avoiding possible compiler misunderstandings with System.Type calls
  1694. * Ensuring variables/functions created by custom expressions have unique names
  1695. * Auto enabling instance mode on material ( if on Unity 5.6 or above ) when detecting instance mode on ASE shader
  1696. * Improved zoom behavior
  1697. * Fixes:
  1698. * Fixed issue when remapping ports from very old shaders
  1699. * Fixed swizzle issue on 'Vertex Position' node
  1700. * Fixed matrix 'Invert' node
  1701. * Fixed SimpleGPUInstancing sample not fully batching on Unity 5.6
  1702. * Fixed opening a SF in more than one tab after creation
  1703. * Fixed header click to edit name when zoomed out
  1704. * Fixed both Commentary node side menus resize not following the mouse movement correctly
  1705. * New Shader Functions: ( AmplifyShaderEditor/Examples/Assets/ShaderFunctions )
  1706. * Simple HUE
  1707. * SphereMask
  1708. v1.0.0 dev 05:
  1709. * Fixes:
  1710. * Fixed issue with conditional 'If' node
  1711. * Fixed issue with 'Vertex Position' node swizzle in Local Vertex Ports
  1712. * Improvements:
  1713. * Caching instanced property nodes into local variables to prevent multiple UNITY_ACCESS_INSTANCED_PROP() on them
  1714. * Added support for samplers types into 'Custom Expression' node
  1715. v1.0.0 dev 04:
  1716. * Fixes:
  1717. * Fixed node drag and drop issue from palette
  1718. * Fixed issue with online reference button having a "too-large" click box
  1719. * Palette Menus now display the correct cursor on mouse hover
  1720. * Fixed clicking Enter on palette without selecting a node
  1721. * Changing lighting models should now show the error messages correctly
  1722. * Fixed issue of Custom Light nodes not loading properly
  1723. * Improvements:
  1724. * Added Per Renderer Data tag to Properties available Attributes
  1725. * Adding help box into 'Virtual Texture Object' with additional info
  1726. v1.0.0 dev 03:
  1727. * New Features:
  1728. * Custom Lighting
  1729. * New Nodes: ( can only be used on this light model )
  1730. * Indirect Diffuse Light
  1731. * Indirect Specular Light
  1732. * Light Attenuation
  1733. * New Samples:
  1734. * Custom Lighting Toon
  1735. * Fixes:
  1736. * Fixed issue when zooming with Alt + Right Mouse button
  1737. * Fixed issue with window not detecting graph type on Unity load
  1738. * Fixed issue on 'Debug Switch' node not loading properly
  1739. * Fixed issue on assigning invalid cultures when an error/exception occurred inside ASE
  1740. * Improvements:
  1741. * Context Palettes now allow Tab / Shift Tab to select between nodes instead of mouse selection (confirms with Return/Enter key)
  1742. * Added previews for 'Debug Switch' and 'Toggle Switch' nodes
  1743. * Added link to node documentation on its tooltip
  1744. * Small optimization on all nodes overall
  1745. * Preventing ASE to crash if some faulty class/dll is present on the project
  1746. v1.0.0 dev 02:
  1747. * Fixes:
  1748. * Preventing shadow caster error on using 'Vertex TexCoord' with 'Vertex Normal'
  1749. v1.0.0 dev 01:
  1750. * Fixes:
  1751. * Fixed issue on not recognizing Tessellation port correctly when at Lambert or BlinnPhong light models
  1752. * Fixed issue on dragging nodes via Alt mode not respecting ports unique ids when creating connections
  1753. * Fixed minor typo on 'Switch by Face' node
  1754. * Fixed minor issue when loading LoadPolyWater example
  1755. v0.7.2 dev 08:
  1756. * Fixes:
  1757. * Fixed issue generating input ports instructions on 'Custom Expression' node
  1758. v0.7.2 dev 07:
  1759. * New Features:
  1760. * Added support for multiple ASE windows opened simultaneously
  1761. * New Samples:
  1762. * Animated Fire with Shader Functions
  1763. * Improvements:
  1764. * Forcing InvariantCulture on ASE execution cycle to prevent issues with number parsing
  1765. * 'Texture Sampler' node no longer shows it's sampler properties when a 'Texture Object' node is connected to it
  1766. * Improved redundancy awareness on 'Virtual Texture Object' and 'Texture Sampler' nodes
  1767. * Improved 'Virtual Texture Object' tooltip
  1768. * Removed Return button from Shader Functions since it is now useless with new multi-tab behavior
  1769. * Fixes:
  1770. * Fixed issue on changing Normal map option in 'Texture Sampler' node not changing its output type
  1771. * Changed 'Virtual Texture Object' node channel name to 'Layer' and fixed its default value not showing up correctly
  1772. * Virtual textures now generate properties with their correct name (requires user changes to the virtual texture itself)
  1773. * Fixed issue that break compiling when a missing shader function was present
  1774. * Forcing internal data update for shader function Output nodes to prevent errors when they are disconnected
  1775. * Fixed small issue with shader function nodes being stuck on selection when double clicking on them
  1776. v0.7.2 dev 06:
  1777. * New Features:
  1778. * Added 'HSV To RGB' and 'RGB To HSV' nodes
  1779. * Improvements:
  1780. * 'Custom Expression' node with a return instruction on its Code text area generates a function with the code contents thus enabling multiple instructions lines on its body
  1781. * Added small info text on node properties to explain its behavior
  1782. * Added new name field ( can also be edited directly on node by double clicking on it ) which is used to name the generated function/ local variable
  1783. * Small refactoring on some classes for consistency and warning removal from Visual Studio
  1784. * Fixes:
  1785. * Fixed issue on some changes not being correctly caught on setting Blend Render Type
  1786. * Fixed issue with Unlit Light model doubling the value set on the Emission output port
  1787. * Small fix on title updates when using Shader Functions
  1788. * Removed warning from unused legacy source code on 'Register Local Var' and 'Get Local Var' nodes
  1789. * Fixed issues on incorrect casts on 'Texture Sampler' node
  1790. * Fixed issues on incorrectly snapping wires into hidden ports
  1791. v0.7.2 dev 05:
  1792. * Improvements:
  1793. * Changed tool tip display to trigger when mouse is on top of the node ( now displays below the node)
  1794. * Shader Functions
  1795. * Added default values for input node in SF (these are used when there's no connection)
  1796. * Added port restrictions to dynamic node types
  1797. * Changed way input node work with restrictions when changing type to prevent invalid connections
  1798. * Fixes:
  1799. * Fixed minor typo on 'Rotator' node
  1800. v0.7.2 dev 04:
  1801. * Fixes:
  1802. * Fixed multiple issues on save behavior when changing modes
  1803. * Fixed issue with shader functions not assigning the main node correctly
  1804. * Fixed issue on Project Window Change callback
  1805. * Fixed graph count increasing on shader switch
  1806. * Fixed version numbering in function nodes
  1807. * Fixed nested SF issue with inputs
  1808. v0.7.2 dev 03:
  1809. * Fixes:
  1810. * Fixed issue with 'Vertex TexCoord' not writing properties correctly into shader meta
  1811. v0.7.2 dev 02:
  1812. * Fixes:
  1813. * Fixed cast and port activation issues on Blend Nodes
  1814. * Fixed various issues with SF:
  1815. * Saving no longer deselects
  1816. * Reordering is now working properly
  1817. * Autocast now has port restrictions into account and deletes with warning when possible
  1818. * Sampler types no longer duplicate
  1819. * Improvements:
  1820. * Texture Objects node family can now be set as Globals
  1821. v0.7.2 dev 01:
  1822. * New Features:
  1823. * Added Shader Functions
  1824. * Added new 'Object Scale' node
  1825. * Fixes:
  1826. * Fixed multiple issues with Copy/Paste
  1827. * Fixed issues with nodes on Vertex Function
  1828. * 'Fresnel'
  1829. * 'Posterize'
  1830. * 'Heightmap Texture Blend'
  1831. * 'Unpack Scale Normal'
  1832. * Fixed issue with incorrect data read from 'Texture Coordinates' nodes on versions below 0.5.0 dev 003
  1833. * Fixed issue on inverted Receive Shadows toggle
  1834. * Improvements:
  1835. * Can Copy/Paste between different Shaders and Shader Functions
  1836. * Shader properties created by Refraction, Translucency, Mask Value and Tessellation now appear on the Output node Material Properties list and can be reordered
  1837. * Preventing UndoParentNode to generate DefaultValue conflicts caused by other plugins
  1838. * Removed warnings generated on some situations by the 'Screen Position' node
  1839. * New Samples:
  1840. * LowPolyWater by The Four Headed Cat
  1841. * ForceShield by The Four Headed Cat
  1842. v0.7.1 dev 02:
  1843. * Improvements:
  1844. * Improved 'Texture Coordinates' node and added new Tex input port into it
  1845. * Improved local variable usage on several node generated code to improve overall shader instruction count
  1846. * 'Vertex Position' node now has new Size property
  1847. * Fixes:
  1848. * Fixed issues on 'Vertex to Fragment' node
  1849. * Fixed issue on loading an ASE shader with its window already opened but tabbed and not visible during play mode
  1850. * Fixed multiple issues with 'Grab Screen Position' node usage on Vertex function
  1851. * Fixed issue with Forward Shadows not being correctly written when Custom Shadow Caster was active
  1852. * Fixed issues with Blend nodes usage on Vertex function
  1853. * Fixed issues with 'Dithering' node usage on vertex function and when Tessellation is active
  1854. * Fixed issues with 'Screen Depth' node usage on vertex function and when Tessellation is active
  1855. * Dithering sample now works while Tessellation is active
  1856. v0.7.1 dev 01:
  1857. * New Features:
  1858. * Alt + Node Drag to Auto-(dis)connect node on existing wire connection
  1859. * Improvements:
  1860. * Added new Tex Input Port into 'Texel Size' node
  1861. * Optimized nodes list usage on palettes (API)
  1862. * Improved retro-compatibility handling with adding new ports on already existing nodes (API)
  1863. * Fixes:
  1864. * Fixed issue on horizontal scroll bar not appearing on Helper Window
  1865. v0.7.0 dev 03:
  1866. * New Features:
  1867. * Added 'Face' node
  1868. * Added 'Switch by Face' node
  1869. * Fixes:
  1870. * Fixed issue on not setting shader version on graph when creating a new empty one which lead to copy/paste issues
  1871. * Fixed wrong port type assignment and incorrect conditional operator usage on community 'Compare ...' nodes
  1872. * Fixed issue with creating a material from a shader already with properties in Unity 5.6
  1873. * Fixed multiple UI issues on Retina MacBook
  1874. * New Samples:
  1875. * Highlight Animated by The Four Headed Cat
  1876. * 2 Sided by The Four Headed Cat
  1877. * Two Sided with Face
  1878. v0.7.0 dev 02:
  1879. * Improvements:
  1880. * Improved Float to Vector auto-cast
  1881. * Double-clicking on a 'Get Local Var' node focus on its referenced 'Register Local Var' node
  1882. * Fixes:
  1883. * Fixed issue with keyboard shortcuts on Mac
  1884. * Fixed renaming issues with 'Triplanar Sampler' node
  1885. * Fixed issue on property nodes UI not refreshing on Undo
  1886. * Fixed issues on 'Fresnel' and 'Vertex Normal' related with normal generation
  1887. * Fixed typos on POM
  1888. * Fixed issue with Wire node deletion
  1889. * Fixed auto-change port types issues on all Compare nodes
  1890. v0.7.0 dev 01:
  1891. * Improvements:
  1892. * Greatly improved Undo
  1893. * Colored Port Mode behaves as a normal toggle and doesn't require double tap on W key
  1894. * New Samples:
  1895. * Hologram by The Four Headed Cat
  1896. * Fixes:
  1897. * Fixed issue on deleting nodes with Wire nodes on their connections
  1898. v0.6.1 dev 05:
  1899. * Fixes:
  1900. * Fixed issue with custom Shadow Caster on Vulkan
  1901. v0.6.1 dev 04:
  1902. * Improvement:
  1903. * Renaming 'Texture Sampler' Type property Instance to Reference and prevent confusion with GPU Instanced properties
  1904. * Fixes:
  1905. * Fixed issue on unnecessary saves on Live mode
  1906. * Also increased Inactivity time from 0.5s to 1s
  1907. * Fixed issues on some node interactions not being detected by live mode ( and thus not being flagged to save )
  1908. * Fixed issue on 'Rotator' node not correctly generating local values according to vertex/frag
  1909. * Fixed issue on 'Texture Coordinates' node when defining its Inputs with Tessellation active
  1910. * Fixed issue with custom Shadow Caster on Metal IOs
  1911. * Fixed small typo on Tessellation Shader Model warning message
  1912. v0.6.1 dev 03:
  1913. * New Features:
  1914. * Adding Fallback shader picker on Master Node
  1915. * Adding Shader LOD value modifier on Master Node
  1916. * Improvements:
  1917. * Node property title changes according to selected node
  1918. * Added Multi-Line mode to wires ( Ctrl + W )
  1919. * Added ability to change 'Triplanar Sampler' node name
  1920. * Improved wire connections rendering while zoomed
  1921. * Tweaked live mode to save only when user is inactive for 0.5s
  1922. * Fixes:
  1923. * Small node resizing issues fixed
  1924. * Fixed issues on Live mode not catching node connections and creation correctly
  1925. v0.6.1 dev 02:
  1926. * New Features:
  1927. * Added 'Triplanar Sampler' node
  1928. * Added Vertex Output ( can now change from Relative/Local Vertex Offset to Absolute/Local Vertex Position )
  1929. * Added Smear Sample
  1930. * Added Unlit Light Model
  1931. * Added simpler 'Time' node
  1932. * Added 'Depth Fade' node
  1933. * Added 'Camera Depth' Fade node
  1934. * Improvements:
  1935. * Adding node info into Helper Window
  1936. * Adding drag and drag valid unity assets list to helper window
  1937. * 'Screen Position' and 'Grab Screen Position' now have a Output dropdown on its properties instead of a Toggle
  1938. * Improved GPU instancing example by adding a C# illustrating how to set instanced properties
  1939. * Fixes:
  1940. * Fixed issue on preview materials not being initialized after returning from play mode
  1941. * Fixed issue on local variables reset
  1942. * Fixed issue with tangent and bitangent previews
  1943. * Fixed billboard issue with non-uniform scaling
  1944. * Fixed issue on Tex ports counting as having valid internal data on Node Properties UI
  1945. * Fixed issue on using 'Texture Sampler' or 'Screen Color instances on Master Node Debug port
  1946. v0.6.1 dev 01:
  1947. * Improvements:
  1948. * Activating internal data into 'Object To World' and 'World To Object' nodes and setting it to (0,0,0,1) by default
  1949. * 'Texture Array' nodes can be created by dragging a Texture 2D Array object into ASE canvas
  1950. * Fixes:
  1951. * Fixed issue on 'Texture Array' node when connecting it to Vertex Ports
  1952. * Fixed issue on 'Vertex TexCoord' not generating correct source according to their properties
  1953. * Fixed issues on MourEnvironment, SandPOM and WaterSample shaders
  1954. v0.6.0 dev 01:
  1955. * Improvements:
  1956. * Added Texture Coordinate Coord Size parameter for 'Vertex TexCoord' node
  1957. * Fixes:
  1958. * Fixed issue when doing custom shadow caster with translucency on deferred mode
  1959. * Fix for texture coordinates zeroing out Z and W
  1960. * Fixed issue with input port internal name not being set correctly
  1961. * Fixed issue with custom shader inspector on unity 5.6
  1962. * Fixed shadows issue on Matcap example
  1963. * Fixed 'Virtual Texture Object' sampling the correct UVs when not connected
  1964. v0.5.1 dev 012:
  1965. * Fixed issue with LightColor node not generating the proper values
  1966. * Fixed issue when doing custom shadow caster with translucency on deferred mode
  1967. * Made the code generation compiler friendly because of unity 5.5 and up changes
  1968. v0.5.1 dev 011:
  1969. * Adding new Billboard option into Master Node
  1970. * Control key can be also used to append nodes to selection
  1971. * Fixed issue with not updating material inspector in real time ( because out of focus ) when changing properties on canvas
  1972. * Fixed cast issues on object picker with 'Texture Sample' and 'Texture Object' nodes
  1973. * Added Mask buttons on Previews
  1974. * Improved overall editor performance
  1975. v0.5.1 dev 010:
  1976. * Added 'Desaturate' node
  1977. * Fixed small visual issue with Color Mask UI
  1978. * Improved overall UI performance
  1979. v0.5.1 dev 009:
  1980. * Linking both Up/Down keys and right mouse dragging to scroll behavior into menus
  1981. * Canvas zoom can be changed by right mouse dragging while pressing Alt key
  1982. * Fixing multiple issues with 'Swizzle' node
  1983. * Heavily optimized drawing the node lines
  1984. * Fixed issue with loading default shaders to ports
  1985. v0.5.1 dev 008:
  1986. * Fixed issues when using line feed on 'Custom Expression' node code area
  1987. * Fixed wires and previews displaying on top of the title bar
  1988. * Fixed order issues on 'Commentary' node
  1989. * Fixed issue with BurnEffect sample
  1990. * Majorly improved Previews update speed
  1991. * Added LOD levels to previews ( sampler and texture arrays )
  1992. * Added many more node previews
  1993. * Updated TriplanarProjection and ParallaxMappingIterations samples
  1994. * Optimization on drawing wires
  1995. * 'World Normal', 'World Reflection' and 'Fresnel' input ports now modify their previews
  1996. * Improved Nodes Graph internal ordering to correctly create connections on shader load
  1997. v0.5.1 dev 007:
  1998. * Fixed issues with 'Texture Coordinates' node usage with Tessellation
  1999. * Fixed swizzling issues on 'View Dir' node
  2000. v0.5.1 dev 006:
  2001. * Added new Helper Window accessible via the right most button on the graph window
  2002. * (De)Activating Tessellation and Outlines forces shader to save
  2003. * Expanded the amount of nodes with available preview
  2004. * Added fail safe to continue loading shader if in-existing community nodes are detected
  2005. * Added Normal Map unpacking to 'Texture Array' node and updated its sample
  2006. * Fixed issues on Debug Port usage
  2007. * Fixed issues on 'Flipbook UV Animation' when property nodes are connected to rows and column input ports
  2008. * Fixed issues on Not configuring 'Texture Array' node ports after read
  2009. * Fixed issues on Major fix on register/get local var mechanics
  2010. * Fixed issues on Adding a space on the node palette search when opening it via space bar
  2011. * Fixed issue on ignoring color masks setup on certain situations
  2012. * Forcing default values on input port internal data if an exception is caught
  2013. v0.5.1 dev 005:
  2014. * Added new Curvature Parameter for 'Parallax Occlusion Mapping' Node
  2015. * Added 'World To Object' node
  2016. * Added 'Object To World' node
  2017. * Fixed issue on 'World Normal' node
  2018. * Fixed issue on 'World Tangent' node
  2019. * Fixed issue on 'World Bitangent' node
  2020. * Fixed issue on 'World Reflection' node
  2021. * Fixed issue on 'Register Local Var' node
  2022. * Fixed issue with Tessellation used with Custom Shadow Caster
  2023. * Fixed issue with Mip Level not being used with 'Texture Sampler' nodes on Vertex Ports
  2024. * Fixed issues with Master Node Debug port usage
  2025. v0.5.0 dev 005:
  2026. * Applied overall UI changes from Master Node into all other nodes
  2027. * Added Node Previews
  2028. * Added new Frame Title parameter on 'Commentary' nodes
  2029. * Auto focus on new Frame Title textfield when node is created
  2030. * Added new Soap Bubble sample using both Reflection and Refraction
  2031. * Fixed issue with 'Custom Expression' node
  2032. * Fixed issues on 'Scale' node
  2033. * Fixed issues on 'Panner' node
  2034. * Fixed issues on 'View Dir' node
  2035. * Fixed issues on 'Substance Sample' node
  2036. * Fixed Repaint issues on ASE custom material editor
  2037. * Fixed issue with texture defaults not being correctly written on shader meta
  2038. * Fixed issue on reading alpha:fade option from older versions
  2039. * Tweaked 'Component Mask' node
  2040. * Tweaked 'Pi' node
  2041. * Improved 'Substance Sample' node previewer
  2042. * Refraction to now have Specularity into account
  2043. * Removed warnings on importing ASE to Unity v5.6.0
  2044. v0.5.0 dev 004:
  2045. * Added new Outline option on Master Node properties
  2046. * Tweaked Tessellation material update
  2047. v0.5.0 dev 003:
  2048. * Fixed issue with Live Mode load/save state
  2049. * Fixed repaint issue with picking ports
  2050. * Tweaked 'Substance Sample' node preview
  2051. * Adding Toggle Attribute to 'Switch Toggle' node
  2052. v0.5.0 dev 002:
  2053. * 'Texture Coordinate' now support float3 or float4 output types
  2054. * Changed Colored ports saving mechanism
  2055. * Tweaked how ports are saved/loaded via shader meta to easily modify existing nodes port amount without breaking older versions (API)
  2056. * Tweaked Simple Noise example
  2057. * Tweaked Read Atlas examples
  2058. * Tweaked Translucency example
  2059. * Minor tweak on 'Texture Sample' node
  2060. * Fixed issue with local variable declaration on Master Node Debug port
  2061. * Fixed issue with Screen Space Curvature example
  2062. * Fixed issue with reading fade parameter on master node
  2063. * Fixed issue with Transparency shader
  2064. v0.5.0 dev 001:
  2065. * Fixed issues with 'Texture Array' node
  2066. * Fixed issues with 'Texture Coordinates' node
  2067. * Fixed issues with Tessellation example on MacOs
  2068. * Fixed issues on multiple examples with Unity beta version 6 and above
  2069. * Added new 'Substance Sample' Node
  2070. * Added example using the new 'Substance Sample' node located at Examples/Official/Substance
  2071. * Added Attributes to Property Nodes
  2072. * Added Conditional 'If' Node with Dynamic Branching option
  2073. * Tweaked 'Flipbook UV Animation' node
  2074. v0.4.1 dev 002:
  2075. * Fixed issue 'Flipbook UV Animation' node not resetting properly and added a start frame parameter
  2076. v0.4.1 dev 001:
  2077. * Fixed issue with Texture Array sample
  2078. v0.4.0 dev 003:
  2079. * Default Alpha mode set to Transparent and not Alpha Pre-Multiply
  2080. * Minor tweak on node sorting on palette windows
  2081. * Minor tweak on Master Node Property UI
  2082. * Added new Rendering Options foldout on Master Node properties
  2083. * Added check to prevent division by zero warning with 'Grab Screen Position' and 'Screen Position' nodes
  2084. v0.4.0 dev 002:
  2085. * Forcing LF on all shaders to prevent CRLF mixed with LF when upgrading them
  2086. * Fixed issues with custom shader inspector
  2087. v0.4.0 dev 001:
  2088. * Minor fix on 'Grab Screen Position' node
  2089. * Added new Refraction port into Master Node. Only works correctly with Unity 5.5.1 p1 and above due to an internal unity issue
  2090. * Added new Refraction Example ( AmplifyShaderEditor/Official/ObjectNormalRefraction )
  2091. * Added new Vertex Normal port into Master Node
  2092. * Small update to Material and Shader mode borders
  2093. * Parameter types can now be changed from node itself on property nodes via dropdown on its upper left corner
  2094. * Various fixes from the way the Blend Mode works to take new translucent option into account
  2095. * Fixed issue with connections from cache when changing Light Mode on Master Node not respecting port availability
  2096. * Changed Refracted Shadow demo blend mode
  2097. * Fixed Vertex Offset issue with custom shadow caster
  2098. * Small fix to auto change blend mode on rendertype and render queue changes
  2099. * Fixed some samples with wrong version or wrong connections
  2100. * Fixed UI problems in Unity Personal skin
  2101. v0.3.2 dev 003:
  2102. * Fixed issue with 'Multiply' node
  2103. * Fixed issue with 'Divide' node
  2104. * Fixed issue with 'Texture Sample' node
  2105. * Fixed issue with 'Dot' node
  2106. * Tweaked 'Fresnel' node to use Unity's interpolators and made the default values match Schlick Fresnel
  2107. * Tweaked 'World Normal' node to prevent multiple normals generation
  2108. * Added 'Texture Array' node
  2109. * Added 'Linear to Gamma' and 'Gamma to Linear' nodes
  2110. * Majorly revamped the UI for the master nodes options
  2111. * Revamped Blend Modes and added additional options
  2112. * Added pos-load test on nodes invalid connections to prevent issues with older ASE versions
  2113. v0.3.2 dev 001:
  2114. * Added custom shadow caster
  2115. * Small fix to both emission and alpha on Fade mode
  2116. * Fixed minor issues on reading shaders from older versions( < v0.2.0 dev 002 )
  2117. * Fixed issues on 'Custom Expression' node
  2118. * Fixed issues with 'Grab Screen Position' node
  2119. * Property nodes with Parameter Type set to Global doesn't force _ on the parameter internal name
  2120. v0.3.1 dev 009:
  2121. * Fixed 'Grab Screen Color' node issues
  2122. * Minor tweaks on Context menu
  2123. * Tweaked 'Screen Position' and 'Grab Screen Position' behavior
  2124. * Added switching of input ports connections by holding the CTRL key
  2125. * Added removing of input ports connections by double clicking with the left mouse button on them
  2126. * Forcing Shader Model to at least 4.6 if Tessellation is active
  2127. v0.3.1 dev 008:
  2128. * Small fix to 'Virtual Texture Object' node
  2129. * Fixed issues on 'Texture Sample' node
  2130. * Fixed issue on not correctly unregistering nodes from 'Commentary' nodes when they were deleted
  2131. * Fixed issue when reading old shaders created with v0.2.4 dev 004
  2132. * Fixed issue with 'Texture Coordinates' node when using Tessellation
  2133. * Fixed issues and tweaked overall normals generation
  2134. * Fixed issue on 'Vector From Matrix' node
  2135. * Fixed issue on ASE canvas camera incorrectly panning when hitting a tooltip with Middle/Right Mouse Button
  2136. * Fixed connection errors with 'Vector From Matrix' node
  2137. * Fixed issue with 'Vertex To Fragment' node
  2138. * Deprecated 'Local Position' node
  2139. * Added 'Grab Screen Position' node
  2140. * Tweaks on nodes and ports names to maintain overall consistency
  2141. * Added new Scale and Offset option on 'Screen Position' node
  2142. * 'Register Local Var' node now also has system to prevent duplicate names
  2143. v0.3.1 dev 007:
  2144. * Added auto-order option into 'Register Local Var' node
  2145. * Added new 'Improved Read From Atlas Tiled' example
  2146. * Added 'Simplified Fmod' node
  2147. v0.3.1 dev 006:
  2148. * Fixed control argument exception when deleting connection with Alt key on selected node
  2149. * Fixed issue with 'Switch Toggle' node
  2150. v0.3.1 dev 005
  2151. * Side menus are now resizable
  2152. * Tweaked 'Weighted Blend' node
  2153. * Added 'Summed Blend' node
  2154. * Added 'Toggle Switch' node
  2155. * Added new 'Scale and Offset' node
  2156. * Fixed issues on 'Vertex Binormal World' and '[VS]Vertex Tangent' nodes
  2157. * Fixed issues with 'Texture Sample' nodes created via dragging a texture to ASE
  2158. * Fixed issue with 'Scale' node
  2159. * Fixed issues on incorrectly reading 'Receive Shadows' parameter from ASE shader previous to v0.2.5
  2160. v0.3.1 dev 004
  2161. * Fixed issues with accessing 'Texture Coordinates' node when tessellation is active
  2162. v0.3.1 dev 003
  2163. * Fixed yet another issue with accessing 'Texture Coordinates' node on vertex function
  2164. * Reverted shader update mechanism after save to previous old one until issue reported by Seith is fixed
  2165. v0.3.1 dev 002
  2166. * Fixed issues with accessing 'Texture Coordinates' node on vertex function
  2167. v0.3.1 dev 001
  2168. * Improved overall editor UI
  2169. * Improved Live Mode
  2170. * Nodes can generate shader comments ( API )
  2171. * Each port can now have multiple restrictions ( API )
  2172. * 'Texture Object' can now only be connected to 'Texture Sample' nodes
  2173. * Added 'Switch' toggle node
  2174. v0.3.0 dev 005
  2175. * Auto adding AMPLIFY_SHADER_EDITOR symbol on current target group when initializing ASE ( API - to be used on external community nodes )
  2176. * Added keyboard shortcut [F5] to force available nodes refresh ( API )
  2177. v0.3.0 dev 004
  2178. * Fixed yet another issue with local variables generation
  2179. v0.3.0 dev 003
  2180. * Fixed crash from infinite loop generated on port 'Tex' at 'Texture Sample' node
  2181. * Fixed cast issue when using internal port data on some nodes
  2182. * Fixed issues with local variables generation
  2183. * Tweaked Vertex Displacement port on Master Node
  2184. * Added ability to specify range of valid data types for input ports ( API )
  2185. * Locked 'Tex' port from 'Texture Sample' node to only allow connections to 'Texture Object' nodes
  2186. v0.3.0 dev 002
  2187. * Updated POM to clip edges using a tilling parameter
  2188. * Updated the sand POM example and its height texture
  2189. * Updated Water sample
  2190. * 'Vertex NormalWorld', 'World Position' and 'View Dir' nodes now also output into vertex offset correctly
  2191. * All editor resources are loaded via their own guid
  2192. * Added Tessellation port into master node to be able to create custom Tessellation behaviors
  2193. * Tessellation parameters ( excluding Phong ) on Master Node Properties will be deactivated if its port is being used
  2194. * Created Nodes for each of the builtin Tessellation functions
  2195. * Distance-base Tessellation
  2196. * Edge Length Tessellation
  2197. * Edge Length Tessellation with Cull
  2198. * Fixed issues with not creating local variable correctly if graph is shared between vertex and frag ports
  2199. * Fixed issue with local variables created on automatic casting not taking port category into account
  2200. * Fixed node width issue regarding its header title size
  2201. v0.3.0 dev 001
  2202. * Fixed issue on where deprecated nodes needed to be available to be replaced by their replacement type
  2203. * Fixed issues on all conditional nodes
  2204. * Fixed issue on local variable creations on vertex shader
  2205. * Fixed issue on 'Commentary' node
  2206. * Amplify Texture dependency is dynamically set through asset guid
  2207. * Texture Sampler will quietly ignore virtual object if AT is not found in project and will not generate a broken shader
  2208. * Deprecated nodes are automatically excluded from the palette
  2209. * Updated version in all samples
  2210. * Optimized 'Multiply' and 'Divide' nodes
  2211. * Added Edge Length based tessellation
  2212. * Added Fixed Amount based tessellation
  2213. v0.2.6 dev 001
  2214. * Fixed issue on 'Virtual Texture Object' node
  2215. * Fixed issue on 'If' node
  2216. * Fixed issues in 'Parallax Occlusion Mapping' node
  2217. * Fixed issues on 'Texture Sampler' node
  2218. * Fixed issue for translucency on point lights
  2219. * Fixed issues on 'Texture Coordinates' node
  2220. * Fixed issue on not correctly syncing ASE when when hitting paste button on our custom inspector
  2221. * Avoiding null pointer exception when compiling a 'Texel Size' node without references
  2222. * Re-Organized ASE folder system and added initial pop-up window to clean old/deprecated data
  2223. * Tweaked Default/Material values UI on Property nodes
  2224. * Node Properties window can now be show by double clicking a node
  2225. * Renamed Uniform parameter type to Global
  2226. * Added Distance-Based tessellation. Can be activated/configured on Master Node properties
  2227. * Added Tessellation sample
  2228. * Added emission baking support. Queue must be set to "Geometry" to work properly
  2229. * Added Tiled Atlas sample
  2230. * Added scenes for each sample
  2231. * Added tool tips for Master Node properties
  2232. v0.2.5 dev 004
  2233. * Added Parallax Occlusion Mapping node (uses linear search with customizable samples in conjuntion with interval mapping for refinement of sidewalls)
  2234. * Added simple snapping behavior when moving nodes (left-control)
  2235. * Fixed background grid image sliding when zooming
  2236. * Fixed issue with 'Texcoord Vertex Data' on writing
  2237. * Fixed issues with default values of 'Virtual Texture Object'
  2238. * Fixed issues when drawing 'Matrix3x3' and 'Matrix4x4' nodes
  2239. * Fixed compilation error when creating builds
  2240. v0.2.5 dev 003
  2241. * Fixed issues on 'Texture Coordinate' node
  2242. * Fixed issues with 'Texture Sample' node not reading the correct values from older shaders versions
  2243. * Fixed issues with instanced texture samples
  2244. * Fixed issues with 'Texel Size' node
  2245. * Fixed issues with adding new categories on community created nodes
  2246. * Custom category colors can now also be set up via NodeAttributes(...)
  2247. * Created simpler method ( GeneratePortInstructions(...) ) to generate input instructions. Handy for community members which are creating new custom nodes
  2248. * Fixed issue with propagating incorrect port types on master node when loading shader from older versions
  2249. * Fixed issues with parallax example
  2250. * Alpha channel/Opacity port is forced to 1 if Keep Alpha is set to true and port is not connected to prevent UI issues
  2251. * Added index property in '[VS] Vertex TexCoord' node and marked '[VS] Vertex TexCoord1' node as deprecated
  2252. * Tweaked collision area on minimize/maximize buttons on lateral windows
  2253. * Small optimization on 'Custom Expression' node
  2254. * Added support for virtual texturing via Amplify Texture
  2255. * Community Node additions
  2256. * Jason Booth
  2257. * Added 'Vertex To Fragment' node
  2258. v0.2.5 dev 002
  2259. * Added 'Texture Object' node
  2260. * Tweaked 'Texture Sample' node behavior to use the new 'Texture Object' node
  2261. * Added Stencil Buffer support
  2262. * Added Depth foldout with access to ZWrite, ZTest and Offset configuration
  2263. * Added AMPLIFY_SHADER_EDITOR preprocessor directive
  2264. * Fixed issue on not resetting instance variables counter on reset/load
  2265. * Overall fixes on node UI and its adaptation when zooming out
  2266. v0.2.5 dev 001
  2267. * Added Color Mask option on Master Node
  2268. * Added access to additional UV sets on "Texture Sample" and "Texture Coordinates" nodes
  2269. * Fixed issue when attempting to connect a wire to a locked port
  2270. * Fixed issue with incorrectly adding '#pragma multi_compile_instancing' on non instanced property shaders
  2271. * Minor tweak on palette foldout behavior
  2272. v0.2.4 dev 007
  2273. * Fixed issue on wrong auto-snapping wires with invisible, locked ports
  2274. * Fixed issue with version control on Master Node
  2275. * Added Transmission input port on Master Node
  2276. * Added 'Mip Mode' in 'Texture Sample' node
  2277. * Property names can now be changed directly on node by double clicking on it
  2278. * Properties can be reordered through drag and drop operations on the Master Node properties via the Available Properties foldout area
  2279. * Min/Max values on 'Ranged Float' nodes can be modified directly on canvas
  2280. v0.2.4 dev 006 ( for internal reasons we had to skip dev 005 )
  2281. * Fixes issues on 'Panner' node
  2282. * Fixed issues with not correctly generating local variables according to port category
  2283. * Tweaked behavior and fixed issues on the 'Texture Coordinate' node
  2284. * Fixed issues on 'Texel Size' node
  2285. * Fixed issues on 'Local Vertex Pos' node
  2286. * Fixed issues with Burn Effect Sample
  2287. * Removed positive number restriction from Master Node 'Queue Index' property
  2288. * Custom Material Inspector can be selected/changed on Master Node
  2289. * Done through the Custom Editor property
  2290. * You can always reset to our own by hitting the Reset button next to hit
  2291. * Updated Rim Light Sample to use the new Space option on the 'View Dir' node
  2292. * Updated Parallax Sample to use the new Space option on the 'View Dir' node
  2293. * Added 'Translucency' input port into Master Node
  2294. * Added 'Dithering' node
  2295. * Added Matcap Sample
  2296. * Added Dithering Sample
  2297. * Added Rendering Platforms selector on Master node
  2298. * Added Water Sample on a small terrain in the Sample Scene
  2299. v0.2.4 dev 004
  2300. * Fixed issues with wire shader
  2301. * Fixed issues with 'Texture Coordinates' node
  2302. * Removed warnings occurring on Unity v5.5
  2303. * Fixed issue with 'Append' Node
  2304. * Fixed issue with ASE Custom Material Inspector
  2305. * Tweaked 'Local Vertex Pos' node to output differently if generating code for vertex or fragment ports
  2306. v0.2.4 dev 003
  2307. * Added Texture Reference dropdown to 'Texture Coordinates' node
  2308. * Added Render Path dropdown in Master Node
  2309. * Tweaked 'View Dir' node so you're able to choose between getting the result in tangent or world space
  2310. * Tweaked 'World Space Light Dir' to no longer use internal input port data when nothing is connected, instead worldPos is automaticaly fed into it
  2311. * Added Unity version check for wires shader and fix compatibility issues
  2312. * Added Normalize toggle into 'Screen Position' node
  2313. * Community Node additions
  2314. * Tobias Pott
  2315. * Added 'Swizzle' node
  2316. v0.2.4 dev 002
  2317. * Added 'Layered Blend' node
  2318. * Added 'Weighted Blend' node
  2319. * Added 'Texel Size' node
  2320. * Merged '[VS] Vertex Color' and 'Vertex Color' nodes in order to avoid further confusions and marked the first one as deprecated
  2321. * Node internally changes its output if it's writing to a vertex or fragment port
  2322. * Added 'Surface Depth' node
  2323. * Added 'Screen Depth' node
  2324. * Fixed issue with property nodes uniform variables not taking selected precision into account
  2325. v0.2.4 dev 001
  2326. * Added 'Parallax Mapping' node
  2327. * Added 'Negate' node
  2328. * Added Fake Window user sample
  2329. * Added Parallax Mapping example with 4 iterations using the basic Parallax Mapping node
  2330. v0.2.3 dev 002
  2331. * Added 'Custom Expression' node
  2332. * Precision used is now the least between the one selected in the node and main one selected on the master node
  2333. * 'Register Local Var' and 'Get Local Var' nodes can now be used on Master Node Vertex ports
  2334. * Improved wires visuals
  2335. * Fixed issue with local variables generation
  2336. * Fixed issue with switching port internal data from float to int
  2337. * Fixed cast issue with 'Remap' node
  2338. * Added all the supported shader models into the Master Node dropdown
  2339. * When creating a shader the default selected is now 2.5 to match Unity default
  2340. * Community Node additions
  2341. * The Four Headed Cat
  2342. * Added 'Grayscale' node
  2343. v0.2.3 dev 001
  2344. * New control points can be added to wires to better manipulate its shape
  2345. * Double click a wire to create an additional control point
  2346. * Control points are selected, moved and deleted similar to regular nodes
  2347. * Fixed issue with box selection being active when dragging nodes with the 'Shift' key held down
  2348. * Fixed issues with wire resources not being correctly released when ASE is shut down
  2349. * Fixed issues with 'Pixel Normal World' and 'Vertex Normal World' nodes
  2350. * Fixed issue with 'Multiply' node on Matrix/Vector multiplications
  2351. * Fixed issue with 'Break To Components' node
  2352. * Fixed issue with 'Component Mask' node
  2353. * Fixed issue with wrong type propagation when replacing node connections
  2354. * Fixed issue with instance references being lost on 'Texture Sample' and 'Screen Color' nodes
  2355. * Tweaked 'Object to World' and 'World to Object' nodes to be more compile friendly
  2356. * Added 'Model' matrix node
  2357. * Added 'Relay' node
  2358. * Added 'TriplanarObjectSpace' sample to Samples folder
  2359. * Added precision selector for variables ( known issue: precision info is not being taken into account when auto local vars are created )
  2360. * Community Node additions
  2361. * The Four Headed Cat
  2362. * Added 'Tau' node
  2363. * Rea
  2364. * Added 'Height Map Blend' node
  2365. v0.2.2 dev 001
  2366. * Fixed issue with 'Mask Clip Value' not being correctly synced between material and shader
  2367. * Added colored Debug Mode ... this is an experimental feature where each port and wire are colored according to its data type. Each color/type pair are not final
  2368. * Hold 'P' key to enable debug mode and release it to disable it
  2369. * Double hit 'P' key to toggle debug mode on. Double hit 'P' key again to disable it.
  2370. * Added 'Matrix From Vectors' node
  2371. * Fixed issue with 'Vertex Binormal World' node
  2372. * Added 'Shader Model' dropdown on Master Node properties
  2373. * Community Node additions
  2374. * The Four Headed Cat
  2375. * Fixed issues with 'Logical Operator' nodes
  2376. v0.2.1 dev 001
  2377. * Fixed multiple issues importing current version on top of v0.1.0 dev 001
  2378. v0.2.0 dev 003
  2379. * Mask Clip Value when used is registered as a Material Property
  2380. v0.2.0 dev 002
  2381. * Improved duplicate code detection system
  2382. * Slight improvement on save/update times ( important for Live Mode )
  2383. * Fixed issue with 'Texture Sample' node incorrectly outputting a float4 when no texture assigned and on Normal mode
  2384. * Fixed issue on not opening the correct shader from a material inspector if a new one is selected from its dropdown
  2385. * Fixed issue with 'Length' node incorrectly changing its output type
  2386. * Community Node additions
  2387. * The Four Headed Cat
  2388. * Flipbook UV Animation
  2389. v0.2.0 dev 001
  2390. * Fixed issues with 'Get Local Var' node
  2391. * Output port type is now correctly set to its reference type
  2392. * Changed how references are saved so it won't be affected by order index re-ordering
  2393. * Fixed issue with 'Power' node
  2394. * Fixed issue with 'ATan2' node
  2395. * Fixed issue with 'Cross' node
  2396. * Community Node additions
  2397. * The Four Headed Cat
  2398. * Logical If
  2399. * Pixelate
  2400. * Community Samples additions
  2401. * The Four Headed Cat
  2402. * DissolveBurn
  2403. * Mourelas Konstantinos
  2404. * EnvironmentGradient
  2405. v0.1.5 dev 001
  2406. * Community Node additions
  2407. * The Four Headed Cat ( moved to a separate 'Logical Operators' category )
  2408. * Compare With Range
  2409. * Compare Not Equal
  2410. * Compare Lower Equal
  2411. * Compare Greater Equal
  2412. * Compare Lower
  2413. * Compare Greater
  2414. * Kebrus
  2415. * Vertex Tangent World
  2416. * Vertex Binormal World
  2417. * 'Register Local Var' node changes:
  2418. * Is now independent from Master Node execution order and generates activation signals
  2419. * Will always be executed even if not connected to Master Node
  2420. * Fixed issue updating name string array when loading from file
  2421. * Added order index to control their declaration order( lesser index declared first )
  2422. * Fixed issue on port type change not propagating in certain nodes
  2423. * Hitting Escape key will disable context palette menu if active
  2424. * Fixed issue where right mouse clicking on certain port areas would delete their wire connection
  2425. * Minor improvement on nodes performance
  2426. v0.1.4 dev 002
  2427. * Dynamic type nodes now also reacting to input port disconnections
  2428. * Updated TFHCRemap node from benderete
  2429. 0.1.4 dev 001
  2430. * Fixed issue with order index not being correctly read/written
  2431. * Redone Refraction Shader according to rea suggestion
  2432. * Register Local Var node now has a title style similar to Property Nodes with the local var name always visible
  2433. * Added Get Local Var Node. It allows the user to use already registered local vars anywhere in the graph
  2434. * Added Custom Node Remap ("TFHC - Remap") created by user benderete
  2435. * Fixed issue on Texture Sample UV port not correctly casting to float2 when needed
  2436. * Fixed issue with Texture Sample node not adapting layout when reference is in normal mode
  2437. v0.1.3 dev 003
  2438. * Added RegisterLocalVar node. This is a node to improve shader readability in certain situations, as it forces the shader to create a local var containing its input value and always use that as output
  2439. * Added Screen Color Texture Reference feature
  2440. * Created Simple Refraction example ( Samples/SimpleRefraction )
  2441. * Fixed issues with sampler instance resizing
  2442. * Fixed issue with Fresnel node incident vector
  2443. * Fixed issue with attempting connection removal on inexistent nodes ( bug affecting Append node )
  2444. * Fixed issue with overwriting render type and queue values with Blend Mode default values on read from file
  2445. v0.1.3 dev 002
  2446. * Fixed multiple issues with deleting a Texture Sample node being referenced by other nodes
  2447. * Tweaked Texture Sample reference UI
  2448. v0.1.3 dev 001
  2449. * Fixed issue when releasing mouse drag on menu areas not resetting auto*pan
  2450. * Tweaked Shader Instancing UI
  2451. * Fixed issue with material inspector crashing when updating a property with ASE window turned off
  2452. * Fixed issue with custom UI skins not being correctly initialized under some conditions
  2453. * Added Texture Reference feature
  2454. * Added 'Simple Blur' example to demonstrate how Texture referencing works
  2455. * Added small 'Made with Amplify Shader Editor' info as comment on generated shaders
  2456. v0.1.2 dev 003
  2457. * Fixed issues with opening materials via inspector with no ASE window initialized
  2458. v0.1.2 dev 002
  2459. * Added GPU Instancing ( see Samples/SimpleGPUInstancing example )
  2460. * Added Screen Color node
  2461. * Fixed issue on version testing
  2462. * Tweaked Master Node icon
  2463. * Added additional icon into top-left master node node indicating if gpu instancing is being used or not
  2464. v0.1.2 dev 001
  2465. * Fixed typo on Texture Coordinate node
  2466. * Added explicit control on Render Type and Queue. They will be automatically set when a Blend Mode is selected.
  2467. * Added Fresnel node
  2468. * Fixed Trigonometry typo
  2469. * Improved local var generation on op nodes
  2470. * Added FWidth node
  2471. * Fixed issue with not immediately updating shader when hitting the Live Shader Mode button
  2472. v0.1.1 dev 001
  2473. * Community Contribution from kebrus: Added Rotator node, rotates UV Coordinates/ Vector2 nodes
  2474. * Fixed Vector2 Append Node bug
  2475. * Fixed Int to Float cast issues
  2476. * Added Shader title area on top canvas to forbidden node interaction area
  2477. * Adjusted Auto-Pan behavior
  2478. * Fixed issue with nodes infinite loop detection
  2479. * Tweaked mouse detection inside main canvas
  2480. * Fixed Queue Order typo when building shader
  2481. * Improved notifications when impossible cast is requested
  2482. * Added new VectorFromMatrix which gets a specific row or column from a 3x3 or 4x4 matrix
  2483. * Automatically hiding Order Index on Uniform Property Type nodes
  2484. * Simpler Searchable Node List also being called by hitting the space bar if focus is on main node canvas