CARLA
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
ASceneCaptureSensor_WideAngleLens Class Reference

#include <SceneCaptureSensor_WideAngleLens.h>

+ Inheritance diagram for ASceneCaptureSensor_WideAngleLens:

Public Member Functions

 ASceneCaptureSensor_WideAngleLens (const FObjectInitializer &ObjectInitializer)
 
void EnablePostProcessingEffects (bool Enable=true)
 
void EnqueueRenderSceneImmediate ()
 Immediate enqueues render commands of the scene at the current time.
 
const TArray< float > & GetCameraCoefficients () const
 
ECameraModel GetCameraModel () const
 
TArrayView< USceneCaptureComponent2D_CARLA * > GetCaptureComponents2D ()
 
UTextureRenderTarget2D * GetCaptureRenderTarget ()
 
const FRHISamplerState * GetCubemapSampler () const
 
int32 GetFaceSize () const
 
float GetFocalLength () const
 
float GetFOVAngle () const
 
float GetFOVAngleX () const
 
float GetFOVAngleY () const
 
float GetFOVFadeSize () const
 
bool GetFOVMaskEnable () const
 
uint32 GetImageHeight () const
 
FIntPoint GetImageSize () const
 
uint32 GetImageWidth () const
 
const TArray< float > & GetLensLUT () const
 
float GetLensThetaMax () const
 
FRHIGPUReadbackPoolPtr GetReadbackPool () const
 Recycling pool of GPU readback staging buffers for the projected image (created in BeginPlay, dropped in EndPlay), as ASceneCaptureSensor owns one for the pinhole cameras; without it every frame allocated a fresh staging buffer.
 
bool GetRenderEquirectangular () const
 
float GetRenderEquirectangularLongitudeOffset () const
 
bool GetRenderPerspective () const
 
const FCarlaShowOnlyFilter & GetShowOnlyFilter () const
 
float GetTargetGamma () const
 
bool GetUseRayTracing () const
 
bool HasExplicitLensIntrinsics () const
 
bool IsShowOnlyEnabled () const
 
void Set (const FActorDescription &ActorDescription) override
 
void SetCameraCoefficients (const TArray< float > &Coefficients)
 
void SetCameraCoefficients (TArrayView< const float > Coefficients)
 
void SetCameraModel (ECameraModel NewCameraModel)
 
void SetCubemapSampler (FRHISamplerState *NewCubemapSampler)
 
void SetFaceSize (int32 Side)
 Side length in pixels of the six cube-face render targets.
 
void SetFocalLength (float NewFocalLength)
 
void SetFOVAngle (float NewFOV)
 
void SetFOVFadeSize (float NewFOVFadeSize)
 
void SetFOVMaskEnable (bool bEnable)
 
void SetImageSize (int32 Width, int32 Height)
 
void SetImageSize (uint32 Width, uint32 Height)
 
void SetLensIntrinsics (float Fx, float Fy, float Cx, float Cy)
 Explicit intrinsics in normalized viewport units, the same convention as sensor.camera.rt_lens: x_px = (Cx + Fx * R * cos(phi)) * Width, y_px = (Cy + Fy * R * sin(phi)) * Height.
 
void SetLensLUT (const TArray< float > &Samples, float ThetaMaxRadians)
 LUT1D camera model: R(Theta) samples, uniformly spaced over [0, ThetaMaxRadians], monotonically non-decreasing, in the normalized units of the lens intrinsics (pixel = c + f * R, see SetLensIntrinsics).
 
void SetRenderEquirectangular (bool bEnable)
 
void SetRenderEquirectangularLongitudeOffset (float Shift)
 
void SetRenderPerspective (bool bEnable)
 
void SetShadowCatcherTags (const FString &CommaSeparatedLabels)
 
void SetShowOnlyActorIds (const FString &CommaSeparatedIds)
 
void SetShowOnlyTags (const FString &CommaSeparatedLabels)
 Show-only render mode (see FCarlaShowOnlyFilter); applied to all six face captures.
 
void SetTargetGamma (float Gamma)
 
void SetUseRayTracing (bool Enable)
 
void WaitForRenderThreadToFinish ()
 Blocks until the render thread has finished all its tasks.
 
