Last week we pushed a big bugfix update to the hybrid renderer. The new hybrid renderer package is live now. The URP package is in final test and shipping soon. HDRP package didn’t need bug fixing.
Hybrid Renderer is tested with 2020.3 LTS version. Please don’t update yet to 2021 based Unity tech stream.
Hybrid Renderer (0.11.0-preview.43):
Fixed a bug (stability): Memory leak with async fences in data upload
Fixed a bug (stability): Out of bounds access in renderer chunk metaentity query
Fixed a bug (stability): Renderer had structural changes outside StructuralChangePresentationSystemGroup
Fixed a bug: NaN inverse matrix when x/y/z scale is 0 → NaN pixels rendered
Fixed a bug: MaterialColor wrong color (was in gamma color space)
Fixed a bug: RenderMeshUtility.AddComponents spawned entities have no ambient light (didn’t add SH probe components)
Fixed a bug: Entities culled incorrectly at frustum edges
Fixed a bug: Entities not rendering past -32785 units on the X Axis
Missing bugfix note (stability): Out of bound access because of stale LOD bitfield
Missing bugfix note: LodRequirement component refactoring. Up to 2x perf improvement in LODRequirementSystem job
URP (10.5.1):
Fixed a showstopper bug: URP/Lit shader incompatible with SRP Batcher (no rendering)
Fixed a bug: Environment reflection multiplier was not used (always full bright)
Upon investigating this a bit, it turns out that the fix to this X axis culling problem came in just a bit too late to make the release, but we are working on getting that fix public shortly.
I think this issue should be fixed with the description.
Fixed a bug (stability): Out of bounds access in renderer chunk metaentity query
I just double checked, and a fresh download of hybrid.renderer 0.11.0-preview.43 should contain the fix for this issue. If the problem is still happening for you in the fixed version, then please let us know.
I confirmed that the fix is still there in the preview.44 package.
HybridV2RenderSystem.cs line 697 should be “bool lodRangeChange =”. That’s the first line of the fix.
Thanks for the report. I just found another bug related to that. If the camera hasn’t moved at all, the LOD bitfield can remain stale, because it will skip the whole LOD bitfield update job.
I did further investigation for the bug. The LOD bitfield getting stale when camera is not moving requires a bit more work. We will fix it to the next major package drop. Meanwhile, you should just ignore the logged error in the editor. When you move the camera for the next time, the error should disappear.
@SebastianAaltonen This is not editor-only and is not triggered by camera moving/not-moving but rather by entity with LOD being destroyed. Additionally to spamming error in the console all other entities with LODs start to disappear and re-appear randomly so it is rather hard to ignore Mind that this does not happen in preview.42 and only started to happen in preview.43
Yeah, HLOD issues is really annoying and I didn’t manage to find any workarounds. It should also be fairly easy to reproduce. They should add some HLOD example with a spawner spawning some HLODed prefabs and not only static scenes. Below is a GIF showing the issue. The cause is obviously not camera being stationary and it also happens in standalone builds:
spiritedperfectcowbird
Hey, I’m at all not certain whether we’re dealing with the same issue here, but I’ve had LOD issues that I ended up hacking away by changing the camera FOV slightly (±0.0001f) each frame. It’s the ugliest code I wrote all year, but works like magic.