From 2ff4b9772b800df866f36114f862e8aa42f97d5d Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Sun, 4 Aug 2024 01:40:09 +0200 Subject: [PATCH] Made block size and texture size available through the optical flow context, which is better encapsulation. --- Runtime/OpticalFlow/OpticalFlow.cs | 7 +------ Runtime/OpticalFlow/OpticalFlowContext.cs | 4 +++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/Runtime/OpticalFlow/OpticalFlow.cs b/Runtime/OpticalFlow/OpticalFlow.cs index 69951df..3d895fb 100644 --- a/Runtime/OpticalFlow/OpticalFlow.cs +++ b/Runtime/OpticalFlow/OpticalFlow.cs @@ -6,7 +6,7 @@ namespace FidelityFX.FrameGen { public static class OpticalFlow { - public static readonly int MinBlockSize = 8; + internal const int MinBlockSize = 8; internal const int OpticalFlowMaxPyramidLevels = 7; internal const int HistogramBins = 256; internal const int HistogramsPerDim = 3; @@ -44,11 +44,6 @@ namespace FidelityFX.FrameGen public Vector2 MinMaxLuminance; } - public static Vector2Int GetOpticalFlowTextureSize(Vector2Int displaySize) - { - return GetOpticalFlowTextureSize(displaySize, MinBlockSize); - } - internal static Vector2Int GetOpticalFlowTextureSize(Vector2Int displaySize, int opticalFlowBlockSize) { int width = (displaySize.x + opticalFlowBlockSize - 1) / opticalFlowBlockSize; diff --git a/Runtime/OpticalFlow/OpticalFlowContext.cs b/Runtime/OpticalFlow/OpticalFlowContext.cs index 78eed95..a106451 100644 --- a/Runtime/OpticalFlow/OpticalFlowContext.cs +++ b/Runtime/OpticalFlow/OpticalFlowContext.cs @@ -1,5 +1,4 @@ using System; -using System.Runtime.InteropServices; using UnityEngine; using UnityEngine.Assertions; using UnityEngine.Profiling; @@ -10,6 +9,9 @@ namespace FidelityFX.FrameGen public class OpticalFlowContext: FfxContextBase { private const int MaxQueuedFrames = 16; + + public int BlockSize => OpticalFlow.MinBlockSize; + public Vector2Int TextureSize => OpticalFlow.GetOpticalFlowTextureSize(_contextDescription.resolution, OpticalFlow.MinBlockSize); private OpticalFlow.ContextDescription _contextDescription;