Files
UnrealEngineUWP/Engine/Source/Developer/TargetPlatform/Private/TargetPlatformBase.cpp
mickael gilabert b11ea1332c Base pass can output velocity data for moveable object with no static lighting, in forward and deferred rendering. This saves cpu draw call submission.
In base vertex and pixel shader pass, uniform variable OutputVelocityBuffer is tested to ouput or not velocity data
Configurable per project and/or per platform (r.BasePassOutputsVelocity)

#rb krzysztof.narkowicz
[FYI] anthony.bills

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: mickael.gilabert
#ROBOMERGE-SOURCE: CL 5810274 via CL 5813280 via CL 5813281
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 5844314 by mickael gilabert in Dev-VR branch]
2019-04-12 13:05:38 -04:00

36 lines
1.3 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#include "Common/TargetPlatformBase.h"
#include "HAL/IConsoleManager.h"
#include "DeviceBrowserDefaultPlatformWidgetCreator.h"
bool FTargetPlatformBase::UsesForwardShading() const
{
static IConsoleVariable* CVarForwardShading = IConsoleManager::Get().FindConsoleVariable(TEXT("r.ForwardShading"));
return CVarForwardShading ? (CVarForwardShading->GetInt() != 0) : false;
}
bool FTargetPlatformBase::UsesDBuffer() const
{
static IConsoleVariable* CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("r.DBuffer"));
return CVar ? (CVar->GetInt() != 0) : false;
}
bool FTargetPlatformBase::UsesBasePassVelocity() const
{
static IConsoleVariable* CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("r.BasePassOutputsVelocity"));
return CVar ? (CVar->GetInt()) : false;
}
bool FTargetPlatformBase::UsesSelectiveBasePassOutputs() const
{
static IConsoleVariable* CVar = IConsoleManager::Get().FindConsoleVariable(TEXT("r.SelectiveBasePassOutputs"));
return CVar ? (CVar->GetInt()) : false;
}
TSharedPtr<IDeviceManagerCustomPlatformWidgetCreator> FTargetPlatformBase::GetCustomWidgetCreator() const
{
static TSharedPtr<FDeviceBrowserDefaultPlatformWidgetCreator> DefaultWidgetCreator = MakeShared<FDeviceBrowserDefaultPlatformWidgetCreator>();
return DefaultWidgetCreator;
}