- Public Member Functions inherited from ASensor
bool AreClientsListening ()
 
 ASensor (const FObjectInitializer &ObjectInitializer)
 
void ClearReadyToTick ()
 
std::optional< FActorAttribute > GetAttribute (const FString Name)
 
const UCarlaEpisode & GetEpisode () const
 
virtual void GetMirrorState (carla::multigpu::SensorState &State) const
 Multi-GPU: the runtime state this sensor starts its next tick from (noise generator, sweep angle, history).
 
URandomEngine * GetRandomEngine ()
 
float GetReadyToTickDeltaSeconds () const
 
int32 GetSeed () const
 
auto GetToken () const
 Return the token that allows subscribing to this sensor's stream.
 
bool IsReadyToTick () const
 
bool IsStreamReady ()
 
FDataStream MoveDataStream ()
 
virtual void OnFirstClientConnected ()
 
virtual void OnLastClientDisconnected ()
 
void PostPhysTickInternal (UWorld *World, ELevelTick TickType, float DeltaSeconds)
 
void SetDataStream (FDataStream InStream)
 Replace the FDataStream associated with this sensor.
 
void SetEpisode (const UCarlaEpisode &InEpisode)
 
virtual void SetMirrorState (const carla::multigpu::SensorState &State)
 
void SetPrimaryTick (float DeltaSeconds)
 Multi-GPU secondary: tick in this engine frame, with the primary's delta.
 
void SetSavingDataToDisk (bool bSavingData)
 
void SetSeed (int32 InSeed)
 
void Tick (const float DeltaTime) final
 

Static Public Member Functions

template<typename TSensor >
static void CaptureAndSendToClient (TSensor &Sensor)
 Capture the six faces, project them into the lens, and deliver the image through ImageUtil's per-tick batched readback – the same path as every raster camera (ASceneCaptureCamera::PostPhysTick).
 
- Static Public Member Functions inherited from ASensor
static FSensorCaptureContext MakeCaptureContext (const ASensor &Sensor)
 Call on the game thread right after CaptureScene().
 

Protected Member Functions

virtual void BeginPlay () override
 
void CaptureSceneExtended ()
 
uint8 ComputeCubemapRenderMask () const
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
uint8 FindFaceIndex (FVector2D UV) const
 
virtual FLinearColor GetInvalidPixelColor () const
 Colour written to pixels the lens maps no ray to (LUT1D beyond its last sample).
 
virtual void PostPhysTick (UWorld *World, ELevelTick TickType, float DeltaTime) override
 
virtual void PrePhysTick (float DeltaSeconds) override
 
virtual void SetUpSceneCaptureComponents (TArrayView< USceneCaptureComponent2D_CARLA * > SceneCaptures)
 
float VerticalToHorizontal (float Value) const
 
- Protected Member Functions inherited from ASensor
void EndPlay (EEndPlayReason::Type EndPlayReason) override
 
template<typename SensorType >
FAsyncDataStream GetDataStream (SensorType &&Self)
 Return the FDataStream associated with this sensor.
 
void PostActorCreated () override
 

Protected Attributes

bool bEnable16BitFormat: 1
 
bool bEnablePostProcessingEffects: 1
 
bool bExplicitIntrinsics: 1
 
bool bFOVMaskEnable: 1
 
bool bRenderEquirectangular: 1
 
bool bRenderPerspective: 1
 
bool bUseRayTracing: 1
 
ECameraModel CameraModel
 
UTextureRenderTarget2D * CaptureRenderTarget
 
uint8 CubemapRenderMask
 
FRHISamplerState * CubemapSampler
 
TArray< USceneCaptureComponent2D_CARLA * > FaceCaptures
 
TArray< UTextureRenderTarget2D * > FaceRenderTargets
 
int32 FaceSize = 0
 
float FOVFadeSize
 
uint32 ImageHeight
 
uint32 ImageWidth
 
TArray< float > KannalaBrandtCameraCoefficients
 
FVector4f LensIntrinsics
 
TArray< float > LensLUT
 
float LensThetaMax
 
float LongitudeOffset
 
int32 NumCaptures = 0
 Captures rendered as camera cuts since BeginPlay (carla.Camera.SpawnCameraCuts).
 
