206 lines
7.6 KiB
Markdown
206 lines
7.6 KiB
Markdown
# UnityFx.Outline changelog
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](http://keepachangelog.com/); this project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
|
## [0.8.5] - 2021.11.18
|
|
|
|
Bugfixes and improvements.
|
|
|
|
### Added
|
|
- Added support for HDR color pickers ([#42](https://github.com/Arvtesh/UnityFx.Outline/issues/42)).
|
|
|
|
### Fixed
|
|
- Added loop unroll statement to make shaders compatible with some platforms (WebGL 1.0) ([#45](https://github.com/Arvtesh/UnityFx.Outline/issues/45)).
|
|
|
|
## [0.8.4] - 2021.08.17
|
|
Misc improvements.
|
|
|
|
### Added
|
|
- Enabled ourlines for renderers with no materials attached ([#33](https://github.com/Arvtesh/UnityFx.Outline/issues/33)).
|
|
|
|
## [0.8.3] - 2021.01.25
|
|
|
|
Misc improvements and bugfixes.
|
|
|
|
### Fixed
|
|
- Fixed `OutlineBehaviour` not working in edit mode after disabling and enabling it again.
|
|
|
|
### Changed
|
|
- `OutlineEffect` now works in edit-mode.
|
|
- `OutlineEffect` now exposes `OutlineLayerCollection` instead of `IList`.
|
|
- `OutlineEffect` now uses `OnPreRender` to update its command buffer.
|
|
- Moved `MergeLayerObjects` flag to `OutlineLayer` from `OutlineLayerCollection`.
|
|
- Multiple `OutlineEffect` component instances can now be added to a camera.
|
|
|
|
## [0.8.2] - 2020.11.10
|
|
|
|
Misc improvements.
|
|
|
|
### Added
|
|
- Added support for Single Pass Instanced XR rendering for built-in render pipeline ([#13](https://github.com/Arvtesh/UnityFx.Outline/issues/13)).
|
|
|
|
### Changed
|
|
- Misc inspector improvements.
|
|
|
|
## [0.8.1] - 2020.09.21
|
|
|
|
Alpha test support, bugfixes and misc improvements.
|
|
|
|
### Added
|
|
- Added support for alpha-testing ([#10](https://github.com/Arvtesh/UnityFx.Outline/issues/10)).
|
|
- Added support for merging outline layer objects ([#12](https://github.com/Arvtesh/UnityFx.Outline/issues/12)).
|
|
- Added `RemoveGameObject` helper methof to `OutlineEffect` ([#15](https://github.com/Arvtesh/UnityFx.Outline/issues/15)).
|
|
- Added ability to customize render event in `OutlineBehaviour`.
|
|
- Added ability to render outlines to the specified camera only for `OutlineBehaviour`.
|
|
- Added warning for unsupported render pipelines for `OutlineBehaviour` and `OutlineEffect`.
|
|
|
|
### Changed
|
|
- Misc inspector improvements.
|
|
- Changed default render event to `AfterSkybox`.
|
|
|
|
### Fixed
|
|
- Fixed incorrect condition for selection of render method, which sometimes caused problems with outline rendering on mobiles ([#14](https://github.com/Arvtesh/UnityFx.Outline/issues/14)).
|
|
|
|
## [0.8.0] - 2020.05.30
|
|
|
|
Major refactoring and bugfixes.
|
|
|
|
### Added
|
|
- Use procedural geometry ([DrawProcedural](https://docs.unity3d.com/ScriptReference/Rendering.CommandBuffer.DrawProcedural.html)) on SM3.5+.
|
|
- Added support for both forward and deferred renderers.
|
|
- Added ignore layer mask settings to `OutlineLayerCollection` (previously the ignore layers were specified when adding game objects to layers).
|
|
- Added `OutlineBuilder` helper script for managinf `OutlineLayerCollection` content from editor ([#8](https://github.com/Arvtesh/UnityFx.Outline/issues/8)).
|
|
|
|
### Changed
|
|
- Changed `OutlineSettings` to display enum mask instead of checkboxes.
|
|
- Changed inspector look and feel for `OutlineLayerCollection` assets.
|
|
- Merged shaders for the 2 outline passes into one multi-pass shader.
|
|
- `OutlineLayerCollection` doe not depend on `OutlineRenderer` now.
|
|
|
|
### Fixed
|
|
- Fixed outline rendering on mobiles ([#7](https://github.com/Arvtesh/UnityFx.Outline/issues/7)).
|
|
- Fixed outline shader error on low-end devices.
|
|
|
|
### Removed
|
|
- Dropped .NET 3.5 support, minimal Unity version is set to 2018.4.
|
|
- Removed `IOutlineSettingsEx` interface.
|
|
|
|
## [0.7.2] - 2020.04.08
|
|
|
|
Depth testing support and performance optimizations.
|
|
|
|
### Added
|
|
- Added support for depth testing when rendering outlines. When enabled, outlines are only rendered around the visible object parts ([#1](https://github.com/Arvtesh/UnityFx.Outline/issues/1)).
|
|
- Added a few convenience methods to `OutlineEffect`.
|
|
- Added editor tooltips for outline component fileds.
|
|
|
|
### Fixed
|
|
- Get rid of GC allocatinos during command buffer updates.
|
|
- Fixed `IndexOutOfRangeException` when setting outline width to max value ([#4](https://github.com/Arvtesh/UnityFx.Outline/issues/4)).
|
|
|
|
### Removed
|
|
- Removed change tracking support in package entities ([#2](https://github.com/Arvtesh/UnityFx.Outline/issues/2)).
|
|
|
|
## [0.7.1] - 2020.01.28
|
|
|
|
Bugfixes and project layout changes.
|
|
|
|
### Fixed
|
|
- Fixed `OutlineBehaviour` to allow changing its state while its `GameObject` is inactive.
|
|
|
|
## [0.7.0] - 2019.11.26
|
|
|
|
`MaterialPropertyBlock`-based rendering and [Unity Post-processing Stack v2](https://github.com/Unity-Technologies/PostProcessing/tree/v2) compatibility.
|
|
|
|
### Added
|
|
- Moved to for `MaterialPropertyBlock`-based rendering. This is in-line with Unity post-processing Stack and is more performant approach.
|
|
- Significant optimizations made to `OutlineRenderer`.
|
|
|
|
### Changed
|
|
- `IOutlineSettings` now implements `IEquatable`.
|
|
- Changed all outline shaders to use HLSL-based macros.
|
|
- Modified all shaders to ignore MVP vertex transform to be compatible with the new rendering model.
|
|
- Exposed rendering APIs for `OutlineLayer` and `OutlineLayerCollection`.
|
|
|
|
### Fixed
|
|
- Fixed `TiledGPUPerformanceWarning` on mobile targets.
|
|
|
|
### Removed
|
|
- Removed `OutlineMaterialSet` class. It is not used in `MaterialPropertyBlock`-based effect rendering.
|
|
|
|
## [0.6.0] - 2019.09.26
|
|
|
|
Quality of life improvements.
|
|
|
|
### Added
|
|
- Added `OutlineLayer.Enabled`.
|
|
- Added `OutlineLayer.Name`.
|
|
- Added possibility to change render order of layers via `OutlineLayer.Priority`.
|
|
- Added possibility to edit renderers of an `OutlineLayer`.
|
|
- Added possibility to alter `CameraEvent` used to render `OutlineEffect`.
|
|
- Added more info to the `OutlineLayer` preview inspector.
|
|
|
|
### Changed
|
|
- `IOutilneSettings` setters now throw if overriden.
|
|
|
|
### Fixed
|
|
- Fixed `OutlineLayer.Add` not filtering renderers by the mask passed.
|
|
|
|
## [0.5.0] - 2019.09.09
|
|
|
|
Editor UI improvements and unit tests.
|
|
|
|
### Added
|
|
- Added `OutlineSettings`, that can be shared between dfferent `OutlineLayer` and `OutlineBehaviour` instances.
|
|
- Added custom inspectors for `OutlineSettings`, `OutlineLayerCollection`.
|
|
- Added undo/redo support to all custom inspectors.
|
|
- Added unit-tests.
|
|
|
|
### Changed
|
|
- Improved inspectors for `OutlineBehaviour` and `OutlineEffect`.
|
|
|
|
## [0.4.0] - 2019.08.31
|
|
|
|
Blurred outlines.
|
|
|
|
### Added
|
|
- Added Gauss blurring to outlines.
|
|
- Added outline mode parameter (possible values are `Solid` and `Blurred`).
|
|
- Added outline intensity parameter (for blurred outlines only).
|
|
- Added `IOutlineSettings` interface to make outline settings the same for `OutlineBehaviour` and `OutlineLayer`.
|
|
- Added `OutlineMaterialSet` helper.
|
|
|
|
### Changed
|
|
- Changed solid outline to use Gauss sampling (to achieve smoother outlines).
|
|
- Changed outline implementation to use different passed for horizontal and vertical sampling (to make algorithm complexity linear instead of quadric).
|
|
|
|
### Fixed
|
|
- Fixed an issue with `OutlineBehaviour` not rendering outlines if attached to a `GameObject` with no renderers.
|
|
|
|
### Removed
|
|
- Removed `OutlineResourceCache` class.
|
|
|
|
## [0.3.0] - 2019.08.27
|
|
|
|
### Added
|
|
- Added support for sharing outline layers between `OutlineEffect` instances.
|
|
- Added custom editors for `OutlineEffect` and `OutlineBehaviour`.
|
|
- Added possibility to setup outline layers as `ScriptableObject` asset.
|
|
|
|
### Fixed
|
|
- Fixed profiler error 'BeginSample and EndSample count must match'.
|
|
|
|
## [0.2.0] - 2019.08.19
|
|
|
|
### Added
|
|
- Added `OutlineBehaviour` for rendering per-object outlines.
|
|
- Added `OutlineResources` to help initialize outline effects in runtime.
|
|
- Added `OutlineRenderer` as low-level helper for outline rendering.
|
|
|
|
## [0.1.0] - 2019.08.18
|
|
|
|
### Added
|
|
- Initial release.
|
|
|