94 lines
2.7 KiB
C++
94 lines
2.7 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "PixelInspectorView.h"
|
|
|
|
#include "Containers/Array.h"
|
|
#include "PixelInspectorResult.h"
|
|
|
|
|
|
UPixelInspectorView::UPixelInspectorView(const FObjectInitializer& ObjectInitializer)
|
|
: Super(ObjectInitializer)
|
|
{
|
|
for (int i = 0; i < FinalColorContextGridSize*FinalColorContextGridSize; ++i)
|
|
{
|
|
FinalColorContext[i] = FLinearColor::Green;
|
|
}
|
|
FinalColor = FLinearColor::Green;
|
|
PreExposure = 1.f;
|
|
SceneColorBeforePostProcessing = FLinearColor::Green;
|
|
SceneColorBeforeTonemap = FLinearColor::Black;
|
|
LuminanceBeforeTonemap = 0.0f;
|
|
Normal = FVector(0.0f);
|
|
PerObjectGBufferData = 0.0f;
|
|
Metallic = 0.0f;
|
|
Specular = 0.0f;
|
|
Roughness = 0.0f;
|
|
MaterialShadingModel = EMaterialShadingModel::MSM_DefaultLit;
|
|
SelectiveOutputMask = 0;
|
|
BaseColor = FLinearColor::Black;
|
|
IndirectIrradiance = 0.0f;
|
|
AmbientOcclusion = 0.0f;
|
|
|
|
//Custom Data
|
|
SubSurfaceColor = FLinearColor::Black;
|
|
SubsurfaceProfile = FVector(0.0f);
|
|
Opacity = 0.0f;
|
|
ClearCoat = 0.0f;
|
|
ClearCoatRoughness = 0.0f;
|
|
WorldNormal = FVector(0.0f);
|
|
BackLit = 0.0f;
|
|
Cloth = 0.0f;
|
|
EyeTangent = FVector(0.0f);
|
|
IrisMask = 0.0f;
|
|
IrisDistance = 0.0f;
|
|
}
|
|
|
|
void UPixelInspectorView::SetFromResult(PixelInspector::PixelInspectorResult &Result)
|
|
{
|
|
FinalColor = FLinearColor::Green;
|
|
//Take the center of the array, TODO display the context
|
|
for (int i = 0; i < FinalColorContextGridSize*FinalColorContextGridSize; ++i)
|
|
{
|
|
if (Result.FinalColor.Num() > i)
|
|
{
|
|
FinalColorContext[i] = Result.FinalColor[i];
|
|
if (i == FMath::FloorToInt((FinalColorContextGridSize*FinalColorContextGridSize)/2.0f))
|
|
{
|
|
FinalColor = Result.FinalColor[i];
|
|
}
|
|
}
|
|
else
|
|
{
|
|
FinalColorContext[i] = FLinearColor::Green;
|
|
}
|
|
}
|
|
|
|
PreExposure = Result.PreExposure;
|
|
SceneColorBeforePostProcessing = Result.SceneColorBeforePostProcessing;
|
|
SceneColorBeforeTonemap = Result.SceneColorBeforeTonemap;
|
|
LuminanceBeforeTonemap = Result.LuminanceBeforeTonemap;
|
|
Normal = Result.Normal;
|
|
PerObjectGBufferData = Result.PerObjectGBufferData;
|
|
Metallic = Result.Metallic;
|
|
Specular = Result.Specular;
|
|
Roughness = Result.Roughness;
|
|
MaterialShadingModel = Result.ShadingModel;
|
|
SelectiveOutputMask = Result.SelectiveOutputMask;
|
|
BaseColor = Result.BaseColor;
|
|
IndirectIrradiance = Result.IndirectIrradiance;
|
|
AmbientOcclusion = Result.AmbientOcclusion;
|
|
|
|
//Custom Data
|
|
SubSurfaceColor = Result.SubSurfaceColor;
|
|
SubsurfaceProfile = Result.SubsurfaceProfile;
|
|
Opacity = Result.Opacity;
|
|
ClearCoat = Result.ClearCoat;
|
|
ClearCoatRoughness = Result.ClearCoatRoughness;
|
|
WorldNormal = Result.WorldNormal;
|
|
BackLit = Result.BackLit;
|
|
Cloth = Result.Cloth;
|
|
EyeTangent = Result.EyeTangent;
|
|
IrisMask = Result.IrisMask;
|
|
IrisDistance = Result.IrisDistance;
|
|
}
|