FRHIGPUReadbackPoolPtr ReadbackPool
 
FCarlaShowOnlyFilter ShowOnlyFilter
 Show-only actor filter, applied to every face capture right before the faces are captured (see FCarlaShowOnlyFilter).
 
float TargetGamma
 
float XFOVAngle
 
float YFocalLength
 
float YFOVAngle
 
- Protected Attributes inherited from ASensor
bool bIsActive = false
 
bool bSavingDataToDisk = false
 
URandomEngine * RandomEngine = nullptr
 Random Engine used to provide noise for sensor output.
 
int32 Seed = 123456789
 Seed of the pseudo-random engine.
 

Friends

class ACarlaGameModeBase
 
class FPixelReader
 

Additional Inherited Members

- Static Protected Member Functions inherited from ASensor
template<typename SensorType , typename ElementType >
static void SendDataToClient (SensorType &&Sensor, TArrayView< ElementType > SensorData, const FSensorCaptureContext &CaptureContext)
 

Detailed Description

Definition at line 30 of file SceneCaptureSensor_WideAngleLens.h.

Constructor & Destructor Documentation

◆ ASceneCaptureSensor_WideAngleLens()

ASceneCaptureSensor_WideAngleLens::ASceneCaptureSensor_WideAngleLens ( const FObjectInitializer &  ObjectInitializer)

Definition at line 69 of file SceneCaptureSensor_WideAngleLens.cpp.

Member Function Documentation

◆ BeginPlay()

void ASceneCaptureSensor_WideAngleLens::BeginPlay ( )
overrideprotectedvirtual

◆ CaptureAndSendToClient()

template<typename TSensor >
static void ASceneCaptureSensor_WideAngleLens::CaptureAndSendToClient ( TSensor &  Sensor)
inlinestatic

Capture the six faces, project them into the lens, and deliver the image through ImageUtil's per-tick batched readback – the same path as every raster camera (ASceneCaptureCamera::PostPhysTick).

The previous FPixelReader::SendPixelsInRenderThread path locked the GPU readback on a worker thread, which asserts IsInRenderingThread() on UE 5.8.

Definition at line 254 of file SceneCaptureSensor_WideAngleLens.h.

References ASensor::MakeCaptureContext(), and ImageUtil::ReadImageDataAsyncFColor().

Referenced by ADepthCamera_WideAngleLens::PostPhysTick(), AInstanceSegmentationCamera_WideAngleLens::PostPhysTick(), ASceneCaptureCamera_WideAngleLens::PostPhysTick(), and ASemanticSegmentationCamera_WideAngleLens::PostPhysTick().

◆ CaptureSceneExtended()

void ASceneCaptureSensor_WideAngleLens::CaptureSceneExtended ( )
protected

Definition at line 517 of file SceneCaptureSensor_WideAngleLens.cpp.

References FCarlaShowOnlyFilter::ApplyTo(), bExplicitIntrinsics, CameraModelUtil::FDistortCubemapToImageOptions::bExplicitIntrinsics, bFOVMaskEnable, CameraModelUtil::FDistortCubemapToImageOptions::bFOVMaskEnable, bRenderEquirectangular, CameraModelUtil::FDistortCubemapToImageOptions::bRenderEquirectangular, bRenderPerspective, CameraModelUtil::FDistortCubemapToImageOptions::bRenderPerspective, CameraModel, CameraModelUtil::FDistortCubemapToImageOptions::CameraModel, CaptureRenderTarget, CaptureSceneExtended(), CubemapRenderMask, CubemapSampler, CVarWideAngleSensorDumpAllFrames(), CVarWideAngleSensorDumpAllFramesCubemap(), CVarWideAngleSensorDumpAllFramesPath(), CVarWideAngleSensorSkipVFTR(), CameraModelUtil::DistortCubemapToImage(), FaceCaptures, FaceRenderTargets, FOVFadeSize, CameraModelUtil::FDistortCubemapToImageOptions::FOVFadeSize, FrameCounter, ASensor::GetEpisode(), GetInvalidPixelColor(), ImageHeight, ImageWidth, CameraModelUtil::FDistortCubemapToImageOptions::Intrinsics, Invalid, CameraModelUtil::FDistortCubemapToImageOptions::InvalidColor, FCarlaShowOnlyFilter::IsEnabled(), KannalaBrandtCameraCoefficients, CameraModelUtil::FDistortCubemapToImageOptions::KannalaBrandtCoefficients, LensIntrinsics, LensLUT, LensThetaMax, LongitudeOffset, CameraModelUtil::FDistortCubemapToImageOptions::LongitudeOffset, CameraModelUtil::FDistortCubemapToImageOptions::LUT, NumCaptures, FCarlaShowOnlyFilter::Refresh(), FPixelReader::SavePixelsToDisk(), ShowOnlyFilter, CameraModelUtil::FDistortCubemapToImageOptions::ThetaMax, YFocalLength, CameraModelUtil::FDistortCubemapToImageOptions::YFocalLength, YFOVAngle, and CameraModelUtil::FDistortCubemapToImageOptions::YFOVAngle.

