public void BindToMaterialPropertyBlock(MaterialPropertyBlock mpb)
 {
     if (mpb == null)
     {
         throw new ArgumentNullException("mbp");
     }
     ProceduralVirtualTexturing.BindToMaterialPropertyBlock(handle, mpb, name);
 }
 public void BindToMaterialPropertyBlock(MaterialPropertyBlock mpb)
 {
     if (mpb == null)
     {
         throw new ArgumentNullException("mbp");
     }
     if (IsValid() == false)
     {
         throw new InvalidOperationException("Invalid ProceduralTextureStack");
     }
     ProceduralVirtualTexturing.BindToMaterialPropertyBlock(handle, mpb, name);
 }
        public void BindToMaterialPropertyBlock(MaterialPropertyBlock mpb)
        {
            if (mpb == null)
            {
                throw new ArgumentNullException("mbp");
            }
            if (IsValid() == false)
            {
                throw new InvalidOperationException("Invalid ProceduralTextureStack {name}");
            }
            bool success = ProceduralVirtualTexturing.BindToMaterialPropertyBlock(handle, mpb, name);

            if (!success)
            {
                throw new InvalidOperationException($"ProceduralTextureStack {name} is not fully initialized on the render thread and cannot bind to a MaterialPropertyBlock. Please try again next frame.");
            }
        }