44 lines
1.7 KiB
C++
44 lines
1.7 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "PostProcess/PostProcessVisualizeCalibrationMaterial.h"
|
|
#include "EngineGlobals.h"
|
|
|
|
static bool IsPostProcessVisualizeCalibrationColorMaterialEnabled(const FSceneView& View)
|
|
{
|
|
return View.Family->EngineShowFlags.VisualizeCalibrationColor && View.CurrentVisualizeCalibrationColorMaterialName != NAME_None;
|
|
}
|
|
|
|
static bool IsPostProcessVisualizeCalibrationGrayscaleMaterialEnabled(const FSceneView& View)
|
|
{
|
|
return View.Family->EngineShowFlags.VisualizeCalibrationGrayscale && View.CurrentVisualizeCalibrationGrayscaleMaterialName != NAME_None;
|
|
}
|
|
|
|
static bool IsPostProcessVisualizeCalibrationCustomMaterialEnabled(const FSceneView& View)
|
|
{
|
|
return View.Family->EngineShowFlags.VisualizeCalibrationCustom && View.CurrentVisualizeCalibrationCustomMaterialName != NAME_None;
|
|
}
|
|
|
|
bool IsPostProcessVisualizeCalibrationMaterialEnabled(const FSceneView& View)
|
|
{
|
|
return (IsPostProcessVisualizeCalibrationColorMaterialEnabled(View) || IsPostProcessVisualizeCalibrationGrayscaleMaterialEnabled(View) || IsPostProcessVisualizeCalibrationCustomMaterialEnabled(View));
|
|
}
|
|
|
|
// Returns whether the Calibration custom material pass needs to render on screen.
|
|
const UMaterialInterface* GetPostProcessVisualizeCalibrationMaterialInterface(const FSceneView& View)
|
|
{
|
|
if (IsPostProcessVisualizeCalibrationColorMaterialEnabled(View))
|
|
{
|
|
return View.FinalPostProcessSettings.VisualizeCalibrationColorMaterial;
|
|
}
|
|
else if (IsPostProcessVisualizeCalibrationGrayscaleMaterialEnabled(View))
|
|
{
|
|
return View.FinalPostProcessSettings.VisualizeCalibrationGrayscaleMaterial;
|
|
}
|
|
else if (IsPostProcessVisualizeCalibrationCustomMaterialEnabled(View))
|
|
{
|
|
return View.FinalPostProcessSettings.VisualizeCalibrationCustomMaterial;
|
|
}
|
|
|
|
return NULL;
|
|
}
|