Referenced by CaptureSceneExtended(), and EnqueueRenderSceneImmediate().

◆ ComputeCubemapRenderMask()

uint8 ASceneCaptureSensor_WideAngleLens::ComputeCubemapRenderMask ( ) const
protected

◆ EnablePostProcessingEffects()

void ASceneCaptureSensor_WideAngleLens::EnablePostProcessingEffects ( bool  Enable = true)
inline

◆ EndPlay()

void ASceneCaptureSensor_WideAngleLens::EndPlay ( const EEndPlayReason::Type  EndPlayReason)
overrideprotectedvirtual

◆ EnqueueRenderSceneImmediate()

void ASceneCaptureSensor_WideAngleLens::EnqueueRenderSceneImmediate ( )

Immediate enqueues render commands of the scene at the current time.

Definition at line 427 of file SceneCaptureSensor_WideAngleLens.cpp.

References CaptureSceneExtended(), and EnqueueRenderSceneImmediate().

Referenced by EnqueueRenderSceneImmediate().

◆ FindFaceIndex()

uint8 ASceneCaptureSensor_WideAngleLens::FindFaceIndex ( FVector2D  UV) const
protected

◆ GetCameraCoefficients()

const TArray< float > & ASceneCaptureSensor_WideAngleLens::GetCameraCoefficients ( ) const

◆ GetCameraModel()

ECameraModel ASceneCaptureSensor_WideAngleLens::GetCameraModel ( ) const

Definition at line 227 of file SceneCaptureSensor_WideAngleLens.cpp.

References CameraModel.

◆ GetCaptureComponents2D()

TArrayView< USceneCaptureComponent2D_CARLA * > ASceneCaptureSensor_WideAngleLens::GetCaptureComponents2D ( )

◆ GetCaptureRenderTarget()

UTextureRenderTarget2D * ASceneCaptureSensor_WideAngleLens::GetCaptureRenderTarget ( )

Definition at line 341 of file SceneCaptureSensor_WideAngleLens.cpp.

References CaptureRenderTarget.

◆ GetCubemapSampler()

const FRHISamplerState * ASceneCaptureSensor_WideAngleLens::GetCubemapSampler ( ) const
inline

Definition at line 194 of file SceneCaptureSensor_WideAngleLens.h.

◆ GetFaceSize()

int32 ASceneCaptureSensor_WideAngleLens::GetFaceSize ( ) const
inline

Definition at line 59 of file SceneCaptureSensor_WideAngleLens.h.

◆ GetFocalLength()

float ASceneCaptureSensor_WideAngleLens::GetFocalLength ( ) const

Definition at line 303 of file SceneCaptureSensor_WideAngleLens.cpp.

References YFocalLength.

◆ GetFOVAngle()

float ASceneCaptureSensor_WideAngleLens::GetFOVAngle ( ) const

Definition at line 242 of file SceneCaptureSensor_WideAngleLens.cpp.

References YFOVAngle.

◆ GetFOVAngleX()

float ASceneCaptureSensor_WideAngleLens::GetFOVAngleX ( ) const

Definition at line 252 of file SceneCaptureSensor_WideAngleLens.cpp.

References XFOVAngle.

Referenced by ComputeCubemapRenderMask().

◆ GetFOVAngleY()

float ASceneCaptureSensor_WideAngleLens::GetFOVAngleY ( ) const

