Unity 6.3
0 онлайн 90 гостей 3 в системе
Вход

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;