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))
            {
                using (var renderer = new OutlineRenderer(_commandBuffer, BuiltinRenderTextureType.CameraTarget))
                {
                    renderer.RenderSingleObject(_renderers, _outlineSettings.OutlineMaterials);
                }

                _outlineSettings.AcceptChanges();

#if UNITY_EDITOR
                _commandBufferUpdateCounter++;
#endif
            }
        }
Exemple #2
0
        internal void Render(OutlineRenderer renderer, OutlineResources resources)
        {
            _settings.SetResources(resources);

            foreach (var kvp in _outlineObjects)
            {
                if (kvp.Key)
                {
                    renderer.RenderSingleObject(kvp.Value, _settings.OutlineMaterials);
                }
            }
        }
Exemple #3
0
 public void RenderSingleObject_ThrowsIfNullArguments()
 {
     Assert.Throws <ArgumentNullException>(() => _renderer.RenderSingleObject(default(IList <Renderer>), null));
     Assert.Throws <ArgumentNullException>(() => _renderer.RenderSingleObject(default(Renderer), null));
 }