Definition at line 247 of file SceneCaptureSensor_WideAngleLens.cpp.

References YFOVAngle.

Referenced by ComputeCubemapRenderMask().

◆ GetFOVFadeSize()

float ASceneCaptureSensor_WideAngleLens::GetFOVFadeSize ( ) const

Definition at line 396 of file SceneCaptureSensor_WideAngleLens.cpp.

References FOVFadeSize.

◆ GetFOVMaskEnable()

bool ASceneCaptureSensor_WideAngleLens::GetFOVMaskEnable ( ) const

◆ GetImageHeight()

uint32 ASceneCaptureSensor_WideAngleLens::GetImageHeight ( ) const
inline

Definition at line 69 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by BeginPlay(), and VerticalToHorizontal().

◆ GetImageSize()

FIntPoint ASceneCaptureSensor_WideAngleLens::GetImageSize ( ) const
inline

Definition at line 75 of file SceneCaptureSensor_WideAngleLens.h.

◆ GetImageWidth()

uint32 ASceneCaptureSensor_WideAngleLens::GetImageWidth ( ) const
inline

Definition at line 64 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by BeginPlay(), and VerticalToHorizontal().

◆ GetInvalidPixelColor()

virtual FLinearColor ASceneCaptureSensor_WideAngleLens::GetInvalidPixelColor ( ) const
inlineprotectedvirtual

Colour written to pixels the lens maps no ray to (LUT1D beyond its last sample).

Black for colour and label sensors; the depth sensor overrides it with white, which decodes to the far plane.

Reimplemented in ADepthCamera_WideAngleLens.

Definition at line 309 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by CaptureSceneExtended().

◆ GetLensLUT()

const TArray< float > & ASceneCaptureSensor_WideAngleLens::GetLensLUT ( ) const
inline

Definition at line 125 of file SceneCaptureSensor_WideAngleLens.h.

◆ GetLensThetaMax()

float ASceneCaptureSensor_WideAngleLens::GetLensThetaMax ( ) const
inline

Definition at line 131 of file SceneCaptureSensor_WideAngleLens.h.

◆ GetReadbackPool()

FRHIGPUReadbackPoolPtr ASceneCaptureSensor_WideAngleLens::GetReadbackPool ( ) const
inline

Recycling pool of GPU readback staging buffers for the projected image (created in BeginPlay, dropped in EndPlay), as ASceneCaptureSensor owns one for the pinhole cameras; without it every frame allocated a fresh staging buffer.

Definition at line 203 of file SceneCaptureSensor_WideAngleLens.h.

◆ GetRenderEquirectangular()

bool ASceneCaptureSensor_WideAngleLens::GetRenderEquirectangular ( ) const

◆ GetRenderEquirectangularLongitudeOffset()

float ASceneCaptureSensor_WideAngleLens::GetRenderEquirectangularLongitudeOffset ( ) const

Definition at line 406 of file SceneCaptureSensor_WideAngleLens.cpp.

References LongitudeOffset, and RadToDeg.

◆ GetRenderPerspective()

bool ASceneCaptureSensor_WideAngleLens::GetRenderPerspective ( ) const

Definition at line 351 of file SceneCaptureSensor_WideAngleLens.cpp.

References bRenderPerspective.

◆ GetShowOnlyFilter()

const FCarlaShowOnlyFilter & ASceneCaptureSensor_WideAngleLens::GetShowOnlyFilter ( ) const
inline

Definition at line 240 of file SceneCaptureSensor_WideAngleLens.h.

◆ GetTargetGamma()

float ASceneCaptureSensor_WideAngleLens::GetTargetGamma ( ) const

Definition at line 346 of file SceneCaptureSensor_WideAngleLens.cpp.

References TargetGamma.

◆ GetUseRayTracing()

bool ASceneCaptureSensor_WideAngleLens::GetUseRayTracing ( ) const
inline

Definition at line 209 of file SceneCaptureSensor_WideAngleLens.h.

◆ HasExplicitLensIntrinsics()

bool ASceneCaptureSensor_WideAngleLens::HasExplicitLensIntrinsics ( ) const
inline

Definition at line 145 of file SceneCaptureSensor_WideAngleLens.h.

◆ IsShowOnlyEnabled()

