Files
UnrealEngineUWP/Engine/Shaders/VelocityCommon.usf
Rolando Caloca 3010398165 UE4 - Switch between outputting velocity as a separate render target or in the base pass as an extra GBuffer (r.BasePassOutputsVelocity defaults to 0)
#codereview Nick.Penwarden, Martin.Mittring

[CL 2413248 by Rolando Caloca in Main branch]
2015-01-20 20:14:07 -05:00

20 lines
752 B
Plaintext

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
/*=============================================================================
VelocityCommon.usf: Common functions for calculating velocity vectors.
=============================================================================*/
#pragma once
float2 Calculate2DVelocity(float4 PackedVelocityA, float4 PackedVelocityC)
{
float2 ScreenPosition = PackedVelocityA.xy / PackedVelocityA.w - View.ViewToClip[2].xy;
float2 PrevScreenPosition = PackedVelocityC.xy / PackedVelocityC.w - View.PrevProjection[2].xy;
// 2d velocity, includes camera an object motion
float2 Velocity = ScreenPosition - PrevScreenPosition;
// Make sure not to touch 0,0 which is clear color
return Velocity;
}