Table of Contents

Class BorderShaderManager

Namespace
Map.Rendering.Border
Assembly
MapAssembly.dll

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
object
BorderShaderManager

Constructors

BorderShaderManager(bool)

public BorderShaderManager(bool enablePerformanceLogging = false)

Parameters

enablePerformanceLogging bool

Properties

BorderCurveRasterizerShader

public ComputeShader BorderCurveRasterizerShader { get; }

Property Value

ComputeShader

BorderDetectionShader

public ComputeShader BorderDetectionShader { get; }

Property Value

ComputeShader

BorderSDFShader

public ComputeShader BorderSDFShader { get; }

Property Value

ComputeShader

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

borderDetection ComputeShader
borderCurveRasterizer ComputeShader
borderSDF ComputeShader

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

mode BorderRenderingMode

Returns

bool