bool ASceneCaptureSensor_WideAngleLens::IsShowOnlyEnabled ( ) const
inline

Definition at line 235 of file SceneCaptureSensor_WideAngleLens.h.

◆ PostPhysTick()

void ASceneCaptureSensor_WideAngleLens::PostPhysTick ( UWorld *  World,
ELevelTick  TickType,
float  DeltaTime 
)
overrideprotectedvirtual

◆ PrePhysTick()

void ASceneCaptureSensor_WideAngleLens::PrePhysTick ( float  DeltaSeconds)
overrideprotectedvirtual

Reimplemented from ASensor.

Definition at line 778 of file SceneCaptureSensor_WideAngleLens.cpp.

References GetCaptureComponents2D(), and ImageWidth.

◆ Set()

void ASceneCaptureSensor_WideAngleLens::Set ( const FActorDescription &  ActorDescription)
overridevirtual

Reimplemented from ASensor.

Reimplemented in AShaderBasedSensor_WideAngleLens.

Definition at line 201 of file SceneCaptureSensor_WideAngleLens.cpp.

References UActorBlueprintFunctionLibrary::SetCamera().

◆ SetCameraCoefficients() [1/2]

void ASceneCaptureSensor_WideAngleLens::SetCameraCoefficients ( const TArray< float > &  Coefficients)

Definition at line 331 of file SceneCaptureSensor_WideAngleLens.cpp.

References SetCameraCoefficients().

◆ SetCameraCoefficients() [2/2]

void ASceneCaptureSensor_WideAngleLens::SetCameraCoefficients ( TArrayView< const float >  Coefficients)

◆ SetCameraModel()

void ASceneCaptureSensor_WideAngleLens::SetCameraModel ( ECameraModel  NewCameraModel)

◆ SetCubemapSampler()

void ASceneCaptureSensor_WideAngleLens::SetCubemapSampler ( FRHISamplerState *  NewCubemapSampler)
inline

Definition at line 189 of file SceneCaptureSensor_WideAngleLens.h.

◆ SetFaceSize()

void ASceneCaptureSensor_WideAngleLens::SetFaceSize ( int32  Side)
inline

Side length in pixels of the six cube-face render targets.

0 (default) uses max(ImageWidth, ImageHeight). Smaller faces cost less GPU memory (each face carries a full scene view); a 120 deg lens at 1920 px is sampled at ~16 px/deg in the centre, which a 1280 px face still meets.

Definition at line 53 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by UActorBlueprintFunctionLibrary::SetCamera().

◆ SetFocalLength()

void ASceneCaptureSensor_WideAngleLens::SetFocalLength ( float  NewFocalLength)

◆ SetFOVAngle()

void ASceneCaptureSensor_WideAngleLens::SetFOVAngle ( float  NewFOV)

◆ SetFOVFadeSize()

void ASceneCaptureSensor_WideAngleLens::SetFOVFadeSize ( float  NewFOVFadeSize)

◆ SetFOVMaskEnable()

void ASceneCaptureSensor_WideAngleLens::SetFOVMaskEnable ( bool  bEnable)

◆ SetImageSize() [1/2]

void ASceneCaptureSensor_WideAngleLens::SetImageSize ( int32  Width,
int32  Height 
)

◆ SetImageSize() [2/2]

void ASceneCaptureSensor_WideAngleLens::SetImageSize ( uint32  Width,
uint32  Height 
)

◆ SetLensIntrinsics()

void ASceneCaptureSensor_WideAngleLens::SetLensIntrinsics ( float  Fx,
float  Fy,
float  Cx,
float  Cy 
)

Explicit intrinsics in normalized viewport units, the same convention as sensor.camera.rt_lens: x_px = (Cx + Fx * R * cos(phi)) * Width, y_px = (Cy + Fy * R * sin(phi)) * Height.

Fx <= 0 disables the override and the projection falls back to the fov / focal_length attributes with the principal point at the image centre.

Definition at line 291 of file SceneCaptureSensor_WideAngleLens.cpp.

References bExplicitIntrinsics, ComputeCubemapRenderMask(), CubemapRenderMask, and LensIntrinsics.

Referenced by UActorBlueprintFunctionLibrary::SetCamera().

