239 lines
11 KiB
Plaintext
239 lines
11 KiB
Plaintext
***********************************
|
|
*** Perfect Culling - Changelog ***
|
|
***********************************
|
|
|
|
# 1.2.6.2
|
|
Added API to cancel bakes
|
|
Retain visualization settings in the PerfectCullingCamera component
|
|
Take PerfectCullingRendererTag for additional occluders into account
|
|
Support for terrain holes
|
|
FIXED: potentially stripping valid bake groups and preventing bake from starting
|
|
FIXED: not allowing use-case where a single bake group was used with additional occluders
|
|
FIXED: some volume cell size rounding issues
|
|
|
|
|
|
# 1.2.6.1
|
|
FIXED: Vulkan Renderer crash on empty meshes
|
|
FIXED: Vulkan Renderer writing to stdout
|
|
Added HideInInspector attribute to bake data array to prevent third-party assets from accessing them
|
|
Workaround for Unity 2022 not maintaining native DLL references
|
|
|
|
|
|
# 1.2.6
|
|
FIXED: Vulkan Renderer crash for very dense scenes
|
|
FIXED: Vulkan Renderer culling terrain when it was visible
|
|
FIXED: Can't remove MeshRenderer because PerfectCullingRendererTag (Script) depends on it
|
|
Ability to specify axes for individual Merge-Downsample iterations
|
|
Produce error when NativeLib or NativeLibVulkan are not assigned in PerfectCullingResourcesLocator instead of silently falling back to Unity Renderer.
|
|
Ignore objects using hideFlags (HideInHierarchy, HideInInspector)
|
|
PerfectCullingRendererTag checkbox ExcludeFromBake is evaluated before bake and matching renderers automatically removed
|
|
Added PerfectCullingConstants.DisableConfirmationDialogs
|
|
Minor improvements
|
|
|
|
|
|
# 1.2.5.1
|
|
FIXED: some components show "This script is an editor script."
|
|
Removed obsolete script
|
|
|
|
|
|
# 1.2.5
|
|
FIXED: included some scripts and components in builds unnecessarily
|
|
FIXED: some DLLs have been included in builds unnecessarily
|
|
Minor fixes
|
|
|
|
|
|
# 1.2.4
|
|
FIXED: Renderer parented to Transform that makes use of negative scaling was rendering incorrectly using Vulkan Renderer
|
|
FIXED: Warnings about Dispose() after cancelling builds in more recent Unity versions
|
|
FIXED: FreeModeHandle API change in Unity 2022
|
|
FIXED: Some unused code warnings
|
|
FIXED: Generating harmless and non-fatal shader error when using GLES2
|
|
Created dedicated window to manage bake groups
|
|
Made Far Clip Plane adjustable
|
|
Added option to render terrains double-sided and made it the default
|
|
Bake data also stores renderer name now
|
|
Added feature to fail build when invalid renderers have been detected
|
|
|
|
|
|
# 1.2.3
|
|
FIXED: Performance issue caused by multi-camera setups
|
|
FIXED: Stacked transparent objects culling inconsistently
|
|
Increased default mesh resolution for terrains and added resolution settings and preview to PerfectCullingTerrain
|
|
Disabled some code that tried to optimize bake performance by disabling components (was just causing problems and had too many edge-cases)
|
|
Use unlit materials for demo scenes to increase compatibility with all render pipelines
|
|
|
|
|
|
# 1.2.2
|
|
FIXED: Double-sided objects not maintaining render mode
|
|
FIXED: Rotated volumes sample incorrect position
|
|
FIXED: Unused variable warning
|
|
FIXED: Rendering additional gizmo at origin (0, 0, 0)
|
|
FIXED: Empty cell search breaking visualization
|
|
FIXED: GPU readback issue on M1 chipsets (Unity Apple Silicon version)
|
|
CHANGED: ReadMultipleBitsInBitStream (PerfectCullingConstants.cs) defaults to true now
|
|
|
|
|
|
# 1.2.1
|
|
Optimized "Initialize" step (optimized world space to local space calculations)
|
|
|
|
|
|
# 1.2.0
|
|
FIXED: EndLayoutGroup: BeginLayoutGroup must be called first.
|
|
FIXED: Native renderers potentially selecting empty LOD level
|
|
FIXED: Already referenced additional occluders added again as renderers
|
|
|
|
|
|
# 1.1.9
|
|
ADDED: Native Vulkan Renderer (Experimental; Windows only at the moment)
|
|
ADDED: Layer selection to Renderer Selection Window
|
|
ADDED: Option to automatically update the bake speed for better estimates
|
|
FIXED: Unreachable code warning in BitStreamReader
|
|
FIXED: Native Renderer (OpenGL) not taking into account PerfectCullingRendererTag render mode
|
|
Final bake compression step parallelized for faster bake completion
|
|
Quality of life changes
|
|
|
|
|
|
# 1.1.8
|
|
FIXED: Compile errors in Unity Unity 2019.1 and Unity 2019.2
|
|
FIXED: Terrain failing build process if Terrain was on Layer 30
|
|
|
|
|
|
# 1.1.7
|
|
FIXED: Gizmos disappearing after entering and leaving play mode until assembly reload occured (in more recent Unity versions)
|
|
ADDED: New OutOfBoundsBehaviour called IgnoreDoNothing (allows to ignore volume if camera was outside)
|
|
Show warning if no bake group was added to add context why Bake button non-interactable
|
|
|
|
|
|
# 1.1.6
|
|
FIXED: Unwarranted warning "Hash doesn't match. Rebake might be required." when double-sided checkbox was enabled on PerfectCullingRendererTag
|
|
|
|
|
|
# 1.1.5
|
|
FIXED: Incorrect HashCode calculation causing issues in multi-terrain setups
|
|
FIXED: Gizmos incorrectly took into account transform scaling
|
|
ADDED: Option to attempt to find non-empty cell if sampled cell was empty
|
|
|
|
|
|
|
|
# 1.1.4
|
|
FIXED: Potentially not unloading volume asset data after scene transitions
|
|
FIXED: Ignore unloaded scenes when using Bake All option
|
|
FIXED: Fully restore loaded scenes at the time of using Bake All option
|
|
FIXED: HDRP not visualizing Frustum Culling correctly
|
|
FIXED: Merge-downsample visualization was not working correctly
|
|
FIXED: Pipe not connected error in more recent Unity versions
|
|
ADDED: PerfectCullingTerrain script to improve support for terrains
|
|
ADDED: Profiler sections to make profiling easier
|
|
ADDED: Empty Cell Behaviour option. Allows to cull everything or make everything visible if an unbaked/empty cell was active.
|
|
ADDED: AlwaysIncludeVolume that allows to include cells that had been excluded
|
|
ADDED: PerfectCullingMonoGroup to allow to cull any kind of UnityBehaviour along with a renderer (for instance allows to cull lights, scripts, etc.)
|
|
ADDED: Ability to force a render mode to force it to be transparent or opaque
|
|
ADDED: Allow Renderer Selection Window to filter for static occluders/occludee specifically
|
|
ADDED: Ability to exclude probes on NavMesh that are too far away from XZ plane
|
|
ADDED: Additional documentation
|
|
Made ToggleForceRenderingOff the default option (will fallback to ToggleShadowcastMode in Unity 2018)
|
|
Improved performance for applying renderer state changes
|
|
Unity is set as default renderer now because the performance difference became more and more negligible as Unity is improving Editor performance.
|
|
Quality of life changes here and there
|
|
|
|
|
|
|
|
# 1.1.3.1
|
|
FIXED: excludeInsideColliders option with ExcludeBelowColliderArraySamplingProvider excluding cells with an undesired offset
|
|
|
|
|
|
# 1.1.3
|
|
FIXED: Missing deltaTime for FlyCamera demo script
|
|
ADDED: Initial implementation for Portal Cells (allows to clamp to the portal cell instead of the closest cell when out of bounds)
|
|
ADDED: Terrain to mesh convert utility (TerrainToMeshUtility component)
|
|
ADDED: Customizable offset for ExcludeBelowColliderSamplingProvider
|
|
ADDED: ExcludeBelowColliderArraySamplingProvider (this deprecates the original ExcludeBelowColliderSamplingProvider)
|
|
ADDED: ExcludeInsideCollidersSamplingProvider
|
|
ADDED: Calculate hash to inform about potential need of rebake
|
|
ADDED: API to bake a single view point (useful for Editor functionality)
|
|
ADDED: Layer to allow using different volumes for different cameras, etc.
|
|
ADDED: Store bake time and duration in baked data asset
|
|
FIXED: LoadAll<> loading more assets than necessary
|
|
FIXED: Adjusted thread count, etc. for native renderer to make it even more compatible
|
|
FIXED: Manually adding PerfectCullingVolume resulted in volume of size 0
|
|
FIXED: Potential NullReferenceException for missing scripts attached to URP Lights
|
|
FIXED: Null renderers in additional occluder array fails bake
|
|
FIXED: Overflow while merge-downsampling bakes with more than 10M cells
|
|
FIXED: Volume resizing being weird for some rotational values
|
|
Removed path references to make the asset independent from location in project
|
|
Some additional tweaks here and there
|
|
|
|
# 1.1.2.2
|
|
FIXED: PerfectCullingVolume visualization might not show renderers in Game View (was expecting a layer that however might be culled)
|
|
FIXED: Potential exception caused by accessing UnityEditor.Lightmapping.lightingSettings (only Unity 2020 and higher)
|
|
Removed log message that is no longer relevant
|
|
|
|
|
|
# 1.1.2.1
|
|
FIXED: Invalid (null) renderer in LODGroup causes the Renderer Selection Tool to fail
|
|
FIXED: ETA in progress window doesn't make sense when cells are excluded (was not correctly deducting excluded cells)
|
|
|
|
|
|
# 1.1.2
|
|
FIXED: Harmless error for meshes that got more materials assigned than sub meshes
|
|
FIXED: Potential Editor slow down selecting large bake data (introduced custom inspector that hides some irrelevant information)
|
|
Improved macOS compatibility and bake speed (Windows is recommended for fastest bake times though)
|
|
Added PerfectCulling.API namespace to centralize all the public API thus making it easier to use
|
|
Added API to add and remove renderers from BakeGroup at run-time
|
|
Added multi-scene bake support
|
|
Print warning for missing renderers (Editor only)
|
|
Added little size utility for scaling PerfectCullingVolume based on the bounds of the selected renderers
|
|
Added "Fix" button that assist you in finding a valid cell size
|
|
Added pre-calculated unique color table for better performance and even more determinism
|
|
Added GUI support for additional occluders that are not managed by the asset (occlcuder but not occludee)
|
|
Added Assembly Definition to Perfect Culling folder
|
|
Patched up some typos in the documentation
|
|
Some quality of life changes here and there
|
|
|
|
|
|
# 1.1.1
|
|
FIXED: Unnecessary scene reload when bake didn't even start (for instance no renderers added)
|
|
FIXED: Correctly format numbers in ETA calculation dialog
|
|
FIXED: Missing materials will now show a warning instead of not allowing to bake
|
|
FIXED: Some warnings caused by scripts
|
|
Native Renderer overhead significantly reduced (no more "Preparing sampling information", "Preparing meshes")
|
|
Added ability to render objects double-sided (disables backface culling)
|
|
Made example sampling provider (ExcludeBelowColliderSamplingProvider) a built-in sampling provider and made it more robust.
|
|
Added two more built-in sampling providers: ExcludeFloatingSamplingProvider and ExcludeFarNavMeshSamplingProvider
|
|
Reduced unnecessary memory allocations for some editor scripts.
|
|
Some more polish and quality of life changes
|
|
Updated documentation and video tutorial
|
|
|
|
|
|
# 1.1
|
|
FIXED: Exception caused by ToggleRenderer during scene changes
|
|
FIXED: Renderers that use sub-materials failed to render correctly in some configurations
|
|
FIXED: Harmless error spam caused by URP Lights when bake performed using Unity Renderer
|
|
FIXED: Camera aligning to wrong cell in multi-volume setups
|
|
FIXED: LODGroups not correctly taken into account when added to volume (please clear your renderers and re-add them)
|
|
FIXED: Potential baking issues caused by rotated volumes
|
|
Parallelized Merge-Downsample step to make it significantly faster
|
|
General bake performance improvements
|
|
Custom handles for more user-friendly volume scaling
|
|
API to exclude cells from bake by placing volumes and/or custom scripts
|
|
Added tag object to exclude renderers from culling
|
|
Bake API allows to pass in additional occluders
|
|
Ability to perform baking on the CPU (not recommended but should help for less powerful devices)
|
|
Added option to change the out of bounds behaviour for volumes (cull the entire volume instead of clamping to nearest cell)
|
|
Show error message when invalid renderers are detected
|
|
Many smaller quality of life changes
|
|
Additional documentation
|
|
|
|
|
|
# 1.0.1
|
|
FIXED: Compile error in Unity 2020
|
|
Frustum Culling Visualization
|
|
Improved bake performance
|
|
Improved volume resizing
|
|
Allow more Downsample+Merge iterations
|
|
Improved transparency support
|
|
Improved documentation
|
|
Small tweaks
|
|
|
|
# 1.0.0
|
|
Initial release |