🔳 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🔳OutlineThicknessof the⭐Pro🖼️Composite⭕Silhouette🌊JFA UVDistance FieldDefaultshader and the⭐Pro🖼️Composite⭕Silhouette🌊JFA UVDistance FieldDepth Testedshader 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🎭Maskshaders to be able to write the particles into the masks, so the default Color, Depth and Normals etcetera masks all have had some new⚠️Internalproperties and node setups added to them and are all updated to a newer version. Right now the system supports binary⭕Silhouetteoutlines, edge detection🌐Contouredges and🔲Overlaysonto 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
🧑🎨Outline3DRenderFeaturesas 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
🐞DebugViewSeedsMaskproperty 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🐞DebugViewSeedsMaskbool 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☕Filterand the🔳Outline3D🔲Overlay💠Dithershaders both have a new💠#DitherMatrixmode 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🪇Posterizedimages where color transitions are smooth than the 4x4 size matrix.Both the
🎦FullScreenand🔲OverlayDither shaders also have a new💠⛲DitherSourcemode property for choosing between the default RGBA Color Dither as the source or for a new🩶GrayscaleDither source which converts the RGB Colors into a single Luminosity value first. The Dither Shaders also have a new💠🪜DitherThresholdAlphaproperty 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
🧫Cellular3D3DNoise is added to the🎦FullScreen☕Filter3DNoiseand to the🔳Outline3D🔲Overlay3DNoiseshaders. 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⚫Halftoneshader and the⭐Simple🖼️Composite🔲Overlay⚫Halftoneshader have a new⚫🫸HalftoneOddRowOffsetproperty 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
🧑🎨🧑🎨Outline3DRenderFeatureSimplefrom v4.0.0 to v5.0.0- Added 🎉ParticleSystemRenderer compatibility to the ⬜OutlineColorMaskPass and the 🧱OutlineColorMaskDepthTestedPass.
- Updated
🧑🎨🧑🎨Outline3DRenderFeatureBasicfrom 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_OutlineUVTextureMaskfrom R8G8B8A_UNorm to R16G16B16A16_SFloat for smooth/precise UV coordinates instead of blocky and pixelated.
- Updated
🧑🎨🧑🎨🧑🎨Outline3DRenderFeatureAdvfrom 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_OutlineUVTextureMaskfrom R8G8B8A_UNorm to R16G16B16A16_SFloat for smooth/precise UV coordinates instead of blocky and pixelated.
- Updated
🧑🎨🧑🎨🧑🎨🧑🎨Outline3DRenderFeatureProfrom 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_OutlineUVTextureMaskfrom R8G8B8A_UNorm to R16G16B16A16_SFloat for smooth/precise UV coordinates instead of blocky and pixelated.
- Updated
🧑🎨🧑🎨🧑🎨🧑🎨🧑🎨Outline3DRenderFeatureHyperfrom 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_OutlineUVTextureMaskfrom 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🎦FullScreenshaders.- Added new Basic-Cmp-FS-Edge-NormalsEdge.mat material to the
⭐⭐Basic🖼️Composite🎦FullScreensample materials.- Added new Renderer Feature to the
🎦FullScreenShaders 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🎦FullScreenshaders.- Added new Basic-Cmp-FS-Edge-DepthEdge.mat material to the
⭐⭐Basic🖼️Composite🎦FullScreensample materials.- Added new Renderer Feature to the
🎦FullScreenShaders 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☕Filter3DNoiseshader (Adv-Cmp-FS-Filter-3DNoise.shadergraph) from v1.0.0 to v1.1.0.- Added new
🧫Cellular3D📺NoiseTypeto the Adv-Cmp-FS-Filter-3DNoise.shadergraph shader.- Renamed Adv-Cmp-FS-Filter-3DNoise.shadergraph shader
🎨FillColorTintproperty to🎨FilterColorTintB.- Added second
🎨FilterColorTintAproperty to the Adv-Cmp-FS-Filter-3DNoise.shadergraph shader for more control over the colors of the noise filter.
- Updated
⭐⭐⭐Advanced🖼️Composite🔲Overlay3DNoiseshader (Adv-Cmp-Overlay-3DNoise.shadergraph) from v1.0.0 to v1.1.0.- Added new
🧫Cellular3D📺NoiseTypeEnum Property to the Adv-Cmp-Overlay-3DNoise.shadergraph 3DNoise shader.- Renamed
🎨FillColorTintproperty to🎨FilterColorTintBof the Adv-Cmp-Overlay-3DNoise.shadergraph.- Added second
🎨FilterColorTintAproperty to the Adv-Cmp-Overlay-3DNoise.shadergraph shader for more control over the colors of the noise filter.
- Added
📸CameraOpaqueTextureavailability to the🌊🌱🏞️ Outline JFA UV Seeds Mask Pass OutsideRender Passes of the⭐⭐⭐⭐Proand⭐⭐⭐⭐⭐Hypertier🧑🎨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🎦FullScreenCamera Color based🌐ContourDistance Fieldoutlines!
- Updated
⭐Simple🖼️Composite🔲Overlay👾Pixelateshader (Simple-Cmp-Overlay-Pixelate.shadergraph) from v1.1.0 to v1.2.0.- Added Boolean
#🎯PixelGridCenteredproperty to the Simple-Cmp-Overlay-Pixelate.shadergraph shader to enable/disable centering the grid around the sample positions.
- Updated
⭐Simple🖼️Composite🎦FullScreen☕Filter💠Dithershader (Simple-Cmp-FS-Filter-CameraColorDither.shadergraph) from v1.2.0 to v1.3.0.- Added
💠⛲DitherSourceEnum property to the Simple-Cmp-FS-Filter-CameraColorDither.shadergraph shader for Grayscale and Alpha Only Dithering.- Added
💠#DitherMatrixEnum property to the Simple-Cmp-FS-Filter-CameraColorDither.shadergraph shader for 2x2 and 8x8 sized Bayer Matrix Dithering.- Added
💠🪜DitherThresholdAlphaproperty to the Simple-Cmp-FS-Filter-CameraColorDither.shadergraph shader for controlling the Alpha dithering seperately when using💠⛲DitherSource RGBA.- Added
💠🪇DitherPosterizedproperty 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💠Dithershader (Simple-Cmp-Overlay-CameraColorDither.shadergraph) from v1.0.0 to v1.1.0.- Added
💠⛲DitherSourceEnum property to the Simple-Cmp-Overlay-CameraColorDither.shadergraph shader for Grayscale and Alpha Only Dithering.- Added
💠#DitherMatrixEnum property to the Simple-Cmp-Overlay-CameraColorDither.shadergraph shader for 2x2 and 8x8 sized Bayer Matrix Dithering.- Added
💠🪜DitherThresholdAlphaproperty to the Simple-Cmp-Overlay-CameraColorDither.shadergraph shader for controlling the Alpha dithering seperately when using💠⛲DitherSource RGBA.- Added
💠🪇DitherPosterizedproperty 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⚫Halftoneshader (Simple-Cmp-FS-Filter-Halftone.shadergraph) from v1.1.0 to v1.2.0.- Added
⚫☯️HalftoneInvertproperty to the Simple-Cmp-FS-Filter-Halftone.shadergraph shader. Will make the dots larger on bright areas instead of smaller.- Added
⚫🫸HalftoneOddRowOffsetproperty to the Simple-Cmp-FS-Filter-Halftone.shadergraph shader. For offsetting the odd rows to create diagonal dot patterns.
- Updated
⭐Simple🖼️Composite🔲Overlay⚫Halftoneshader (Simple-Cmp-Overlay-Halftone.shadergraph) from v1.1.0 to v1.2.0.- Added
⚫☯️HalftoneInvertproperty to the Simple-Cmp-Overlay-Halftone.shadergraph shader. Will make the dots larger on bright areas instead of smaller.- Added
⚫🫸HalftoneOddRowOffsetproperty to the Simple-Cmp-Overlay-Halftone.shadergraph shader. For offsetting the odd rows to create diagonal dot patterns.
- Updated
⭐Pro🖼️Composite⭕Silhouette🌊JFA UVDistance FieldDefaultshader (Pro-Cmp-Sil-JFA-UV-DF-Default.shadergraph) from v1.2.0 to v1.3.0.- Patched
🔳OutlineThicknessin 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 UVDistance FieldDepth Testedshader (Pro-Cmp-Sil-JFA-UV-DF-DepthTested.shadergraph) from v1.2.0 to v1.3.0.- Patched
🔳OutlineThicknessin 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 UVDistance FieldDefault shader (Pro-Cmp-Cntr-JFA-UVDistanceField-Default.shadergraph) from v1.2.0 to v1.3.0.- Added
🐞DebugViewSeedsMaskBoolean 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 UVDistance Field2ColorBlend shader (Pro-Cmp-Cntr-JFA-UVDistanceField-2ColorBlend.shadergraph) from v1.4.0 to v1.5.0.- Added
🐞DebugViewSeedsMaskBoolean 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,🌅OutlineMinMaxDrawDistanceand🌅OutlineMinMaxDrawDistanceSmoothdistance mask node setups to CG_EdgeDetection_Template-EdgeDetectionMethods.shadergraph.- Added Maximum node to the
🌠OutlineThicknessSpacenode 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
🎨OverlayColorTintproperty to🎨FilterColorTintproperty.- Patched Adv-Cmp-FS-Edge-ScharrXY-ColorEdge.shadergraph
🌆BackgroundColorAlpha value from 1.0 to 0.0.- Patched a 🐞bug where the
⭐Outline3DRenderFeatureHyperwould 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 PassRender Pass to the⭐⭐⭐Advancedand higher tier Renderer Features.- Added new Adv-Msk-ObjSpacePositionTextureMask-Default.shadergraph v1.0.0 to the
⭐⭐⭐Advanced🎭Maskshaders.- Added new Adv-Cmp-Test-ObjSpacePositionTextureMask.shadergraph v1.0.0 to the
⭐⭐⭐Advanced🧪Testshaders.
- Added new Adv-Cmp-Overlay-ObjSpacePositionTextureMask.shadergraph v1.0.0 to the
⭐⭐⭐Advanced🖼️Composite🔲Overlayshaders.- Added new Adv-Cmp-Overlay-ObjSpacePositionTextureMask.mat material to the
⭐⭐⭐Advanced🖼️Composite🔲Overlaysample materials.- Added new
🦁Outlions™️to the🦁🦁🦁CrowdLions™️of the⭐⭐⭐AdvancedShaders DemoScene for showing the Adv-Cmp-Overlay-ObjSpacePositionTextureMask.mat material.
- Added new Simple-Cmp-Overlay-2DNoise.shadergraph v1.0.0 to the
⭐Simple🖼️Composite🔲Overlayshaders.- Added new Simple-Cmp-Overlay-2DNoise.mat material to the
⭐Simple🖼️Composite🔲Overlaysample materials.- Added new
🦁Outlions™️to the🦁🦁🦁CrowdLions™️of the⭐SimpleShaders 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🎦FullScreenshaders.- Added new Simple-Cmp-FS-Fill-2DNoise.mat material to the
⭐Simple🖼️Composite🎦FullScreensample materials.- Added new Renderer Feature to the
🎦FullScreenShaders 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🔲Overlayshaders.- Added new Adv-Cmp-Overlay-3DNoise.mat material to the
⭐⭐⭐Advanced🖼️Composite🔲Overlaysample materials.- Added new
🦁Outlions™️to the🦁🦁🦁CrowdLions™️of the⭐⭐⭐AdvancedShaders 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🎦FullScreenshaders.- Added new Adv-Cmp-FS-Filter-3DNoise.mat material to the
⭐⭐⭐Advanced🖼️Composite🎦FullScreensample materials.- Added new Renderer Feature to the
🎦FullScreenShaders 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
🖼️Compositepass🪟Opacityproperty to the Composite Pass settings to control overall (layer) opacity for the Composite Pass(es).- Added
🪟FeatureOpacityproperty to all Renderer Features.- Added internal
🧮BaseColorproperty to all🖼️Compositeshaders.- Added
Enabledbool property to enable/disable individual🖼️Compositepasses of the🌌Hypertier Renderer Feature.- Added missing
🌆BackgroundColorproperty to some🖼️Compositeshaders.- Added shared
⚠️Internal🔬SamplerStateproperties to shaders that sample multiple textures using the same settings.- Added
🧽OutlineColorSaturation,🩶OutlineColorValueand🔆OutlineColorIntensityproperties to some HSV color shaders.- Updated
⭐Outline3DRenderFeatureSimple.csto v4.0.0.- Updated
⭐⭐Outline3DRenderFeatureBasic.csto v9.0.0.- Updated
⭐⭐⭐Outline3DRenderFeatureAdv.csto v11.0.0.- Updated
⭐⭐⭐⭐Outline3DRenderFeaturePro.csto v16.0.0.- Updated
⭐⭐⭐⭐⭐Outline3DRenderFeatureHyper.csto 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.shadergraphDitherThresholdvalue 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.