◆ SetLensLUT()

void ASceneCaptureSensor_WideAngleLens::SetLensLUT ( const TArray< float > &  Samples,
float  ThetaMaxRadians 
)

LUT1D camera model: R(Theta) samples, uniformly spaced over [0, ThetaMaxRadians], monotonically non-decreasing, in the normalized units of the lens intrinsics (pixel = c + f * R, see SetLensIntrinsics).

Definition at line 284 of file SceneCaptureSensor_WideAngleLens.cpp.

References ComputeCubemapRenderMask(), CubemapRenderMask, LensLUT, and LensThetaMax.

Referenced by UActorBlueprintFunctionLibrary::SetCamera().

◆ SetRenderEquirectangular()

void ASceneCaptureSensor_WideAngleLens::SetRenderEquirectangular ( bool  bEnable)

◆ SetRenderEquirectangularLongitudeOffset()

void ASceneCaptureSensor_WideAngleLens::SetRenderEquirectangularLongitudeOffset ( float  Shift)

◆ SetRenderPerspective()

void ASceneCaptureSensor_WideAngleLens::SetRenderPerspective ( bool  bEnable)

◆ SetShadowCatcherTags()

void ASceneCaptureSensor_WideAngleLens::SetShadowCatcherTags ( const FString &  CommaSeparatedLabels)
inline

Definition at line 223 of file SceneCaptureSensor_WideAngleLens.h.

◆ SetShowOnlyActorIds()

void ASceneCaptureSensor_WideAngleLens::SetShowOnlyActorIds ( const FString &  CommaSeparatedIds)
inline

Definition at line 229 of file SceneCaptureSensor_WideAngleLens.h.

◆ SetShowOnlyTags()

void ASceneCaptureSensor_WideAngleLens::SetShowOnlyTags ( const FString &  CommaSeparatedLabels)
inline

Show-only render mode (see FCarlaShowOnlyFilter); applied to all six face captures.

Definition at line 217 of file SceneCaptureSensor_WideAngleLens.h.

◆ SetTargetGamma()

void ASceneCaptureSensor_WideAngleLens::SetTargetGamma ( float  Gamma)

◆ SetUpSceneCaptureComponents()

virtual void ASceneCaptureSensor_WideAngleLens::SetUpSceneCaptureComponents ( TArrayView< USceneCaptureComponent2D_CARLA * >  SceneCaptures)
inlineprotectedvirtual

◆ SetUseRayTracing()

void ASceneCaptureSensor_WideAngleLens::SetUseRayTracing ( bool  Enable)

◆ VerticalToHorizontal()

float ASceneCaptureSensor_WideAngleLens::VerticalToHorizontal ( float  Value) const
protected

Definition at line 840 of file SceneCaptureSensor_WideAngleLens.cpp.

References GetImageHeight(), and GetImageWidth().

Referenced by SetFOVAngle().

◆ WaitForRenderThreadToFinish()

void ASceneCaptureSensor_WideAngleLens::WaitForRenderThreadToFinish ( )
inline

Blocks until the render thread has finished all its tasks.

Definition at line 278 of file SceneCaptureSensor_WideAngleLens.h.

References WaitForRenderThreadToFinish().

Referenced by WaitForRenderThreadToFinish().

Friends And Related Symbol Documentation

◆ ACarlaGameModeBase

friend class ACarlaGameModeBase
friend

Definition at line 34 of file SceneCaptureSensor_WideAngleLens.h.

◆ FPixelReader

friend class FPixelReader
friend

Definition at line 35 of file SceneCaptureSensor_WideAngleLens.h.

Member Data Documentation

◆ bEnable16BitFormat

bool ASceneCaptureSensor_WideAngleLens::bEnable16BitFormat
protected

Definition at line 384 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by BeginPlay().

◆ bEnablePostProcessingEffects

bool ASceneCaptureSensor_WideAngleLens::bEnablePostProcessingEffects
protected

Definition at line 383 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by BeginPlay().

◆ bExplicitIntrinsics

bool ASceneCaptureSensor_WideAngleLens::bExplicitIntrinsics
protected

Definition at line 388 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by CaptureSceneExtended(), and SetLensIntrinsics().

◆ bFOVMaskEnable

