Table of Contents

🔳 CosterGraphics.Systems.OutlineSystem


📝Changelog


v1.3.0

🔳Outline System Pro Version 1.3.0 Update - We're All 🎉Partycles After All

⚠️ Warning: Original Unity Editor Version of Outline System Pro 📦Package Updated❗
Up until this version the Outline System Unity Editor version used for development was 6000.2.8 but has now been updated to 6000.3.20f1 LTS.
The plan for the system is to try to stay at least a couple of versions behind on the lates Unity Editor releases, to make the system more compatible with older Unity Editor versions, but the previous Editor version had I quote: "An issue has been identified with this Editor version where packages with valid signatures are incorrectly marked as invalid." so it was recommended by Unity to Update to a newer release and 6000.3.20f1 seemed like a nice round number!
If the Editor version that you're using is older than 6000.3.20f1 LTS then Unity might give you a warning about it on package import but I haven't noticed any changes between updates so I'm hoping that won't cause any problems, feel free to let us know otherwise.

⛓️‍💥 Breaking Change: JFA DF 🔭View-Space 🔳OutlineThickness Units Change❗
The 🔳OutlineThickness of the ⭐Pro 🖼️Composite ⭕Silhouette 🌊JFA UV Distance Field Default shader and the ⭐Pro 🖼️Composite ⭕Silhouette 🌊JFA UV Distance Field Depth Tested shader now use a thickness in centimeters (1/100) instead of full units which makes it a little bit easier to control and it makes the difference on screen between the thickness in Screen-Space which is in (pixel units) and in View-Space smaller, so easier to toggle between the two.
If you're using the shaders in your project then you may have to divide your View-Space OutlineThickness by a hundredth (or multiply it with a hundred).

➕Version 1.3.0 Update Summary:

✨ (🌋Highly Experimental) 🎉Particle System Renderer Support
A lot has changed since the last update of the outline system and since the initial release, so I thought this would be an appropriate time to start with writing blog-post style summaries of the changes made since the last update and of the new features added to the system. Up to now the system only supported the rendering of (masked) outlines and overlays onto regular Mesh Renderers and Skinned Mesh Renderers but with version 1.3.0 comes (experimental) support for Particle System Renderers.

To get the system 'particles ready' a couple of changes had to be made to the 🔳Outline3D 🎭Mask shaders to be able to write the particles into the masks, so the default Color, Depth and Normals etcetera masks all have had some new ⚠️Internal properties and node setups added to them and are all updated to a newer version. Right now the system supports binary ⭕Silhouette outlines, edge detection 🌐Contour edges and 🔲Overlays onto particles rendered with the default URP Lit, Simple Lit and Unlit Particle Shaders and it probably works best when the particle material is set to be Opaque with Alpha Clipping enabled so that there are clear binary edges to the particles, and with Flip-Book Blending enabled for animated texture sheet particles like smoke and clouds etcetera.

To render Depth and Color based outlines onto the particles, the Particle System's material has to have at least a regular Albedo/BaseMap texture applied to it and to render Normals based edges onto them the particle material also has to have a Normals/BumpMap texture.

Tip: You can duplicate any regular color texture in your project and let Unity create a Normal map from it by setting the Texture Type to Normal map and enabling Create From Grayscale in the texture's Import Settings. To get the least noisy results it is best to make the normals very smooth, so with a Bumpiness of ~0.03 and with Filtering > Smooth.

If you want to use the 🟧Object-Space Positions for particles (for instance to use one of the 3DNoise type Overlays with Object-Space noise) then the Particle System has to have the particles Center positions added to the Particle System > Renderer > Custom Vertex Streams which will then pass the individual particles centers to the Outline ObjSpace Position Mask Material shader. (Without passing the particles Centers to the shader, the particles Object-Space will be in the space of the whole Particle System object and not of the individual particles)

A new Particles DemoScene is added to the package that shows of the new feature!

Some changes had to be made to the 🧑‍🎨Outline3DRenderFeatures as well in order to support Particle System Renderers so all the Renderer Features are updated to a new version as well.

🐞👁️ Debug Previewing 🌊JFA UV Distance Field Contours Edge Seeds Masks

To make it easier to control, adjust and fine-tune the Jump Flood Algorithm Distance Field Contour outlines it helps to be able to preview the contour edge shaped Outside JFA UV Seeds Mask from which the final Distance Field contour outlines are generated by the Composite JFA UV Contour shaders, so a 🐞DebugViewSeedsMask property was added to the Composite JFA UV DF Contour shaders, for viewing the masked pixels of the JFA UV Seeds Mask Outside mask shader. Enabling the 🐞DebugViewSeedsMask bool on the Pro-Cmp-Cntr-JFA-UVDistanceField-Default.shadergraph and on the other JFA UV DF Contour shaders will let the shader output/pipe-trough the masked UV Seed pixels directly to the camera, (in binary black on white instead of the red and green UV seed colors), so it will be easier to see the edges from which the Composite DF Contour shaders generate the distance field outlines in the Game and or Scene View.

