Assignment for RMIT Mixed Reality in 2020
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.

4240 lines
192 KiB

  1. Release Notes:
  2. v1.8.5 rev 00:
  3. * Fixes:
  4. * Fixed desync issue between graph and master node sampling macro flag
  5. * Fixed unknown INSTANCEID_SEMANTICS enum value being thrown on legacy HDRP
  6. v1.8.4 rev 04:
  7. * Fixes:
  8. * Fixed issue on 'Substance Sampler' node
  9. * Fixed incorrectly drawn preview on Unity 2018 and above
  10. * Prevented incorrect ports types being set when texture order is internally changed on Substance
  11. * Fixed variable redefinition on 'Gradient' node when used on shader functions
  12. * Fixed duplicate issue when declaring cbuffers on both outline and main surface shaders
  13. * Fixed URP Terrain sample layer composition
  14. * Improvements:
  15. * 'FWidth' node now throws an ASE console error when connected to non-fragment ports
  16. * Also generates dummy value to prevent compilation error
  17. * Added terrain holes support on Four Splats First Pass Terrain shader function
  18. * Activate Holes option
  19. * Added new Final Color x Alpha option on URP PBR template
  20. * Required to correctly blend terrain layers
  21. v1.8.4 rev 03:
  22. * Fixes:
  23. * Fixed Color Mask MRT Id not being written on inline properties
  24. * Caused HDRP Lit shaders to become invisible when compiled in some versions
  25. v1.8.4 rev 02:
  26. * New Template:
  27. * Legacy/Lit
  28. * Mimics behavior of standard surface but without some of its limitations
  29. * Can override Baked GI
  30. * Removes limitation of using nodes like 'Indirect Specular Light' only on Custom Lighting
  31. * Fixes:
  32. * Added missing support for per-pixel normals in terrain shaders for URP (still requires adding the keyword separately)
  33. * Fixed issue with alpha clip threshold not working properly in all cases when using the HDRP Lit template
  34. * Fixed issue with template loading that was not catching global variable in certain situations (API)
  35. * Fixed rare issue where changing shader templates could cause the options to fail to load properly due to not finding the new master node
  36. * Fixed issue on Depth Texture macro declaration being incorrectly duplicated when already present on template
  37. * Now depth related nodes can be correctly used on Particle Alpha Blended template
  38. * Fixed issue on uncaught exception when attempting to load an in-existent Assembly-CSharp-Editor assembly
  39. * Could happen when attempting to load invalid nodes
  40. * Fixed issue on not being able to connect 'Texture Object' nodes to 'Register Local Var' node
  41. * Fixed issue on vertex instructions generated by outline fragment ports to be correctly written on its vertex code
  42. * Fixes 'Camera Depth Fade' usage on 'Outline' node
  43. * Improvements:
  44. * Updated the Four Splats First Pass Terrain shader function to include a new option for SRP terrain to allow per pixel normals
  45. * 'Static Switch' node
  46. * Now allows editing of certain parameters while in Fetch mode
  47. * Now allow the explicit naming of the keyword created besides the automatic one with a lock button
  48. * Forcing vertex position w component to 1 when setting a new offset or position over Standard Surface type shaders
  49. * Prevent real-time shadow issues on vertex manipulation
  50. v1.8.4 rev 01:
  51. * Improvements:
  52. * Added "Open in Shader Editor" button into SRP materials (needs shader save)
  53. * Now SRP materials update ASE editor property values while the editor is open (needs shader save)
  54. * Remove dependencies for custom shader inspector (now, allows deleting the file)
  55. * Fixes:
  56. * Fixed Dots instancing option in URP unlit
  57. * Fixed UV generation in Mesh Decals template
  58. * Fixed Normals and Emission Bias in Mesh Decals template
  59. v1.8.4 rev 00:
  60. * New HDRP Samples:
  61. * Added new 'Decal Muddy Ground' and 'Decal Scifi Panel' HDRP samples using various types of decals
  62. * Improvements:
  63. * Added automatic 'Open and Save All' button in shader function files that tries to compiled all dependency shaders and shader functions
  64. * Texture Array tool now allows to create an asset file representing all options in order to save work for later
  65. * Texture Array no longer locks width and height at power of two for more recent versions of unity
  66. * Added clip shadow threshold and alpha to coverage options to URP PBR and URP Unlit shaders
  67. * Fixes:
  68. * Fixed leak in the automatic template importer
  69. * Template importer now properly skips non-shaders files when checking for changes
  70. * Fixed issue with properties in fetch mode not loading correctly and making some property names hostage
  71. * Fixed issue with UVs generation in specific situations where it would create variables with the same name
  72. v1.8.3 rev 03:
  73. * Improvements:
  74. * Global macros sampling option has been removed in favor of another that is set by the shader (older shader load with this option OFF while new ones start with it ON)
  75. * Made property panel option labels flexible to the width of the panel
  76. * Some help text added to 'Sampler State' node
  77. * Fixes:
  78. * Fixed issue with assembly definition files where nodes outside of the assembly would fail to load
  79. * Fixed issue of emission channel not working in HDRP decal template
  80. v1.8.3 rev 02:
  81. * New 'Sampler State' Node:
  82. * Allows using the default sampler state of a texture or the creation of a new one with specific options (versions prior to Unity 2018.1 have limited support)
  83. * Improvements:
  84. * You can now use custom sampler states when sampling, however, in order for this to work you need to activate the option at Preferences > Amplify Shader Editor > Sampling Macros
  85. * Activating this may cause some issues in specific situations, namely, custom expressions that do sampling must be converted to use macros as well so for now this option is OFF by default
  86. * There are two new connection types, one for texture arrays and another for sampler states which are supported in function nodes and custom expression nodes
  87. * Texture Array node as been deprecated in favor of the regular 'Sampler' node which now supports texture arrays and works inside shader functions
  88. * 'Parallax Occlusion Mapping' node and 'Triplanar Sample' node now automatically detect if the input is a texture array and no longer use a toggle to turn ON the support
  89. * Fixes:
  90. * Fixed issue with URP 2D templates accessing the wrong uv set
  91. * Fixed Bitangent calculation in SRP which wasn't taking tangent sign into account
  92. * Fixed issue with 'show and compile' button in shader inspector in unity 2020.1
  93. v1.8.3 rev 01:
  94. * Fixes:
  95. * Fixed issues over 'Substance Sample' node
  96. * Fixed compilation error on Unity 2018 and above
  97. * Fixed normal texture port detection on Unity 2018 and above
  98. v1.8.3 rev 00:
  99. * New HDRP Sample:
  100. * Added new 'TV' HDRP sample using Vector Displacement Maps (VDMs)
  101. * New Shader Option:
  102. * URP PBR template now has a 'Fragment Normal Space' option that allows selecting between Object, World and Tangent space outputs for the master node
  103. * Improvements:
  104. * Added normal space output option for 'Triplanar' node
  105. * Added help text for the PPS helper tool
  106. * Fixes:
  107. * Fixed issue with world view dir calculation in URP PBR template
  108. * Fixed issue with normal unpacking and scaling in SRP
  109. * Removed HDRP dependency in ASE asmdef file
  110. * Fixed the mosaic PPS sample that was conflicting with assembly definition files
  111. * Fixed issues with focusing the editor window would sometimes select text fields or prevent nodes from being interactive
  112. * Fixed 'Diffusion Profile' for HDRP 6.X.X
  113. v1.8.2 rev 01:
  114. * Fixes:
  115. * Fixed Fixed issue with auto generated UVs sometimes generate the UVs twice and failing to compile
  116. v1.8.2 rev 00:
  117. * Fixes:
  118. * Fixed 'Rejection' node to support multiple length input types just like 'Projection' node does
  119. v1.8.1 rev 04:
  120. * New HDRP Template
  121. * Decal
  122. * Improvements:
  123. * Added new port to 'Voronoi' node that outputs the UVs of the current voronoi cells
  124. * Added support for MRT for ColorMask, Blend and BlendOp in templates and template Options
  125. * AlphaToMask is now it's own separate module that can be activated independently and supports inline properties
  126. * Changed UV creation to support pre-calculated UVs in templates (ie: decals)
  127. * Fixes:
  128. * Fixed Texture Array Creator tool in order to properly allow signed and higher bit texture formats
  129. * Voronoi now properly creates UVs in all situations and preview was updated accordingly
  130. * Fixed issue with instancing macro not being detected properly and being included in the wrong place occasionally generating errors in URP
  131. v1.8.1 rev 03:
  132. * Improvements:
  133. * Improved URP and HDRP templates in order to minimize their CBUFFER contents
  134. * Updated libraries for SRP 7.3.1 and 7.4.1
  135. * Fixes:
  136. * Fixed issue with instance ID node not working correctly in URP due to templates not properly detecting the existing ones
  137. * Fixed issue with unused tessellation properties showing up in the shader inspector
  138. * Fixed issue with 'Reconstruct World Position From Depth' node that was preventing from compiling when used with 'Depth Fade' node
  139. * Fixed issue with 'Reconstruct World Position From Depth' node that wasn't working correctly in SRP 7.4.X and up
  140. v1.8.1 rev 02:
  141. * New Shader Functions:
  142. * And
  143. * Or
  144. * Projection
  145. * Rejection
  146. * Improvements:
  147. * Added more description text to custom expression node
  148. * Live update doesn't kick in when editing a field
  149. * Shader Functions options label size resize according to the panel width
  150. * Fixes:
  151. * Fixed 'Texture Sample' node and 'Texel Size' node previews so that they update when it's referenced texture changes
  152. * Fixed issue with certain namespaces not being available when Assembly Definitions files are present
  153. * Fixed samples by adding new Assembly Definition files for samples that contain their own scripts
  154. * Fixed issue with sampler states option not working if reference node was not compiled
  155. v1.8.1 rev 01:
  156. * Improvements:
  157. * Added AssemblyDefinition file and made it so nodes can be found in the main editor assembly besides ASE assembly
  158. * If you which to extend ASE with your own node and you already use your own assembly file you need to add ASE as a dependency
  159. * Fixes:
  160. * Fixed issue with function nodes not saving their GUID correctly to the metadata
  161. * Fixed issue with function switch nodes not saving correctly when inputs were left unconnected
  162. * Fixed issue with reading options due to system cultural differences
  163. * Fixed issue where clipboard copy/pasting was not respecting system cultural differences
  164. v1.8.1 rev 00:
  165. * New Shader Options:
  166. * Added new option called 'DOTS Instancing' that provides initial support for hybrid renderer for URP and HDRP
  167. * Works for both latest V1 and V2 (check unity docs)
  168. * URP requires shader model 4.5 in order for it to work
  169. * Some properties nodes now have a new 'Hybrid Instanced' option when set to property mode
  170. * Improvements:
  171. * CBuffer properties are now ordered by datatype for performance reasons
  172. * Fixes:
  173. * Fixed issue with tessellation in HDRP where tessellation was not measuring the position correctly when relative camera was ON
  174. * Fixed issue with the new 'Field' option type that wasn't reading float values correctly in all situations due to system cultural differences
  175. * Fixed typo with the 'Trigonometry Operators' category
  176. v1.8.0 rev 03:
  177. * New Shader Options:
  178. * Added Translucency and Transmission options for URP
  179. * Options are based on Built-in renderer ports respectively
  180. * New fields are generated for both but can be manipulated as 'Inline Properties' in property panel
  181. * New 'Compare' node:
  182. * Replaces all the now deprecated 'Compare XXX' nodes, this node should be easier to work with since it does ternary operations and allows for any kind of vector comparison
  183. * Improvements:
  184. * 'Voronoi' node ID port now returns a vector 2 ID instead of a single float value
  185. * Fixes:
  186. * Fixed issue with instanced properties marked as auto register not working inside shader functions
  187. * Fixed issue with 'Function Switch' node that was causing some nodes to run even if unconnected
  188. * Fixed issue with 'Decode Lightmap' node that was not compiling correctly in all situations
  189. * Other small changes and fixes to last revision
  190. v1.8.0 rev 02:
  191. * New Shader Options:
  192. * Added Tessellation options for URP and HDRP
  193. * Options are based on Built-in renderer options supporting Fixed, Distance-Based, Edge Length and Edge Length With Cull mode, with or without Phong displacement
  194. * By default Float fields are generated at the bottom of the materials inspector but can be replaced by 'Inline Properties' allowing for further field customization
  195. * Improvements:
  196. * Templates API now supports new 'Field' options that create Int or Float fields that can act when values change
  197. * Templates API now support 'SetMaterialProperty' action that allows a 'Field' to interact with the value in the material inspector
  198. * Added Q as an alternative panning modifier key (for trackpad users) while Q+Alt zooms (order is important due to Alt being used for other actions)
  199. * Fixes:
  200. * Fixed issue with Start Screen icon on MacOS editors
  201. * Fixed issue with templates not properly detecting floating values
  202. * Fixed issue with log window and palette window producing layout errors
  203. * Fixed issue with live editing mode not working properly with shader functions and producing errors
  204. * Fixed 'Texel Size' node issue where variable declaration was not respecting the SRP batcher and breaking it in the process
  205. * Fixed issue with auto spacing of shader function titles
  206. * Fixed/Changed refraction for both URP and Built-in due to issues with webGL version
  207. v1.8.0 rev 01:
  208. * Improvements:
  209. * Now 'Texel Size' and 'Texture Transfom' nodes also contain the 'None' option for consistency
  210. * Fixes:
  211. * Fixed issue with start screen window in Unity 5.6
  212. * Fixed issue with 'Texture Coordinates' node generating multiple texture references in some occasions
  213. * Fixed 'Texture Coordinates' losing it's selected reference option on port connection
  214. v1.8.0 rev 00:
  215. * New Shader Functions:
  216. * Bacteria
  217. * Bricks Pattern
  218. * Dots Pattern
  219. * Grid
  220. * Herringbone
  221. * Hex Lattice
  222. * Houndstooth
  223. * Smooth Wave
  224. * Spiral
  225. * Stripes
  226. * Truchet
  227. * Whirl
  228. * Zig Zag
  229. * Improvements:
  230. * Updated some shader functions to expose their internal data
  231. * Fixes:
  232. * Fixed default value for start screen option
  233. * Fixed context menu showing shader templates not yet imported on first install
  234. * Fixed drawing issues with slider in 'Float' node in the new Unity UI
  235. v1.7.9 rev 02:
  236. * Improvements:
  237. * Added Refraction option with respective ports to URP that works like the built-in Refraction port
  238. * Added versioning to templates so that they can track changes and import new versions if necessary
  239. * Fixes:
  240. * Fixed issue with start screen showing the wrong change log
  241. * Fixed issue with start screen not always respecting the selected option
  242. * Fixed issue with 'Fresnel' node when loading a shader from an older version of ASE
  243. * Fixed loop detection check for 'Get' node in certain situations
  244. * Fixed menu listing for templates with duplicated names
  245. * Fixed 'VertexID' node for HDRP causing errors due to motion vectors
  246. * Fixed inline properties being broken on certain template internal pass ordering
  247. v1.7.9 rev 01:
  248. * Improvements:
  249. * Start screen option is now a dropdown to allow for more control of how it behaves
  250. * Added more options to the preference window
  251. * Option to prevent automatic import of SRP templates
  252. * Option to force the use of Unity's macros for sampling
  253. * Option to allow or prevent the use of ASE define symbol
  254. * Fixes:
  255. * Included missing files for 'Diffusion Profile' node from last release which prevented the use of the new default inspector option
  256. * Fixed issue with 'Gradient Sample' node that was not generating the component channel correctly
  257. v1.7.9 rev 00:
  258. * New Start Screen:
  259. * New window that will popup when on a new session starts and/or if a new version is released (can be dismissed)
  260. * Provides easy start up links for the wiki and contact channels
  261. * Streamlines the process of importing ASE samples for each rendering pipeline
  262. * Automatically tracks the release of new versions
  263. * New Preferences Entry:
  264. * Currently only controls the start screen settings but in the future it will contain many more options that are currently hidden
  265. * New Shader Function:
  266. * Random Range
  267. * Returns random value between a minimum and maximum range values
  268. * Improvements:
  269. * Removed alpha to coverage alpha test check for consistency between pipeline and setups
  270. * Added check to custom shader inspector and updated missing features like keywords popups and other small changes that came with unity 2019.3
  271. * Added new option to 'Diffusion Profile' node to be able to create the unity default profile inspector for users that need to share their shaders
  272. * Changed the color of Int ports to white for proper differentiation between Float and Int
  273. * Fixes:
  274. * Depth texture is now uses proper macros even when using global texture samplers to prevent duplication errors
  275. * Added infinite loop detection to 'Get Local Var' nodes to prevent the case where you can change the 'Get Local Var' node reference to itself
  276. * Fixed Issue with diffusion profile drawer not being able to change profiles if ASE window wasn't open
  277. * Fixed issue with outline in surface shaders not respecting the selected precision type
  278. v1.7.8 rev 02:
  279. * New Property Attributes:
  280. * Remap Sliders attribute for Vector2 node that creates a min-max slider in the 0-1 range
  281. * Single Line Texture attribute for texture properties nodes that minimizes texture object field into single line fields
  282. * Fixes:
  283. * Fixed fog color and ambient color node values in HDRP
  284. * Fixed issue with Fabric and Hair HDRP templates not correctly writing to depth offset in all shader passes
  285. * Fixed custom expression precision types that didn't respect the selected choice in all cases and added a new Inherit option
  286. * Fixed possible issue with saving files when path is null
  287. * Improvements:
  288. * Improved loading of shaders by preventing unnecessary loads of other types of assets
  289. * Added warning with fix button to diffusion profile property drawer for when profile isn't present in the profile list
  290. * Shader functions names now have automatic spacing when searched in the palette
  291. * Added a direct dependency check for shader function files that allows to search which shaders and shader function are currently directly using it
  292. * Templates context entry generation is now done by name to prevent random sorting
  293. v1.7.8 rev 01:
  294. * New HDRP Templates:
  295. * Hair
  296. * Fabric
  297. * New Shader Function:
  298. * Inverse Lerp
  299. * Inverse operation of the 'Lerp' node
  300. * Improvements:
  301. * Update HD templates to v.7.1.8 and above
  302. * Fixes:
  303. * Fixed issue with 'Component Mask' node preview not correctly showing alpha channel in all situations
  304. v1.7.8 rev 00:
  305. * Fixes:
  306. * Fixed issues with 'Function Switch' node incorrectly displaying reference nodes and not properly ordering when in Reference mode
  307. v1.7.7 rev 06:
  308. * Fixes:
  309. * Fixed 'Parallax Occlusion Mapping' node texture array sampling in LW/URP
  310. * Fixed issue with 'Light Attenuation' node not taking into account vertex offset in URP templates
  311. * Improvements:
  312. * Added extra pre pass option for Lightweight and Universal RP that allows for custom outline passes
  313. * World position dependent nodes will now take vertex offset into account over LW templates
  314. v1.7.7 rev 05:
  315. * Fixes:
  316. * Fixed issues when reading shader over updated template
  317. * Fixed 'Light Attenuation' issue on URP 7.2.X which was causing rendering errors
  318. * Improvements:
  319. * World position dependent nodes will now take vertex offset into account over default Unlit and URP templates
  320. * Improved Diffusion Profile support in HDRP 7.2.X
  321. v1.7.7 rev 04:
  322. * Fixes:
  323. * Fixed compatibility issues with HDRP v7.2.0 and above
  324. * Fixed issue with 'Indirect Diffuse Light' node on Normal port not properly working over Lightweight RP
  325. v1.7.7 rev 03:
  326. * Fixes:
  327. * Fixed issue on Unity ignoring Emission channel values set over Debug Port
  328. * Fixed issue with multiple uses of 'Voronoi' node over a graph
  329. * Fixed helper window colors in personal skin
  330. * Fixed emission contribution on baked lighting
  331. * Fixed GUID conflicts between Lightweight and Universal samples
  332. v1.7.7 rev 02:
  333. * Fixes:
  334. * Fixed incorrect values given by time related nodes
  335. * Fixed shadow compilation issue on HD Lit template
  336. * Added null checks on updating shader over master node to prevent saving issues
  337. * Improvements:
  338. * Decode Directional Lightmap shader function now compatible with all pipelines
  339. * Added events that can be registered externally which indicate shader type change and shader save (API)
  340. * IOUtils.OnShaderSavedEvent called when shader is saved
  341. * IOUtils.OnShaderTypeChangedEvent called when shader
  342. * Registered functions must receive three arguments
  343. * Shader shader: Current shader being modified
  344. * bool isTemplate: Current shader type is template based
  345. * string type: GUID of template in use or string.empty if Standard Surface
  346. v1.7.7 rev 01:
  347. * Improvements:
  348. * Some adjustments were made to the Decode Lightmap's Instructions port
  349. * Port is set be only visible when on SRP
  350. * ASE automatically sets Unity's default instruction values if no value is connected to it
  351. v1.7.7 rev 00:
  352. * Fixes:
  353. * Fixed multiple connections on Wire node when Alt + dragging nodes from it
  354. * Fixed issue with normal map usage over URP PBR
  355. * Improvements:
  356. * Added new previews:
  357. * Heightmap Texture Blend
  358. * Parallax Offset
  359. * Clip Planes
  360. * Fog and Ambient Colors
  361. * Fog Params
  362. * Instance ID
  363. * Object To Clip
  364. * Object To View
  365. * Shade Vertex Lights
  366. v1.7.6 rev 02:
  367. * Fixes:
  368. * Assured latest fix for time related nodes over SRP is only applied on latest versions
  369. * Fixed issue on declaring variables inside CBuffer that are already on native template
  370. v1.7.6 rev 01:
  371. * Fixes:
  372. * Fixed usage of legacy variables over SRP on time related nodes
  373. * Time
  374. * Time Parameters
  375. * Sin Time
  376. * Cos Time
  377. * Fixed issue on HD Unlit Vertex Offset input code not being set on all passes
  378. v1.7.6 rev 00:
  379. * New Shader Function:
  380. * SRP Additional Light
  381. * Returns SRP's additional lights information calculated with a selected lighting mode
  382. * Improvements:
  383. * 'Light Attenuation' node on Lightweight/Universal now outputs only the attenuation of the main light
  384. * Before it outputted the sum of all light attenuations which didn't have a practical use
  385. v1.7.5 rev 03:
  386. * New Templates:
  387. * Universal Experimental 2D Lit
  388. * Universal Experimental 2D Unlit
  389. * Fixes:
  390. * Fixed issue on incorrectly setting a wrong instanced block name on non-main passes when using GPU Instancing over templates
  391. * Added Safe Power option into both 'Power' and 'Fresnel' nodes
  392. * Ensures base for power operation is always greater than zero to prevent NaN over the result
  393. * Fixed 'Indirect Diffuse Light' and 'Indirect Specular Light' nodes preview when Normal Space option is set to World
  394. * Fixed 'Fresnel' node preview as it wasn't showing the correct result when scale was different than 1
  395. * Fixed Alpha Clip issue across multiple Unlit Lightweight and Universal template versions
  396. * Improvements:
  397. * Improved mouse focus behavior when ASE is not focused
  398. * Migrated Lightweight samples into Universal RP
  399. v1.7.5 rev 02:
  400. * Fixes:
  401. * Fixed issue with incorrect _ST variable declaration on templates over 'Texture Array' node
  402. * Fixed issue on 'Grab Screen Color' node creating a default Grab Pass when using the default grab name with Custom Grab Pass activated
  403. * Fixed issue on 'Texture Transform' node giving incorrect values on certain connections
  404. * Fixed node preview update for missing shader functions
  405. * Fixed issue on 'Static Switch' node using in-existent keyword indices
  406. * Fixed 'Static Switch' reordering issues when in Reference mode
  407. * Improvements:
  408. * Added missing previews to nodes
  409. * Ortho Param
  410. * Projection Param
  411. * Screen Param
  412. * ZBuffer Param
  413. * Clip
  414. * Compute Screen Pos
  415. * Texel Size
  416. * Texture Transform
  417. * Tweaked 'Texture Object' and 'Texture Sampler' node previews to avoid recent for AMD crashes
  418. v1.7.5 rev 01:
  419. * Fixes:
  420. * Fixed 'Color Space Double' node issue in SRP
  421. * Fixed 'Texture Array' node ordering issue in the material inspector when on Reference mode
  422. * Fixed issue with references lost over 'Texture Sample' on shader functions
  423. * Small fixes and optimizations to the URP unlit template
  424. * Fixed texture fields not being modifiable on 'Texture Sample' nodes when ASE window was not focused
  425. * Improvements:
  426. * Updated 'Flow' shader function to make Strength a Vector2 input
  427. * Improved registered local variables usage on templates
  428. * Removed hard-code directives declaration on LWRP and added them as Port options on templates
  429. v1.7.5 rev 00:
  430. * New Nodes:
  431. * Inverse Projection Matrix
  432. * Inverse View Projection Matrix
  433. * New Shader Functions:
  434. * Noise Sine Wave
  435. * Creates a sine wave from a given input with an added pseudo-random value
  436. * Sawtooth Wave
  437. * Creates a saw-tooth wave from a given input
  438. * Square Wave
  439. * Creates a square wave from a given input
  440. * Triangle Wave
  441. * Creates a triangle wave from a given input
  442. * Checkerboard
  443. * Created a checkerboard pattern with given colors where Frequency controls its tiling
  444. * Ellipse
  445. * Creates an ellipse based on given uv and dimensions
  446. * Polygon
  447. * Creates a polygon shape with a specified amount of sides
  448. * Rectangle
  449. * Creates a rectangle shape with a specified size
  450. * Rounded Rectangle
  451. * Creates a round rectangle shape from a given size and radius
  452. * Improvements:
  453. * Added new Smooth toggle option to 'Voronoi' node
  454. * Only available under the Cells Method
  455. * Improved selection box inside the editor graph to match Unity's and not be version dependent
  456. * Ported terrain sample to Universal Rendering Pipeline
  457. * Packed inside Examples > Universal SRP Samples.unitypackage
  458. * Fixes:
  459. * Fixed multiple issues regarding using instanced properties over 'Outline' node
  460. * Fixed hard-crash when modifying pass amount over template (API)
  461. * Fixed Native Directives display over Templates in Unity 2019.3
  462. * Fixed GPU instancing on Particles Alpha Blended template
  463. * Removed Clip from From option over 'Transform Position' and 'Transform Direction' nodes
  464. * Transform matrix was incorrect and there's no viable replacement over those nodes context
  465. v1.7.4 rev 02:
  466. * New Shader Functions:
  467. * Flow
  468. * Creates a flow effect which can be given from a flow map.
  469. * Twirl
  470. * Sets a twirl effect to a given input UV. Created by The C.reator @cayou66
  471. * Normal From Height
  472. * Extrapolate a normal vector from an height value
  473. * New Sample:
  474. * Scale Independent Tile
  475. * Improvements:
  476. * Added new Rotation Independent Scale option into 'Object Scale' node
  477. * Tweaked 'Remainder' node to always use the % operator on Unity 2018.1 and above
  478. * Fixes:
  479. * Fixed issue on loading multipass multi visible master nodes losing their names
  480. * Fixed issue with point lights not working with instanced terrain shaders
  481. * Fixed issue on terrain getting black when drawn instanced
  482. * Fixed alpha test issues over deprecated HDRP Lit
  483. * Fixed issue where not setting pass name on port options lead to incorrect option behavior (API)
  484. * Fixed previews not updating correctly in shader functions
  485. v1.7.4 rev 01:
  486. * New Template:
  487. * Unlit for HD SRPv6.x.x
  488. * New Node:
  489. * Luminance
  490. * Fixes:
  491. * Fixed alpha-clip issues with legacy HD templates
  492. * Fixed issue on incorrectly initializing custom type variables on 'Custom Expression' node
  493. * Fixed nodes preview getting lost on loading scenes
  494. * Fixed preview issue on 'Noise Generator' node
  495. * Fixed preview issue on 'Panner' node
  496. * Fixed preview issue on 'Rotator' node
  497. * Fixed issue on ignored Passes over SubShader options appearing on both shader reload hot code reload
  498. * Fixed issue with 'Parallax Occlusion Mapping' node when used on shader functions
  499. * Fixed issue with setting directly the property name over its textfield wouldn't trigger the duplicates prevention system
  500. * Improvements:
  501. * Updated 6.9.2 Lightweight templates to includes the same options as URP templates
  502. v1.7.4 rev 00:
  503. * Fixes:
  504. * Fixed critical error where users could not create a surface shader if no ASE window was opened
  505. v1.7.3 rev 00:
  506. * Fixes:
  507. * Fixed preview issues on multiple nodes
  508. * Fixed incorrect template reload when multiple shaders using the same template are opened
  509. * Fixed Ignore Rotation issues on 'Billboard' node over Lightweight RP
  510. * Fixed issue on not importing latest SRP templates when an unregistered version is detected
  511. * HDRP templates no longer throw console errors on Unity 2019.3
  512. * Fixed Alpha Clip issue on deprecated HDRPLit template
  513. * Fixed issue on incorrectly resetting port internal data on load with matrices types
  514. * Improvement:
  515. * Minor renaming on 'Baked GI' node name to 'SRP Baked GI'
  516. * Updated URP templates to include a Baked GI port similarly to HDRP
  517. v1.7.2 rev 03:
  518. * Fixes:
  519. * Fixed issue on templates not capturing properties with certain attributes
  520. * Fixed issue on templates inline properties not being properly set on modules if main master node wasn't the first pass
  521. * Improvements:
  522. * Added Builtin Fog toggle option into Lightweight PBR template
  523. v1.7.2 rev 02:
  524. * Fixes:
  525. * Fixed issue on 'Toggle Switch' node
  526. * Fixed abnormal behavior when reading template with more interpolators than the ones allowed by its Shader Model (API)
  527. * Improvements:
  528. * Template can now read Shader Model from area outside SubShader (API)
  529. v1.7.2 rev 01:
  530. * Fixes:
  531. * Fixed issues on generating incorrect precision inputs on both 'Screen Position' and 'World Position' node
  532. * Fixed issue on multi-pass master nodes not setting correct given shader name when created from file
  533. * Fixed issue on WaterSample shader
  534. * Fixed issue on 'Custom Expression' node not generating correct function code without a return statement
  535. * Improvements:
  536. * Users can, like on Shader Functions, immediately name shader when creating it
  537. * Adding Instanced option into 'Texture Transform' node
  538. * Determines if the _ST texture transform variable is created as an instanced property
  539. v1.7.2 rev 00:
  540. * Improvements:
  541. * 'Toggle Switch' node now uses a ternary operator to prevent incorrect results on NaN inputs
  542. v1.7.1 rev 13:
  543. * Fixes:
  544. * Fixed issue duplicating certain nodes
  545. v1.7.1 rev 12:
  546. * Fixes:
  547. * Fixed issue when using more than one Octave on 'Voronoi' node
  548. * Fixed issue on Motion Vectors pass over HD templates
  549. * Fixed issue on generating incorrect keyword value on 'Static Switch' node using Reference Mode
  550. v1.7.1 rev 11:
  551. * Fixes:
  552. * Fixed issue on registering/unregistering internal template generated nodes over the reorder node event
  553. * Fixed multiple issues on 'Custom Expression' node
  554. * Fixed issue on using 'Voronoi' node over shader functions
  555. v1.7.1 rev 09/10:
  556. * New Node:
  557. * HD Emission
  558. * Fixes:
  559. * Fixed issue when reading shader with missing shader function
  560. * Fixed issue when duplicating property nodes on Fetch mode would reset property name
  561. * Fixed issue on 'Parallax Occlusion Mapping' node incorrectly generating instanced _ST vars outside the CBuffer
  562. * Fixed alpha cutoff issues on HD Lit templates v5.7.2 and v5.16.1
  563. * Fixed issue on not declaring both BakedGI and BakedBackGI on Lit template
  564. * Fixed issue on not setting some ports with graph data over templates
  565. * Improvements:
  566. * Listing on nodes is now alphabetically ordered
  567. * Get Local Var
  568. * Grab Screen Color
  569. * Static Switch
  570. * Texture Array
  571. * Texture Sample
  572. * Node search bar text now takes property name and inspector name into account
  573. v1.7.1 rev 08:
  574. * Fixes:
  575. * Fixed issue on 'Register Local Var' not allowing to reset name to loaded one
  576. * Fixed Console Log issues with Personal Skin
  577. * Fixed issue on overwriting Render Type custom values over a template(API)
  578. * Fixed issue on local variables generation over the 'Unpack Scale Normal' node
  579. * Fixed issue with setting special tags over template options (API)
  580. * Improvements:
  581. * Added more flexibility to 'Static Switch' node
  582. * Can have empty property names when Material Toggle is toggled off
  583. * It no longer modifies keywords ( setting to upper, adding _ON, etc ) if Material Toggle is toggled off
  584. * Tweaked visible options when on Fetch mode
  585. * Added hot-fix to 2019.2 Lit template in order to generate shaders without errors when used on HDRP v7.x.x
  586. v1.7.1 rev 07:
  587. * New Shader Functions:
  588. * Derive Tangent Basis
  589. * Height-based Blending
  590. * Improvements:
  591. * Clicking on node specific messages over ASE log now jumps to which node generated it
  592. * Changing ports types to matrix now sets the identity matrix into its internal data
  593. * Relevant on nodes like 'Custom Expression'
  594. * Fixes:
  595. * Fixed issue on incorrectly adding 0 to W channel when creating position vectors
  596. * Fixed issue on not auto-importing templates correctly over Unity 2019
  597. * Fixed multiple issues regarding shader function previews
  598. * Fixed compilation issue when using unreferenced 'Get Local Var' nodes
  599. * Fixed issue on changing 'Static Switch' name not being reflected on referenced list
  600. * Fixed issues with 'Texture Coordinates' and 'Texture Sampler' nodes with 'Relay' or 'Wire' nodes on Tex port
  601. v1.7.1 rev 06:
  602. * Fixes:
  603. * Fixed new and old shader templates for HDRP 6.9.X so the diffusion profile value is passed around correctly
  604. * Fixed issue on 'Texture Coordinates' node not correctly swizzling data on template vertex functions
  605. * Prevented Additional Directives reference lost when saving certain shader functions
  606. v1.7.1 rev 05:
  607. * Fixes:
  608. * Fixed issue on getting incorrect inline properties on templates
  609. v1.7.1 rev 04:
  610. * Fixes:
  611. * Fixed 'Diffusion Profile' node issues on SRP v6.9.X
  612. * Fixed multiple issues regarding shader functions Additional Directives usage
  613. v1.7.1 rev 02/03:
  614. * Fixes:
  615. * Fixed issue both on creating duplicate texture ST constants and being declared out of the cbuffer
  616. * Fixed possible issues on 'Texture Transform' node over SRP
  617. * Fixed baked lighmap issues over Lightweight/Universal PBR templates
  618. * Fixed SimpleTerrain sample water shader which was broken due to recent 'Screen Depth' node changes
  619. * Fixed compilation errors on 'Voronoi' node
  620. * Fixed issue on registering duplicate instanced variables which are already on template as non-instanced
  621. v1.7.1 rev 01:
  622. * Fixes:
  623. * Removed unused variable warning
  624. * Broadened up Shader Function versions to apply serialized fix on Origin field
  625. v1.7.1 rev 00:
  626. * Fixes:
  627. * Fixed issue with Face related nodes not working in HDRP v6.9.0 due to bad version handling
  628. * Fixed retro-compatibility issue with incorrectly reading Shader Function Custom Directives as Native
  629. * Improvements:
  630. * Tweaked 'Get Local Var' node message thrown when no Reference is selected
  631. * Natives UI listing is now locked on Unity 2019.3 to prevent incorrect behaviors on new UI system
  632. v1.7.0 rev 09:
  633. * Improvements:
  634. * Changing Variable Mode from Fetch to Create no longer rewrites property name on Property Nodes
  635. * Improved property renaming when duplicating Property nodes
  636. * Added property name to items on Material Properties list
  637. * Can be clicked to focus on specified node
  638. v1.7.0 rev 08:
  639. * Fixes:
  640. * Fixed issue on HD Lit Diffusion Profile port being incorrectly set as type Int
  641. * Multi Pass Master Nodes no longer reads/writes input port meta data as this must always be given by template
  642. v1.7.0 rev 07:
  643. * Fixes:
  644. * Fixed issue with the 'Diffusion Profile' node not updating from and to the material inspector
  645. * Improvements:
  646. * Added new internal console inside shader canvas to more easily check ASE related messages
  647. v1.7.0 rev 06:
  648. * New Shader Function:
  649. * Non Stereo Screen Pos
  650. * Converts a VR screen position into a non-VR one
  651. * Fixes:
  652. * Fixed issue with both 'Gradient' and 'Gradient Sample' nodes on Lightweight/Universal
  653. * Fixed 'Voronoi' node issue over templates
  654. * 'Reconstruct World Position From Depth' now correctly works on VR
  655. * Improvements
  656. * Tweaked Lightweight and Universal templates
  657. * Pragma tag now after native includes
  658. * Removed unused _MainTex_ST variable from Meta pass
  659. * Shader Properties can now be fully rewritten through template options(API)
  660. * Added Vulkan to Standard Surface Rendering Platforms
  661. v1.7.0 rev 05:
  662. * New Templates:
  663. * Added templates for Universal Rendering Pipeline
  664. * Packed inside AmplifyShaderEditor\Plugins\EditorResources\Templates\USRPTemplates.unitypackage
  665. * Fixes:
  666. * Fixed multiple issues with Lit HDRP template
  667. * Fixed issue on not taking the 'Int' node as SRP compatible
  668. * Fixed both 'Transform Direction' and 'Transform Position' nodes issues regarding Tangent space
  669. * Fixed multiple issues regarding template options
  670. * Fixed issue on incorrect reading over Depth Offset values from shader
  671. * Minor fix on templates post-processor to prevent null pointer exceptions
  672. * Improvements:
  673. * Unity global variables used as inline properties on templates are now registered so they can be correctly maintained over the final shaders
  674. * Added LOD Cross Fade into Lightweight RP templates
  675. * Added Inherit type into precision popup and made sure most nodes can now compile with the proper precision type
  676. * Some nodes have a specific precision on purpose
  677. * Improved 'Diffusion Profile' node behavior
  678. * Added material property attribute
  679. * Updated source code able to create profile properties in HDRP 7.X
  680. v1.7.0 rev 04:
  681. * Improvements:
  682. * When switching between shader type the connections with the same port name are kept intact
  683. * Custom inspector for SRP 7.X is now detected automatically and upgraded from previous versions
  684. * Templates master nodes now display the shader name in their title for better consistency
  685. * Fixes:
  686. * Fixed issue in SRP 7.X where certain auto defines were overriding the selected options
  687. * Fixed issue in templates system where in certain situations defines would be set forever
  688. * Fixed stencil options in HDRP 7.X
  689. * Thickness port in HDRP 7.X is now always visible
  690. * Some properties in HDRP 7.X are now override-able
  691. v1.7.0 rev 03:
  692. * Improvements:
  693. * Added support for pragma options to the template system
  694. * Fixes:
  695. * Fixed issue where dependent template options would be visible when it's dependency was off in some situations
  696. * Fixed issue with wrong connection types on creation of new nodes when dragging from ports
  697. * Fixed issue with detecting LOD parameter in templates
  698. v1.7.0 rev 02:
  699. * Fixes:
  700. * Fixed issue when selecting a shader that contains errors in 2019.3 would generate inspector errors
  701. v1.7.0 rev 01:
  702. * Fixes:
  703. * Fixed issue on incorrect initial node setup from previously saved options
  704. v1.7.0 rev 00:
  705. * New Node:
  706. * Voronoi
  707. * Fixes:
  708. * Fixed issue on all templates not being available to choose over the Creates > Amplify Shader menu
  709. * Fixed issue on Unlit absolute mode
  710. * Fixed issue on both Lightweight templates absolute mode
  711. * Fixed issue on 'World Space View Dir' node preview
  712. * Fixed blinking window when 'Add'or 'Mul' nodes are dynamically changing their input ports
  713. * Fixed issue with detection loop function that was causing massive slow downs on node connection on big graphs
  714. * Fixed multiple issues with new Lit template
  715. * 'Face' and 'Switch By Face' now correctly work on the latest HDRP version
  716. * Fixed multiple issue on latest HD Lit template
  717. * Fixed issue when selecting shaders on Unity 2019.3
  718. * Fixed incorrect local variable generation on multiple nodes over Standard Surface's Vertex ports
  719. * Improvements:
  720. * Improved editor performance by only refreshing when needed and only updating previews that are necessary to update
  721. * Texture array auto sorting on texture drop over Texture Array tool
  722. * Directives can now be written both before or after (via mouse drag ) to native directives detected on template
  723. * Added dropdown for custom editor in templates that contain the HD material inspector
  724. * 'Depth Fade' and 'Screen Depth' can now be used on vertex shader
  725. * Improved and optimized node search on context menu
  726. * Node developers can now associate tags to their nodes
  727. * Small improvement to shader function properties order when multiple shader functions are inside each other
  728. * Improved 'Noise Generator' node
  729. * Added new Gradient type
  730. * Added new option to auto set noise generator values to a 0-1 range
  731. * Added new scale input port to scale its Size input
  732. * Extended Port options versatility when declared on SubShader (API)
  733. * Shader Properties default values can now be set through the SetShaderProperty action (API)
  734. * Refactored templates paths
  735. * Deprecated:
  736. * Disabled ASE custom texture array inspector on Unity 2019 and above
  737. * Marked old templates as deprecated
  738. * These will be eliminated from the package on a future build
  739. v1.6.9 rev 02:
  740. * New Template:
  741. * Re-designed a new HD Lit template for SRP v6 and above
  742. * Compatible with Unity's default HD material inspector
  743. * Fixes:
  744. * Fixed division by zero issues on 'Blend Operations' node
  745. * Fixed VR stereo issue in Standard Surface custom shadow caster
  746. * Fixed issue with reorderable properties in shader function being stuck when two or more of the same SF was used inside another one
  747. * Fixed incorrect variable naming on certain operations over both 'Transform Position' and 'Transform Direction' nodes
  748. * Fixed issue on Input Port internal wrapper creating float3x3 with float4x4 contents
  749. * Minor tab fixing on Unlit template
  750. * Fixed issue on HD templates Auto-Importer
  751. * Fixed issue on not always capturing the template custom inspector correctly
  752. * Fixed compatibility issue with 'Diffusion Profile' node on Unity 2019.3
  753. * Improvements:
  754. * Added tag system to node search and improved how nodes are searched
  755. * Now words don't have to be in the same order of the name to match
  756. * Reactivated SRP Batcher compatibility
  757. * Each UnityPerMaterial Cbuffer set in pass now contains all declared property variables
  758. v1.6.9 rev 01:
  759. * Improvements:
  760. * Added support for HDRP v6xx over Unity 2019.2
  761. * HDRP v5xx now set as legacy and moved into the SRP (Legacy) folder
  762. * LWRP templates remain the same between v5 and v6
  763. * 'Swizzle' node is now non-destructive when connecting data with less info than selected options
  764. v1.6.9 rev 00:
  765. * Fixes:
  766. * Fixed 'Component Mask' node preview
  767. v1.6.8 rev 07:
  768. * New Nodes:
  769. * Gradient
  770. * Gradient Sample
  771. * Fixes:
  772. * Fixed nodes incorrectly moving when interacting with popup fields in recent Unity versions
  773. * Fixed issue on incorrect size for vertex normal data on LWRP Unlit template
  774. * Improvements:
  775. * Added Built-in Fog option to LWRP Unlit template
  776. v1.6.8 rev 06:
  777. * Fixes:
  778. * Fixed issue on incorrectly selecting Shader Name textfield when opening an ASE shader
  779. * Fixed issues on incorrect uv coordinates size over 'Grab Screen Color' node
  780. * Fixed GPU instancing and vertex offset issues on all HDRP templates
  781. * Fixed parse issues when capturing structs inside templates (API)
  782. * Temporarily disabled SRP Batcher as it was not properly working
  783. v1.6.8 rev 05:
  784. * Fixes:
  785. * 'Grab Screen Color' now prevents Unity macro inconsistent behavior between Unity versions
  786. v1.6.8 rev 04:
  787. * Fixes:
  788. * Fixed issues regarding Diffusion Profile usage on HDRP
  789. v1.6.8 rev 03:
  790. * Fixes:
  791. * 'Grab Screen Color' now prevents Unity macro inconsistent declaration ending between VR and non-VR compilation
  792. * Preventing compilation errors related to GPU Instancing on SRP
  793. v1.6.8 rev 02:
  794. * Fixes:
  795. * Added missing stereo config on LW Unlit template
  796. * Fixed Blend Mode config on HD Lit template when choosing Opaque mode
  797. v1.6.8 rev 01:
  798. * Fixes:
  799. * Fixed compilation issue with 'Grab Screen Color' node on VR
  800. * Fixed issue on Shadow Caster pass over HD Lit template v5.16.1
  801. * 'Grab Screen Color' node now takes VR into account on LWRP
  802. * Improvements:
  803. * Share links now have permanent lifetime
  804. * Added new Depth Offset option into HD Lit template v5.16.1
  805. v1.6.8 rev 00:
  806. * New features:
  807. * Added Share button that uploads select data to the cloud for easy sharing
  808. * Added Screenshot button that takes a screenshot of the whole graph and saves it to disk
  809. * For now this is a Windows only feature
  810. * Fixes:
  811. * Fixed issue on 'Toggle Switch' node registering a toggle drawer twice causing inspector warnings
  812. * Fixed issue on not always capturing the Fallback library on templates
  813. * Fixed both 'HSV to RBG' and 'RGB to HSV' node previews
  814. * Fixed issue on sometimes losing directives info on Shader Functions after being moved into a different path
  815. * Fixed issue on Shader Function being incorrectly loaded into a separate tab after being moved into a different path
  816. * Fixed issue on certain Pass Options only being applied to main pass Master Node
  817. * Improvements:
  818. * ASE now auto-imports SRP templates if they are installed via Package Manager
  819. * It will also import correct templates in case of user switches between versions
  820. * User still need to open the shaders and hit the Update button so they are compiled on the correct version
  821. * Improved canvas buttons to better represent their purpose
  822. * Improved PPS Template under Single Pass VR
  823. * Mosaic Effect PPS sample now fully works across VR
  824. * Set Port Name action can now be registered on Port options block(API)
  825. v1.6.7 rev 06:
  826. * Fixes:
  827. * Fixed multiple issues on 'Custom Expression' node
  828. * Fixed layout issue when writing input names
  829. * Fixed issue on updating InOut/Out ports when reordering inputs
  830. * Fixed custom loading issue on void Output or Call mode when no inputs are declared
  831. * Fixed issue where user could set main output type as OBJECT type
  832. * Fixed incorrect text replacement on Call mode code
  833. * Fixed Custom Types not being correctly declared
  834. * Fixed compilation issues both on HD Lit and PBR when WRITE_MSAA_DEPTH directive is used
  835. * Possible fix on VR issue with Lightweight RP
  836. * Possible fix on issue with Unlit template when using Single Pass Stereo VR
  837. * Possible fix on issue with 'Grab Screen Color' node when using Single Pass Stereo VR
  838. * Improvements:
  839. * Added Variable Mode to 'Grab Screen Color' node
  840. * Added new Alpha port on 'Blend Operations' node to enable a more layered like behavior
  841. * Added support to SRP 5.16.1
  842. v1.6.7 rev 05:
  843. * Fixes:
  844. * Fixed issue with alpha cutoff on both HD Lit 5.7.2 and 5.13 templates
  845. * Improvements:
  846. * Added new template option functionality to copy properties from sub shader module (API)
  847. v1.6.7 rev 04:
  848. * Fixes:
  849. * Fixed issue on not taking variables declared on template into account when registering instanced variables
  850. v1.6.7 rev 03:
  851. * Fixes:
  852. * Fixed issue on 'Static Switch' node when setting default value on Enum type
  853. * Fixed issue on 'Triplanar Sampler' node incorrectly activating mid and bottom index ports
  854. * Fixed normal map unpacking issues with Lightweight RP over mobile
  855. * Improvements:
  856. * Adding INTERNALTESSPOS into template semantics to prevent user issues
  857. v1.6.7 rev 02:
  858. * Fixes:
  859. * Fixed exposure issue on both diffuse and specular components over HDRP templates
  860. * New Templates:
  861. * Adding specific templates for legacy HDRP v5.7.2
  862. v1.6.7 rev 01:
  863. * Fixes:
  864. * Changed how depth fetch is done to prevent issues on single pass vr
  865. * Tweaked 'World Position' node preview shader to prevent issues over PS4
  866. * Fixed issue on 'World to Object' node when used on templates
  867. * Fixed 'Custom Expression' node issue with Auto-Register on shader functions
  868. * Improvements:
  869. * Post-Processing Tool now works under a InvariantCulture to be region independent
  870. * 'Static Switch' node now supports both shader_feature_local and multi_compile_local
  871. * Only available on Unity 2019.1 and above
  872. * Activate the Is Local toggle over the node properties
  873. v1.6.7 rev 00:
  874. * New Sample:
  875. * Volumetric Pixelize by Raphael Ernaelsten
  876. * New Nodes:
  877. * Diffusion Profile
  878. * Packed inside HDSRPTemplates.unitypackage
  879. * To be used on Unity 2019 with HDRP 5.13
  880. * Baked GI
  881. * Improvements:
  882. * 'Grab Screen Color' node now works on both HDRP 4.x.x and 5.x.x
  883. * Added new Is Variable toggle on 'Custom Expression' node
  884. * Fixes:
  885. * Fixed possible null pointer access when losing focus on a ASE window
  886. * 'Texture Sample' and 'Texture Coordinates' nodes no longer breaks GPU Instancing/SRP Batcher
  887. v1.6.6 rev 00:
  888. * Improvements:
  889. * Added support for both Lightweight and HD SRP v5.13.0 on Unity 2019
  890. * Templates for SRP v4.x.x on Unity 2018.3 are still accessible through packages
  891. * HDSRPTemplates 4xx (Legacy)
  892. * LWSRPTemplates 4xx (Legacy)
  893. * Updated 'Triplanar Sample' node to include a new position port
  894. * Also updated TriplanarProjection sample to include this node usage
  895. * Fixes:
  896. * Fixed issue with using vertex tangent data over SRP templates
  897. v1.6.5 rev 00:
  898. * Fixes:
  899. * Fixed issue on interpolator usage on template based shaders when current shader model max amount is reached
  900. v1.6.4 rev 03:
  901. * Improvements:
  902. * Improved Post-Processing Tool behavior
  903. * Removed dependencies on Unity's Post-Processing Stack libs to prevent compilation issues
  904. * Added new 'Allow In Scene View' option
  905. v1.6.4 rev 02:
  906. * Fixes:
  907. * Added missing ase_pragma tag over PPS template
  908. v1.6.4 rev 01:
  909. * Fixes:
  910. * Fixed issue with using 'Indirect Diffuse Light' node with Lightweight PBR template
  911. v1.6.4 rev 00:
  912. * Fixes:
  913. * 'Indirect Diffuse Light' node now works on the HD SRP templates
  914. * Fixed memory leak on closing ASE windows
  915. * Fixed port define issue with linked ports over template options (API)
  916. * Fixed loading issue on 'Reconstruct World Position From Depth' shader function
  917. v1.6.3 rev 09:
  918. * Fixes:
  919. * Added missing ase_frag_input tag on Lightweight Unlit SRP template
  920. * Fixed compiler issues when using 'Face' and 'Switch by Face' nodes on Vertex Ports
  921. * Improvements:
  922. * Minor tweak on Simple GPU Instancing sample for GPU Instancing behavior to be more evident
  923. v1.6.3 rev 08:
  924. * Improvements:
  925. * Standard Surface custom ASE shadow caster can now be turned off
  926. * Toggle on new 'Use Default Shadowcaster' option over Rendering Options group
  927. * Fixes:
  928. * Nodes 'Face' and 'Switch by Face' now properly work over the HD Unlit template
  929. * Fixed issue on missing ase_frag_input tags over HD Unlit
  930. * Template Port Options can now be properly registered over SubShader (API)
  931. v1.6.3 rev 07:
  932. * Fixes:
  933. * Removed unnecessary code being used when on Custom Lighting
  934. * Fixed 'Light Color' node not being correctly reset when on subtractive lightmaps
  935. * Removed gi.light.color usage from Blinn Phong Light shader function as it was a temporary fix for the above
  936. v1.6.3 rev 06:
  937. * Fixes:
  938. * Fixed issues on 'Light Attenuation' node over Lightweight SRP
  939. * Removed incorrect N.L contribution
  940. * Fixed issue on duplicate variables when using multiple nodes
  941. v1.6.3 rev 05:
  942. * New Sample:
  943. * SRP HD Omni Decal
  944. * Fixes:
  945. * 'Indirect Diffuse Light', 'Indirect Specular Light' and 'Light Attenuation' now works on Lightweight SRP
  946. * Fixed issue on 'Screen Position' node previewer when on Screen Mode
  947. * Fixed 'Screen Depth' node issue over Particle Alpha Blended template
  948. * Improvements:
  949. * 'Static Switch' nodes now have a Reference mode
  950. * Can use other nodes as reference, similar to 'Texture Sample' node
  951. * Minor cleanup on 'Reconstruct World Position From Depth' shader function
  952. * Can set shader functions as hidden so it wont show on context menu
  953. * Activate Hidden toggle over shader function General options
  954. v1.6.3 rev 04:
  955. * Fixes:
  956. * Minor fix on Screen Space Detail sample
  957. * Fixed issue on instanced surface terrains not being able to be picked/selected
  958. * Fixed issue with lightmaps and instanced standard surface terrains
  959. * Fixed issue with 'Four Splats First Pass Terrain' shader function on default templates
  960. * Fixed issue with duplicate local variables on 'Texture Coordinates'
  961. * Fixed issue on duplicate ST variable when using Particle Texture Parameter over Particles template
  962. * Improvements:
  963. * 'Switch By Pipeline' node now takes default template and surface into account
  964. * UsePasses can be directly registered by nodes on data collector(API)
  965. * ASE Custom Shader Inspector now also shows SRP Batcher compatibility status
  966. v1.6.3 rev 03:
  967. * Fixes:
  968. * Fixed issues with Custom Lighting on Subtractive Lighting Mode
  969. * Fixed issue on Diffusion Profile Id not being correctly written when Transmission is activated on HD Lit template
  970. v1.6.3 rev 02:
  971. * Fixes:
  972. * Fixed issue with Mosaic Effect PPS sample not opening correctly on Unity 2018.1 and 2018.2
  973. * Fixed issue on Multi Pass Distortion sample not taking skybox into account
  974. * Improvements:
  975. * User can now specify sub-shader tags
  976. * Moved RenderType tag to sub-shader level
  977. v1.6.3 rev 01:
  978. * Fixes:
  979. * Fixed issue on screen position calculation across all templates
  980. * Fixed issue with 'Parallax Occlusion Mapping' node
  981. * Improvements:
  982. * Minor tweak on Post-Processing Stack template
  983. v1.6.3 rev 00:
  984. * Fixes:
  985. * Fixed multiple issues with 'Triplanar Sample' node over SRP
  986. v1.6.2 rev 11:
  987. * Fixes:
  988. * Fixed issue on ST registry at 'Parallax Occlusion Mapping' node not taking SRP name convention into account
  989. * 'Reconstruct World Position From Depth' shader function now compatible with HDRP
  990. * Fixed crash caused by the 'Outline' node when attempting to be used on nested shader functions
  991. * Fixed issues with 'Screen Position', 'Depth Fade' and 'Screen Depth' nodes on PPS template
  992. v1.6.2 rev 10:
  993. * New Template:
  994. * PostProcessStack
  995. * Post-Processing shader based on Unity provided example
  996. * New Sample:
  997. * Mosaic Effect PPS
  998. * New Tool:
  999. * Post-Processing Stack Tool
  1000. * Generates a cs script with a PPS Renderer and Settings from a given shader
  1001. * New Shader Function:
  1002. * Decoding Directional Lightmap
  1003. * Improvements:
  1004. * Added inline property for Alpha to Coverage option on Standard Surface Shader Type
  1005. * Fixes:
  1006. * Fixed 'Triplanar Sample' and 'Parallax Occlusion Mapping' nodes issues with texture arrays on SRP
  1007. * Fixed crash caused by the 'Outline' node when attempting to be used on templates
  1008. * This node is specific to Standard Surface Shader Type
  1009. * Fixed issue with using Lightweight PBR legacy template
  1010. v1.6.2 rev 08/09:
  1011. * Fixes:
  1012. * Fixed issue with depth texture fetching on Lightweight SRP
  1013. v1.6.2 rev 07:
  1014. * Fixes:
  1015. * Fixed issue on template asset post processor
  1016. v1.6.2 rev 06:
  1017. * Improvements:
  1018. * Updated Decals code and removed warnings from HD Lit template
  1019. * Improved behavior when loading outdated meta from shaders using modified templates
  1020. * Added No Scale and Offset attribute to 'Texture Array' node
  1021. * Fixes:
  1022. * Fixed instancing issues over HD Lit template
  1023. v1.6.2 rev 05:
  1024. * New Shader Function:
  1025. * Blinn Phong Light Wrap
  1026. * Fixes:
  1027. * Fixed issue with null pointer exception when hacking selection on dynamic ports
  1028. * Input ports which appear on p.e. 'Add' and 'Multiply' nodes when dragging wires
  1029. * Fixed shadow issues on HD PBR samples
  1030. * Fixed 'Billboard' node issues on HD SRP
  1031. * Fixed D3D11 internal compiler error on Android + VR over multiple templates
  1032. * Fixed issue with Depth Texture declaration on particles template over Android + VR
  1033. * Fixed issue with local var declaration of custom types on 'Custom Expression' node
  1034. * Fixed issue with 'Object To World','World To Object' and 'Transform Position' nodes
  1035. * Improvements:
  1036. * Added the action of (de)activating ZWrite when Surface type is selected on HD Lit template
  1037. * Added the action of selecting correct Blend RGB when Surface Type is selected on HD Lit template
  1038. * Improved failsafe to when template creators changes order on passes, removes or add new ones
  1039. * Depth Texture now being declared with Unity's own macro on Unity 5.6 and above to prevent issues
  1040. * Updated HD templates and samples to v.4.9.0
  1041. * Users can still use v4.8.0 although template shaders will present an error
  1042. * Final compiled shader will have error removed
  1043. * Added Refraction's Chromatic Aberration as an Inline Property on Standard Surface
  1044. * Located on Blend Mode menu, bellow Refraction Layer option
  1045. * Only shows when Refraction port is connected
  1046. * 'DecodeLightmap' now working on latest SRP templates
  1047. * 'Fetch Lightmap Value' shader function now takes SRP into account
  1048. v1.6.2 rev 04:
  1049. * Fixes:
  1050. * Fixed World To Object and Object To World operations on Lightweight SRP
  1051. * Improvements:
  1052. * Added support for Terrain instancing over Unity 2018.3
  1053. * Correctly handling when user wants to disable main output node
  1054. * Minor tweaks over SRP templates global tags to be able to properly inject code dependent on vertex data
  1055. v1.6.2 rev 03:
  1056. * Fixes:
  1057. * Fixed issue on HD Lit Motion Vector's pass
  1058. * Fixed issue with Default UI template when used on Sprite Renderers
  1059. * Improvements:
  1060. * SRP templates no longer have CBuffer block pre-written
  1061. * Instanced Properties now correctly declare CBlocks
  1062. * Added new Receive Shadows option into Lightweight templates to correctly handle shadows
  1063. v1.6.2 rev 02:
  1064. * New Node:
  1065. * Instance Id
  1066. * Fixes:
  1067. * Fixed issue on not being able to have multiple property nodes fetching the same variable
  1068. * Fixed version issue on both HD and LW samples
  1069. * Improvements:
  1070. * Removed hard cap on interpolator usage on templates
  1071. * Message is thrown to the user if maximum allowed by shader model is reached
  1072. v1.6.2 rev 01:
  1073. * New Template:
  1074. * HD Lit
  1075. * New Sample:
  1076. * SRP HD Lit Refraction
  1077. * Improvements:
  1078. * Can add options on template which lets users change its behavior when using it on ASE
  1079. * Added Vertex Position option into Unlit and SRP templates
  1080. * Specified value on Vertex input port can now be either a relative value or an absolute one
  1081. * Passes can now be excluded from final shader through Available Passes menu over SubShader Properties
  1082. * Fixes:
  1083. * Fixed issues with Lightweight PBR Shadow Caster on WebGL and Android
  1084. v1.6.2 rev 00 / v1.6.1 rev 05:
  1085. * New Template:
  1086. * Unlit Lightmap
  1087. * New Sample:
  1088. * Unlit With Lightmap
  1089. * Fixes:
  1090. * Fixed issue on 'Depth Fade' node with custom Vertex Positions
  1091. * Fixed issue with using the X,Y,Z,W output ports on 'Object To World' node
  1092. v1.6.1 rev 04:
  1093. * New Node:
  1094. * Linear Depth
  1095. * Converts values given on logarithmic space to linear
  1096. * Improvements:
  1097. * Minor improvement on nodes loading time when initializing ASE
  1098. * Fixes:
  1099. * Fixed local variable duplicate issue when using 'Depth Fade' and 'Screen Position' nodes
  1100. * Fixed serialization issue with Additional Use Passes and Fallback data when going into play mode
  1101. * Fixed HDRP issues on Motion Vectors pass
  1102. * Fixed issue with uniform keyword usage inside cbuffers (SRP templates) over PS4
  1103. * Fixed issue with 'Common Transform Matrices' node over SRP templates
  1104. * Fixed object to world/world to object space transform on transform nodes over HD templates
  1105. * 'Transform Position', 'Object To World' and 'World To Object' nodes
  1106. * They now take SHADEROPTIONS_CAMERA_RELATIVE_RENDERING keyword into account
  1107. * Fixed issue with 'Pixelate UV' node when used over vertex functions
  1108. * Fixed foldout issue between Additional Surface Options and Custom SubShader Tags on Surface node properties
  1109. v1.6.1 rev 03:
  1110. * New Shader Functions:
  1111. * Terrain Wind Value
  1112. * Terrain Wind Animate Vertex
  1113. * Updated Simple Terrain sample to use this shader function
  1114. * Improvements:
  1115. * Updated HDRP PBR template to v4.6.0
  1116. * Added Alpha To Coverage/Alpha To Mask option into templates
  1117. * Set under the Blend Mode area
  1118. * Fixes:
  1119. * Fixed issue on Emission color being added over Forward Add pass when using 'Standard Surface Light' node
  1120. v1.6.1 rev 02:
  1121. * Fixes:
  1122. * Fixed issue with reordering material properties for Translucency and Refraction port's properties
  1123. * Fixed issue with 'Texture Sample' node when referencing an unconnected node
  1124. v1.6.1 rev 01:
  1125. * Improvements:
  1126. * Updated HDRP templates to v4.3.0
  1127. * 'Vertex Tangent' node now has Size option
  1128. * Added access to all 8 UV sets on Surface shaders
  1129. * Re-added 'Clip' node
  1130. * First Input Port acts as a relay
  1131. * Clip uses difference between Alpha and Threshold ( Alpha - Threshold )
  1132. * Fixes:
  1133. * Fixed issue with late directives being injected on globals tag when functions area is available
  1134. * Affected usage of 'World Space Light' nodes on HDRP templates
  1135. * Fixed division by 0 issue on 'Triplanar Sample' node
  1136. * Fixed incorrect directional light vector usage on HDRP templates
  1137. v1.6.1 rev 00:
  1138. * Fixes:
  1139. * Excluding Primitive ID source code from MacOS
  1140. v1.6.0 rev 00:
  1141. * Improvements:
  1142. * Updated SRP templates to v4.2.0
  1143. * Fixes:
  1144. * Fixed issue on GBuffer pass over HD PBR template
  1145. * Fixed alpha clip issues on Legacy HD PBR template
  1146. v1.5.9 rev 02:
  1147. * New Nodes:
  1148. * Vertex Id
  1149. * Primitive ID
  1150. * New Shader Functions:
  1151. * Perturb Normal HQ
  1152. * Prepare Perturb Normal HQ
  1153. * Improvements:
  1154. * Matrix type nodes can now be GPU instanced
  1155. * Fixes:
  1156. * Fixed issue with 'Fresnel' node with Tangent Normal vectors on Surface shaders
  1157. * Fixed issues on Motion Vector pass on both 3.x.x. and 4.x.x templates
  1158. * Fixed issue with world pos generation on HD 4.x.x
  1159. v1.5.9 rev 01:
  1160. * Improvements:
  1161. * Added Auto Gamma to Linear option into 'Color' nodes when set to Constant
  1162. * Added access to all 8 uv channels on 'Texture Coordinates' and 'Vertex TexCoord' nodes
  1163. * Only for 2018.2 and above
  1164. * Fixes:
  1165. * Fixed 'Gamma To Linear' and 'Linear To Gamma' compiler errors on SRP v.4.x.x
  1166. v1.5.9 rev 00:
  1167. * Fixes:
  1168. * 'Grab Screen Color' node now also working on Lightweight SRP v3.x.x
  1169. * Fixed possible issue with Shader Function creation callback not being inside AmplifyShaderEditor namespace
  1170. v1.5.8 rev 03:
  1171. * Fixes:
  1172. * Fixed multiple issues in both PBR and Unlit templates for HD SRP v4.x.x
  1173. * Fixed issue over clip space transforms on HD SRP
  1174. * Fixed issue on sampling depth buffer on HD SRP
  1175. v1.5.8 rev 02:
  1176. * Improvements:
  1177. * Multiple improvements over 'Global Array' node
  1178. * Added support for jagged arrays
  1179. * Added Auto-Register toggle
  1180. * Can reference other nodes through new Mode dropdown ( similar to 'Grab Screen Color' node )
  1181. * Fixes:
  1182. * Fixed memory leak over 'Template Local Var' node
  1183. * Fixed HD templates issues over new HD 4.1.0
  1184. v1.5.8 rev 01:
  1185. * Fixes:
  1186. * Fixed issue on Live Mode writing on non ase shaders when loaded into canvas
  1187. * Fixed issue on MacOS with scroll bar over Texture Array Creator tool
  1188. * Fixed issue on MacOS with 'Function Input' node generated default Sampler 2D value
  1189. * New Shader Function:
  1190. * Substance Blend Metallic
  1191. * Improvements:
  1192. * 'Grab Screen Color' node is now supported on LW SRP
  1193. * Uses the new _CameraOpaqueTexture which must be requested on the pipeline asset
  1194. * Must toggle on the Opaque Texture option over its General foldout
  1195. * Added Clip and Tangent spaces into 'Transform Direction' node
  1196. * Added Tangent space into 'Transform Position' node
  1197. v1.5.8 rev 00:
  1198. * New Sample:
  1199. * Substance 2018
  1200. * Fixes:
  1201. * Fixed canvas crash when loading shaders with missing templates
  1202. * Fixed issue on UV Coords creation over 'Substance Sample' Node
  1203. * Fixed issue with loosing Substance reference on 'Substance Sample' node when applying new changes on it
  1204. * Only happened on Unity 2018 with Substance in Unity plugin
  1205. * Fixed issue on nested instanced properties over shader functions not being taken into account
  1206. * Improvements:
  1207. * Upgraded Lightweight and HD templates to v5.0.0
  1208. * Maintained templates for v.3.x.x under the packages HDSRPTemplates (Legacy) and LWSRPTemplates (Legacy)
  1209. v1.5.7 rev 02:
  1210. * Fixes:
  1211. * Fixed issues on 'Static Switch' node
  1212. * Property Name wasn't available in all options
  1213. * Keys on Keyword Enum over Fetch Mode were being automatically upper cased
  1214. * Fixed issue on 'Get Local Var' node not propagating node data correctly after being loaded
  1215. v1.5.7 rev 01:
  1216. * New Templates:
  1217. * Custom RT Init
  1218. * Packed inside AmplifyShaderEditor > Plugins > EditorResources > Templates > CustomRTTemplates
  1219. * Custom RT Update
  1220. * Packed inside AmplifyShaderEditor > Plugins > EditorResources > Templates > CustomRTTemplates
  1221. * New Sample:
  1222. * Custom Render Texture Rain
  1223. * Packed inside AmplifyShaderEditor > Examples > Custom RT Samples
  1224. * Needs both Custom RT Init and Custom RT Update templates to be imported into project
  1225. * Fixes:
  1226. * Fixed issue on Queue Offset incorrect writing over templates
  1227. * Fixed issue on templates not recognizing uint
  1228. * Fixed minor issue over Directives UI
  1229. * Fixed Shadow Coord macro registry differences between Unity 5.5 and above
  1230. * Improvements:
  1231. * Added Substance Plugin integration over ASE for Unity 2018 and above
  1232. * Added Mirror option into 'Depth Fade' node
  1233. * Enabled by default, which was older behavior
  1234. * If toggled on, sets an abs operation over the final value
  1235. * Custom Render Textures can now be used/dragged over ASE
  1236. * Can Pan and Zoom ASE canvas camera through keyboard directional keys
  1237. * Up/Down/Left/Right Arrow keys pan camera
  1238. * Alt+Up/Alt+Down/Alt+Left/Alt+Right Arrow keys zoom camera
  1239. v1.5.7 rev 00:
  1240. * Fixes:
  1241. * Fixed issue with using FACE type nodes over both Lightweight and HD Unlit templates
  1242. * Fixed issue regarding 'Lerp' node's Alpha input port always loading as a Float type
  1243. * Fixed minor issue on 'Function Subtitle' node tooltip
  1244. * Fixed minor issue on 'Posterize' node
  1245. * Power variable should not be shown on property window if its input port is connected
  1246. * Fixed minor issue with auto-spacing over shader function names
  1247. v1.5.6 rev 08:
  1248. * Fixes:
  1249. * Fixed Queue Offset not being correctly set when loading certain template based shaders
  1250. * Fixed HSV nodes previews
  1251. * Fixed multiple issues with Directives over shaders functions
  1252. * Fixed issue on nodes not being correctly set up over template's invisible passes with linked ports
  1253. * Improvements:
  1254. * Directives in Include mode now fully support cgincs and hlsl files to be dragged into them
  1255. * Similar behavior of inline properties, click on button right next to Include textfield to activate object drop UI
  1256. * Adding GPU Instancing support to Unlit template
  1257. * Adding new Vertex Position port into 'Depth Fade' node
  1258. * Adding new Saturate option into 'Depth Fade' node
  1259. * Can now set precision to each 'Custom Expression' node items individually
  1260. v1.5.6 rev 07:
  1261. * Fixes:
  1262. * Fixed duplicated events registry when loading graphs
  1263. * Fixed incorrect instanced variables reset over shader functions
  1264. v1.5.6 rev 06:
  1265. * Fixes:
  1266. * Out variables on 'Custom Expression' node no longer appears as inputs
  1267. * Fixed issue on not updating output port names correctly over 'Custom Expression' node
  1268. * Fixed issue on properties with Header(...) not being written on shader
  1269. * Fixed incorrect read/write on MRT Blend Mode and Op over template based shaders
  1270. * Fixed possible infinite loops caused by 'Register/Get Local Var' nodes
  1271. * Fixed Shader Type dropdown items not updating names correctly according to changes on template
  1272. * Fixed issue on adding multiple ASE tabs on Unity 2018.3
  1273. * Fixed WebGL error over 2018.3b
  1274. * Fixed 'Parallax Offset' node issues when used on Lightweight and HD SRP templates
  1275. * Fixed dynamically created outputs over shader function not being correctly set after hot code reload
  1276. * Improvements:
  1277. * Property Name and Values get its label clamped when too big
  1278. * Full original name and value is shown over its node tooltip
  1279. * Hidden tag on template shader names no longer created a category called Hidden
  1280. * Adding new ase_funcs tag functionality to determine where function code should be injected
  1281. * If not specified, functions are grouped with global variables as before
  1282. * Improved template reloading after being manually edited
  1283. v1.5.6 rev 05:
  1284. * Fixes:
  1285. * Fixed 'Smoothstep' node code generation issue
  1286. * Fixed ASE item grouping issue on Create menu over Unity 2017 and above
  1287. v1.5.6 rev 04:
  1288. * Fixes:
  1289. * Fixed shortcut manager to take 2018.3 new event behavior into account
  1290. v1.5.6 rev 03:
  1291. * Fixes:
  1292. * Fixed several shader functions issues
  1293. * Fixed Undo issue when using directives textfields
  1294. * Fixed issue of null references being set on directives list when loaded
  1295. * Fixed directives not being correctly written on shader
  1296. * Fixed incorrect Refraction port activation issue on Standard Surface Custom Lighting
  1297. * Fixed issue on Property nodes with Auto-Register toggled on not being registered
  1298. * Fixed cascaded shadows issue on HD PBR template
  1299. * Improvements:
  1300. * Minor update on 'Smoothstep' node ports behavior
  1301. * Added preview to 'Swizzle' node
  1302. v1.5.6 rev 02
  1303. * Fixes:
  1304. * Fixed issue on multi-pass templates not getting correct interpolator count from subshader info
  1305. * Fixed issue on Depth Offset template option auto enabling after hot code reload
  1306. * Improvements:
  1307. * Using current world position and world view direction when getting indirect specular light values on templates
  1308. v1.5.6 rev 01
  1309. * Fixes:
  1310. * Fixed issue with global variables on Property type nodes being ignored by Auto-Register toggle
  1311. * Fixed Native Directives capture issue over templates
  1312. * Fixed issues on adding duplicate directives if they are already natively on the template
  1313. * Fixed compilation errors from Gamma/Linear nodes on SRP templates
  1314. * Fixed ArgumentOutOfRangeException over file path on new shader creation
  1315. * Fixed issues over Motion Vector pass on HD PBR template
  1316. * Fixed issue on 'Light Color' node with HD templates
  1317. * Fixed issue on 'World Space Light Dir' node with HD templates
  1318. * Fixed issue on 'Object Space Light Dir' node with HD templates
  1319. * Improvements:
  1320. * Added support for Variable Mode over Texture Objects type nodes
  1321. * Adding UI Widget helper for setting Render Type and Queue for templates
  1322. * On SubShader Tags group, Value UI changes as soon as user writes RenderType or Queue on the Name textfield
  1323. v1.5.6 rev 00
  1324. * New Samples:
  1325. * SRP Lightweight Terrain
  1326. * Multi Pass Distortion
  1327. * New Node:
  1328. * Switch by Pipeline
  1329. * Shader function specific node to choose different paths according to current pipeline
  1330. * New Shader Function:
  1331. * Fetch HD Color Pyramid
  1332. * Fixes:
  1333. * Fixed world position issues over HD PBR Template
  1334. * Fixed transparent issues over HD PBR template
  1335. * Prevented WorldNormalVector macro to confuse lerp operations
  1336. * Fixed issue on created shaders being placed in incorrect folders when on two column node
  1337. * Fixed issue on property registering over multi-pass shaders
  1338. * Improvements:
  1339. * Custom Options can now be added directly over templates
  1340. * Adding Final Color x Alpha custom option into LW PBR
  1341. * If toggled on multiples fragment final color by its alpha
  1342. * Apply Fog on LW PBR takes Add Pass directive into account
  1343. * Adding SRP support to Four Splats First Pass Terrain shader function
  1344. * Material Global lIllumination flags for emission can now be modified over Surface Rendering Options
  1345. * Activated Variable mode into 'Texture Sample' nodes
  1346. v1.5.5 rev 01
  1347. * Fixes:
  1348. * Fixed issue over incorrect name registration over 'Register Local Var' on pasting into another shader
  1349. * Fixed issue on reading shaders using old shader functions with deprecated nodes
  1350. * Fixed 'World Pos' node issue on HD SRP template
  1351. * Fixed issue on 'World Normal' node when used in 'Lerp' node
  1352. * Improvements:
  1353. * 'Register/Get Local Var' nodes maintain connections even if copied to another shader
  1354. v1.5.5 rev 00
  1355. * New Node:
  1356. * Diffuse And Specular From Metallic
  1357. * Fixes:
  1358. * Fixed issues on graph not being updated with material changes on inspector if tab is opened but not selected
  1359. * Preventing Culture difference issues on material copy-paste
  1360. * Fixed issue on all modules template tag conflict with existing shader model definition
  1361. * Fixed HD issue on 'World Position' node
  1362. * Fixed issue on losing name when copy-pasting property nodes between shaders
  1363. * Fixed issue on resetting custom inspector to ASE default when loading or hot code reloading shader with its textfield empty
  1364. * Fixed issue on not setting importer correctly on 'Texture Sample' node when setting a normal map type texture from inspector
  1365. * Improvements:
  1366. * Properties on invisible passes can now be synced with main pass over templates
  1367. v1.5.4 dev 10:
  1368. * New Sample:
  1369. * SRP HD Material Types
  1370. * Please notice that for SSS to work properly, a Diffusion profile must be attached to the HD pipeline asset
  1371. * We already supply one over the sample folder ( Diffusion Profile Settings )
  1372. * Fixes:
  1373. * Fixed UX issue with Auto-Register/Set Unique flags on 'Custom Expression' node
  1374. * Fixed issue with cascade shadows over Lightweight template
  1375. * Improvements:
  1376. * Added Material Types selector into HD template
  1377. * Subsurface Scattering
  1378. * Standard (Metallic)
  1379. * Specular
  1380. * Anisotropy
  1381. * Iridescence
  1382. * Translucent
  1383. v1.5.4 dev 09:
  1384. * Fixes:
  1385. * Fixed Grab Pass issue with 'Outline' node
  1386. * Fixed PreviewRenderUtility leak over shader and material inspector on 2018.2
  1387. * Fixed issue with 'PI' node over HD SRP
  1388. * Improvements:
  1389. * Minor improvement over shader save time
  1390. v1.5.4 dev 08:
  1391. * Fixes:
  1392. * Fixed issue on 'Component Mask' node generating compilation errors inside shader functions with auto-cast inputs
  1393. * Fixed issue on loop unroll error over 'Parallax Occlusion Mapping' node
  1394. * Fixed issue on crashing ASE when loading a shader or shader function with a missing shader function reference
  1395. * Adding error message when loading a shader or shader function with missing shader functions
  1396. * Improvements:
  1397. * Added support to Vertex Normal modification on both Unlit and PBR HD templates
  1398. * Adding 'Global Array' variable name info directly on node
  1399. v1.5.4 dev 07:
  1400. * New Templates:
  1401. * HD PBR
  1402. * HD Unlit
  1403. * Fixes:
  1404. * Fixed issue on incorrectly capturing module tags
  1405. * Fixed issues with 'Flipbook UV Animation' node
  1406. * Fixed multiple issues with Directives usage under shader functions with templates
  1407. * Fixed issue on 'Custom Expression' node loading on Call mode
  1408. * Fixed issue on unpacking normals with scale on templates over multiple nodes
  1409. * Changing tessellation on Procedural Wall sample shader from edge to distanced based to prevent metal issues on Mac
  1410. v1.5.4 dev 06:
  1411. * Fixes:
  1412. * Fixed issue on 'Toggle Switch' node not taking Custom Attributes into account
  1413. * Fixed out of bounds exception over 'Static Switch' node
  1414. * Fixed issue on templates port linking behavior
  1415. * Fixed issues on 'Texture Array', 'Triplanar Sample' and 'Unpack Scale Normal' nodes on Lightweight SRP
  1416. * Fixed issue on shader function directives not being written on template based shaders
  1417. * Fixed serialization issue on saving/loading shader function directives
  1418. * Fixed issue with using 'Texture Array' node inside shader functions
  1419. * Fixed shader compilation errors on'Parallax Occlusion Mapping'
  1420. * Now it does not generate code if no 'Texture Object' node is connected to it
  1421. * Fixed issue on 'Grab Screen Color' node not updating reference list correctly when copy/pasted
  1422. * Fixed issue with Undo'ing a 'Grab Screen Color' node on reference mode
  1423. * Improvements:
  1424. * Min and Max Samples options on 'Parallax Occlusion Mapping' node are now inline options
  1425. v1.5.4 dev 05:
  1426. * Fixes:
  1427. * Fixed issue with Vector and Matrix UI spacing on 'Custom Expression' node
  1428. * Fixed issue on functions being generated twice over a 'Custom Expression' node when auto register and connection are both on
  1429. * Fixed Blend Op issues with OFF state
  1430. * Improvements:
  1431. * Can now use a custom screen position into 'Dither' node
  1432. * Added Normalize option into 'Compute Screen Pos' node
  1433. v1.5.4 dev 04:
  1434. * Fixes:
  1435. * Fixed issue on resetting material's Render Queue setting when compiling the shader in Material mode
  1436. * Fixed issue on Blend Op menu not showing when loading a template based shader
  1437. * Improvements:
  1438. * Re-adding DX11 specific Blend Ops into its respective dropdowns
  1439. * 'Custom Expression' node items are now reorderable
  1440. * 'Custom Expression' node can now register dependencies to other ones
  1441. * Can now better control function register order on final shader
  1442. v1.5.4 dev 02/dev 03:
  1443. * New Shader Function:
  1444. * Color Mask
  1445. * Fixes:
  1446. * Fixed issue on template Unlit SRP generating an error when creating a Color or MainTex named property
  1447. * Fixed issue on both 'Surface Depth' and 'Camera Depth Fade' nodes when inputting a custom vertex position
  1448. * Stencil module on Pass now uses SubShader Cull mode if it's not specified on it
  1449. * Important since Cull determines if separate stencil ops are show for each face
  1450. * Fixed issue with Fallback shader selector not updating if its textfield is focused
  1451. * Fixed issue on Grab Pass only being registered on first pass when on multi-pass templates
  1452. * Improvements:
  1453. * Added auto register option into 'Grab Screen Color' node
  1454. * Adding UsePass support
  1455. * New Additional Use Passes section on both Surface and Template output nodes
  1456. * Can add UsePass before or after Surface code via a Location dropdown
  1457. * On Templates the Below location is still under development and its not available
  1458. v1.5.4 dev 01:
  1459. * New Shader Function:
  1460. * Fetch Lightmap Value
  1461. * Improvements:
  1462. * Simple Terrain sample now support more than four splats
  1463. * Fixes:
  1464. * Fixed issue on Node Palette reading incorrect maximized value when opening ASE window
  1465. v1.5.3 dev 12:
  1466. * Fixes:
  1467. * Fixed null pointer exception with texture arrays over shader functions
  1468. * Fixed memory leak on shader functions destruction
  1469. * Improvements:
  1470. * Improved templates loading behavior after hot code reload
  1471. * Replaced individual lists for pragmas, defines and includes by a single reorderable list
  1472. * Now user select what each line represents via a dropdown
  1473. * Additional surface options can now be added via the Additional Surface Options tab on the Output node
  1474. * Added custom type for 'Custom Expression' node data type specification
  1475. v1.5.3 dev 11:
  1476. * Fixes:
  1477. * Fixed issue on not correctly cleaning Undo stack when changing master node
  1478. * Fixed multiple issues with safe normalize operation over world light dir and view dir
  1479. * Fixed world light dir issues over Lightweight SRP
  1480. * Fixed GPU instancing compile issues on Lightweight SRP
  1481. * Fixed issue on Includes/Pragmas/Defines UI not showing when no other modules over a template
  1482. * Improvements:
  1483. * Optimizing property block allocation for instanced variables to have less internal padding involved
  1484. * Added custom attributes to 'Toggle Switch' node
  1485. * Added toggle to 'Matrix from Vector' node use each input as column
  1486. v1.5.3 dev 10:
  1487. * Fixes:
  1488. * Fixed issue with being able to duplicate output nodes on templates
  1489. * Fixed issue on foldout flag values being shared between multiple ASE tabs
  1490. * Improvements:
  1491. * 'Get Local Var' port is locked until a valid reference is set to prevent incorrect connections
  1492. * Updated About image and added Manual link on Amplify Shader Editor menu group
  1493. * Adding unique id duplicate prevention over shader load
  1494. * Added support for stencil operations on Lightweight templates
  1495. v1.5.3 dev 09:
  1496. * New Shader Functions:
  1497. * Lerp White To
  1498. * Detail Albedo
  1499. * Fixes:
  1500. * Fixed API library excluding tool for custom nodes
  1501. * Improvements:
  1502. * Template creators can now register all modules
  1503. * Simply add the /*ase_all_modules*/ either on the Pass or SubShader body
  1504. * Templates now support Fallback definition on shader
  1505. * Templates now support Dependencies definition on shader
  1506. v1.5.3 dev 08:
  1507. * Fixes:
  1508. * Fixed Instance ID issue over Lightweight SRP template
  1509. * Improvements:
  1510. * Added API option to remove includes on data collector
  1511. * Stencil can now be toggled off on templates which have it
  1512. v1.5.3 dev 07:
  1513. * New Sample:
  1514. * Projectors
  1515. * Exemplify Unity Projectors usage under ASE
  1516. * Improvements:
  1517. * Improved Texture Array Tool
  1518. * Now also creates Texture3D by hitting the Texture 3D toggle
  1519. * Can drag and drop multiple textures into tool
  1520. * Can drag and drop a folder and it will include all its nested textures
  1521. * Added Clear button to remove all textures from Texture List ( UI still work in progress )
  1522. * 'Parallax Occlusion Mapping' node now also supports Texture 3D
  1523. * Replaced the Texture Array toggle by a Texture Type dropdown
  1524. * User must explicitly set the current 3D texture slice via the Tex3D Slice input port
  1525. * Removed Fixed precision type since it's no longer available on Unity 2018
  1526. * Updated Lightweight PBR template to v1.1.8
  1527. * Re-factored Templates location and names
  1528. * New and more flexible templates will be gradually added to replace legacy ones
  1529. * A cleaner Unlit template shader was already added on this build
  1530. * Fixes:
  1531. * Fixed issue on using depth operations on particle template
  1532. * Fixed sometimes light attenuation not showing up correctly
  1533. * Fixed allowing to open unity built-in shaders on ASE
  1534. * Fixed issue on using incorrect port value on 'Refract' node
  1535. * Fixed issue on Texture Object type nodes loosing texture type after load
  1536. v1.5.3 dev 06:
  1537. * New Sample:
  1538. * XRay
  1539. * Object has different drawing behavior in front and behind a wall
  1540. * Wall pattern is procedurally generated
  1541. * Improvements:
  1542. * Template internal properties can be used as inline properties on modules
  1543. * Modules can now read inline properties from the template original source
  1544. * Unreadable data message is no longer shown on node properties
  1545. * Added more options to 'Fresnel' node
  1546. * Now supports custom view vector
  1547. * Preventing cast warning with object to clip internal function usage when building shader code for Lightweight SRP
  1548. * Added new icons for inline properties to the Unity personal skin to make them easier to spot
  1549. * Updated Lightweight SRP templates
  1550. * Cull Mode now shared across base, shadow and depth pass
  1551. * Added new Normal input port
  1552. * Fixes:
  1553. * Fixed issue over templates on not assuming inline properties when loading/saving Cull Mode module
  1554. * Fixed incorrect cast and type assignment on connections between 'Texture Object' and 'Texture Sample' nodes
  1555. * Fixed issue on deleting outputs on shader functions and later opening the shaders that use it
  1556. * Fixed issues on Vertex Offset port on Lightweight PBR template
  1557. * Fixed issue on not correctly loading 'Rotate About Axis' node from old shaders
  1558. * Fixed issue on header not showing with texture properties with the NoScaleOffset attribute
  1559. v1.5.3 dev 05:
  1560. * Fixes:
  1561. * Fixed world normal issues over 'Outline' node
  1562. * Fixed issues on reading/writing cull mode on templates meta
  1563. * Fixed issue on capturing includes over templates
  1564. * Fixed issue on Specular workflow over Lightweight PBR template
  1565. * Improvements:
  1566. * Cull Mode can now be modified over outline node
  1567. v1.5.3 dev 04:
  1568. * New nodes:
  1569. * Transform Position
  1570. * Transform Direction
  1571. * Improvements:
  1572. * Added inline property support over templates modules
  1573. * Also added inline property support over Depth Offset values in both template and standard surface
  1574. * Minor tweak over 'Clamp' node
  1575. * Internal max value defaulted to 1
  1576. * Adding additional modules into Lightweight templates
  1577. * Enabling ZTest over Particles Alpha Blended template
  1578. * Fixes:
  1579. * Fixed issue on Lightweight PBR template over tangents on objects with non-uniform scales
  1580. * Fixed issue on Lightweight PBR not receiving real time shadows
  1581. * Fixed issue on Lightweight Unlit template available interpolators
  1582. * Fixed issue on Lightweight Unlit template not showing correctly on dropdown menu
  1583. * Fixed issue on tab titles not being correctly written on shader mode over templates
  1584. * Fixed issue on property names incorrectly appearing over inline properties
  1585. * Fixed issue with copy/pasting 'Append' nodes
  1586. * Fixed issue on 'Global Array' node loading from older shaders
  1587. v1.5.3 dev 03:
  1588. * New Template:
  1589. * Lightweight Unlit
  1590. * Renamed already existing SRP Template to Lightweight PBR
  1591. * New Sample:
  1592. * SRP Lightweight 2D Fractal
  1593. * Fixes:
  1594. * Fixed issue with 'Parallax Occlusion Mapping' node over Lightweight templates
  1595. * Fixed Safe Normalize issues with 'View Dir' node on templates
  1596. * Improvements:
  1597. * Added Auto-Register option into 'Static Switch' node
  1598. * Minor improvement over 'Parallax Occlusion Mapping' node generated code to avoid duplicate calculations
  1599. v1.5.3 dev 02:
  1600. * Fixes:
  1601. * Fixed infinite loop via context menu issue
  1602. * Improvements:
  1603. * Added support for Specular workflow into Lightweight SRP template
  1604. * Use either the new Specular port or the already existing Metallic port to choose which workflow to use
  1605. * Added extra ASE null pointer exception prevention test on attempting loading shader with missing shader functions
  1606. v1.5.3 dev 01:
  1607. * Improvements:
  1608. * Conditional 'If' node also support Int as compare values
  1609. * Added Triplanar scale port for normal scaling when using normals in 'Triplanar Sample' node
  1610. * Improved code generation for 'Texture Coordinates' node
  1611. * Changed way float values were being generated when their value was an integer
  1612. * Removes warnings and makes sure some operations are done in the correct space, like divisions
  1613. * Improved operations order on 'Panner' node
  1614. * Added Force Disable Instancing option into Surface output node Rendering Options
  1615. * Updated Lightweight SRP template to be compatible with Unity latest LW SRP version 1.1.5
  1616. * Fixes:
  1617. * Fixed issue on 'Global Array' node not being correctly detected by ASE
  1618. * Fixed texture array sampling error caused by 'Parallax Occlusion Mapping' node on Unity 2018
  1619. * Fixed issue on local variable excluded reset method
  1620. * Fixed issue on 'Triplanar Sample' node Material Mode not being correctly set
  1621. v1.5.2 dev 05:
  1622. * New Samples:
  1623. * Single Channel Masking by Sarah Akers and David Marshall
  1624. * Dithering Fade Blue Noise
  1625. * New Node:
  1626. * Inverse View Matrix
  1627. * Fixes:
  1628. * Fixed issue on not copying defaults to material values when changing Type from Global to Property over property type nodes
  1629. * Fixed Stencil Comparison not being correctly written on shader when set as an inline property
  1630. * Fixed issue on Reference mode not being taken into account when registering 'Texture Sample' properties
  1631. * Fixed infinite loop on 'Texture Sample' nodes with Reference mode
  1632. * Fixed custom outline alpha mask mode
  1633. * Fixed issues on compare type nodes accessing their Wiki page
  1634. * Fixed dropdown left title padding for nodes that have it but don't have a preview arrow
  1635. * Improvements:
  1636. * Improved 'Unpack Scale Normal' node usage on Burn Effect sample
  1637. * Now compatible across all Unity versions
  1638. * Re-factored Global variables behavior over property type nodes
  1639. * Material values can no longer be edited
  1640. * Auto-fetching global variables values every 2 seconds
  1641. * Parameter type can be changed in node over texture type nodes
  1642. * Removing automatic header creation by properties under shader functions
  1643. * User now can manually set headers on property type nodes via its attributes
  1644. * Turned the main Mask Clip Value an inline property so users can set it to be a specific node
  1645. * Updated 'Screen Position' node preview
  1646. * New Previews:
  1647. * Compare ( A > B )
  1648. * Compare ( A >= B )
  1649. * Compare ( A < B )
  1650. * Compare ( A <= B )
  1651. * Compare ( A == B )
  1652. * Compare ( A != B )
  1653. * Compare With Range
  1654. * If [Community]
  1655. * Decode Float RG
  1656. * Encode Float RG
  1657. * Decode Float RGBA
  1658. * Encode Float RGBA
  1659. * Decode View Normal Stereo
  1660. * Encode View Normal Stereo
  1661. * Decode Lightmap
  1662. * ColorSpaceDouble
  1663. * Face
  1664. * Switch By Face
  1665. * LOD Fade
  1666. * Layered Blend
  1667. * Weighted Blend
  1668. * Summed Blend
  1669. v1.5.2 dev 04:
  1670. * Fixes:
  1671. * Fixed issue on Post-Process sample scenes crashing on lower Unity versions
  1672. * Fixed issue on fallback behavior when required template on loaded shader is not found
  1673. * Fixes issue on texture type nodes moving when a texture is selected over it's picker
  1674. * ASE window now aware when ObjectSelectorClosed command is fired to ignore incorrect mouse delta values
  1675. * Improvements:
  1676. * View Dir vector on templates is now calculated on fragment by default
  1677. * World Reflection vector on templates is now calculated on fragment by default
  1678. * Native View Dir vector calculation on Lightweight SRP template is now done on fragment
  1679. * Shader function 'Reconstruct World Position From Depth' now also works with screen shaders
  1680. * Updated Skybox - Cubemap Extended by Cristian Pop sample
  1681. v1.5.2 dev 03:
  1682. * Fixes:
  1683. * Fixed issue with 'Grab Screen Color' node on Lightweight SRP template
  1684. * Fixed multiple issues with Shader Model selection over templates
  1685. * Fixed issue on not correctly syncing module data from modified template
  1686. * Improvements:
  1687. * Re-factored local variable creation over ports to make it more robust
  1688. * Vertex ports are now analyzed before fragment ones
  1689. * Vertex position dependent operations now take applied offsets into account
  1690. * Pragmas, Includes and Defines are copied from linked nodes if Pass is set as invisible
  1691. * Added preview to 'Vertex To Frag' node
  1692. * Small optimization on drawing connections
  1693. * Minor tweak over Particles Alpha Blended template
  1694. * Assigned dynamic interpolators now take both sub shader and pass info into account
  1695. * Modified Lightweight SRP template to share dynamic interpolators amount over hidden passes
  1696. v1.5.2 dev 02:
  1697. * Improvements:
  1698. * Added Safe Normalize option to 'World Space Light Dir' node
  1699. * Assures vector is not zero even if there's no lights in scene
  1700. * Added Safe Normalize option to 'View Dir' node
  1701. * Assures vector is not zero even if there's no cameras on scene
  1702. * Property names can neither be or start with numerical values nor Unity reserved names
  1703. * Variables from 'Register Local Var' nodes cannot start or be numerical
  1704. * Fixes:
  1705. * Fixed shader function subtitles not being shown after being set with the 'Function Subtitle' node
  1706. * Fixed Custom Lighting using opacity and opacity mask duplicating code
  1707. v1.5.2 dev 01:
  1708. * Fixes:
  1709. * Changed alpha generation for Custom Lighting to work correctly with alpha mask
  1710. * Fixed issue on shader function reloading not being taken as a load operation
  1711. * Fixed instanced properties not being correctly taken into account inside shader functions
  1712. * Improvements:
  1713. * Improved shader function asset loading on Shader Function node
  1714. v1.5.1 dev 06:
  1715. * Improvements:
  1716. * Added preview to 'Noise Generator' node
  1717. * Improved node internal data viewer performance
  1718. * Improved the shader changed/dirty flag behavior
  1719. * Improved graph canvas position adjust on loading from a previously different window configuration
  1720. * Renamed 'Melting' sample shader to be in accordance with other community samples
  1721. * Fixes:
  1722. * Fixed property node auto-register issue on 'Skybox - Cubemap Extended' sample
  1723. * Fixed issues with 'World Normal' and 'World Reflection' nodes on PS4
  1724. * Fixed multiple cast issues across multiple nodes
  1725. * Fixed incorrect port behavior on 'Refract' node
  1726. * Fixed issue on undoing instanced properties assignment
  1727. * Fixed 'Break To Components' node duplicating code and generating errors
  1728. v1.5.1 dev 05:
  1729. * Improvements:
  1730. * Added previews to nodes
  1731. * Desaturate
  1732. * Grayscale
  1733. * Posterize
  1734. * Simple Contrast
  1735. * Normal type input ports now show the correct default tangent vector on nodes internal value previewer
  1736. * Indirect Diffuse Light
  1737. * Indirect Specular Light
  1738. * Fresnel
  1739. * World Normal
  1740. * Fixes:
  1741. * Fixed possible issue with 'Desaturate' node on PS4
  1742. * Fixed issues with Undo/Redo operations over Wire nodes
  1743. * Fixed light color and light dir info on 'Light Color'
  1744. * Now takes into account Unity different behaviors between versions
  1745. * Fixed issue on loading canvas on ASE tabs pointing to inexistent resources
  1746. v1.5.1 dev 04:
  1747. * New Node:
  1748. * Function Subtitle
  1749. * Allows creation for custom subtitles on Shader Functions
  1750. * New Shader Functions:
  1751. * Perturb Normal
  1752. * Cotangent Frame
  1753. * Improvements:
  1754. * Can now assign property to both blend modes and operations
  1755. * Removing carriage return when saving 'Custom Expression' node code on meta
  1756. * Improved restrictions on Shader Functions outputting Matrix type data
  1757. * Name is carried over Pasted/Duplicated 'Custom Expression' nodes
  1758. * Custom Editor/Inspector option is now available over templates
  1759. * Updated both Lightweight template and samples to new beta version
  1760. * Template now support vertex offset and alpha test
  1761. * Nodes internal data can be viewed directly on canvas
  1762. * Can be turned on/off through the 'I' key
  1763. * Added Editable If Custom Drawer by BinaryCats
  1764. * Dynamic interpolator cap now respecting pass choice on graph
  1765. * Updating current templates to be dynamically cap'ed
  1766. * 'Light Color' and 'World Space Light Dir' nodes now behave properly when used with lightmaps
  1767. * Fixes:
  1768. * Fixed issue with incorrectly trying to write fragment instructions on template without specified frag code area
  1769. * Fixed issue where reference 'Function Switch' nodes were not displaying their option in all cases
  1770. * Fixed wire node Undo issues
  1771. v1.5.1 dev 03:
  1772. * New Samples:
  1773. * Simple Potion Liquid
  1774. * Melting by Gil Damoiseaux
  1775. * Improvements:
  1776. * Extended functionalities on 'Custom Expression' node
  1777. * Added Auto-Register toggle to create custom functions even if not connected to output node
  1778. * Added void to Output Type
  1779. * Call Mode toggle is now a Mode dropdown
  1780. * Mode Call now only allows external function calls or inline instructions
  1781. * If a return instruction is detected on code, Mode is set to Create and return type set to void
  1782. * Fixes:
  1783. * Fixed Undo issue with property type nodes auto-register option
  1784. * Fixed issue on calculation view direction on tangent space over templates
  1785. v1.5.1 dev 02:
  1786. * Fixes:
  1787. * Fixed issue with 'Standard Surface Light' not taking Normal Space option into account
  1788. * Fixed minor issue over 'Outline' node
  1789. * Fixed issue on Undo not resetting correctly ports internal values
  1790. * Fixed issue on incorrectly assigning main output node status into copy-pasted 'Function Output' nodes
  1791. * Improvements:
  1792. * Added custom attributes to 'Static Switch' node
  1793. * Custom Material Inspector now properly copies texture scale and offset values
  1794. v1.5.1 dev 01:
  1795. * Fixes:
  1796. * Fixed 'Static Switch' node not properly generating Enum code in the correct order
  1797. * Fixed normal generation issue on 'Standard Surface Light' node
  1798. * Fixed issue when attempting to load shader using inexistent template on project folder
  1799. * Now fall-backing to Standard Surface when template is not found
  1800. * Fixed issue capturing properties with attributes on templates
  1801. * Fixed incorrect tool-tip on 'Template Multi-Pass Switch' node
  1802. * Fixed issue on normal generation over 'Fresnel' node
  1803. * Fixed initialization issue on Default UI template
  1804. * Fixed issue with accessing uninitialized textures on 'Triplanar Sample' node
  1805. * Fixed preview issue on 'Template Parameter' node
  1806. * Fixed issue locking picker on texture type nodes to current type when auto-cast is on
  1807. * Improvements:
  1808. * Improved 'Break To Components' generated code
  1809. * Preventing duplicates/re-definition of Pragmas, Defines and Includes over templates
  1810. v1.5.0 dev 02:
  1811. Fixes:
  1812. * Fixed issue on template capturing commented properties
  1813. * Fixed multiple issues over templates with multiple sub-shaders
  1814. * Fixed issue on master nodes attempting to access uninitialized UI texture
  1815. * Fixed issue with sometimes not extracting the correct pass name from template
  1816. * Fixed issue on incorrectly catching shader name on fetching modules info
  1817. * Fixed issue with correctly setting the shader name
  1818. v1.5.0 dev 01:
  1819. * New Samples:
  1820. * SRP Lightweight GlintSparkle
  1821. * SRP Lightweight Coverage
  1822. * Fixes:
  1823. * Fixed issue on loading shader with missing shader functions
  1824. * Fixed issue on duplicate pragmas over generated shader
  1825. * Fixed issue with template post processor not correctly registering new templates
  1826. * Fixed issue on template output nodes modules incorrectly sharing foldout value
  1827. * Fixed Undo issue when undoing deleted property type nodes after saving shader
  1828. * Fixed 'Static Switch' node registering duplicates in the material properties group
  1829. * Improvements:
  1830. * Reorganized samples shader paths
  1831. * Reorganized template menu items
  1832. * Canvas and output node title now shows shader name without relative paths
  1833. * 'Register Local Var' node now generates a new name when duplicated
  1834. * 'Indirect Diffuse Light', 'Indirect Specular Light' and 'Light Attenuation' nodes now work on templates
  1835. v1.4.5 dev 04:
  1836. * New features:
  1837. * Added support for multi-pass templates
  1838. * Added support for Lightweight Scriptable Rendering Pipeline
  1839. * New Shader Function:
  1840. * Create Normal : Generates a normal map from a height map
  1841. * New Template:
  1842. * LightweightSRP
  1843. * Fixes:
  1844. * Fixed texture coordinates generation in templates
  1845. * Changed initialization in 'Triplanar Sample' node to prevent null pointer errors
  1846. v1.4.5 dev 03:
  1847. * Improvements:
  1848. * Exposed Specular Color property into the Output node material list when Blinn Phong Light Model is selected
  1849. v1.4.5 dev 02:
  1850. * Fixes:
  1851. * Fixed Auto-Register option not being saved for property type nodes
  1852. * Fixed issues with generated normalized screen position values over templates
  1853. * Improvements:
  1854. * Cull, Stencil, Color Mask and Depth options can now reference properties instead of standard options
  1855. * Redone visuals of property type nodes Attributes list to be easier to use
  1856. * Added new Enum and Custom attributes to property type nodes
  1857. * Enum on Create Enum mode creates an Enum attribute using the specified Name/Value pairs
  1858. * Enum on Use Engine Enum Class mode creates an Enum attribute from the specified class
  1859. * Custom attribute allows to specify completely custom attributes
  1860. * Outline now forces shader to be Forward only to prevent visual inconsistencies
  1861. v1.4.5 dev 01:
  1862. * New Shader Function:
  1863. * Constant Bias Scale
  1864. * Fixes:
  1865. * Fixed null pointer issue with removing connections with Alt key
  1866. * Fixed issue on 'Template Local Var' node only working on fragment function
  1867. v1.4.4 dev 06:
  1868. * Fixes:
  1869. * Fixed issue on 'Texture Sample' nodes not automatically setting the texture type on AUTO
  1870. * Fixed connection type mismatch after CTRL + swap shortcut
  1871. * Fixed issue on 'Dither' node
  1872. v1.4.4 dev 05:
  1873. * Fixes:
  1874. * Fixed multiple Undo issues on shader functions
  1875. * Fixed serialization issue with both nodes and graph when hitting Unity play button
  1876. v1.4.4 dev 04:
  1877. * Fixes:
  1878. * Fixed issue on Specular Highlights and Reflection toggle not being read/written into shader meta
  1879. * Fixed issue on not correctly taking templates global variables into account when building shader
  1880. * Fixed issue where 'Triplanar Sample' node wasn't being initialized properly
  1881. * Fixed Undo issues on create/delete nodes
  1882. * Fixed Undo issues on preview node resizing
  1883. * Improvements:
  1884. * Added new Enum Property Attributes for both 'Float' and 'Int' nodes
  1885. * Added new Keyword Enums option to 'Static Switch' node Type option
  1886. * Improved its interface to better accommodate new options
  1887. * Added new keywords to 'Static Switch' Keyword dropdown
  1888. * Increase max port count for 'Function Switch' node to 9
  1889. * Added/Changed shortcuts for various nodes
  1890. * R - Create 'Register Local Var' node
  1891. * G - Create 'Get Local Var' node
  1892. * Z - Create 'Swizzle' node
  1893. * X - Create 'Cross' product node
  1894. * Period(.) - Create 'Dot' product node
  1895. * B - Create 'Break to Components' node
  1896. * K - Create 'Component Mask' node
  1897. * V - Create 'Append' node
  1898. v1.4.4 dev 03:
  1899. * New Sample:
  1900. * Skybox - Cubemap Extended by Cristian Pop
  1901. * New Shader Functions:
  1902. * Step Antialiasing
  1903. * Create Orthogonal Vector
  1904. * Improvements:
  1905. * Node graph is now a ScriptableObject to better deal with automatic serialization
  1906. * Templates can now register and use local variables
  1907. * Use /*ase_local_var*/ before the variable declaration over the template
  1908. * Access the local variable through the new 'Template Local Var Data' node over the graph
  1909. * Added new Normal Space option into 'Standard Surface Light' node
  1910. * Optimized nodes port internal data usage
  1911. * Node tooltip no longer shown online link for shader function nodes
  1912. * Small optimizations to node previews
  1913. * Fixes:
  1914. * Fixed function registry on 'Custom Expression' node to correctly deal with dependencies
  1915. * Fixed issue on linear textures over the texture creator tool
  1916. * Fixed issue where the editor was being called on play mode but no window was present
  1917. * Fixed issue on texture coordinates of different sizes being created with the same name
  1918. v1.4.4 dev 02:
  1919. * Fixes:
  1920. * Fixed issue on templates where vertex normal was being declared as a float4 on vertex data
  1921. * Fixed PS4 issue on billboards generated code
  1922. * Updated Orientation Based Sprite sample to include fix
  1923. * Improvements:
  1924. * Changed texture array creator to support compressed formats
  1925. * Added custom inspector for texture arrays to allows previewing their contents on the inspector window
  1926. * Added new Set Unique option into 'Custom Expression' node
  1927. * If toggled off, generated internal function doesn't use unique id on its name
  1928. v1.4.4 dev 01:
  1929. * Improvements:
  1930. * Custom Pragmas, Includes and Defines are now also included on the Outline pass
  1931. * Automatically removing crlf from copy-pasted code over the 'Custom Expression' node
  1932. * Custom Render Type can now be specified on the Render Type dropdown over the Output node properties
  1933. * Fixes:
  1934. * Fixed issues on 'Remainder' node
  1935. v1.4.3 dev 05:
  1936. * Fixes:
  1937. * Fixed issue on excluding Add Pass independently of Debug port connection
  1938. v1.4.3 dev 04:
  1939. * New Shader Function:
  1940. * Radial UV Distortion
  1941. * Sample with the same name was also added to demonstrate its usage
  1942. * Fixes:
  1943. * Fixed multiple issues related to Debug port usage on Output node
  1944. * It now works as a custom lighting port instead of emission
  1945. * Fixed issue on incorrectly opening standard materials into ASE
  1946. * Fixed issue on duplicate local variable creation when using 'Parallax Mapping' node on shader functions
  1947. v1.4.3 dev 03:
  1948. * Fixes:
  1949. * Fixed issue on 'Vertex Tangent' node internally outputting float4 data in templates instead of float3
  1950. * Fixed shader function category typos
  1951. * Fixed issue on ports accessing already destroyed nodes for previews
  1952. * Fixed issue on precision type used in shader functions
  1953. * Improvements:
  1954. * Added ZWrite and ZTest options to 'Outline' node
  1955. v1.4.3 dev 02:
  1956. * Improvements:
  1957. * Shader tags can now be modified on templates based shaders
  1958. * Added new Particle Additive option on Blend RGB and Blend Alpha dropdown
  1959. * Sets Source to 'Source Alpha' and Destination to 'One'
  1960. * Added new options to 'Shade Vertex Lights' node
  1961. * Can now select amount of lights to take into account and if as spot or point light
  1962. * Fixes:
  1963. * Fixed issue on incorrectly indented code generated by some nodes on template shaders
  1964. v1.4.3 dev 01:
  1965. * New Samples:
  1966. * Orientation Based Sprite
  1967. * UI Sprite FX
  1968. * New Shader Function:
  1969. * Box Mask
  1970. * UI-Sprite Effect Layer
  1971. * Fixes:
  1972. * Fixed issue on attempting to deactivate destroyed nodes
  1973. * Improvements:
  1974. * Updated Sprite and UI templates to better support normal maps
  1975. * Changed way logic is updated in some nodes to be more consistent and work inside shader functions
  1976. v1.4.2 dev 06:
  1977. * Fixes:
  1978. * Fixed incorrect wire highlighting caused by 'Register Local Var' node
  1979. * Fixed issue with 'Texture Sample' node not generating proper UVs in specific cases when using templates
  1980. * Minor UI and refresh fixes to 'Function Switch' node
  1981. * Fixed issue on incorrectly loading SimpleTerrain sample
  1982. * Fixed issue on unnecessary loading when opening a changed shader or function
  1983. * Improvements:
  1984. * Added compatibility with Unity 2018
  1985. * For now 'Substance Sample' node is unavailable on this version
  1986. * Substance example is now inside a unity package to prevent sbsar importing error
  1987. * Removed Substance and API update warnings on Unity 2017
  1988. * Added new Vertex Position input port into 'Surface Depth' and 'Camera Depth Fade' nodes
  1989. * Can now take custom vertex positions into account
  1990. * Added some minor improvements into 'Register Local Var'/'Get Local Var' node usage
  1991. * 'Register Local Var' node is now highlighted if one of its 'Get Local Var' nodes are selected
  1992. * 'Register Local Var' node now lists and can focus each 'Get Local Var' which uses it
  1993. * Added reference capabilities to 'Function Switch'
  1994. * One node can now control different paths of a shader function graph
  1995. v1.4.2 dev 05:
  1996. * Fixes:
  1997. * Fixed Undo issues with connections created/deleted by drag + Alt
  1998. * Fixed issue on templates vertex local variables when using 'Vertex To Fragment' node
  1999. * Fixed bug where 'Function Switch' node options were being incorrectly saved which caused a crash on load
  2000. * Fixed shader 'Function Switch' node options not being correctly ordered all the time
  2001. * Fixed connection signal detection to make 'Function Switch' nodes know when to turn on
  2002. v1.4.2 dev 04:
  2003. * New Node:
  2004. * Function Switch
  2005. * Node specific to shader functions which allows switching options at compile time on them
  2006. * New Shader Function:
  2007. * Flipbook
  2008. * Improvements:
  2009. * Changed switch type nodes port order to match 'Function Switch' and maintain consistency
  2010. * Fixes:
  2011. * Fixed issue on duplicated functions when both outline and shadow caster passes are active
  2012. * Fixed issue with calculating label size for nodes
  2013. * Fixed UI issue when not being able to read depth info from template
  2014. v1.4.2 dev 03:
  2015. * Improvements:
  2016. * Added Depth module into templates
  2017. * Minor improvement on Four Splats First Pass Terrain shader function
  2018. * Minor improvement on TerrainSnowCoverage and SimpleTerrain samples
  2019. * Added preview and access to internal data into 'HSV To RGB' and 'RGB To HSV' nodes
  2020. * Added preview to 'If' node
  2021. * Added new Normalize option into 'World Normal' and 'World Reflection' nodes
  2022. * 'Outline' node now supports transparency and mask operations through the new Alpha Mode option
  2023. * An additional depth pass can be added via the new Extra Depth Pass option on the Output Node properties
  2024. * Property nodes can now register its properties/global variables without being connected to Output node
  2025. * Done via the new Auto-Register option
  2026. * Fixes:
  2027. * Fixed minor issue on 'Rotate About Axis' node UI
  2028. * Fixed issue with 'World Reflection' node on templates
  2029. v1.4.2 dev 02:
  2030. * Improvements:
  2031. * 'Toggle Switch' node can now share properties
  2032. * Added lock button to property name on property type nodes
  2033. * Allows to customize the internal variable name used
  2034. * Added support for 'View Dir' node on templates
  2035. * Added preview position selection to shader functions to further customize function nodes
  2036. * Fixes:
  2037. * Fixed issue where custom shadows were ignoring vertex colors
  2038. * Fixed issue on 'Fresnel' node using a non-normalized normal vector
  2039. * Small fix on 'Static Switch' node getting and setting values from the material
  2040. v1.4.2 dev 01:
  2041. * Improvements:
  2042. * Lowered Shader Model target of Custom Lighting Toon example to be compatible with MacOs
  2043. * Improved generated code for 'Grab Screen Color' and 'Grab Screen Position' nodes
  2044. * Changed automatic generation of 'Grab Screen Color' node to make sure normalization is happening only once
  2045. * Added a toggle on 'Grab Screen Color' node which chooses if it normalizes/projects the input or not (default OFF)
  2046. * Fixes:
  2047. * Fixed issue on generating default values for shader functions
  2048. * Fixed issue on normal generation with the following nodes:
  2049. * 'Fresnel'
  2050. * 'Indirect Specular Light'
  2051. * 'World Reflection'
  2052. v1.4.1 dev 02:
  2053. * New Nodes:
  2054. * Decode Depth Normal
  2055. * Encode Depth Normal
  2056. * Improvements:
  2057. * Added internal data into shader functions
  2058. * If inputs are unconnected is now possible to change the default value from its node property panel
  2059. * Property type nodes can now keep material value when not connected to an Output node
  2060. * Tweaked 'Static Switch' node properties
  2061. * Initial opened tab on property nodes depends on material mode
  2062. * Fixes:
  2063. * Fixed issue on 'Custom Expression' node when using out variables in Call mode
  2064. * Preventing 'Commentary' node from generating infinite loops when copy-pasted
  2065. * Fixed issue with incorrect refresh call order on pasted nodes
  2066. * Fixed issue on nodes are not being correctly nested into their parent 'Commentary' node when copy-pasted
  2067. * Fixed issue on 'Toggle Switch' node not updating port names correctly after loading
  2068. * Fixed focus issue on pickers with Mac
  2069. v1.4.1 dev 01:
  2070. * Fixes:
  2071. * Fixed issue on 'Texture Sampler' node getting incorrectly configured on load
  2072. * When default texture type different from material texture type
  2073. v1.4.0 dev 06:
  2074. * New Samples:
  2075. * Simple Terrain
  2076. * Terrain Snow Coverage
  2077. * Custom Outline Toon
  2078. * New Nodes:
  2079. * Rotate About Axis
  2080. * Outline
  2081. * New Shader Functions:
  2082. * Four Splats First Pass Terrain
  2083. * Improvements:
  2084. * Tweaked 'Scale And Offset' node behavior
  2085. * Added Defines tab into Output node properties
  2086. * Preventing possible compilation errors on Experimental .NET 4.6
  2087. * Fixes:
  2088. * Fixed issue on 'Texture Sampler' node not previewing a connected 'Texture Object' node
  2089. * Fixed issue on texture picker not working correctly on texture nodes
  2090. * Fixed incorrect version reading Convert To Linear parameter at 'Screen Depth' and 'Depth Fade' node
  2091. * Fixed issue on duplicate UV Set on 'Texture Sampler' node when connected to a 'Texture Object'
  2092. * Fixed issue shader function inputs and outputs getting lost when re-focusing on them by double clicking the shader function node
  2093. * Fixed issue on 'Custom Expression' node name editing on node body
  2094. v1.4.0 dev 05:
  2095. * Fixes:
  2096. * Fixed issue on shadow caster for legacy samples:
  2097. * Matcap
  2098. * Parallax Mapping Iterations
  2099. * Reflect Refract Soap Bubble
  2100. * Screen Space Curvature
  2101. * Fixed typo in 'Toggle Switch' node
  2102. * Fixed issue on incorrectly accessing port through array id instead of unique id
  2103. * Fixed issue on deprecated internal data not being correctly read into new 'Append' node
  2104. * Improvements:
  2105. * Up and Down arrow keys can now change the focus of the node element in the context palette search similar to the Tab key
  2106. v1.4.0 dev 04:
  2107. * New Samples:
  2108. * Animated UV Distortion
  2109. * Fixes:
  2110. * Fixed issue on a shader function node crashing when its corresponding asset is not found
  2111. * Fixed issue on applying Undo on Material Inspector not being caught by ASE canvas
  2112. * Fixed issue on 'Float' node slider not being registered on Undo stack
  2113. * Fixed issue on generating duplicate function names at 'Noise Generator' node
  2114. * Fixed issue on returning to from a shader function to a main graph using with that shader function selected
  2115. * Improvements:
  2116. * Added new Variable Mode property into property nodes when their type are not Constant
  2117. * Create Mode, this is the current option on which an uniform variable is always created when the node is analyzed
  2118. * Fetch Mode, assumes that this variable is already declared elsewhere, p.e. an external lib and doesn't declare it
  2119. * When Property Type is selected, the property declaration is still created
  2120. * Added explicit call to both Thread and CultureInfo system classes to avoid conflicts with user classes without proper namespace
  2121. * Shader function's input and output ports maintain correct connections after being internally re-ordered
  2122. * Automatically adding spaces into camelcase'd shader function node titles
  2123. v1.4.0 dev 03:
  2124. * Improvements:
  2125. * Added validity check on Output and Input data types
  2126. * Improved color code request for ports
  2127. v1.4.0 dev 02:
  2128. * New Shader Functions:
  2129. * Compute Filter Width
  2130. * Improvements:
  2131. * Explicitly calling System.Globalization on TextInfo usage to avoid compilation errors
  2132. * Added custom pragmas for shader functions
  2133. * Updated Vertex Normal Reconstruction sample
  2134. * Added Reflection and Specular Highlight toggles into the Rendering Options group that mimic Unity's Standard
  2135. * Added ToggleOff option to 'Static Switch' node which should now allow the creation of OFF toggles
  2136. * Fixes:
  2137. * Fixed issue of properties not being properly ordered if their material property group wasn't open
  2138. * Blend modes now update properly even if group is collapsed
  2139. v1.4.0 dev 01:
  2140. * Fixes:
  2141. * Fixed issue with 'World Space Light Pos', 'World Space Light Dir' and 'Object Space Light Dir' nodes
  2142. * Fixed issue on 'Texture Coordinates' node forcing a sampler to be picked even when none was selected
  2143. * Fixed issue on 'Indirect Diffuse Light'node ignoring the tangent space normal completely
  2144. * Small fix to shader functions so they can refresh their custom include list properly on change
  2145. * Improvements:
  2146. * Added node previews for 'Light Attenuation' and both Indirect Light nodes
  2147. * Added explicit call to Unity Editor ShaderUtil on Material Inspector to prevent class issues
  2148. * Added Dependencies List on the Output Node properties
  2149. v1.3.9 dev 03:
  2150. * New Nodes:
  2151. * 'Projector Matrix'
  2152. * 'Projector Clip Matrix'
  2153. * 'Texture Transform'
  2154. * Improvements:
  2155. * Properties can be re-ordered on Template shaders
  2156. * Cull, Blend Mode, Blend Ops, Color Mask and Stencil Buffer data can be read and modified on Template shaders
  2157. * Added new custom Time port into 'Flipbook UV Animation' node
  2158. * Templates no longer need /*ase_pass*/ tag to be declared
  2159. * Adding UnityEngine.Object redundancy on its usage to prevent issues with other plugins
  2160. * Outline can now take fog into account
  2161. * Fixes:
  2162. * Fixed issue on shader function headers being placed last on shader property list
  2163. v1.3.9 dev 02:
  2164. * Fixes:
  2165. * Additional fix on custom colored categories
  2166. v1.3.9 dev 01:
  2167. * Fixes:
  2168. * Fixed issue with 'Texture Coordinates' node not generating proper code for sizes bigger than float2
  2169. * Fixed issue on reading old shaders data into new ASE versions
  2170. * Fixed issue on custom colored categories
  2171. * Improvements:
  2172. * Updated various samples that were still compiled on older ASE versions
  2173. * ASE window now loses text focus when losing its focus to prevent UI issues
  2174. * Added proper Texcoord support in custom shadow caster
  2175. * Added new toggle on 'Screen Depth' and 'Depth Fade' nodes to disable conversion from log to linear space
  2176. * Important for Orthographic camera projections where Depth Buffer values are already stored in linear space
  2177. v1.3.8 dev 02/03:
  2178. * Improvements:
  2179. * Added new custom lighting port and migrated the emission connection to this port
  2180. * Now custom lighting display both albedo and emission to be used in baking
  2181. * 'Function Input' and 'Function Output' names can be edited through node body
  2182. * Fixes:
  2183. * Fixed indentation issue on some templates generated code
  2184. * Fixed issue in texture property that would forget it's auto cast type on load
  2185. * Fixed issue on 'Triplanar Sample' node being initialized with incorrect internal tiling value
  2186. * Fixed issue on screen position for 'Dither' node
  2187. * Now it changes the screen position interpolator globally to make it work on the shadow caster
  2188. v1.3.8 dev 01 ( the same as v1.3.7 dev 07 but bumped version for Asset Store release ):
  2189. * Improvements:
  2190. * Added Shader Function previews
  2191. * Improved node list update on current focused window when renaming a shader function
  2192. * Fixes:
  2193. * Fixed issue on tabs node list not being updated with shader function renaming
  2194. * Fixed issue with opacity mask not working correctly in custom lighting mode
  2195. v1.3.7 dev 05/06:
  2196. * New Shader Functions:
  2197. * Half Lambert Term
  2198. * Blinn-Phong Light
  2199. * Fixes:
  2200. * Fixed issue with setting the proper canvas mode when load the shader or the editor window on hotcode reload
  2201. * Fixed issue with shader function titles not supporting hyphen characters
  2202. * Fixed issue on not refreshing shader function include files on load
  2203. * Fixed issue on shader function tab name not being renamed when its file is renamed from the editor
  2204. * Fixed 'Texture Sampler' node preview when in reference mode
  2205. * Fixed stack overflow crash with pasting 'Commentary' nodes
  2206. * Improvements:
  2207. * Premultiplied options now multiply RGB values with Alpha when in custom lighting mode
  2208. * Shader Functions are now loaded by guid and fallback to name search method if load fails
  2209. * Added custom categories for shader functions
  2210. * Recompiled existing shader functions to account for new categories
  2211. * Improved 'Triplanar Sample' node texture array support
  2212. * Now allows different index for each texture when doing triplanar in cylindrical mode
  2213. * Area from picking inputs from connections now only take the port icon into account and only include the label when dropping the connection
  2214. * Added preview for 'Static Switch' node
  2215. v1.3.7 dev 04:
  2216. * Fixes:
  2217. * Fixes issue on Shader Function includes
  2218. v1.3.7 dev 03:
  2219. * Fixes:
  2220. * Fixed issue on custom lighting nodes not compiling correctly when inside a shader function
  2221. * Fixed dithermask being declared when not in use
  2222. * Fixed texture array support with 'Triplanar Sample' node generating index code inside the function instead of outside of it
  2223. * Fixed issue with 'Append' node preview
  2224. * Improvements:
  2225. * Replacing '\' with '/' instead of removing it when writing Additional Include path names
  2226. * Added Additional Include list into shader functions
  2227. v1.3.7 dev 02:
  2228. * Fixes:
  2229. * Fixed issue with 'Texture Coordinates' node not generating local variables correctly
  2230. * Fixed issue with Refraction port not correctly working with Tessellation
  2231. * Fixed issue on applying vertex offset in certain Templates
  2232. * Fixed cast and per channel operation issues on remaining blends on 'Blend Ops' node
  2233. * Fixed issue on Soft Light Blend Op on 'Blend Ops' node
  2234. * Fixed issue of Shader Function nodes not propagating data when generating code
  2235. * Fixed focus issues when adding new items on Additional Includes, Pragmas, Sub-Shaders Tags and 'Custom Expression' node tools
  2236. v1.3.7 dev 01:
  2237. * Fixes:
  2238. * Fixed 'Fmod' node issue with Int type connections
  2239. * Small fix to the path button in the new Texture Array Creator tool
  2240. * Improvements:
  2241. * Adding fallback when searching template by guid fails
  2242. v1.3.6 dev 01:
  2243. * Fixes:
  2244. * Fixed error when setting previews for texture related nodes
  2245. * Improvements:
  2246. * Improved cubemap support into texture related nodes
  2247. * Removing Texture 0-3 and Scale Matrix options from 'Common Transform Matrices' node
  2248. * Major rewrite for 'Triplanar Sample' node to make it easy to extend on the future
  2249. * Small performance increase to 'Triplanar Sample' node
  2250. * Deprecated nodes:
  2251. * 'Texture 0 Matrix'
  2252. * 'Texture 1 Matrix'
  2253. * 'Texture 2 Matrix'
  2254. * 'Texture 3 Matrix'
  2255. * 'Scale Matrix'
  2256. v1.3.5 dev 02:
  2257. * New Tool:
  2258. * Added Texture Array Creator tool
  2259. * Available at Window > Amplify Shader Editor > Texture Array Creator
  2260. * Fixes:
  2261. * Fixed Undo not being able to recover some nodes
  2262. * Improvements:
  2263. * Changed Custom Material Inspector to be able to set and show custom meshes in it's Preview
  2264. * Template Data nodes now expand individual channels if data selected is from vector/color type
  2265. * Expanded individual channels ports on:
  2266. * 'Object Space Light Dir'
  2267. *'World Space Light Dir'
  2268. * 'World Space Camera Pos'
  2269. * 'Position From Transform'
  2270. * 'Vector From Matrix'
  2271. v1.3.5 dev 01:
  2272. * New Shader Functions:
  2273. * Blinn-Phong Half Vector
  2274. * Fixes:
  2275. * Fixed issue on 'Toggle Switch' node not being correctly registered when created
  2276. v1.3.4 dev 02:
  2277. * Fixes:
  2278. * Fixed issue on text fields in nodes picking up values from other text fields in the editor
  2279. * Fixed cast issue on 'Flipbook UV Animation' node
  2280. * Fixed issue on creating sampler wire nodes
  2281. * Small fix for resize buttons of 'Comment' nodes
  2282. * Small fix to focus and select search text in the context menu not happening in specific situations
  2283. * Fixed issue with 'Object To View Pos' local variable
  2284. * Fixed 'Triplanar Sample' node normal mode signs in certain situations
  2285. * Fixed issue on adding the same grab pass declaration multiple times
  2286. * Fixed issue on incorrectly getting separate channels from transform nodes after local variables are created
  2287. * Fixed issue on duplicate uniforms with some templates
  2288. * Fixed issue where shader function properties were resetting after every save
  2289. * Improvements:
  2290. * Locking blend type nodes from sampler and matrix type connections
  2291. * Expanded 'Object To View Pos' vector output vector into individual ports
  2292. * Changed 'Triplanar Sample' node base UV direction to match unity terrain
  2293. * Expanded vector ports for 'Object Space View Dir' and 'World Space View Dir'
  2294. * 'Lerp' node now converts int types in the alpha input port to float types to prevent errors
  2295. v1.3.4 dev 01
  2296. * Fixes:
  2297. * Fixed issue with Opacity Mask port incorrect type
  2298. * Fixed issue with incorrectly saving/loading multilines state in editor prefs
  2299. * Fixed issue on not being able to create relays on texture type connections
  2300. v1.3.3 dev 01:
  2301. * Fixes:
  2302. * Fixed multiple issues with 'Append' node behavior
  2303. * Fixed null pointer exception when Shift + Tabbing helper window
  2304. * Fixed duplication error on UV generation code
  2305. * Improvements:
  2306. * Added Alpha To Coverage option ( tied to Opacity port being active )
  2307. * Opacity Mask now only generates code if connected
  2308. * Blend ops defaults are now OFF instead of ADD
  2309. * 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 )
  2310. v1.3.2 dev 04/05:
  2311. * Fixes:
  2312. * Fixed Asset Post Processor issue with Templates renaming
  2313. * Fixed middle clicking on reference preview focusing on referenced node
  2314. * Fixed graphic glitch on 'Static Switch' node button
  2315. * Fixed issue with copy/pasting nodes taking incorrect property names
  2316. * Fixed issue on 'Toggle Switch' incorrectly being read from older ASE versions
  2317. * Minor fix on 'Object To Clip Pos' node
  2318. * Fixed Undo issue with pasted property nodes
  2319. * Fixed issue with duplicate local variables on templates when having multiple ports from the same category
  2320. * Improvements:
  2321. * Minor visual tweak on 'Standard Surface Light' node
  2322. * Removed dependencies on custom shader inspector over the main ASE window so it can be removed by users
  2323. * Setting first vector port automatically invisible ( if unconnected ) on nodes representing Unity built-in parameters ( since they are never used as vectors )
  2324. * Improved custom template reader behavior
  2325. * Minor improvement on Undo node paste behavior
  2326. * Added Stencil Buffer Back and Front face options ( only visible when Culling is Off )
  2327. * Changed input ports number of connections and data type visualization to represent the data being transferred in each cast
  2328. * Improved crooked lines when nodes are too close to each other
  2329. * Added custom single line texture properties for when the texture is marked to not have scale and offset properties
  2330. v1.3.2 dev 03:
  2331. * Fixes:
  2332. * Fixed issue with 'Texture Sampler' node not taking procedural textures correctly into account
  2333. * Matrices can no longer be connected into 'Vertex To Fragment' nodes input port
  2334. * Fixed reordering issues with shader functions when these were updated
  2335. * Fixed rare compile issue where shader function headers were created but no property was present
  2336. * Fixed issue where view direction vector shader code was being generated with different precision types
  2337. * Fixed issue with Matrix nodes being able to choose its type as Property and add Attributes
  2338. * Fixed issue with Matrix nodes initial value not corresponding to internal draw data
  2339. * Fixed issue with Matrix3x3 not working correctly when its type was set as Global
  2340. * Fixed issue on function nodes generating local variables for Sampler data type variables
  2341. * Improvements:
  2342. * Activating internal data for tessellation nodes
  2343. * Minor tweak on vertex position data across all templates
  2344. * Preventing 'DDX' and 'DDY' nodes to generate code when in vertex function
  2345. * Removed Sampler data types as valid 'Custom Expression' output valid type
  2346. v1.3.2 dev 02:
  2347. * New Shader Functions:
  2348. * 'Bidirectional Parallax Mapping'
  2349. * Mimics iterative Parallax Mapping with reference plane
  2350. * 'Reconstruct World Position From Depth'
  2351. * New Samples:
  2352. * Added new Vertex Normal Reconstruction sample
  2353. * Fixes:
  2354. * Fixed issue with shader function nodes generating the same code multiple times
  2355. * Fixed issue with function input generating duplicated code
  2356. * Fixed issue with 'Texture Coordinates' node generating code in the vertex function when used inside a shader function
  2357. * Fixed issue on 'Texture Coordinates' node in templates not respecting the size of the Coord Size option
  2358. * Fixed issue on matrix multiplication via the 'Multiply' node not taking correct output type into account
  2359. * Minor fix on Search Bar positioning
  2360. * Recompiled Triplanar sample to be PS4 compatible
  2361. * Recompiled Translucency sample to be PS4 compatible
  2362. * Recompiled Hologram sample to be PS4 compatible
  2363. * Fixed compilation issue with Billboard generated code in PS4
  2364. * Fixed hot code reload issue with 'Template Parameter', 'Template Vertex Data' and 'Template Fragment Data'
  2365. * Fixed issue on 'Fresnel' node not read/writing new normal space option
  2366. * Fixed issue on 'Screen Position' node when used on Templates
  2367. * Improvements:
  2368. * Functions inputs now allow the use of node default graph trees supporting complex default operations
  2369. * Particle Alpha Blend template now uses a float4 on its TEXCOORD0 semantic both for vertex and interpolator data
  2370. * Added pragma tag into Default Sprites template
  2371. * Added port failsafe config into 'Texture Sample' node after reading all its internal data
  2372. * Making vector port invisible in Unity Parameters type nodes if not being used
  2373. * 'Component Mask' node only creates local variables if needed
  2374. * Multi-wire colored connections now active by default
  2375. * 'Fresnel' node now have Normal Space option set to Tangent by default
  2376. * Shader functions now display their description on its Inspector window
  2377. * Fixed 'Grab Screen Position' and 'Grab Screen Color' nodes for VR and updated the respective samples accordingly
  2378. v1.3.2 dev 01:
  2379. * New nodes:
  2380. * 'Camera To World Matrix'
  2381. * 'World To Camera Matrix'
  2382. * Fixes:
  2383. * Fixed issues with 'Toggle Switch' node
  2384. * It now properly creates a toggle property and lets user change material in the editor
  2385. * Fixed issue on vertex local variables not being registered correctly on custom lighting
  2386. * Precision selection on 'Grab Screen Color' node is no longer locked when Custom Grab pass is disabled
  2387. * Fixed issue with 'Depth Fade' node on OpenGL platforms
  2388. * Normalized screen position code now works properly in all platforms
  2389. * Fixed issue with 'Texture Array' node preview
  2390. * Fixed issue with 'Vertex To Fragment' node generating duplicated code
  2391. * Improvements:
  2392. * Added toggle button into 'Static Switch' node
  2393. * Improved wire auto-connection to node when its created from the context palette when dragging a wire
  2394. * Auto screen UVs from 'Grab Screen Color' node now also take Unity Single Pass Stereo into account
  2395. * Improved code generation on screen position related nodes
  2396. * Activating internal port data into 'Toggle Switch' node
  2397. * Updated Simple Blur and Simple noise examples to be fully android compatible
  2398. * Tweaked 'Desaturate' node to prevent issues with PS4
  2399. * Tweaked 'Parallax Occlusion Mapping' node to prevent issues with PS4
  2400. v1.3.1 dev 11:
  2401. * Fixes:
  2402. * Fixed incorrect UV variable name on Post-Process template
  2403. * Fixed Perforce integration again
  2404. * Fixed preview on 'Fresnel' node for the new tangent mode
  2405. * Fixed issue with 'Screen Position' subtitle
  2406. * Fixed issue with 'Vertex to Fragment' node on templates
  2407. * Improvements:
  2408. * Added two additional nodes to templates,'Template Vertex Data' and 'Template Fragment Data'
  2409. * These nodes allow direct access to vertex and interpolated fragment data from the template
  2410. * Adding vertex code entry tag into Post-Process template
  2411. * Improved fail-safe behavior on attempt to write vertex code on template with no vertex tag declared
  2412. * Minor tweaks on some nodes port names and order
  2413. * 'Dither' node now has a input port that allows the use of a custom dither pattern
  2414. * 'Vertex to Fragment' node no longer generates unnecessary code and now acts as a relay if connected to a vertex path
  2415. v1.3.1 dev 10:
  2416. * Fixes:
  2417. * Fixed cast issues on 'Smoothstep' node
  2418. v1.3.1 dev 09:
  2419. * Fixes:
  2420. * Multiple fixes on custom shadow caster
  2421. * Fixed issue on Templates Manager being incorrectly destroyed in some situations
  2422. * Fixed issue on Template data not being correctly synced when user changes its source code and returns to ASE
  2423. * Fixed issue where referenced 'Texture Sampler' nodes was not respecting the original property order
  2424. * Fixed issue on 'Grab Screen Color' node not using Unity default grab pass when selected to use it
  2425. * Fixed small issues on multiple examples
  2426. * Improvements:
  2427. * Added tangent space normals to 'Fresnel' node and removed the internal normal value from its properties
  2428. v1.3.1 dev 08:
  2429. * Fixes:
  2430. * Fixed issue on 'Simple Contrast' node
  2431. * Fixed boundaries issues on 'Dither' node
  2432. * Improvements:
  2433. * Minor tweak on 'Smoothstep' ports order
  2434. * Added new Color and Intensity ports into 'Light Color' node
  2435. * Minor overall optimizations on node previews
  2436. * Added preview for 'Substance Sample' node
  2437. * Added preview for 'Blend Operations'
  2438. * Added input port for automatic texture dithering into 'Dither' node
  2439. v1.3.1 dev 07:
  2440. * Fixes:
  2441. * Fixed issue on 'Simple Contrast' node ignoring Value internal data
  2442. * Fixed issue on nodes preview data not being written when its internal data is read from shader
  2443. * Fixed 'Texture Sampler' node to output a Color instead of Vector type
  2444. * Fixed 'Swizzle' node not detecting changes on its input ports
  2445. * Fixed issue on allowing invalid characters when typing a custom keyword on the 'Static Switch' node
  2446. * Improvements:
  2447. * Improved code generated by 'If' node and hides unused internal data
  2448. * Improved 'Rotator' node behavior
  2449. * Improved 'Panner' node behavior
  2450. * Added checkout for version control systems that need it to edit files like perforce.
  2451. * Changed labels and port order for various nodes in the Image Effects category to improve consistency
  2452. v1.3.1 dev 06:
  2453. * Fixes:
  2454. * Fixed issue on template output node attempting to access template data before its initialization is complete
  2455. * Fixed issue with validate/execute commands like duplicate on Mac
  2456. * Fixed issue on not updating correctly mouse position when doing multiple pastes/duplicates
  2457. * Fixed disappearing titles when selecting 'Register Local Var' nodes being used by 'Get Local Var' nodes located outside the visible graph area
  2458. * 'Toggle Switch' node now properly casts its main port type for both input ports
  2459. v1.3.1 dev 05:
  2460. * Fixes:
  2461. * 'Indirect Specular Light' and 'Indirect Diffuse Light' now compile properly in vertex functions but provide dynamic baking results only
  2462. * Changed mask clip variable name to be compatible with internal unity functions
  2463. * Fixed issue with texture arrays derivatives not being declared in 'Parallax Occlusion Mapping' nodes
  2464. * Fixed 'Texture Sample' node not changing cast mode automatically when in reference mode
  2465. * 'Lerp' node now works as the hlsl/cg specification and allows for component based interpolation
  2466. * Fixed issue on template native properties getting lost when hot code reloading
  2467. * Improvements:
  2468. * 'Get Local Var' nodes now get highlighted in green when their referenced 'Register Local Var' node are selected
  2469. * 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
  2470. * 'Static Switch' now allows to use define symbols and material toggle is now optional
  2471. * 'Keyword Switch' is now deprecated (opening the shader in newer versions should replace it by 'Static Switch')
  2472. * 'Static Switch' and 'Grab Screen Color' nodes now show their node name in title but still allows to edit their variable by double clicking
  2473. * Reorganized toolbar buttons for consistency
  2474. * Showing internal value name at the node properties window when selecting a property on the 'Template Parameter' node
  2475. v1.3.1 dev 04:
  2476. * Fixes:
  2477. * Fixed issue with 'Static Switch' node duplicatnig code
  2478. * 'Static Switch' node now properly allows the use of the same keyword
  2479. * Fixed issue with Int ports generating black previews
  2480. * Fixed issue where 'Custom Standard Lighting' node was generating garbage code when connected multiple times
  2481. * Fixed dynamic baked lightmapping for 'Indirect Diffuse Light' node
  2482. * Default fallback is now only added if shader doesn't use it's own
  2483. * Improvements:
  2484. * Changed 'Template Parameter' node to mimic the same look from the equivalent property nodes
  2485. * Changed some labels and warning texts to be more clear on what's going on for texture objects
  2486. * Int port color now uses the same color as float nodes
  2487. * Added ASE custom inspector to the default templates
  2488. * Added support for Texture Arrays with 'Parallax Occlusion Mapping' node
  2489. v1.3.1 dev 03:
  2490. * New Features:
  2491. * Added custom pragmas support to the main property panel
  2492. * Fixes:
  2493. * Fixed issue with texture arrays when in reference mode creating multiple properties
  2494. * Fixed issue of 'Vertex To Frag' node not generating code in certain situations
  2495. * Fixed issue with 'World Reflection' node not generating code correctly in vertex functions
  2496. * Fixed issue of custom shadow caster not using the correct shader model
  2497. * Fixed issue with dynamic port nodes not updating correctly in some occasions
  2498. * Fixed issue of some nodes not properly using the selected precision type
  2499. * Matrix 3x3 port types now display properly in the node property panel and compile correctly
  2500. * Improvements:
  2501. * 'World Position' node now forces float precision
  2502. * Some more changes for the nodes subtitles for consistency
  2503. * Minor performance and GC improvements
  2504. v1.3.1 dev 02:
  2505. * Fixes:
  2506. * Fixed issue with 'World Normal' node not generating it's components values properly in some occasions
  2507. * Fixed issue with some parameters foldouts not displaying correctly and added a new context message for empty foldouts
  2508. * Improvements:
  2509. * Changed some subtitles prefixes to be more consistent about what they represent
  2510. * Changed dropdown icon to a less confusing and more intuitive one
  2511. * More editor performance improvements and reduction of GC in various places
  2512. v1.3.1 dev 01:
  2513. * Fixes:
  2514. * Fixed issue on copy-pasting custom lighting nodes
  2515. * Fixed issue on null pointer reference on preview material when hitting play mode
  2516. * Improvements:
  2517. * Added upper left widgets into several nodes to change important properties directly on node body
  2518. * Added secondary title into several nodes to show its current state directly from node body
  2519. v1.3.0 dev 03:
  2520. * Improvements:
  2521. * Completely refactored and changed the graph and node rendering to use a semi-MVC model
  2522. * Improves the overall performance in several orders of magnitude
  2523. * Various small visual fixes and improvements
  2524. * Various changes to prevent most memory allocations heavily reducing GC
  2525. * Changed zoom and auto-pan to a smooth version and fixed its auto-boundaries
  2526. * This should make the editor feel more snappy and responsive
  2527. * New object pickers for 'Substance Sampler' and 'Triplanar Sampler'
  2528. * New outline for selected Wire nodes
  2529. * Now is easier to see in all situations
  2530. * Various previews were added,improved or fixed
  2531. * 'Texture Sampler' nodes now properly display default values
  2532. * Tweaked Input Type labels on 'Custom Expression' nodes to match shader variable type names
  2533. * Custom Lighting nodes now show internal data and have additional Normal options
  2534. * Fixes:
  2535. * Fixed 'Texture Array' node issue when referencing an un-connected node
  2536. * Fixed UI issue on 'Custom Expression' qualifiers
  2537. * Fixed issue on shader name being overwritten when changing template
  2538. * Fixed issue on copy/cut/paste not being correctly caught by nodes search bar
  2539. v1.3.0 dev 02:
  2540. * Fixes:
  2541. * Fixed issue with Output Node Opacity Mask port not working with Custom Lighting
  2542. * Fixed errors with some nodes inside shader function
  2543. * Improvements:
  2544. * Improved internal file reader to be more robust in case of trying to load in-existent files
  2545. * Templates Manager can now also be initialized by its post processor in case of an ASE window is not open
  2546. * 'Blend Operations' node show current selected Blend Op on node body
  2547. * Locked Custom Light nodes from being used on Templates
  2548. v1.3.0 dev 01:
  2549. * New Features:
  2550. * Templates
  2551. * Create new shaders from already existing ones which serves as base/templates
  2552. * Fixes:
  2553. * Fixed issue on ports internal data not showing on 'Append' node
  2554. * Fixed infinite loop on 'Texture Coordinates' and 'Texel Size' nodes
  2555. v1.2.1 dev 02:
  2556. * Fixes:
  2557. * Fixed issues with previews on 'Multiply' node
  2558. * Fixed incorrect tooltip on 'Face' node
  2559. * Fixed issue on 'Standard Surface Light' node where GI wasn't correctly picking normals
  2560. * Fixed 'Texture Sampler' node not correctly generating code when connected to relays or shader functions
  2561. * Fixed issue on 'Texel Size' and 'Texture Coordinate' nodes when referencing nodes not connected to Master Node
  2562. * Improvements:
  2563. * 'Grab Screen Color' node now uses Unity default grab texture and allows overriding it like it's previous behavior
  2564. v1.2.1 dev 01:
  2565. * Improvements:
  2566. * Major refactor on all nodes categories and colors to improve consistency
  2567. * Added subtitle to 'Swizzle' and 'Component Mask' nodes to reflect their options
  2568. * Added configurable background color for 'Commentary' nodes
  2569. * Fixes:
  2570. * Fixed issue with lightmaps when using the 'Standard Surface Light' node on Custom Lighting Light Model
  2571. * Fixed issue on overwriting default texture values on 'Texture Sample' node when loading values from material
  2572. v1.2.0 dev 02:
  2573. * Improvements:
  2574. * Adding Call Mode into 'Custom Expression' node
  2575. * 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
  2576. * 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.
  2577. v1.2.0 dev 01:
  2578. * Fixes:
  2579. * Fixed issue on generating UI exception when sometimes iterating between Search Node Bar results
  2580. * Fixed issue on Output node size increasing infinitely with shader name
  2581. * Fixed issue on incorrect serialization on 'Texture Sampler' node
  2582. * Improvements:
  2583. * Texture Object type nodes no longer auto-set the 'Texture Sampler' Normal Map option
  2584. * Normal Map option was renamed to Unpack Normal Map
  2585. * 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
  2586. v1.1.0 dev 13:
  2587. * Fixes:
  2588. * Fixed issue with reading incorrect legacy port info into 'Lerp' node
  2589. * Fixed issue on cycling through deleted nodes when using the Nodes Search Bar
  2590. * Fixed issue with incorrectly moving nodes nested into multiple 'Commentary' nodes
  2591. * Fixed issue on Undo not registering internal node movement on 'Commentary' nodes
  2592. * Fixed issue when using 'Virtual Texture Object' node on Vertex ports
  2593. * Fixed issue with incorrectly moving selected nodes while resizing side menus
  2594. * Improvements:
  2595. * 'Simple Contrast' node now always store its result on a local variable
  2596. * Greatly improved 'Commentary' node:
  2597. * You now can use box selection inside the node body
  2598. * You now can create Wire nodes by double clicking on a wire inside the node body
  2599. * You now select and drag the node via its header or by pressing anywhere on the node body having the Alt key down
  2600. * You now need to double click the node header to be able to modify its comment directly from there
  2601. v1.1.0 dev 12:
  2602. * Fixes:
  2603. * Fixed issue with creating legacy code for LOD Cross Fade on Unity v.2017 and above
  2604. * Fixed issue on 'Lerp' node not adjusting correctly when disconnecting input ports
  2605. * Fixing issue with node drag with snap
  2606. * Now done by having both Ctrl+Shift pressed
  2607. * Improvements:
  2608. * 'Blend Operations' node now automatically adapts to input ports
  2609. * Improving Search Bar focus behavior
  2610. v1.1.0 dev 11:
  2611. * Fixes:
  2612. * Fixed incorrect behavior on creating connections through Alt + Shift
  2613. * Fixed out of bounds exception caused by removing ports on shader functions
  2614. * Fixed issue with 'Triplanar Sampler' node not deleting correctly in some occasions
  2615. * Fixed ordering issues with Stencil Buffer example
  2616. * Improvements:
  2617. * Overall improvements on nodes descriptions
  2618. v1.1.0 dev 10:
  2619. * Fixes:
  2620. * Fixed new Billboard Ignore Rotation option incorrectly ignoring game object translation
  2621. v1.1.0 dev 09:
  2622. * Fixes:
  2623. * Fixed issue with deprecated nodes warning message throwing an exception on recent Unity versions
  2624. * Fixed 'Texel Size' node issues on Shader Functions
  2625. v1.1.0 dev 08:
  2626. * New Features:
  2627. * New 'Keyword Switch' node
  2628. * Improvements:
  2629. * Improved 'Lerp' and 'Clamp' nodes behavior
  2630. * Added new improved dynamic 'Append' node which adapts to inputs and deprecated the old one
  2631. * Billboards can now ignore object original rotation via its new Ignore Rotation toggle
  2632. * New Soft Light option was added to 'Blend Operations' node
  2633. v1.1.0 dev 07:
  2634. * New Features:
  2635. * Added support for Custom Subshader Tags on Output Node properties
  2636. * Fixes:
  2637. * Fixed issue with having 'Custom Expression' nodes with similar port names
  2638. * Improvements
  2639. * Small improvements on canvas zoom behavior
  2640. v1.1.0 dev 06:
  2641. * New Features:
  2642. * Added new nodes:
  2643. * 'World Transform Params'
  2644. * 'Vertex Bitangent'
  2645. * 'Vertex Tangent Sign'
  2646. * Improvements:
  2647. * Able to specify an HDR color on 'Color' node if the HDR attribute is set
  2648. * Added previews to nodes:
  2649. * Time
  2650. * Object Scale
  2651. * Improved how vertex data is being generated to prevent future issues
  2652. * Fixes:
  2653. * Fixed incorrect order of instruction write on 'Texture Coordinates' node
  2654. v1.1.0 dev 05:
  2655. * New Features:
  2656. * New 'Standard Surface Light' node ( exclusive to Custom Lighting Light Model )
  2657. * New Samples:
  2658. * Double Layer Custom Surface
  2659. * Fixes:
  2660. * Fixed issue with pasting nodes not refreshing external references from original ones
  2661. * Fixed issue with generating helper local variable ids on several nodes which may lead to issues on shader functions
  2662. * Fixed issue on 'Depth Fade' node
  2663. * Fixed issue with not registering sampler dummies correctly when using 'Texture Coordinates' node with Tessellation
  2664. * Fixed issue on multi-tabs with breaking all tabs except the focused one when dragging wires
  2665. * Improvements:
  2666. * Added previews to nodes:
  2667. *'World Space Camera Pos'
  2668. *'Object Space Light Dir'
  2669. *'World Space Light Dir'
  2670. *'Light Color'
  2671. *'Object To World'
  2672. *'World To Object'
  2673. v1.1.0 dev 04:
  2674. * Fixes:
  2675. * Fixed issue on 'Texture Coordinates' node generating wrong dummies on UV Sets different than 1
  2676. * Fixed issue on 'Register Local Var' node usage with shader functions
  2677. * Improvements:
  2678. * Setting Enable Instancing option default value to false
  2679. * Adding Exact Conversion option into 'Gamma To Linear' and 'Linear To Gamma' nodes for more accurate results
  2680. v1.1.0 dev 03:
  2681. * Fixes:
  2682. * Fixed issue on 'Pi' node
  2683. * Fixed issue on 'Texture Coordinates' node not generating unique names when used on vertex body
  2684. * Fixed issue with incorrectly counting amount of 'Virtual Texture Object' nodes on graphs
  2685. * Fixed issue on 'Texture Array' drawers
  2686. * Fixed issue on 'Remap' node preview preventing division by zero
  2687. * Improvements:
  2688. * 'Texture Array' node:
  2689. * Now work with shader functions
  2690. * Added derivative option to 'Texture Array' node
  2691. * Minor tweak on tooltip text
  2692. * New Features:
  2693. * New Community Node 'GlobalArray' submitted by Vincent van Brummen and created by Johann van Berkel
  2694. * Added new Enable Instancing toggle into Rendering Options to be able to activate instancing without having to use Property nodes
  2695. v1.1.0 dev 02:
  2696. * Improvements:
  2697. * 'Vertex TexCoord' and 'Swizzle' node types can be selected from node body
  2698. * Fixes:
  2699. * Fixed issue with 'Grab Screen Color', 'Get Local Var' and 'Texture Sample' nodes loosing references inside Shader Functions
  2700. * Fixed issue on not correctly registering all Grab Passes from multiple 'Grab Screen Color' nodes
  2701. * Fixed small issue on 'Commentary' node not being able to focus on comment text field when created
  2702. v1.1.0 dev 01:
  2703. * Fixes:
  2704. * Fixed issue with being able to open recently created shader multiple times
  2705. * Improvements:
  2706. * Added preview for 'Screen Position' node
  2707. * 'Append' output type can be selected from node body
  2708. * Small overall optimizations
  2709. v1.0.0 dev 12:
  2710. * Fixes:
  2711. * Fixed wrong casting issues on dynamic type nodes
  2712. * Fixed lost reference when deleting 'Grab Screen Color' node
  2713. v1.0.0 dev 11:
  2714. * New Features:
  2715. * Additional includes (.cginc) can now be used into an ASE shader via the Additional Includes sections on the Output node
  2716. * Their contents can be accessed via the 'Custom Expression' node
  2717. * Added Node Search bar to quickly find nodes on the canvas
  2718. * Ctrl + F: Shows Search Bar
  2719. * Enter/Return/F3: Goes to next occurrence
  2720. * Shift + (Enter/Return/F3): Goes to previous occurrence
  2721. * Escape: Hides Search Bar
  2722. * New samples:
  2723. * UV Light Reveal
  2724. * Fixes:
  2725. * Fixed issue on creating unnecessary casts from floats
  2726. * Fixed minor issue on GPU Instancing sample
  2727. * Fixed minor UI issues on 'Reflect' and 'Refract' nodes
  2728. * Fixing shader paths for Community Shaders
  2729. * Fixed issue on incorrect cast when using Floats and Ints in certain nodes
  2730. * Fixed issue on resetting in certain situations vertex local variables generated during Output Node fragment code generation
  2731. * Fixed issue on property name update in 'Grab Screen Color' node
  2732. * Improvements:
  2733. * Improved nodes local variables reset behavior to prevent future issues
  2734. * Added previews to 'Gamma To Linear' and 'Linear To Gamma' nodes
  2735. * Forcing 'Dot' and 'Normalize' nodes to store results in local value and prevent with power operations
  2736. v1.0.0 dev 10:
  2737. * Fixes:
  2738. * Fixed issue with temporary variable assignment Id on 'Texture Coordinates' node
  2739. v1.0.0 dev 09:
  2740. * New Features:
  2741. * New 'Static Switch' node which allows creation of shader variants
  2742. * Fixes:
  2743. * Fixed minor issue on reading inputs from dynamic 'Add' and 'Multiply' nodes on older shader versions
  2744. * Fixed issue on Parent Graph attempting to delete in-existent connections
  2745. * Fixed issue with always disabling Light Maps when using Tessellation
  2746. * Fixed issue with Texture Nodes reference drop down selector showing incorrect labels both on 'Texture Sampler' and 'Texture Coordinates' nodes
  2747. * Fixed issues on incorrect loosing references with 'Texture Sampler' node on Reference mode
  2748. * Improvements:
  2749. * Improved 'Append' node connection management
  2750. * Added Local Var selector directly on 'Get Local Var' node body
  2751. v1.0.0 dev 08:
  2752. * New Features:
  2753. * New Output node Rendering Options
  2754. * Disable Batching
  2755. * Ignore Projector
  2756. * Force No Shadow Casting
  2757. * Fixes:
  2758. * Fixed issue with new dynamic 'Add' and 'Multiply' nodes not registering port creation/destruction into Undo system
  2759. * Fixed issue on 'Grab Screen Color' node duplicating code
  2760. * Fixed issue with Opacity Mask port being incorrectly Enabled/Disabled on certain situations
  2761. * Fixed issue on 'Get Local Var' nodes getting wrong ids on certain situations when a 'Register Local Var' node is deleted
  2762. * Small fix to force property name update when changing type on property nodes
  2763. * Fixed issue where 'View Dir' node was generating code in the wrong space when in vertex function for both world space and tangent space
  2764. v1.0.0 dev 07:
  2765. * Fixes:
  2766. * Fixed name conflict on 'Custom Expression' node
  2767. * Fixed issue for both normal input in indirect lighting nodes that were asking from normal in world space instead of tangent space
  2768. v1.0.0 dev 06:
  2769. * New Features:
  2770. * Added LOD Cross Fade support for LOD groups ( located in the Output node Rendering Options tab )
  2771. * Improvements:
  2772. * 'Add' and 'Multiply' nodes can have more than 2 input ports ( max 10 )
  2773. * Minor improvements on several nodes
  2774. * Refraction port use Unity's grabpass by default so it can pick other refraction materials
  2775. * Avoiding possible compiler misunderstandings with System.Type calls
  2776. * Ensuring variables/functions created by custom expressions have unique names
  2777. * Auto enabling instance mode on material ( if on Unity 5.6 or above ) when detecting instance mode on ASE shader
  2778. * Improved zoom behavior
  2779. * Fixes:
  2780. * Fixed issue when remapping ports from very old shaders
  2781. * Fixed swizzle issue on 'Vertex Position' node
  2782. * Fixed matrix 'Invert' node
  2783. * Fixed SimpleGPUInstancing sample not fully batching on Unity 5.6
  2784. * Fixed opening a SF in more than one tab after creation
  2785. * Fixed header click to edit name when zoomed out
  2786. * Fixed both Commentary node side menus resize not following the mouse movement correctly
  2787. * New Shader Functions: ( AmplifyShaderEditor/Examples/Assets/ShaderFunctions )
  2788. * Simple HUE
  2789. * SphereMask
  2790. v1.0.0 dev 05:
  2791. * Fixes:
  2792. * Fixed issue with conditional 'If' node
  2793. * Fixed issue with 'Vertex Position' node swizzle in Local Vertex Ports
  2794. * Improvements:
  2795. * Caching instanced property nodes into local variables to prevent multiple UNITY_ACCESS_INSTANCED_PROP() on them
  2796. * Added support for samplers types into 'Custom Expression' node
  2797. v1.0.0 dev 04:
  2798. * Fixes:
  2799. * Fixed node drag and drop issue from palette
  2800. * Fixed issue with online reference button having a "too-large" click box
  2801. * Palette Menus now display the correct cursor on mouse hover
  2802. * Fixed clicking Enter on palette without selecting a node
  2803. * Changing lighting models should now show the error messages correctly
  2804. * Fixed issue of Custom Light nodes not loading properly
  2805. * Improvements:
  2806. * Added Per Renderer Data tag to Properties available Attributes
  2807. * Adding help box into 'Virtual Texture Object' with additional info
  2808. v1.0.0 dev 03:
  2809. * New Features:
  2810. * Custom Lighting
  2811. * New Nodes: ( can only be used on this light model )
  2812. * Indirect Diffuse Light
  2813. * Indirect Specular Light
  2814. * Light Attenuation
  2815. * New Samples:
  2816. * Custom Lighting Toon
  2817. * Fixes:
  2818. * Fixed issue when zooming with Alt + Right Mouse button
  2819. * Fixed issue with window not detecting graph type on Unity load
  2820. * Fixed issue on 'Debug Switch' node not loading properly
  2821. * Fixed issue on assigning invalid cultures when an error/exception occurred inside ASE
  2822. * Improvements:
  2823. * Context Palettes now allow Tab / Shift Tab to select between nodes instead of mouse selection (confirms with Return/Enter key)
  2824. * Added previews for 'Debug Switch' and 'Toggle Switch' nodes
  2825. * Added link to node documentation on its tooltip
  2826. * Small optimization on all nodes overall
  2827. * Preventing ASE to crash if some faulty class/dll is present on the project
  2828. v1.0.0 dev 02:
  2829. * Fixes:
  2830. * Preventing shadow caster error on using 'Vertex TexCoord' with 'Vertex Normal'
  2831. v1.0.0 dev 01:
  2832. * Fixes:
  2833. * Fixed issue on not recognizing Tessellation port correctly when at Lambert or BlinnPhong light models
  2834. * Fixed issue on dragging nodes via Alt mode not respecting ports unique ids when creating connections
  2835. * Fixed minor typo on 'Switch by Face' node
  2836. * Fixed minor issue when loading LoadPolyWater example
  2837. v0.7.2 dev 08:
  2838. * Fixes:
  2839. * Fixed issue generating input ports instructions on 'Custom Expression' node
  2840. v0.7.2 dev 07:
  2841. * New Features:
  2842. * Added support for multiple ASE windows opened simultaneously
  2843. * New Samples:
  2844. * Animated Fire with Shader Functions
  2845. * Improvements:
  2846. * Forcing InvariantCulture on ASE execution cycle to prevent issues with number parsing
  2847. * 'Texture Sampler' node no longer shows it's sampler properties when a 'Texture Object' node is connected to it
  2848. * Improved redundancy awareness on 'Virtual Texture Object' and 'Texture Sampler' nodes
  2849. * Improved 'Virtual Texture Object' tooltip
  2850. * Removed Return button from Shader Functions since it is now useless with new multi-tab behavior
  2851. * Fixes:
  2852. * Fixed issue on changing Normal map option in 'Texture Sampler' node not changing its output type
  2853. * Changed 'Virtual Texture Object' node channel name to 'Layer' and fixed its default value not showing up correctly
  2854. * Virtual textures now generate properties with their correct name (requires user changes to the virtual texture itself)
  2855. * Fixed issue that break compiling when a missing shader function was present
  2856. * Forcing internal data update for shader function Output nodes to prevent errors when they are disconnected
  2857. * Fixed small issue with shader function nodes being stuck on selection when double clicking on them
  2858. v0.7.2 dev 06:
  2859. * New Features:
  2860. * Added 'HSV To RGB' and 'RGB To HSV' nodes
  2861. * Improvements:
  2862. * '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
  2863. * Added small info text on node properties to explain its behavior
  2864. * 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
  2865. * Small refactoring on some classes for consistency and warning removal from Visual Studio
  2866. * Fixes:
  2867. * Fixed issue on some changes not being correctly caught on setting Blend Render Type
  2868. * Fixed issue with Unlit Light model doubling the value set on the Emission output port
  2869. * Small fix on title updates when using Shader Functions
  2870. * Removed warning from unused legacy source code on 'Register Local Var' and 'Get Local Var' nodes
  2871. * Fixed issues on incorrect casts on 'Texture Sampler' node
  2872. * Fixed issues on incorrectly snapping wires into hidden ports
  2873. v0.7.2 dev 05:
  2874. * Improvements:
  2875. * Changed tool tip display to trigger when mouse is on top of the node ( now displays below the node)
  2876. * Shader Functions
  2877. * Added default values for input node in SF (these are used when there's no connection)
  2878. * Added port restrictions to dynamic node types
  2879. * Changed way input node work with restrictions when changing type to prevent invalid connections
  2880. * Fixes:
  2881. * Fixed minor typo on 'Rotator' node
  2882. v0.7.2 dev 04:
  2883. * Fixes:
  2884. * Fixed multiple issues on save behavior when changing modes
  2885. * Fixed issue with shader functions not assigning the main node correctly
  2886. * Fixed issue on Project Window Change callback
  2887. * Fixed graph count increasing on shader switch
  2888. * Fixed version numbering in function nodes
  2889. * Fixed nested SF issue with inputs
  2890. v0.7.2 dev 03:
  2891. * Fixes:
  2892. * Fixed issue with 'Vertex TexCoord' not writing properties correctly into shader meta
  2893. v0.7.2 dev 02:
  2894. * Fixes:
  2895. * Fixed cast and port activation issues on Blend Nodes
  2896. * Fixed various issues with SF:
  2897. * Saving no longer deselects
  2898. * Reordering is now working properly
  2899. * Autocast now has port restrictions into account and deletes with warning when possible
  2900. * Sampler types no longer duplicate
  2901. * Improvements:
  2902. * Texture Objects node family can now be set as Globals
  2903. v0.7.2 dev 01:
  2904. * New Features:
  2905. * Added Shader Functions
  2906. * Added new 'Object Scale' node
  2907. * Fixes:
  2908. * Fixed multiple issues with Copy/Paste
  2909. * Fixed issues with nodes on Vertex Function
  2910. * 'Fresnel'
  2911. * 'Posterize'
  2912. * 'Heightmap Texture Blend'
  2913. * 'Unpack Scale Normal'
  2914. * Fixed issue with incorrect data read from 'Texture Coordinates' nodes on versions below 0.5.0 dev 003
  2915. * Fixed issue on inverted Receive Shadows toggle
  2916. * Improvements:
  2917. * Can Copy/Paste between different Shaders and Shader Functions
  2918. * Shader properties created by Refraction, Translucency, Mask Value and Tessellation now appear on the Output node Material Properties list and can be reordered
  2919. * Preventing UndoParentNode to generate DefaultValue conflicts caused by other plugins
  2920. * Removed warnings generated on some situations by the 'Screen Position' node
  2921. * New Samples:
  2922. * LowPolyWater by The Four Headed Cat
  2923. * ForceShield by The Four Headed Cat
  2924. v0.7.1 dev 02:
  2925. * Improvements:
  2926. * Improved 'Texture Coordinates' node and added new Tex input port into it
  2927. * Improved local variable usage on several node generated code to improve overall shader instruction count
  2928. * 'Vertex Position' node now has new Size property
  2929. * Fixes:
  2930. * Fixed issues on 'Vertex to Fragment' node
  2931. * Fixed issue on loading an ASE shader with its window already opened but tabbed and not visible during play mode
  2932. * Fixed multiple issues with 'Grab Screen Position' node usage on Vertex function
  2933. * Fixed issue with Forward Shadows not being correctly written when Custom Shadow Caster was active
  2934. * Fixed issues with Blend nodes usage on Vertex function
  2935. * Fixed issues with 'Dithering' node usage on vertex function and when Tessellation is active
  2936. * Fixed issues with 'Screen Depth' node usage on vertex function and when Tessellation is active
  2937. * Dithering sample now works while Tessellation is active
  2938. v0.7.1 dev 01:
  2939. * New Features:
  2940. * Alt + Node Drag to Auto-(dis)connect node on existing wire connection
  2941. * Improvements:
  2942. * Added new Tex Input Port into 'Texel Size' node
  2943. * Optimized nodes list usage on palettes (API)
  2944. * Improved retro-compatibility handling with adding new ports on already existing nodes (API)
  2945. * Fixes:
  2946. * Fixed issue on horizontal scroll bar not appearing on Helper Window
  2947. v0.7.0 dev 03:
  2948. * New Features:
  2949. * Added 'Face' node
  2950. * Added 'Switch by Face' node
  2951. * Fixes:
  2952. * Fixed issue on not setting shader version on graph when creating a new empty one which lead to copy/paste issues
  2953. * Fixed wrong port type assignment and incorrect conditional operator usage on community 'Compare ...' nodes
  2954. * Fixed issue with creating a material from a shader already with properties in Unity 5.6
  2955. * Fixed multiple UI issues on Retina MacBook
  2956. * New Samples:
  2957. * Highlight Animated by The Four Headed Cat
  2958. * 2 Sided by The Four Headed Cat
  2959. * Two Sided with Face
  2960. v0.7.0 dev 02:
  2961. * Improvements:
  2962. * Improved Float to Vector auto-cast
  2963. * Double-clicking on a 'Get Local Var' node focus on its referenced 'Register Local Var' node
  2964. * Fixes:
  2965. * Fixed issue with keyboard shortcuts on Mac
  2966. * Fixed renaming issues with 'Triplanar Sampler' node
  2967. * Fixed issue on property nodes UI not refreshing on Undo
  2968. * Fixed issues on 'Fresnel' and 'Vertex Normal' related with normal generation
  2969. * Fixed typos on POM
  2970. * Fixed issue with Wire node deletion
  2971. * Fixed auto-change port types issues on all Compare nodes
  2972. v0.7.0 dev 01:
  2973. * Improvements:
  2974. * Greatly improved Undo
  2975. * Colored Port Mode behaves as a normal toggle and doesn't require double tap on W key
  2976. * New Samples:
  2977. * Hologram by The Four Headed Cat
  2978. * Fixes:
  2979. * Fixed issue on deleting nodes with Wire nodes on their connections
  2980. v0.6.1 dev 05:
  2981. * Fixes:
  2982. * Fixed issue with custom Shadow Caster on Vulkan
  2983. v0.6.1 dev 04:
  2984. * Improvement:
  2985. * Renaming 'Texture Sampler' Type property Instance to Reference and prevent confusion with GPU Instanced properties
  2986. * Fixes:
  2987. * Fixed issue on unnecessary saves on Live mode
  2988. * Also increased Inactivity time from 0.5s to 1s
  2989. * Fixed issues on some node interactions not being detected by live mode ( and thus not being flagged to save )
  2990. * Fixed issue on 'Rotator' node not correctly generating local values according to vertex/frag
  2991. * Fixed issue on 'Texture Coordinates' node when defining its Inputs with Tessellation active
  2992. * Fixed issue with custom Shadow Caster on Metal IOs
  2993. * Fixed small typo on Tessellation Shader Model warning message
  2994. v0.6.1 dev 03:
  2995. * New Features:
  2996. * Adding Fallback shader picker on Master Node
  2997. * Adding Shader LOD value modifier on Master Node
  2998. * Improvements:
  2999. * Node property title changes according to selected node
  3000. * Added Multi-Line mode to wires ( Ctrl + W )
  3001. * Added ability to change 'Triplanar Sampler' node name
  3002. * Improved wire connections rendering while zoomed
  3003. * Tweaked live mode to save only when user is inactive for 0.5s
  3004. * Fixes:
  3005. * Small node resizing issues fixed
  3006. * Fixed issues on Live mode not catching node connections and creation correctly
  3007. v0.6.1 dev 02:
  3008. * New Features:
  3009. * Added 'Triplanar Sampler' node
  3010. * Added Vertex Output ( can now change from Relative/Local Vertex Offset to Absolute/Local Vertex Position )
  3011. * Added Smear Sample
  3012. * Added Unlit Light Model
  3013. * Added simpler 'Time' node
  3014. * Added 'Depth Fade' node
  3015. * Added 'Camera Depth' Fade node
  3016. * Improvements:
  3017. * Adding node info into Helper Window
  3018. * Adding drag and drag valid unity assets list to helper window
  3019. * 'Screen Position' and 'Grab Screen Position' now have a Output dropdown on its properties instead of a Toggle
  3020. * Improved GPU instancing example by adding a C# illustrating how to set instanced properties
  3021. * Fixes:
  3022. * Fixed issue on preview materials not being initialized after returning from play mode
  3023. * Fixed issue on local variables reset
  3024. * Fixed issue with tangent and bitangent previews
  3025. * Fixed billboard issue with non-uniform scaling
  3026. * Fixed issue on Tex ports counting as having valid internal data on Node Properties UI
  3027. * Fixed issue on using 'Texture Sampler' or 'Screen Color instances on Master Node Debug port
  3028. v0.6.1 dev 01:
  3029. * Improvements:
  3030. * Activating internal data into 'Object To World' and 'World To Object' nodes and setting it to (0,0,0,1) by default
  3031. * 'Texture Array' nodes can be created by dragging a Texture 2D Array object into ASE canvas
  3032. * Fixes:
  3033. * Fixed issue on 'Texture Array' node when connecting it to Vertex Ports
  3034. * Fixed issue on 'Vertex TexCoord' not generating correct source according to their properties
  3035. * Fixed issues on MourEnvironment, SandPOM and WaterSample shaders
  3036. v0.6.0 dev 01:
  3037. * Improvements:
  3038. * Added Texture Coordinate Coord Size parameter for 'Vertex TexCoord' node
  3039. * Fixes:
  3040. * Fixed issue when doing custom shadow caster with translucency on deferred mode
  3041. * Fix for texture coordinates zeroing out Z and W
  3042. * Fixed issue with input port internal name not being set correctly
  3043. * Fixed issue with custom shader inspector on unity 5.6
  3044. * Fixed shadows issue on Matcap example
  3045. * Fixed 'Virtual Texture Object' sampling the correct UVs when not connected
  3046. v0.5.1 dev 012:
  3047. * Fixed issue with LightColor node not generating the proper values
  3048. * Fixed issue when doing custom shadow caster with translucency on deferred mode
  3049. * Made the code generation compiler friendly because of unity 5.5 and up changes
  3050. v0.5.1 dev 011:
  3051. * Adding new Billboard option into Master Node
  3052. * Control key can be also used to append nodes to selection
  3053. * Fixed issue with not updating material inspector in real time ( because out of focus ) when changing properties on canvas
  3054. * Fixed cast issues on object picker with 'Texture Sample' and 'Texture Object' nodes
  3055. * Added Mask buttons on Previews
  3056. * Improved overall editor performance
  3057. v0.5.1 dev 010:
  3058. * Added 'Desaturate' node
  3059. * Fixed small visual issue with Color Mask UI
  3060. * Improved overall UI performance
  3061. v0.5.1 dev 009:
  3062. * Linking both Up/Down keys and right mouse dragging to scroll behavior into menus
  3063. * Canvas zoom can be changed by right mouse dragging while pressing Alt key
  3064. * Fixing multiple issues with 'Swizzle' node
  3065. * Heavily optimized drawing the node lines
  3066. * Fixed issue with loading default shaders to ports
  3067. v0.5.1 dev 008:
  3068. * Fixed issues when using line feed on 'Custom Expression' node code area
  3069. * Fixed wires and previews displaying on top of the title bar
  3070. * Fixed order issues on 'Commentary' node
  3071. * Fixed issue with BurnEffect sample
  3072. * Majorly improved Previews update speed
  3073. * Added LOD levels to previews ( sampler and texture arrays )
  3074. * Added many more node previews
  3075. * Updated TriplanarProjection and ParallaxMappingIterations samples
  3076. * Optimization on drawing wires
  3077. * 'World Normal', 'World Reflection' and 'Fresnel' input ports now modify their previews
  3078. * Improved Nodes Graph internal ordering to correctly create connections on shader load
  3079. v0.5.1 dev 007:
  3080. * Fixed issues with 'Texture Coordinates' node usage with Tessellation
  3081. * Fixed swizzling issues on 'View Dir' node
  3082. v0.5.1 dev 006:
  3083. * Added new Helper Window accessible via the right most button on the graph window
  3084. * (De)Activating Tessellation and Outlines forces shader to save
  3085. * Expanded the amount of nodes with available preview
  3086. * Added fail safe to continue loading shader if in-existing community nodes are detected
  3087. * Added Normal Map unpacking to 'Texture Array' node and updated its sample
  3088. * Fixed issues on Debug Port usage
  3089. * Fixed issues on 'Flipbook UV Animation' when property nodes are connected to rows and column input ports
  3090. * Fixed issues on Not configuring 'Texture Array' node ports after read
  3091. * Fixed issues on Major fix on register/get local var mechanics
  3092. * Fixed issues on Adding a space on the node palette search when opening it via space bar
  3093. * Fixed issue on ignoring color masks setup on certain situations
  3094. * Forcing default values on input port internal data if an exception is caught
  3095. v0.5.1 dev 005:
  3096. * Added new Curvature Parameter for 'Parallax Occlusion Mapping' Node
  3097. * Added 'World To Object' node
  3098. * Added 'Object To World' node
  3099. * Fixed issue on 'World Normal' node
  3100. * Fixed issue on 'World Tangent' node
  3101. * Fixed issue on 'World Bitangent' node
  3102. * Fixed issue on 'World Reflection' node
  3103. * Fixed issue on 'Register Local Var' node
  3104. * Fixed issue with Tessellation used with Custom Shadow Caster
  3105. * Fixed issue with Mip Level not being used with 'Texture Sampler' nodes on Vertex Ports
  3106. * Fixed issues with Master Node Debug port usage
  3107. v0.5.0 dev 005:
  3108. * Applied overall UI changes from Master Node into all other nodes
  3109. * Added Node Previews
  3110. * Added new Frame Title parameter on 'Commentary' nodes
  3111. * Auto focus on new Frame Title textfield when node is created
  3112. * Added new Soap Bubble sample using both Reflection and Refraction
  3113. * Fixed issue with 'Custom Expression' node
  3114. * Fixed issues on 'Scale' node
  3115. * Fixed issues on 'Panner' node
  3116. * Fixed issues on 'View Dir' node
  3117. * Fixed issues on 'Substance Sample' node
  3118. * Fixed Repaint issues on ASE custom material editor
  3119. * Fixed issue with texture defaults not being correctly written on shader meta
  3120. * Fixed issue on reading alpha:fade option from older versions
  3121. * Tweaked 'Component Mask' node
  3122. * Tweaked 'Pi' node
  3123. * Improved 'Substance Sample' node previewer
  3124. * Refraction to now have Specularity into account
  3125. * Removed warnings on importing ASE to Unity v5.6.0
  3126. v0.5.0 dev 004:
  3127. * Added new Outline option on Master Node properties
  3128. * Tweaked Tessellation material update
  3129. v0.5.0 dev 003:
  3130. * Fixed issue with Live Mode load/save state
  3131. * Fixed repaint issue with picking ports
  3132. * Tweaked 'Substance Sample' node preview
  3133. * Adding Toggle Attribute to 'Switch Toggle' node
  3134. v0.5.0 dev 002:
  3135. * 'Texture Coordinate' now support float3 or float4 output types
  3136. * Changed Colored ports saving mechanism
  3137. * Tweaked how ports are saved/loaded via shader meta to easily modify existing nodes port amount without breaking older versions (API)
  3138. * Tweaked Simple Noise example
  3139. * Tweaked Read Atlas examples
  3140. * Tweaked Translucency example
  3141. * Minor tweak on 'Texture Sample' node
  3142. * Fixed issue with local variable declaration on Master Node Debug port
  3143. * Fixed issue with Screen Space Curvature example
  3144. * Fixed issue with reading fade parameter on master node
  3145. * Fixed issue with Transparency shader
  3146. v0.5.0 dev 001:
  3147. * Fixed issues with 'Texture Array' node
  3148. * Fixed issues with 'Texture Coordinates' node
  3149. * Fixed issues with Tessellation example on MacOs
  3150. * Fixed issues on multiple examples with Unity beta version 6 and above
  3151. * Added new 'Substance Sample' Node
  3152. * Added example using the new 'Substance Sample' node located at Examples/Official/Substance
  3153. * Added Attributes to Property Nodes
  3154. * Added Conditional 'If' Node with Dynamic Branching option
  3155. * Tweaked 'Flipbook UV Animation' node
  3156. v0.4.1 dev 002:
  3157. * Fixed issue 'Flipbook UV Animation' node not resetting properly and added a start frame parameter
  3158. v0.4.1 dev 001:
  3159. * Fixed issue with Texture Array sample
  3160. v0.4.0 dev 003:
  3161. * Default Alpha mode set to Transparent and not Alpha Pre-Multiply
  3162. * Minor tweak on node sorting on palette windows
  3163. * Minor tweak on Master Node Property UI
  3164. * Added new Rendering Options foldout on Master Node properties
  3165. * Added check to prevent division by zero warning with 'Grab Screen Position' and 'Screen Position' nodes
  3166. v0.4.0 dev 002:
  3167. * Forcing LF on all shaders to prevent CRLF mixed with LF when upgrading them
  3168. * Fixed issues with custom shader inspector
  3169. v0.4.0 dev 001:
  3170. * Minor fix on 'Grab Screen Position' node
  3171. * Added new Refraction port into Master Node. Only works correctly with Unity 5.5.1 p1 and above due to an internal unity issue
  3172. * Added new Refraction Example ( AmplifyShaderEditor/Official/ObjectNormalRefraction )
  3173. * Added new Vertex Normal port into Master Node
  3174. * Small update to Material and Shader mode borders
  3175. * Parameter types can now be changed from node itself on property nodes via dropdown on its upper left corner
  3176. * Various fixes from the way the Blend Mode works to take new translucent option into account
  3177. * Fixed issue with connections from cache when changing Light Mode on Master Node not respecting port availability
  3178. * Changed Refracted Shadow demo blend mode
  3179. * Fixed Vertex Offset issue with custom shadow caster
  3180. * Small fix to auto change blend mode on rendertype and render queue changes
  3181. * Fixed some samples with wrong version or wrong connections
  3182. * Fixed UI problems in Unity Personal skin
  3183. v0.3.2 dev 003:
  3184. * Fixed issue with 'Multiply' node
  3185. * Fixed issue with 'Divide' node
  3186. * Fixed issue with 'Texture Sample' node
  3187. * Fixed issue with 'Dot' node
  3188. * Tweaked 'Fresnel' node to use Unity's interpolators and made the default values match Schlick Fresnel
  3189. * Tweaked 'World Normal' node to prevent multiple normals generation
  3190. * Added 'Texture Array' node
  3191. * Added 'Linear to Gamma' and 'Gamma to Linear' nodes
  3192. * Majorly revamped the UI for the master nodes options
  3193. * Revamped Blend Modes and added additional options
  3194. * Added pos-load test on nodes invalid connections to prevent issues with older ASE versions
  3195. v0.3.2 dev 001:
  3196. * Added custom shadow caster
  3197. * Small fix to both emission and alpha on Fade mode
  3198. * Fixed minor issues on reading shaders from older versions( < v0.2.0 dev 002 )
  3199. * Fixed issues on 'Custom Expression' node
  3200. * Fixed issues with 'Grab Screen Position' node
  3201. * Property nodes with Parameter Type set to Global doesn't force _ on the parameter internal name
  3202. v0.3.1 dev 009:
  3203. * Fixed 'Grab Screen Color' node issues
  3204. * Minor tweaks on Context menu
  3205. * Tweaked 'Screen Position' and 'Grab Screen Position' behavior
  3206. * Added switching of input ports connections by holding the CTRL key
  3207. * Added removing of input ports connections by double clicking with the left mouse button on them
  3208. * Forcing Shader Model to at least 4.6 if Tessellation is active
  3209. v0.3.1 dev 008:
  3210. * Small fix to 'Virtual Texture Object' node
  3211. * Fixed issues on 'Texture Sample' node
  3212. * Fixed issue on not correctly unregistering nodes from 'Commentary' nodes when they were deleted
  3213. * Fixed issue when reading old shaders created with v0.2.4 dev 004
  3214. * Fixed issue with 'Texture Coordinates' node when using Tessellation
  3215. * Fixed issues and tweaked overall normals generation
  3216. * Fixed issue on 'Vector From Matrix' node
  3217. * Fixed issue on ASE canvas camera incorrectly panning when hitting a tooltip with Middle/Right Mouse Button
  3218. * Fixed connection errors with 'Vector From Matrix' node
  3219. * Fixed issue with 'Vertex To Fragment' node
  3220. * Deprecated 'Local Position' node
  3221. * Added 'Grab Screen Position' node
  3222. * Tweaks on nodes and ports names to maintain overall consistency
  3223. * Added new Scale and Offset option on 'Screen Position' node
  3224. * 'Register Local Var' node now also has system to prevent duplicate names
  3225. v0.3.1 dev 007:
  3226. * Added auto-order option into 'Register Local Var' node
  3227. * Added new 'Improved Read From Atlas Tiled' example
  3228. * Added 'Simplified Fmod' node
  3229. v0.3.1 dev 006:
  3230. * Fixed control argument exception when deleting connection with Alt key on selected node
  3231. * Fixed issue with 'Switch Toggle' node
  3232. v0.3.1 dev 005
  3233. * Side menus are now resizable
  3234. * Tweaked 'Weighted Blend' node
  3235. * Added 'Summed Blend' node
  3236. * Added 'Toggle Switch' node
  3237. * Added new 'Scale and Offset' node
  3238. * Fixed issues on 'Vertex Binormal World' and '[VS]Vertex Tangent' nodes
  3239. * Fixed issues with 'Texture Sample' nodes created via dragging a texture to ASE
  3240. * Fixed issue with 'Scale' node
  3241. * Fixed issues on incorrectly reading 'Receive Shadows' parameter from ASE shader previous to v0.2.5
  3242. v0.3.1 dev 004
  3243. * Fixed issues with accessing 'Texture Coordinates' node when tessellation is active
  3244. v0.3.1 dev 003
  3245. * Fixed yet another issue with accessing 'Texture Coordinates' node on vertex function
  3246. * Reverted shader update mechanism after save to previous old one until issue reported by Seith is fixed
  3247. v0.3.1 dev 002
  3248. * Fixed issues with accessing 'Texture Coordinates' node on vertex function
  3249. v0.3.1 dev 001
  3250. * Improved overall editor UI
  3251. * Improved Live Mode
  3252. * Nodes can generate shader comments ( API )
  3253. * Each port can now have multiple restrictions ( API )
  3254. * 'Texture Object' can now only be connected to 'Texture Sample' nodes
  3255. * Added 'Switch' toggle node
  3256. v0.3.0 dev 005
  3257. * Auto adding AMPLIFY_SHADER_EDITOR symbol on current target group when initializing ASE ( API - to be used on external community nodes )
  3258. * Added keyboard shortcut [F5] to force available nodes refresh ( API )
  3259. v0.3.0 dev 004
  3260. * Fixed yet another issue with local variables generation
  3261. v0.3.0 dev 003
  3262. * Fixed crash from infinite loop generated on port 'Tex' at 'Texture Sample' node
  3263. * Fixed cast issue when using internal port data on some nodes
  3264. * Fixed issues with local variables generation
  3265. * Tweaked Vertex Displacement port on Master Node
  3266. * Added ability to specify range of valid data types for input ports ( API )
  3267. * Locked 'Tex' port from 'Texture Sample' node to only allow connections to 'Texture Object' nodes
  3268. v0.3.0 dev 002
  3269. * Updated POM to clip edges using a tilling parameter
  3270. * Updated the sand POM example and its height texture
  3271. * Updated Water sample
  3272. * 'Vertex NormalWorld', 'World Position' and 'View Dir' nodes now also output into vertex offset correctly
  3273. * All editor resources are loaded via their own guid
  3274. * Added Tessellation port into master node to be able to create custom Tessellation behaviors
  3275. * Tessellation parameters ( excluding Phong ) on Master Node Properties will be deactivated if its port is being used
  3276. * Created Nodes for each of the builtin Tessellation functions
  3277. * Distance-base Tessellation
  3278. * Edge Length Tessellation
  3279. * Edge Length Tessellation with Cull
  3280. * Fixed issues with not creating local variable correctly if graph is shared between vertex and frag ports
  3281. * Fixed issue with local variables created on automatic casting not taking port category into account
  3282. * Fixed node width issue regarding its header title size
  3283. v0.3.0 dev 001
  3284. * Fixed issue on where deprecated nodes needed to be available to be replaced by their replacement type
  3285. * Fixed issues on all conditional nodes
  3286. * Fixed issue on local variable creations on vertex shader
  3287. * Fixed issue on 'Commentary' node
  3288. * Amplify Texture dependency is dynamically set through asset guid
  3289. * Texture Sampler will quietly ignore virtual object if AT is not found in project and will not generate a broken shader
  3290. * Deprecated nodes are automatically excluded from the palette
  3291. * Updated version in all samples
  3292. * Optimized 'Multiply' and 'Divide' nodes
  3293. * Added Edge Length based tessellation
  3294. * Added Fixed Amount based tessellation
  3295. v0.2.6 dev 001
  3296. * Fixed issue on 'Virtual Texture Object' node
  3297. * Fixed issue on 'If' node
  3298. * Fixed issues in 'Parallax Occlusion Mapping' node
  3299. * Fixed issues on 'Texture Sampler' node
  3300. * Fixed issue for translucency on point lights
  3301. * Fixed issues on 'Texture Coordinates' node
  3302. * Fixed issue on not correctly syncing ASE when when hitting paste button on our custom inspector
  3303. * Avoiding null pointer exception when compiling a 'Texel Size' node without references
  3304. * Re-Organized ASE folder system and added initial pop-up window to clean old/deprecated data
  3305. * Tweaked Default/Material values UI on Property nodes
  3306. * Node Properties window can now be show by double clicking a node
  3307. * Renamed Uniform parameter type to Global
  3308. * Added Distance-Based tessellation. Can be activated/configured on Master Node properties
  3309. * Added Tessellation sample
  3310. * Added emission baking support. Queue must be set to "Geometry" to work properly
  3311. * Added Tiled Atlas sample
  3312. * Added scenes for each sample
  3313. * Added tool tips for Master Node properties
  3314. v0.2.5 dev 004
  3315. * Added Parallax Occlusion Mapping node (uses linear search with customizable samples in conjuntion with interval mapping for refinement of sidewalls)
  3316. * Added simple snapping behavior when moving nodes (left-control)
  3317. * Fixed background grid image sliding when zooming
  3318. * Fixed issue with 'Texcoord Vertex Data' on writing
  3319. * Fixed issues with default values of 'Virtual Texture Object'
  3320. * Fixed issues when drawing 'Matrix3x3' and 'Matrix4x4' nodes
  3321. * Fixed compilation error when creating builds
  3322. v0.2.5 dev 003
  3323. * Fixed issues on 'Texture Coordinate' node
  3324. * Fixed issues with 'Texture Sample' node not reading the correct values from older shaders versions
  3325. * Fixed issues with instanced texture samples
  3326. * Fixed issues with 'Texel Size' node
  3327. * Fixed issues with adding new categories on community created nodes
  3328. * Custom category colors can now also be set up via NodeAttributes(...)
  3329. * Created simpler method ( GeneratePortInstructions(...) ) to generate input instructions. Handy for community members which are creating new custom nodes
  3330. * Fixed issue with propagating incorrect port types on master node when loading shader from older versions
  3331. * Fixed issues with parallax example
  3332. * Alpha channel/Opacity port is forced to 1 if Keep Alpha is set to true and port is not connected to prevent UI issues
  3333. * Added index property in '[VS] Vertex TexCoord' node and marked '[VS] Vertex TexCoord1' node as deprecated
  3334. * Tweaked collision area on minimize/maximize buttons on lateral windows
  3335. * Small optimization on 'Custom Expression' node
  3336. * Added support for virtual texturing via Amplify Texture
  3337. * Community Node additions
  3338. * Jason Booth
  3339. * Added 'Vertex To Fragment' node
  3340. v0.2.5 dev 002
  3341. * Added 'Texture Object' node
  3342. * Tweaked 'Texture Sample' node behavior to use the new 'Texture Object' node
  3343. * Added Stencil Buffer support
  3344. * Added Depth foldout with access to ZWrite, ZTest and Offset configuration
  3345. * Added AMPLIFY_SHADER_EDITOR preprocessor directive
  3346. * Fixed issue on not resetting instance variables counter on reset/load
  3347. * Overall fixes on node UI and its adaptation when zooming out
  3348. v0.2.5 dev 001
  3349. * Added Color Mask option on Master Node
  3350. * Added access to additional UV sets on "Texture Sample" and "Texture Coordinates" nodes
  3351. * Fixed issue when attempting to connect a wire to a locked port
  3352. * Fixed issue with incorrectly adding '#pragma multi_compile_instancing' on non instanced property shaders
  3353. * Minor tweak on palette foldout behavior
  3354. v0.2.4 dev 007
  3355. * Fixed issue on wrong auto-snapping wires with invisible, locked ports
  3356. * Fixed issue with version control on Master Node
  3357. * Added Transmission input port on Master Node
  3358. * Added 'Mip Mode' in 'Texture Sample' node
  3359. * Property names can now be changed directly on node by double clicking on it
  3360. * Properties can be reordered through drag and drop operations on the Master Node properties via the Available Properties foldout area
  3361. * Min/Max values on 'Ranged Float' nodes can be modified directly on canvas
  3362. v0.2.4 dev 006 ( for internal reasons we had to skip dev 005 )
  3363. * Fixes issues on 'Panner' node
  3364. * Fixed issues with not correctly generating local variables according to port category
  3365. * Tweaked behavior and fixed issues on the 'Texture Coordinate' node
  3366. * Fixed issues on 'Texel Size' node
  3367. * Fixed issues on 'Local Vertex Pos' node
  3368. * Fixed issues with Burn Effect Sample
  3369. * Removed positive number restriction from Master Node 'Queue Index' property
  3370. * Custom Material Inspector can be selected/changed on Master Node
  3371. * Done through the Custom Editor property
  3372. * You can always reset to our own by hitting the Reset button next to hit
  3373. * Updated Rim Light Sample to use the new Space option on the 'View Dir' node
  3374. * Updated Parallax Sample to use the new Space option on the 'View Dir' node
  3375. * Added 'Translucency' input port into Master Node
  3376. * Added 'Dithering' node
  3377. * Added Matcap Sample
  3378. * Added Dithering Sample
  3379. * Added Rendering Platforms selector on Master node
  3380. * Added Water Sample on a small terrain in the Sample Scene
  3381. v0.2.4 dev 004
  3382. * Fixed issues with wire shader
  3383. * Fixed issues with 'Texture Coordinates' node
  3384. * Removed warnings occurring on Unity v5.5
  3385. * Fixed issue with 'Append' Node
  3386. * Fixed issue with ASE Custom Material Inspector
  3387. * Tweaked 'Local Vertex Pos' node to output differently if generating code for vertex or fragment ports
  3388. v0.2.4 dev 003
  3389. * Added Texture Reference dropdown to 'Texture Coordinates' node
  3390. * Added Render Path dropdown in Master Node
  3391. * Tweaked 'View Dir' node so you're able to choose between getting the result in tangent or world space
  3392. * Tweaked 'World Space Light Dir' to no longer use internal input port data when nothing is connected, instead worldPos is automaticaly fed into it
  3393. * Added Unity version check for wires shader and fix compatibility issues
  3394. * Added Normalize toggle into 'Screen Position' node
  3395. * Community Node additions
  3396. * Tobias Pott
  3397. * Added 'Swizzle' node
  3398. v0.2.4 dev 002
  3399. * Added 'Layered Blend' node
  3400. * Added 'Weighted Blend' node
  3401. * Added 'Texel Size' node
  3402. * Merged '[VS] Vertex Color' and 'Vertex Color' nodes in order to avoid further confusions and marked the first one as deprecated
  3403. * Node internally changes its output if it's writing to a vertex or fragment port
  3404. * Added 'Surface Depth' node
  3405. * Added 'Screen Depth' node
  3406. * Fixed issue with property nodes uniform variables not taking selected precision into account
  3407. v0.2.4 dev 001
  3408. * Added 'Parallax Mapping' node
  3409. * Added 'Negate' node
  3410. * Added Fake Window user sample
  3411. * Added Parallax Mapping example with 4 iterations using the basic Parallax Mapping node
  3412. v0.2.3 dev 002
  3413. * Added 'Custom Expression' node
  3414. * Precision used is now the least between the one selected in the node and main one selected on the master node
  3415. * 'Register Local Var' and 'Get Local Var' nodes can now be used on Master Node Vertex ports
  3416. * Improved wires visuals
  3417. * Fixed issue with local variables generation
  3418. * Fixed issue with switching port internal data from float to int
  3419. * Fixed cast issue with 'Remap' node
  3420. * Added all the supported shader models into the Master Node dropdown
  3421. * When creating a shader the default selected is now 2.5 to match Unity default
  3422. * Community Node additions
  3423. * The Four Headed Cat
  3424. * Added 'Grayscale' node
  3425. v0.2.3 dev 001
  3426. * New control points can be added to wires to better manipulate its shape
  3427. * Double click a wire to create an additional control point
  3428. * Control points are selected, moved and deleted similar to regular nodes
  3429. * Fixed issue with box selection being active when dragging nodes with the 'Shift' key held down
  3430. * Fixed issues with wire resources not being correctly released when ASE is shut down
  3431. * Fixed issues with 'Pixel Normal World' and 'Vertex Normal World' nodes
  3432. * Fixed issue with 'Multiply' node on Matrix/Vector multiplications
  3433. * Fixed issue with 'Break To Components' node
  3434. * Fixed issue with 'Component Mask' node
  3435. * Fixed issue with wrong type propagation when replacing node connections
  3436. * Fixed issue with instance references being lost on 'Texture Sample' and 'Screen Color' nodes
  3437. * Tweaked 'Object to World' and 'World to Object' nodes to be more compile friendly
  3438. * Added 'Model' matrix node
  3439. * Added 'Relay' node
  3440. * Added 'TriplanarObjectSpace' sample to Samples folder
  3441. * Added precision selector for variables ( known issue: precision info is not being taken into account when auto local vars are created )
  3442. * Community Node additions
  3443. * The Four Headed Cat
  3444. * Added 'Tau' node
  3445. * Rea
  3446. * Added 'Height Map Blend' node
  3447. v0.2.2 dev 001
  3448. * Fixed issue with 'Mask Clip Value' not being correctly synced between material and shader
  3449. * 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
  3450. * Hold 'P' key to enable debug mode and release it to disable it
  3451. * Double hit 'P' key to toggle debug mode on. Double hit 'P' key again to disable it.
  3452. * Added 'Matrix From Vectors' node
  3453. * Fixed issue with 'Vertex Binormal World' node
  3454. * Added 'Shader Model' dropdown on Master Node properties
  3455. * Community Node additions
  3456. * The Four Headed Cat
  3457. * Fixed issues with 'Logical Operator' nodes
  3458. v0.2.1 dev 001
  3459. * Fixed multiple issues importing current version on top of v0.1.0 dev 001
  3460. v0.2.0 dev 003
  3461. * Mask Clip Value when used is registered as a Material Property
  3462. v0.2.0 dev 002
  3463. * Improved duplicate code detection system
  3464. * Slight improvement on save/update times ( important for Live Mode )
  3465. * Fixed issue with 'Texture Sample' node incorrectly outputting a float4 when no texture assigned and on Normal mode
  3466. * Fixed issue on not opening the correct shader from a material inspector if a new one is selected from its dropdown
  3467. * Fixed issue with 'Length' node incorrectly changing its output type
  3468. * Community Node additions
  3469. * The Four Headed Cat
  3470. * Flipbook UV Animation
  3471. v0.2.0 dev 001
  3472. * Fixed issues with 'Get Local Var' node
  3473. * Output port type is now correctly set to its reference type
  3474. * Changed how references are saved so it won't be affected by order index re-ordering
  3475. * Fixed issue with 'Power' node
  3476. * Fixed issue with 'ATan2' node
  3477. * Fixed issue with 'Cross' node
  3478. * Community Node additions
  3479. * The Four Headed Cat
  3480. * Logical If
  3481. * Pixelate
  3482. * Community Samples additions
  3483. * The Four Headed Cat
  3484. * DissolveBurn
  3485. * Mourelas Konstantinos
  3486. * EnvironmentGradient
  3487. v0.1.5 dev 001
  3488. * Community Node additions
  3489. * The Four Headed Cat ( moved to a separate 'Logical Operators' category )
  3490. * Compare With Range
  3491. * Compare Not Equal
  3492. * Compare Lower Equal
  3493. * Compare Greater Equal
  3494. * Compare Lower
  3495. * Compare Greater
  3496. * Kebrus
  3497. * Vertex Tangent World
  3498. * Vertex Binormal World
  3499. * 'Register Local Var' node changes:
  3500. * Is now independent from Master Node execution order and generates activation signals
  3501. * Will always be executed even if not connected to Master Node
  3502. * Fixed issue updating name string array when loading from file
  3503. * Added order index to control their declaration order( lesser index declared first )
  3504. * Fixed issue on port type change not propagating in certain nodes
  3505. * Hitting Escape key will disable context palette menu if active
  3506. * Fixed issue where right mouse clicking on certain port areas would delete their wire connection
  3507. * Minor improvement on nodes performance
  3508. v0.1.4 dev 002
  3509. * Dynamic type nodes now also reacting to input port disconnections
  3510. * Updated TFHCRemap node from benderete
  3511. 0.1.4 dev 001
  3512. * Fixed issue with order index not being correctly read/written
  3513. * Redone Refraction Shader according to rea suggestion
  3514. * Register Local Var node now has a title style similar to Property Nodes with the local var name always visible
  3515. * Added Get Local Var Node. It allows the user to use already registered local vars anywhere in the graph
  3516. * Added Custom Node Remap ("TFHC - Remap") created by user benderete
  3517. * Fixed issue on Texture Sample UV port not correctly casting to float2 when needed
  3518. * Fixed issue with Texture Sample node not adapting layout when reference is in normal mode
  3519. v0.1.3 dev 003
  3520. * 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
  3521. * Added Screen Color Texture Reference feature
  3522. * Created Simple Refraction example ( Samples/SimpleRefraction )
  3523. * Fixed issues with sampler instance resizing
  3524. * Fixed issue with Fresnel node incident vector
  3525. * Fixed issue with attempting connection removal on inexistent nodes ( bug affecting Append node )
  3526. * Fixed issue with overwriting render type and queue values with Blend Mode default values on read from file
  3527. v0.1.3 dev 002
  3528. * Fixed multiple issues with deleting a Texture Sample node being referenced by other nodes
  3529. * Tweaked Texture Sample reference UI
  3530. v0.1.3 dev 001
  3531. * Fixed issue when releasing mouse drag on menu areas not resetting auto*pan
  3532. * Tweaked Shader Instancing UI
  3533. * Fixed issue with material inspector crashing when updating a property with ASE window turned off
  3534. * Fixed issue with custom UI skins not being correctly initialized under some conditions
  3535. * Added Texture Reference feature
  3536. * Added 'Simple Blur' example to demonstrate how Texture referencing works
  3537. * Added small 'Made with Amplify Shader Editor' info as comment on generated shaders
  3538. v0.1.2 dev 003
  3539. * Fixed issues with opening materials via inspector with no ASE window initialized
  3540. v0.1.2 dev 002
  3541. * Added GPU Instancing ( see Samples/SimpleGPUInstancing example )
  3542. * Added Screen Color node
  3543. * Fixed issue on version testing
  3544. * Tweaked Master Node icon
  3545. * Added additional icon into top-left master node node indicating if gpu instancing is being used or not
  3546. v0.1.2 dev 001
  3547. * Fixed typo on Texture Coordinate node
  3548. * Added explicit control on Render Type and Queue. They will be automatically set when a Blend Mode is selected.
  3549. * Added Fresnel node
  3550. * Fixed Trigonometry typo
  3551. * Improved local var generation on op nodes
  3552. * Added FWidth node
  3553. * Fixed issue with not immediately updating shader when hitting the Live Shader Mode button
  3554. v0.1.1 dev 001
  3555. * Community Contribution from kebrus: Added Rotator node, rotates UV Coordinates/ Vector2 nodes
  3556. * Fixed Vector2 Append Node bug
  3557. * Fixed Int to Float cast issues
  3558. * Added Shader title area on top canvas to forbidden node interaction area
  3559. * Adjusted Auto-Pan behavior
  3560. * Fixed issue with nodes infinite loop detection
  3561. * Tweaked mouse detection inside main canvas
  3562. * Fixed Queue Order typo when building shader
  3563. * Improved notifications when impossible cast is requested
  3564. * Added new VectorFromMatrix which gets a specific row or column from a 3x3 or 4x4 matrix
  3565. * Automatically hiding Order Index on Uniform Property Type nodes
  3566. * Simpler Searchable Node List also being called by hitting the space bar if focus is on main node canvas