8#include "Materials/Material.h"
9#include "Math/UnrealMathUtility.h"
14 PrimaryActorTick.bCanEverTick =
false;
33 Super::Init(parameters, SimulateSensor);
44 Super::EndPlay(EndPlayReason);
62 FColor* BufferPtr = buffer.GetData();
64 for (
size_t i = 0; i < buffer.Num(); ++i)
67 FLinearColor pixel = FLinearColor::FromSRGBColor(BufferPtr[i]);
71 BufferPtr[i] = FColor(
72 FMath::RoundToInt(pixel.R * 255.0f),
73 FMath::RoundToInt(pixel.G * 255.0f),
74 FMath::RoundToInt(pixel.B * 255.0f));
83 if (SceneCaptureComponent)
94 Path =
"/Game/Agrarsense/Materials/PostProcessingMaterials/DepthEffectMaterialGrayscale_Alt.DepthEffectMaterialGrayscale_Alt";
96 Path =
"/Game/Agrarsense/Materials/PostProcessingMaterials/DepthEffectMaterialGrayscale.DepthEffectMaterialGrayscale";
116 Path =
"/Game/Agrarsense/Materials/PostProcessingMaterials/DepthEffectMaterial_Alt.DepthEffectMaterial_Alt";
118 Path =
"/Game/Agrarsense/Materials/PostProcessingMaterials/DepthEffectMaterial.DepthEffectMaterial";
120 DepthEffectMaterial = Cast<UMaterial>(StaticLoadObject(UMaterial::StaticClass(),
nullptr, *Path));
void AddPostProcessingMaterial(const FString &Path, float Weight=1.0f)
void ChangeCameraParameters(FCameraBaseParameters newParameters)
void RemovePostProcessingMaterial(UMaterial *Material)
void SetShadowRendering(bool RenderShadows)
USceneCaptureComponent2D * GetCaptureComponent2D() const
void DepthInit(FDepthCameraParameters Parameters, bool SimulateSensor=true)
void ChangeDepthCameraParameters(FDepthCameraParameters Parameters)
TWeakObjectPtr< UMaterial > DepthEffectMaterialGrayscale
void SetupDepthMaterial(const bool UseGrayscale)
virtual void AddProcessingToFrameBuffer(TArray< FColor > &buffer) override
ADepthCamera(const FObjectInitializer &ObjectInitializer)
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override
TWeakObjectPtr< UMaterial > DepthEffectMaterial
FDepthCameraParameters DepthCameraParameters
void Init(FCameraBaseParameters parameters, bool SimulateSensor=true) override
FCameraBaseParameters CameraParameters