bool ASceneCaptureSensor_WideAngleLens::bFOVMaskEnable
protected

◆ bRenderEquirectangular

bool ASceneCaptureSensor_WideAngleLens::bRenderEquirectangular
protected

◆ bRenderPerspective

bool ASceneCaptureSensor_WideAngleLens::bRenderPerspective
protected

◆ bUseRayTracing

bool ASceneCaptureSensor_WideAngleLens::bUseRayTracing
protected

Definition at line 382 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by SetUseRayTracing().

◆ CameraModel

ECameraModel ASceneCaptureSensor_WideAngleLens::CameraModel
protected

◆ CaptureRenderTarget

UTextureRenderTarget2D* ASceneCaptureSensor_WideAngleLens::CaptureRenderTarget
protected

◆ CubemapRenderMask

uint8 ASceneCaptureSensor_WideAngleLens::CubemapRenderMask
protected

◆ CubemapSampler

FRHISamplerState* ASceneCaptureSensor_WideAngleLens::CubemapSampler
protected

Definition at line 376 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by CaptureSceneExtended().

◆ FaceCaptures

TArray<USceneCaptureComponent2D_CARLA*> ASceneCaptureSensor_WideAngleLens::FaceCaptures
protected

◆ FaceRenderTargets

TArray<UTextureRenderTarget2D*> ASceneCaptureSensor_WideAngleLens::FaceRenderTargets
protected

Definition at line 320 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by BeginPlay(), CaptureSceneExtended(), and EndPlay().

◆ FaceSize

int32 ASceneCaptureSensor_WideAngleLens::FaceSize = 0
protected

Definition at line 360 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by BeginPlay().

◆ FOVFadeSize

float ASceneCaptureSensor_WideAngleLens::FOVFadeSize
protected

◆ ImageHeight

uint32 ASceneCaptureSensor_WideAngleLens::ImageHeight
protected

◆ ImageWidth

uint32 ASceneCaptureSensor_WideAngleLens::ImageWidth
protected

◆ KannalaBrandtCameraCoefficients

TArray<float> ASceneCaptureSensor_WideAngleLens::KannalaBrandtCameraCoefficients
protected

◆ LensIntrinsics

FVector4f ASceneCaptureSensor_WideAngleLens::LensIntrinsics
protected

Definition at line 350 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by CaptureSceneExtended(), and SetLensIntrinsics().

◆ LensLUT

TArray<float> ASceneCaptureSensor_WideAngleLens::LensLUT
protected

◆ LensThetaMax

float ASceneCaptureSensor_WideAngleLens::LensThetaMax
protected

◆ LongitudeOffset

float ASceneCaptureSensor_WideAngleLens::LongitudeOffset
protected

◆ NumCaptures

int32 ASceneCaptureSensor_WideAngleLens::NumCaptures = 0
protected

Captures rendered as camera cuts since BeginPlay (carla.Camera.SpawnCameraCuts).

Definition at line 363 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by CaptureSceneExtended().

◆ ReadbackPool

FRHIGPUReadbackPoolPtr ASceneCaptureSensor_WideAngleLens::ReadbackPool
protected

Definition at line 322 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by BeginPlay(), and EndPlay().

◆ ShowOnlyFilter

FCarlaShowOnlyFilter ASceneCaptureSensor_WideAngleLens::ShowOnlyFilter
protected

Show-only actor filter, applied to every face capture right before the faces are captured (see FCarlaShowOnlyFilter).

Definition at line 380 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by CaptureSceneExtended().

◆ TargetGamma

float ASceneCaptureSensor_WideAngleLens::TargetGamma
protected

Definition at line 328 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by BeginPlay(), GetTargetGamma(), and SetTargetGamma().

◆ XFOVAngle

float ASceneCaptureSensor_WideAngleLens::XFOVAngle
protected

Definition at line 356 of file SceneCaptureSensor_WideAngleLens.h.

Referenced by GetFOVAngleX(), and SetFOVAngle().

◆ YFocalLength

float ASceneCaptureSensor_WideAngleLens::YFocalLength
protected

◆ YFOVAngle

float ASceneCaptureSensor_WideAngleLens::YFOVAngle
protected

The documentation for this class was generated from the following files: