36 auto CVarForceOutputsVelocity = IConsoleManager::Get().FindConsoleVariable(TEXT(
"r.BasePassForceOutputsVelocity"));
39 int32 OldValue = CVarForceOutputsVelocity->GetInt();
42 CVarForceOutputsVelocity->Set(1);
45 std::function<TArray<float>(
void *, uint32)> Conversor = [](
void *Data, uint32 Size)
47 TArray<float> IntermediateBuffer;
49 int32 Count = Size /
sizeof(FFloat16Color);
53 FFloat16Color *Buf =
reinterpret_cast<FFloat16Color *
>(Data);
56 IntermediateBuffer.Reserve(Count * 2);
59 for (
int i = 0; i < Count; ++i)
61 float x = (Buf->R.GetFloat() - 0.5f) * 4.f;
62 float y = (Buf->G.GetFloat() - 0.5f) * 4.f;
63 IntermediateBuffer.Add(x);
64 IntermediateBuffer.Add(y);
67 return IntermediateBuffer;
71 FPixelReader::SendPixelsInRenderThread<AOpticalFlowCamera, float>(*
this,
true, Conversor);
74 CVarForceOutputsVelocity->Set(OldValue);