UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VectorField.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*==============================================================================
4 VectorField.h: Interface to vector fields.
5==============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "RenderResource.h"
11
12class Error;
13
14/*------------------------------------------------------------------------------
15 Forward declarations.
16------------------------------------------------------------------------------*/
17
21class FSceneView;
24
26
27/*------------------------------------------------------------------------------
28 Vector field delcarations.
29------------------------------------------------------------------------------*/
30
31#define VECTOR_FIELD_LOG_VERBOSITY Error
33
38{
39public:
40
50 float Intensity;
53
56
60 virtual void ReleaseRHI() override;
61
66 virtual void Update(FRHICommandListImmediate& RHICmdList, float DeltaSeconds) {}
67
71 virtual void ResetVectorField() {}
72
73
75 uint32 AddRef() const
76 {
77 return (uint32)NumRefs.Increment();
78 }
79
81 {
82 uint32 NewValue = (uint32)NumRefs.Decrement();
83 if (NewValue == 0)
84 {
85 delete this;
86 }
87 return NewValue;
88 }
89
90protected:
91
92 virtual ~FVectorFieldResource();
93
96};
97
102{
103public:
104
129
132 : Resource(NULL)
133 , VolumeToWorldNoScale(FMatrix::Identity)
134 , WorldToVolume(FMatrix::Identity)
135 , VolumeToWorld(FMatrix::Identity)
136 , Tightness(0.0f)
137 , Intensity(0.0f)
139 , bTileX(false)
140 , bTileY(false)
141 , bTileZ(false)
143 , bInstancedResource(false)
144 {
145 }
146
149
155 void Init(FVectorFieldResource* InResource, bool bInstanced);
156
161 void UpdateTransforms(const FMatrix& LocalToWorld);
162
163private:
164
166 bool bInstancedResource;
167};
168
#define NULL
Definition oodle2base.h:134
@ INDEX_NONE
Definition CoreMiscDefines.h:150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
#define VECTOR_FIELD_LOG_VERBOSITY
Definition VectorField.h:31
TSparseArray< FVectorFieldInstance * > FVectorFieldInstanceList
Definition VectorField.h:170
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition PrimitiveDrawInterface.h:19
Definition RHICommandList.h:4626
Definition RenderResource.h:37
Definition SceneView.h:1425
Definition ThreadSafeCounter.h:14
int32 Increment()
Definition ThreadSafeCounter.h:52
int32 Decrement()
Definition ThreadSafeCounter.h:75
Definition VectorField.h:102
FMatrix VolumeToWorldNoScale
Definition VectorField.h:110
FVectorFieldInstance()
Definition VectorField.h:131
~FVectorFieldInstance()
Definition VectorField.cpp:66
TRefCountPtr< FVectorFieldResource > Resource
Definition VectorField.h:106
uint32 bTileZ
Definition VectorField.h:126
float Tightness
Definition VectorField.h:116
void UpdateTransforms(const FMatrix &LocalToWorld)
Definition VectorField.cpp:98
uint32 bUseFixDT
Definition VectorField.h:128
float Intensity
Definition VectorField.h:118
FMatrix WorldToVolume
Definition VectorField.h:112
FBox WorldBounds
Definition VectorField.h:108
int32 Index
Definition VectorField.h:120
uint32 bTileX
Definition VectorField.h:122
uint32 bTileY
Definition VectorField.h:124
FMatrix VolumeToWorld
Definition VectorField.h:114
Definition VectorField.h:38
float Intensity
Definition VectorField.h:50
FVectorFieldResource()
Definition VectorField.cpp:50
virtual void ResetVectorField()
Definition VectorField.h:71
int32 SizeX
Definition VectorField.h:44
FBox LocalBounds
Definition VectorField.h:52
virtual ~FVectorFieldResource()
Definition VectorField.cpp:51
int32 SizeY
Definition VectorField.h:46
virtual void ReleaseRHI() override
Definition VectorField.cpp:56
uint32 Release() const
Definition VectorField.h:80
uint32 AddRef() const
Definition VectorField.h:75
FTextureRHIRef VolumeTextureRHI
Definition VectorField.h:42
FThreadSafeCounter NumRefs
Definition VectorField.h:95
virtual void Update(FRHICommandListImmediate &RHICmdList, float DeltaSeconds)
Definition VectorField.h:66
int32 SizeZ
Definition VectorField.h:48
Definition VectorFieldVisualization.h:52
Definition SparseArray.h:524
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71