💠 New Bayer Dither Matrix Size Options and Options for Grayscale or RGBA DitherSources

The 🎦FullScreen 💠Dither ☕Filter and the 🔳Outline3D 🔲Overlay 💠Dither shaders both have a new 💠#DitherMatrix mode Enum property that lets you choose between the default 4x4 Bayer Matrix and new 2x2 and 8x8 size Bayer Matrices. The 2x2 creates a very 'rough' Dither pattern transition with only 4 shades of dither and the 8x8 Bayer Matrix can create a very smooth Dither pattern transition with 64 shades of Dither for very fine control. Optionally the difference between the 4x4 and 8x8 Matrix are minimal, (the pattern stays the same), but you'll find that the 8x8 size is a lot more sensitive to small differences in color or brightness which makes it easier to adjust overall and maybe better to use on non 🪇Posterized images where color transitions are smooth than the 4x4 size matrix.

Both the 🎦FullScreen and 🔲Overlay Dither shaders also have a new 💠⛲DitherSource mode property for choosing between the default RGBA Color Dither as the source or for a new 🩶Grayscale Dither source which converts the RGB Colors into a single Luminosity value first. The Dither Shaders also have a new 💠🪜DitherThresholdAlpha property for separately controlling where the Dithering of the Opacity starts. (To use the effect of this at least one of the two Dither colors needs to be transparent).

📺 New 3DNoise Type

A new type of 🧫Cellular3D 3DNoise is added to the 🎦FullScreen ☕Filter 3DNoise and to the 🔳Outline3D 🔲Overlay 3DNoise shaders. Cellular3D noise is basically the same type of noise as the 2D Voronoi noise type so it creates a dotted type of noise that can have the 'feature points' centered in the cells of a 3D grid or offset from their centers with random angles. Because it is a 3D noise which uses the World- or Object-Space positions to sample the noise, it can create a really cool surface-stable type of Halftone dotted pattern across geometry in the Scene especially when using it in combination with a Posterize filter!

⚫ New Halftone option for diagonal Halftone dot patterns

Both the ⭐Simple 🖼️Composite 🎦FullScreen ☕Filter ⚫Halftone shader and the ⭐Simple 🖼️Composite 🔲Overlay ⚫Halftone shader have a new ⚫🫸HalftoneOddRowOffset property which can be used to offset half of the rows to the left or right which can create diagonal dot patterns instead of a straight grid of dots which can just be a little bit more interesting to look at visually.

New ⭐⭐Basic 🎦FullScreen 🟦Normals Edge and ⬛Depth Edge shaders

Two new ⭐⭐Basic 🖼️Composite 🎦FullScreen 🟦Normals Edge and ⬛Depth Edge shaders are added to the family!

The Normals shader performs 'Basic' edge detection on the Scene's View-Space Normals and the Depth shader on the Scene Depth buffer. Basic because these shaders don't use any Kernel weights like the Advanced edge detection shaders so they're light and fast, but they add another new feature, that will probably be ported over to the other edge detection shaders as well later, on which is a 🌅Min-Max Draw Distance mask that can be used to only draw the Outlines between set start and end distances to exclude for instance the Skybox from being drawn on, or the other way around, to only draw the edges onto the Skybox or further in the distance. Another way that this effect can be used is to for instance draw multiple edges at different start/end distances, to draw extra thick outlines in the front area and thinner in the back, etcetera.

Thats the most of it!
These were the most important changes for this round and highlighted and below is the full list of changes made for the v1.3.0 update. There are still a lot of details that need to be further worked out, but all-in-all the system is starting to look more-and-more as the original vision I had for it when I started its development so that's good! And I must say that I'm having an incredibly fun time making my programmer art with it while working on it so I hope you'll have a fun time using it too!

🍻Cheers and until next time!⌛

Tim-∑

v1.3.0 - "We're All 🎉Partycles After All"

  • Updated 🧑‍🎨🧑‍🎨Outline3DRenderFeatureSimple from v4.0.0 to v5.0.0
  • Added 🎉ParticleSystemRenderer compatibility to the ⬜OutlineColorMaskPass and the 🧱OutlineColorMaskDepthTestedPass.
  • Updated 🧑‍🎨🧑‍🎨Outline3DRenderFeatureBasic from v9.0.0 to v10.0.0
  • Added 🎉ParticleSystemRenderer compatibility to the ⬜OutlineColorMaskPass, the 🧱OutlineColorMaskDepthTestedPass, the ⬛OutlineDepthMaskPass, 🟦OutlineNormalsMaskPass and the 🟩OutlineUVMaskPass.
  • Changed Render Texture format for the 🟩Texture2D_OutlineUVTextureMask from R8G8B8A_UNorm to R16G16B16A16_SFloat for smooth/precise UV coordinates instead of blocky and pixelated.
  • Updated 🧑‍🎨🧑‍🎨🧑‍🎨Outline3DRenderFeatureAdv from v11.0.0 to v12.0.0
  • Added 🎉ParticleSystemRenderer compatibility to the ⬜OutlineColorMaskPass, the 🧱OutlineColorMaskDepthTestedPass, the ⬛OutlineDepthMaskPass, 🟦OutlineNormalsMaskPass, 🟩OutlineUVMaskPass, 🟧OutlineObjSpacePositionMaskPass and the 🪪OutlineObjectIDMaskPass.
  • Changed Render Texture format for the 🟩Texture2D_OutlineUVTextureMask from R8G8B8A_UNorm to R16G16B16A16_SFloat for smooth/precise UV coordinates instead of blocky and pixelated.
  • Updated 🧑‍🎨🧑‍🎨🧑‍🎨🧑‍🎨Outline3DRenderFeaturePro from v16.0.0 to v17.0.0
  • Added 🎉ParticleSystemRenderer compatibility to the ⬜OutlineColorMaskPass, the 🧱OutlineColorMaskDepthTestedPass, the ⬛OutlineDepthMaskPass, 🟦OutlineNormalsMaskPass, 🟩OutlineUVMaskPass, 🟧OutlineObjSpacePositionMaskPass and the 🪪OutlineObjectIDMaskPass.
  • Changed Render Texture format for the 🟩Texture2D_OutlineUVTextureMask from R8G8B8A_UNorm to R16G16B16A16_SFloat for smooth/precise UV coordinates instead of blocky and pixelated.
  • Updated 🧑‍🎨🧑‍🎨🧑‍🎨🧑‍🎨🧑‍🎨Outline3DRenderFeatureHyper from v2.0.0 to v3.0.0
  • Added 🎉ParticleSystemRenderer compatibility to the ⬜OutlineColorMaskPass, the 🧱OutlineColorMaskDepthTestedPass, the ⬛OutlineDepthMaskPass, 🟦OutlineNormalsMaskPass, 🟩OutlineUVMaskPass, 🟧OutlineObjSpacePositionMaskPass and the 🪪OutlineObjectIDMaskPass.
  • Changed Render Texture format for the 🟩Texture2D_OutlineUVTextureMask from R8G8B8A_UNorm to R16G16B16A16_SFloat for smooth/precise UV coordinates instead of blocky and pixelated.
  • Updated ⭐Simple 🎭Mask ⬜Color Texture Mask Default shader (Simple-Msk-ColorTextureMask-Default.shadergraph) from v1.0.0 to v2.0.0.
  • Enabled ✂️Alpha Clipping and added node setup and properties for 🎉ParticleSystemRenderer support.
  • Disabled Default Decal Blending and Default SSAO in the Graph Settings. New default Shader Graph properties since the previous Unity Editor package version. Not used for this shader.
  • Updated ⭐Simple 🎭Mask 🧱Color Texture Mask Depth Tested Default shader (Simple-Msk-ColorTextureMaskDepthTested-Default.shadergraph) from v1.0.0 to v2.0.0.
  • Enabled ✂️Alpha Clipping and added node setup and properties for 🎉ParticleSystemRenderer support.
  • Disabled Default Decal Blending and Default SSAO in the Graph Settings. New default Shader Graph properties since the previous Unity Editor package version. Not used for this shader.
  • Updated ⭐⭐Basic 🎭Mask ⬛Depth Texture Mask Default shader (Basic-Msk-DepthTextureMask-Default.shadergraph) from v1.0.0 to v2.0.0.
  • Enabled ✂️Alpha Clipping and added node setup and properties for 🎉ParticleSystemRenderer support.
  • Disabled Default Decal Blending and Default SSAO in the Graph Settings. New default Shader Graph properties since the previous Unity Editor package version. Not used for this shader.
  • Updated ⭐⭐Basic 🎭Mask 🟦Normals Texture Mask Default shader (Basic-Msk-NormalsTextureMask-Default.shadergraph) from v1.0.0 to v2.0.0.
  • Enabled ✂️Alpha Clipping and added node setup and properties for 🎉ParticleSystemRenderer support.
  • Updated ⭐⭐Basic 🎭Mask 🟩UV Texture Mask Default shader (Basic-Msk-UVTextureMask-Default.shadergraph) from v1.0.0 to v2.0.0.
  • Enabled ✂️Alpha Clipping and added node setup and properties for 🎉ParticleSystemRenderer support.
  • Disabled Default Decal Blending and Default SSAO in the Graph Settings. New default Shader Graph properties since the previous Unity Editor package version. Not used for this shader.
  • Updated ⭐⭐⭐Advanced 🎭Mask 🪪ObjectID Texture Mask Default shader (Adv-Msk-ObjectIDTextureMask-Default.shadergraph) from v1.0.0 to v2.0.0.
  • Enabled ✂️Alpha Clipping and added node setup and properties for 🎉ParticleSystemRenderer support.
  • Disabled Default Decal Blending and Default SSAO in the Graph Settings. New default Shader Graph properties since the previous Unity Editor package version. Not used for this shader.
  • Updated ⭐⭐⭐Advanced 🎭Mask 🟧Object Space Position Texture Mask Default shader (Adv-Msk-ObjSpacePositionTextureMask-Default.shadergraph) from v1.0.0 to v2.0.0.
  • Enabled ✂️Alpha Clipping and added node setup and properties for 🎉ParticleSystemRenderer support.
  • Disabled Default Decal Blending and Default SSAO in the Graph Settings. New default Shader Graph properties since the previous Unity Editor package version. Not used for this shader.
  • Added new Basic-Cmp-FS-Edge-NormalsEdge.shadergraph v1.0.0 to the ⭐⭐Basic 🖼️Composite 🎦FullScreen shaders.
  • Added new Basic-Cmp-FS-Edge-NormalsEdge.mat material to the ⭐⭐Basic 🖼️Composite 🎦FullScreen sample materials.
  • Added new Renderer Feature to the 🎦FullScreen Shaders DemoScene for showing the Basic-Cmp-FS-Edge-NormalsEdge.shadergraph shader.
  • Added new Basic-Cmp-FS-Edge-DepthEdge.shadergraph v1.0.0 to the ⭐⭐Basic 🖼️Composite 🎦FullScreen shaders.
  • Added new Basic-Cmp-FS-Edge-DepthEdge.mat material to the ⭐⭐Basic 🖼️Composite 🎦FullScreen sample materials.
  • Added new Renderer Feature to the 🎦FullScreen Shaders DemoScene for showing the Basic-Cmp-FS-Edge-DepthEdge.shadergraph shader.
  • Added new CG_CellularNoise3D.shadersubgraph v1.0.0 to the 📁/Shaders/00_Shared folder which is used by the 3DNoise filters.
  • Added new CG_CellularNoise3DLayered.shadersubgraph v1.0.0 to the 📁/Shaders/00_Shared folder which is used by the 3DNoise filters.
  • Added new CG_CellularNoise3D.hlsl Include file v1.0.0 to the 📁/Shaders/00_Shared folder which is used by the CG_CellularNoise3D.shadersubgraph subgraph.
  • Updated ⭐⭐⭐Advanced 🖼️Composite 🎦FullScreen ☕Filter 3DNoise shader (Adv-Cmp-FS-Filter-3DNoise.shadergraph) from v1.0.0 to v1.1.0.
  • Added new 🧫Cellular3D 📺NoiseType to the Adv-Cmp-FS-Filter-3DNoise.shadergraph shader.
  • Renamed Adv-Cmp-FS-Filter-3DNoise.shadergraph shader 🎨FillColorTint property to 🎨FilterColorTintB.
  • Added second 🎨FilterColorTintA property to the Adv-Cmp-FS-Filter-3DNoise.shadergraph shader for more control over the colors of the noise filter.
  • Updated ⭐⭐⭐Advanced 🖼️Composite 🔲Overlay 3DNoise shader (Adv-Cmp-Overlay-3DNoise.shadergraph) from v1.0.0 to v1.1.0.
  • Added new 🧫Cellular3D 📺NoiseType Enum Property to the Adv-Cmp-Overlay-3DNoise.shadergraph 3DNoise shader.
  • Renamed 🎨FillColorTint property to 🎨FilterColorTintB of the Adv-Cmp-Overlay-3DNoise.shadergraph.
  • Added second 🎨FilterColorTintA property to the Adv-Cmp-Overlay-3DNoise.shadergraph shader for more control over the colors of the noise filter.
  • Added 📸CameraOpaqueTexture availability to the 🌊🌱🏞️ Outline JFA UV Seeds Mask Pass Outside Render Passes of the ⭐⭐⭐⭐Pro and ⭐⭐⭐⭐⭐Hyper tier 🧑‍🎨Outline3DRendererFeatures, so that the **🌊🌱🏞️JFA UV Seeds Mask Outside< 🎭Mask materials can require the 📸CameraOpaqueTexture to perform edge detection on the camera color. This enables a new 'breed' of 🎦FullScreen Camera Color based 🌐Contour Distance Field outlines!
  • Updated ⭐Simple 🖼️Composite 🔲Overlay 👾Pixelate shader (Simple-Cmp-Overlay-Pixelate.shadergraph) from v1.1.0 to v1.2.0.
  • Added Boolean #🎯PixelGridCentered property to the Simple-Cmp-Overlay-Pixelate.shadergraph shader to enable/disable centering the grid around the sample positions.
  • Updated ⭐Simple 🖼️Composite 🎦FullScreen ☕Filter 💠Dither shader (Simple-Cmp-FS-Filter-CameraColorDither.shadergraph) from v1.2.0 to v1.3.0.
  • Added 💠⛲DitherSource Enum property to the Simple-Cmp-FS-Filter-CameraColorDither.shadergraph shader for Grayscale and Alpha Only Dithering.
  • Added 💠#DitherMatrix Enum property to the Simple-Cmp-FS-Filter-CameraColorDither.shadergraph shader for 2x2 and 8x8 sized Bayer Matrix Dithering.
  • Added 💠🪜DitherThresholdAlpha property to the Simple-Cmp-FS-Filter-CameraColorDither.shadergraph shader for controlling the Alpha dithering seperately when using 💠⛲DitherSource RGBA.
  • Added 💠🪇DitherPosterized property to the Simple-Cmp-FS-Filter-CameraColorDither.shadergraph shader for optionally pre-Posterizing the Dither input colors for instant transitions between Dither shades.
  • Updated ⭐Simple 🖼️Composite 🔲Overlay 💠Dither shader (Simple-Cmp-Overlay-CameraColorDither.shadergraph) from v1.0.0 to v1.1.0.
  • Added 💠⛲DitherSource Enum property to the Simple-Cmp-Overlay-CameraColorDither.shadergraph shader for Grayscale and Alpha Only Dithering.
  • Added 💠#DitherMatrix Enum property to the Simple-Cmp-Overlay-CameraColorDither.shadergraph shader for 2x2 and 8x8 sized Bayer Matrix Dithering.
  • Added 💠🪜DitherThresholdAlpha property to the Simple-Cmp-Overlay-CameraColorDither.shadergraph shader for controlling the Alpha dithering seperately when using 💠⛲DitherSource RGBA.
  • Added 💠🪇DitherPosterized property to the Simple-Cmp-Overlay-CameraColorDither.shadergraph shader for optionally pre-Posterizing the Dither input colors for instant transitions between Dither shades.
  • Updated ⭐Simple 🖼️Composite 🎦FullScreen ☕Filter ⚫Halftone shader (Simple-Cmp-FS-Filter-Halftone.shadergraph) from v1.1.0 to v1.2.0.
  • Added ⚫☯️HalftoneInvert property to the Simple-Cmp-FS-Filter-Halftone.shadergraph shader. Will make the dots larger on bright areas instead of smaller.
  • Added ⚫🫸HalftoneOddRowOffset property to the Simple-Cmp-FS-Filter-Halftone.shadergraph shader. For offsetting the odd rows to create diagonal dot patterns.
  • Updated ⭐Simple 🖼️Composite 🔲Overlay ⚫Halftone shader (Simple-Cmp-Overlay-Halftone.shadergraph) from v1.1.0 to v1.2.0.
  • Added ⚫☯️HalftoneInvert property to the Simple-Cmp-Overlay-Halftone.shadergraph shader. Will make the dots larger on bright areas instead of smaller.
  • Added ⚫🫸HalftoneOddRowOffset property to the Simple-Cmp-Overlay-Halftone.shadergraph shader. For offsetting the odd rows to create diagonal dot patterns.
  • Updated ⭐Pro 🖼️Composite ⭕Silhouette 🌊JFA UV Distance Field Default shader (Pro-Cmp-Sil-JFA-UV-DF-Default.shadergraph) from v1.2.0 to v1.3.0.
  • Patched 🔳OutlineThickness in ViewSpace of the Pro-Cmp-Sil-JFA-UV-DF-Default.shadergraph shader to use thickness in centimeter units instead of meters.
  • Removed two of three SmoothStep nodes from the setup of the Pro-Cmp-Sil-JFA-UV-DF-Default.shadergraph. Only one was needed.
  • Updated ⭐Pro 🖼️Composite ⭕Silhouette 🌊JFA UV Distance Field Depth Tested shader (Pro-Cmp-Sil-JFA-UV-DF-DepthTested.shadergraph) from v1.2.0 to v1.3.0.
  • Patched 🔳OutlineThickness in ViewSpace of the Pro-Cmp-Sil-JFA-UV-DF-DepthTested.shadergraph shader to use thickness in centimeter units instead of meters.
  • Updated ⭐Pro 🖼️Composite 🌐Contour 🌊JFA UV Distance Field Default shader (Pro-Cmp-Cntr-JFA-UVDistanceField-Default.shadergraph) from v1.2.0 to v1.3.0.
  • Added 🐞DebugViewSeedsMask Boolean property to the Pro-Cmp-Cntr-JFA-UVDistanceField-Default.shadergraph shader. To 'see trough'/debug view the masked seed pixels of which the shader generates the distance field.
  • Updated ⭐Pro 🖼️Composite 🌐Contour 🌊JFA UV Distance Field 2ColorBlend shader (Pro-Cmp-Cntr-JFA-UVDistanceField-2ColorBlend.shadergraph) from v1.4.0 to v1.5.0.
  • Added 🐞DebugViewSeedsMask Boolean property to the Pro-Cmp-Cntr-JFA-UVDistanceField-2ColorBlend.shadergraph shader. To 'see trough'/debug view the masked seed pixels of which the shader generates the distance field.
  • Updated 00_Shared/EdgeDetection/Templates/CG_EdgeDetection_Template-EdgeDetectionMethods.shadergraph shader from v1.0.0 to v1.1.0.
  • Added 🌅OutlineMaxDrawDistance, 🌅OutlineMinMaxDrawDistance and 🌅OutlineMinMaxDrawDistanceSmooth distance mask node setups to CG_EdgeDetection_Template-EdgeDetectionMethods.shadergraph.
  • Added Maximum node to the 🌠OutlineThicknessSpace node setup of the CG_EdgeDetection_Template-EdgeDetectionMethods.shadergraph, to pick the largest of the OutlineThickness or the MinViewSpaceThickness so that when OutlineThickness is less than the minimum thickness it will choose the minimum thickness.
  • Changed Adv-Cmp-Cntr-ScharrXY-Depth&NormalsEdge.shadergraph default OutlineDepthEdgeThreshold1 value from 0.03 to 0.0.
  • Changed Adv-Cmp-Cntr-ScharrXY-Depth&NormalsEdge.shadergraph default OutlineDepthEdgeThreshold2 value from 0.05 to 1.0.
  • Changed Adv-Cmp-Cntr-ScharrXY-Depth&NormalsEdge.shadergraph default OutlineNormalsEdgeThreshold2 value from 0.02 to 1.0.
  • Changed Adv-Cmp-Cntr-ScharrXY-Depth&NormalsEdge.shadergraph default OutlineNormalsEdgeSensitivity value from 0.99 to 1.0.
  • Renamed Simple-Cmp-FS-Filter-GrayScaleFilter.shadergraph 🎨OverlayColorTint property to 🎨FilterColorTint property.
  • Patched Adv-Cmp-FS-Edge-ScharrXY-ColorEdge.shadergraph 🌆BackgroundColor Alpha value from 1.0 to 0.0.
  • Patched a 🐞bug where the ⭐Outline3DRenderFeatureHyper would still execute an extra color copy pass when the pass itself was disabled.
  • Removed Assets/CosterGraphics/Systems/OutlineSystem/Shaders/00_Shared/Utility/CG_ComputeOutlineDistance.hlsl HLSL Include file. Old file that was not in use by the system.
  • Removed Text Mesh Pro text label from 🦁Outlion™️ prefab. Wasn't used.

