/// <inheritdoc/> void IOcclusionProxy.UpdateOccluder() { var data = RenderData as OccluderData; if (data == null) { data = new OccluderData(Occluder); RenderData = data; IsDirty = true; } if (IsDirty) { data.Update(Occluder, PoseWorld, ScaleWorld); IsDirty = false; } }
/// <inheritdoc/> void IOcclusionProxy.UpdateOccluder() { Debug.Assert(((IOcclusionProxy)this).HasOccluder, "Check IOcclusionProxy.HasOccluder before calling UpdateOccluder()."); // The occluder data is created when needed and cached in RenderData. var data = RenderData as OccluderData; if (data == null) { data = new OccluderData(Mesh.Occluder); RenderData = data; IsDirty = true; } if (IsDirty) { data.Update(Mesh.Occluder, PoseWorld, ScaleWorld); IsDirty = false; } }