using UnityEngine;
namespace UnityEngine.Perception.GroundTruth
{
///
/// Interface for setting up Renderers for ground truth generation via .
///
public interface IGroundTruthGenerator
{
///
/// Enables ground truth generation for a component or its associated . This function is called by when a component is registered, created, or enabled.
///
/// The for the given . Can be used to set properties for custom rendering.
/// The under the given .
/// The component that was registered, created, or enabled
/// The instanceId assigned to the given instance.
void SetupMaterialProperties(MaterialPropertyBlock mpb, Renderer renderer, Labeling labeling, uint instanceId);
///
/// Disables ground truth generation for a component or its associated . This function is called by when a component is disabled.
///
/// The for the given . Can be used to set properties for custom rendering.
/// The under the given .
/// The component for which ground-truth generation should stop.
/// The instanceId assigned to the given instance.
void ClearMaterialProperties(MaterialPropertyBlock mpb, Renderer renderer, Labeling labeling, uint instanceId);
}
}