private void Update() { _cameraMapUpdateTimer += Time.deltaTime; if (_cameraMapUpdateTimer > 16) { RemoveDestroyedCameras(); _cameraMapUpdateTimer = 0; } if (_outlineResources != null && _renderers != null) { if (_updateRenderers) { _renderers.Reset(false); } _commandBuffer.Clear(); using (var renderer = new OutlineRenderer(_commandBuffer, BuiltinRenderTextureType.CameraTarget)) { renderer.Render(_renderers.GetList(), _outlineSettings.OutlineResources, _outlineSettings); } } }
private void Update() { _cameraMapUpdateTimer += Time.deltaTime; if (_cameraMapUpdateTimer > 16) { RemoveDestroyedCameras(); _cameraMapUpdateTimer = 0; } #if UNITY_EDITOR UpdateChanged(); #endif if (_outlineResources != null && _renderers != null && (_outlineSettings.IsChanged || _commandBuffer.sizeInBytes == 0)) { _commandBuffer.Clear(); using (var renderer = new OutlineRenderer(_commandBuffer, BuiltinRenderTextureType.CameraTarget)) { renderer.Render(_renderers, _outlineSettings.OutlineResources, _outlineSettings); } _outlineSettings.AcceptChanges(); #if UNITY_EDITOR _commandBufferUpdateCounter++; #endif } }
private void FillCommandBuffer(Camera camera, CommandBuffer cmdBuffer) { if (_renderers.Count > 0) { using (var renderer = new OutlineRenderer(cmdBuffer, _outlineResources, camera.actualRenderingPath)) { renderer.Render(_renderers.GetList(), _outlineSettings, name); } } }
/// <summary> /// Renders the layers. /// </summary> public void Render(OutlineRenderer renderer, OutlineResources resources) { if (_enabled) { _settings.SetResources(resources); foreach (var kvp in _outlineObjects) { if (kvp.Key && kvp.Key.activeInHierarchy) { renderer.Render(kvp.Value, _settings.OutlineResources, _settings); } } } }
private void FillCommandBuffer() { if (_camera && _outlineLayers && _commandBuffer != null) { _commandBuffer.Clear(); if (_outlineResources && _outlineResources.IsValid) { using (var renderer = new OutlineRenderer(_commandBuffer, _outlineResources, _camera.actualRenderingPath)) { _renderObjects.Clear(); _outlineLayers.GetRenderObjects(_renderObjects); renderer.Render(_renderObjects); } } } }
private void Update() { if (_outlineResources != null && _renderers != null) { _camerasToRemove.Clear(); if (_updateRenderers) { _renderers.Reset(false, _layerMask); } foreach (var kvp in _cameraMap) { var camera = kvp.Key; var cmdBuffer = kvp.Value; if (camera) { cmdBuffer.Clear(); if (_renderers.Count > 0) { using (var renderer = new OutlineRenderer(cmdBuffer, _outlineResources, camera.actualRenderingPath)) { renderer.Render(_renderers.GetList(), _outlineSettings, name); } } } else { cmdBuffer.Dispose(); _camerasToRemove.Add(camera); } } foreach (var camera in _camerasToRemove) { _cameraMap.Remove(camera); } } }
public void RenderSingleObject_ThrowsIfNullArguments() { Assert.Throws <ArgumentNullException>(() => _renderer.Render(default(IList <Renderer>), null, null)); Assert.Throws <ArgumentNullException>(() => _renderer.Render(default(Renderer), null, null)); }