🔳 CosterGraphics Systems OutlineSystem Renderer Features Overview
🧑🎨 Outline System Renderer Features Overview
This OutlineSystem includes four Scriptable Renderer Features, for Simple, Basic, Advanced or Pro level outlines.
The Simple renderer feature supports all of the Simple Composite shaders while the Basic feature supports both the
Simple as well as the Basic Composite shaders. The Pro feature supports all the Simple, Basic, Advanced and Pro Composite shaders.
While the Pro feature offers the most flexibility of all four, all the features are optimized to only run the render passes needed to generate the render textures that are required by the composite shaders. It is only slightly more efficient to use a lower tier renderer feature when not using a higher level Composite shader but there is a little bit more overhead compared to the lower tier features.
Outline3DRenderFeatureSimple
The Simple Renderer Feature supports all Simple Composite shaders that only require any of the three mask textures listed below:
- Texture2D_OutlineColorTextureMask - (Binary white on black color texture mask of the Outline3D objects)
- Texture2D_OutlineColorTextureMaskDepthTested - (Binary white on black color texture mask of the Outline3D objects depth tested against other non-outline scene geometry using L Equal)
- Texture2D_CameraOpaqueTexture - (A copy of the URP camera color buffer for edge detection on the scene's color)
Outline3DRenderFeatureBasic
The
BasicRenderer Feature supports composite shaders that require one or more of the texture masks from theSimplerenderer feature and adds support for theBasicmask textures listed below:- Texture2D_OutlineDepthTextureMask - (A depth texture mask storing the depth information of the Outline3D objects)
- Texture2D_OutlineNormalsTextureMask - (A normals texture mask storing the view space normals of the Outline3D objects)
- Texture2D_OutlineUVTextureMask - (A color texture mask storing the objects UV coordinates for cross-hatching effects etcetera)
Outline3DRenderFeatureAdv
The
AdvancedRenderer Feature supports composite shaders that require one or more of the texture masks from theBasicorSimplerenderer features and adds support for theAdvancedmask textures listed below:- Texture2D_OutlineObjectIDTextureMask - (Color Texture mask containing the ObjectIDs from the Outline3D objects stored in the R channel and a 1.0 or 0.0 boolean flag if an ObjectID was written in the G channel.)
Outline3DRenderFeaturePro
The
ProRenderer Feature supports all of theSimple,BasicandAdvancedComposite shaders and also adds support for theProtextures listed below, which are mainly for JFA Distance Field based outlines. The Pro Renderer Feature generates Jump Flood Algorithm filled texture masks that contain the sceen space UV positions of the closest edges of the Outline3D geometry which are then used in the Composite JFA shaders to calculate outline distance and signed distance fields with.- Texture2D_OutlineJFAUVSeedTextureMask_Outside - (A color texture mask containing the screen space UV coordinates of only the Outline3D object's geometry. Used by the JFA Jump passes.)
- Texture2D_OutlineJFAUVSeedTextureMask_Inside - (A color texture mask containing the screen space UV coordinates that are outside of the Outline3D object's geometry. Used by the JFA Jump passes to calculate distances inside the geometry.)
- Texture2D_OutlineJFAUVJumpTextureMask_Outside - (A color texture containing the UVs of the closest edges of the Outline3D geometry from outside the masked geometry. Used for generating the unsigned distance field outlines)
- Texture2D_OutlineJFAUVJumpTextureMask_Inside - (A color texture containing the UVs of the closest edges of the Outline3D geometry from inside the masked geometry. Used for generating the unsigned distance field outlines)