Class BorderShaderManager
Manages compute shader loading and kernel initialization for border rendering Extracted from BorderComputeDispatcher for single responsibility
Responsibilities:
- Lazy loading of compute shaders (BorderDetection, BorderCurveRasterizer, BorderSDF)
- Kernel index caching
- Shader validation and error reporting
public class BorderShaderManager
- Inheritance
-
objectBorderShaderManager
Constructors
BorderShaderManager(bool)
public BorderShaderManager(bool enablePerformanceLogging = false)
Parameters
enablePerformanceLoggingbool
Properties
BorderCurveRasterizerShader
public ComputeShader BorderCurveRasterizerShader { get; }
Property Value
BorderDetectionShader
public ComputeShader BorderDetectionShader { get; }
Property Value
BorderSDFShader
public ComputeShader BorderSDFShader { get; }
Property Value
DetectDualBordersKernel
public int DetectDualBordersKernel { get; }
Property Value
- int
Methods
InitializeKernels(ComputeShader, ComputeShader, ComputeShader)
Initialize compute shader kernels Lazy-loads shaders if not already assigned
public void InitializeKernels(ComputeShader borderDetection = null, ComputeShader borderCurveRasterizer = null, ComputeShader borderSDF = null)
Parameters
borderDetectionComputeShaderborderCurveRasterizerComputeShaderborderSDFComputeShader
IsInitialized()
Check if shader manager is properly initialized
public bool IsInitialized()
Returns
- bool
SupportsRenderingMode(BorderRenderingMode)
Check if specific rendering mode is supported (has required shaders)
public bool SupportsRenderingMode(BorderRenderingMode mode)
Parameters
modeBorderRenderingMode
Returns
- bool