v1.2.0

  • Added new 🟧Object-Space Position Mask Pass Render Pass to the ⭐⭐⭐Advanced and higher tier Renderer Features.
  • Added new Adv-Msk-ObjSpacePositionTextureMask-Default.shadergraph v1.0.0 to the ⭐⭐⭐Advanced 🎭Mask shaders.
  • Added new Adv-Cmp-Test-ObjSpacePositionTextureMask.shadergraph v1.0.0 to the ⭐⭐⭐Advanced 🧪Test shaders.

  • Added new Adv-Cmp-Overlay-ObjSpacePositionTextureMask.shadergraph v1.0.0 to the ⭐⭐⭐Advanced 🖼️Composite 🔲Overlay shaders.
  • Added new Adv-Cmp-Overlay-ObjSpacePositionTextureMask.mat material to the ⭐⭐⭐Advanced 🖼️Composite 🔲Overlay sample materials.
  • Added new 🦁Outlions™️ to the 🦁🦁🦁CrowdLions™️ of the ⭐⭐⭐Advanced Shaders DemoScene for showing the Adv-Cmp-Overlay-ObjSpacePositionTextureMask.mat material.

  • Added new Simple-Cmp-Overlay-2DNoise.shadergraph v1.0.0 to the ⭐Simple 🖼️Composite 🔲Overlay shaders.
  • Added new Simple-Cmp-Overlay-2DNoise.mat material to the ⭐Simple 🖼️Composite 🔲Overlay sample materials.
  • Added new 🦁Outlions™️ to the 🦁🦁🦁CrowdLions™️ of the ⭐Simple Shaders DemoScene for showing the Simple-Cmp-Overlay-2DNoise.mat material.

  • Added new Simple-Cmp-FS-Fill-2DNoise.shadergraph v1.0.0 to the ⭐Simple 🖼️Composite 🎦FullScreen shaders.
  • Added new Simple-Cmp-FS-Fill-2DNoise.mat material to the ⭐Simple 🖼️Composite 🎦FullScreen sample materials.
  • Added new Renderer Feature to the 🎦FullScreen Shaders DemoScene for showing the Simple-Cmp-FS-Fill-2DNoise.mat fill.

  • Added new Adv-Cmp-Overlay-3DNoise.shadergraph v1.0.0 to the ⭐⭐⭐Advanced 🖼️Composite 🔲Overlay shaders.
  • Added new Adv-Cmp-Overlay-3DNoise.mat material to the ⭐⭐⭐Advanced 🖼️Composite 🔲Overlay sample materials.
  • Added new 🦁Outlions™️ to the 🦁🦁🦁CrowdLions™️ of the ⭐⭐⭐Advanced Shaders DemoScene for showing the Adv-Cmp-Overlay-3DNoise.mat material.

  • Added new Adv-Cmp-FS-Filter-3DNoise.shadergraph v1.0.0 to the ⭐⭐⭐Advanced 🖼️Composite 🎦FullScreen shaders.
  • Added new Adv-Cmp-FS-Filter-3DNoise.mat material to the ⭐⭐⭐Advanced 🖼️Composite 🎦FullScreen sample materials.
  • Added new Renderer Feature to the 🎦FullScreen Shaders DemoScene for showing the Adv-Cmp-FS-Filter-3DNoise.mat filter.

  • Added new CG_SimplexNoise3D.shadersubgraph v1.0.0 to the 📁/Shaders/00_Shared folder which is used by the 3DNoise filters.
  • Added new CG_SimplexNoise3D.hlsl Include file v1.0.0 to the 📁/Shaders/00_Shared folder which is used by the CG_SimplexNoise3D.shadersubgraph subgraph.

  • Added 🖼️Composite pass 🪟Opacity property to the Composite Pass settings to control overall (layer) opacity for the Composite Pass(es).
  • Added 🪟FeatureOpacity property to all Renderer Features.
  • Added internal 🧮BaseColor property to all 🖼️Composite shaders.
  • Added Enabled bool property to enable/disable individual 🖼️Composite passes of the 🌌Hyper tier Renderer Feature.
  • Added missing 🌆BackgroundColor property to some 🖼️Composite shaders.
  • Added shared ⚠️Internal 🔬SamplerState properties to shaders that sample multiple textures using the same settings.
  • Added 🧽OutlineColorSaturation, 🩶OutlineColorValue and 🔆OutlineColorIntensity properties to some HSV color shaders.
  • Updated ⭐Outline3DRenderFeatureSimple.cs to v4.0.0.
  • Updated ⭐⭐Outline3DRenderFeatureBasic.cs to v9.0.0.
  • Updated ⭐⭐⭐Outline3DRenderFeatureAdv.cs to v11.0.0.
  • Updated ⭐⭐⭐⭐Outline3DRenderFeaturePro.cs to v16.0.0.
  • Updated ⭐⭐⭐⭐⭐Outline3DRenderFeatureHyper.cs to v2.0.0.
  • Patched all Renderer Features material search strings to explicitly find the default embedded Shader Graph materials from the Shaders folder instead of accidentally grabbing the materials from the Materials folder.
  • Tweaked 🕶️Simple-Composite-Overlay-CameraColorDither.shadergraph DitherThreshold value to 0.0 instead of -0.05.

