public override void Render(PostProcessRenderContext context) { OutlineResources resources; if (settings.Resources.value != null) { resources = settings.Resources; } else { if (!_defaultResources) { _defaultResources = ScriptableObject.CreateInstance <OutlineResources>(); _defaultResources.ResetToDefaults(); _defaultResources.FullscreenTriangleMesh = RuntimeUtilities.fullscreenTriangle; } resources = _defaultResources; } if (resources && resources.IsValid) { using (var renderer = new OutlineRenderer(context.command, context.source, context.destination)) { settings.Layers.value.Render(renderer, resources); } } }
public override void Render(PostProcessRenderContext context) { OutlineResources resources; if (settings.Resources.value) { resources = settings.Resources; } else { if (!_defaultResources) { _defaultResources = ScriptableObject.CreateInstance <OutlineResources>(); _defaultResources.ResetToDefaults(); _defaultResources.FullscreenTriangleMesh = RuntimeUtilities.fullscreenTriangle; } resources = _defaultResources; } if (resources && resources.IsValid) { RuntimeUtilities.CopyTexture(context.command, context.source, context.destination); using (var renderer = new OutlineRenderer(context.command, resources, context.destination, context.camera.actualRenderingPath, new Vector2Int(context.width, context.height))) { _objects.Clear(); settings.Layers.value.GetRenderObjects(_objects); foreach (var obj in _objects) { renderer.Render(obj); } } } }