IProbeIntegrator.SetProgressReporter
Declaration
public void SetProgressReporter(LightTransport.BakeProgressState progress);Параметры
| Параметр | Описание |
|---|---|
| прогресс | Объект состояния прогресса, который будет получать обновления во время интеграции. |
Описание
Настройка отслеживания прогресса для операций интеграции.
Интегратор обновляет состояние прогресса во время выполнения, позволяя внешним системам отображать сведения о ходе работы и обрабатывать запросы на отмену.
Отчет о прогрессе предоставляет:
- Процент завершения (0.0 — 1.0).
- Возможность отмены операций.
- Отслеживание рабочих шагов для подробного прогресса.
Дополнительные ресурсы: ,BakeProgressState.Progress,, ,BakeProgressState.Cancel,.
var integrator = new RadeonRaysProbeIntegrator(); using var progress = new BakeProgressState(); integrator.SetProgressReporter(progress);
// Start integration in background var integrationTask = Task.Run(() => { return integrator.IntegrateDirectRadiance(context, 0, 1000, 2048, false, outputBuffer); });
// Monitor progress while (!integrationTask.IsCompleted) { float currentProgress = progress.Progress(); Debug.Log($"Integration progress: {currentProgress * 100:F1}%");
// Allow user to cancel if (userRequestedCancel) { progress.Cancel(); }
await Task.Delay(100); }
var result = await integrationTask;