UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
VectorFieldVisualization.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*==============================================================================
4 VectorFieldVisualization.h: Visualization of vector fields.
5==============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "UniformBuffer.h"
11#include "VertexFactory.h"
12
13class FMaterial;
16class FSceneView;
18
19/*------------------------------------------------------------------------------
20 Forward declarations.
21------------------------------------------------------------------------------*/
22
30class FSceneView;
31
32/*------------------------------------------------------------------------------
33 Vertex factory for visualizing vector fields.
34------------------------------------------------------------------------------*/
35
42 SHADER_PARAMETER( FMatrix44f, VolumeToWorldNoScale )
43 SHADER_PARAMETER( FVector3f, VoxelSize )
44 SHADER_PARAMETER( float, Scale )
47
52{
54
55public:
60
64 virtual void InitRHI(FRHICommandListBase& RHICmdList) override;
65
69 static bool ShouldCompilePermutation(const FVertexFactoryShaderPermutationParameters& Parameters);
70
74 static void ModifyCompilationEnvironment(const FVertexFactoryShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment);
75};
76
77/*------------------------------------------------------------------------------
78 Drawing interface.
79------------------------------------------------------------------------------*/
80
89 const FSceneView* View,
90 FVectorFieldInstance* VectorFieldInstance );
91
94 FVectorFieldInstance* VectorFieldInstance,
95 int32 ViewIndex,
96 FMeshElementCollector& Collector);
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
#define END_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1669
#define BEGIN_GLOBAL_SHADER_PARAMETER_STRUCT
Definition ShaderParameterMacros.h:1663
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
void DrawVectorFieldBounds(FPrimitiveDrawInterface *PDI, const FSceneView *View, FVectorFieldInstance *VectorFieldInstance)
Definition VectorFieldVisualization.cpp:191
void GetVectorFieldMesh(FVectorFieldVisualizationVertexFactory *VertexFactory, FVectorFieldInstance *VectorFieldInstance, int32 ViewIndex, FMeshElementCollector &Collector)
Definition VectorFieldVisualization.cpp:229
#define DECLARE_VERTEX_FACTORY_TYPE(FactoryClass)
Definition VertexFactory.h:548
Definition MaterialShared.h:2058
Definition MeshElementCollector.h:26
Definition PrimitiveDrawInterface.h:19
Definition RHICommandList.h:455
Definition SceneView.h:1425
Definition VectorField.h:102
Definition VectorFieldVisualization.cpp:31
Definition VectorFieldVisualization.h:52
FVectorFieldVisualizationVertexFactory(ERHIFeatureLevel::Type InFeatureLevel)
Definition VectorFieldVisualization.h:56
Definition VertexFactory.h:661
Definition ShaderParameterMacros.h:136
Type
Definition RHIFeatureLevel.h:20
Definition ShaderCore.h:544
Definition MeshMaterialShader.h:44