v1.1.0

  • Added new ⭐⭐⭐⭐⭐Hyper ter outline Renderer Feature v1.0.0 with per-feature multi-🖼️Composite pass support and camera color effect chaining.
  • Added simple example of three chained camera color effects (grayscale, posterize and dither) with the Hyper Renderer Feature to the FullScreen Shaders DemoScene.
  • Added the new Simple Overlay shaders to Simple Shaders demo scene.
  • Added the new Full Screen Fill and Filter shaders to FullScreen Shaders Demo Scene.
  • Added Simple-Cmp-Overlay-GrayscaleFilter.shadergraph shader v1.0.0 and material.
  • Added Simple-Cmp-Overlay-Halftone.shadergraph shader v1.0.0 and material.
  • Added Simple-Cmp-Overlay-Pixelate.shadergraph shader v1.0.0 and material.
  • Added Simple-Cmp-Overlay-Posterize.shadergraph shader v1.0.0 and material.
  • Added Simple-Cmp-FS-Fill-Checkerboard.shadergraph shader v1.0.0 and material.
  • Added Simple-Cmp-FS-Fill-Texture2D.shadergraph shader v1.0.0 and material.
  • Added Simple-Cmp-FS-Filter-CameraColorBlur.shadergraph shader v1.0.0 and material.
  • Added Simple-Cmp-FS-Filter-Halftone v1.0.0
  • Added Simple-Cmp-FS-Filter-Pixelate v1.0.0
  • Added Simple-Cmp-FS-Filter-Posterize.shadergraph shader v1.0.0 and material.
  • Added Adv-Cmp-FS-Edge-ScharrXY-ColorEdge.shadergraph shader v1.0.0 and material.
  • Added 🎭InvertMask property/feature to Adv-Cmp-Overlay-SobelXY-ColorEdgeAngle2HSV.shadergraph shader and added properties for controlling the SV of the HSV color.
  • Added 🎭InvertMask property/feature to Simple-Cmp-Overlay-ColorMask-Default.shadergraph shader.
  • Added 🎭InvertMask property/feature to Simple-Cmp-Overlay-CameraColorBlur.shadergraph shader and removed internal texture property that wasn't used in the graph.
  • Added OverlayColorTint property to Simple-Cmp-FS-Filter-GrayScaleFilter shader and removed the Opacity property since it can now be controlled with the alpha of the tint color.
  • Added 🌆BackgroundColor property to several shaders.
  • Added better descriptions to most of the Simple tier overlay and full-screen shaders.
  • Added OutlineAnimationSpeed property to Adv-Cmp-Overlay-SobelXY-ColorEdgeAngle2HSV.shadergraph
  • Added View-Space thickness properties to Adv-Cmp-Sil-GaussianKernel-In&Outside.shadergraph (Todo: fix inside color)
  • Added 💠Dither Scale property to Simple dither overlay shader.
  • Added Edge Sharpness property to JFA Sil DF Default shader.
  • Added onEnable/onDisable events to AutoRenderFeatureToggler script for enabling disabling/gameobjects during turntable recordings.
  • Added better descriptions to Basic-Cmp-Sil-MaskDilation&Erosion-ViewSpace.shadergraph shader and added a clamp max to the SampleRadius property for safety.
  • Added a rainbow color version of the Basic-Cmp-Sil-MaskDilation&Erosion-ViewSpace.shadergraph shader.
  • Added Outline Outside and Outline Inside Edge Sharpness properties to the Pro-Cmp-Sil-JFA-UV-SDF-Default.shadergraph shader.
  • Patched 2ColorBlend Pro JFA Contour shader, Geo mask for the inside of the geometry wasn't disabled yet.
  • Patched Basic-Cmp-Test-UVTextureMask.shadergraph to output the UV only to the (RG) Channels keeping the (B) output Channel at 0 (black).
  • Renamed Basic-Cmp-Sil-MaskDilation&Erosion.shadergraph shader's OutlineExpansionMethod property to 🎈MorphType and made SampleRadius property a min/max slider for safety.
  • Renamed Basic-Cmp-Overlay-Texture2DOverlay.shadergraph shader/material in samples folder to Basic-Cmp-Overlay-Texture2D.
  • Renamed Basic-Cmp-Overlay-Texture2DOverlay.shadergraph 🎨OverlayTextureTint property to 🎨OverlayColorTint.
  • Renamed Simple-Cmp-Overlay-CameraColorBlur.shadergraph 🎨BlurColorTint property to 🎨OverlayColorTint.
  • Enabled the Allow Material Override setting in the Graph Settings of each shader.

v1.0.1

  • Small patch to fix a few Sample asset file names that caused grief with the package manager on import and removed a Shader Graph node that wasn't in use anymore but caused an error.

v1.0.0

  • First Release.