UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HeterogeneousVolumeInterface.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Stats/Stats.h"
7#include "CoreMinimal.h"
8#include "SceneManagement.h"
10
12{
13public:
15 virtual const FPrimitiveSceneProxy* GetPrimitiveSceneProxy() const = 0;
16
17 // Local-Space
18 virtual const FBoxSphereBounds& GetBounds() const = 0;
19 virtual const FBoxSphereBounds& GetLocalBounds() const = 0;
20 virtual const FMatrix& GetLocalToWorld() const = 0;
21
22 // Instance-Space
23 virtual const FMatrix& GetInstanceToLocal() const = 0;
24 virtual const FMatrix GetInstanceToWorld() const = 0;
25
26 // Volume
27 virtual FIntVector GetVoxelResolution() const = 0;
28 virtual float GetMinimumVoxelSize() const = 0;
29 virtual bool IsPivotAtCentroid() const = 0;
30
31 // Lighting
32 virtual float GetStepFactor() const = 0;
33 virtual float GetShadowStepFactor() const = 0;
34 virtual float GetShadowBiasFactor() const = 0;
35 virtual float GetLightingDownsampleFactor() const = 0;
36 virtual float GetMipBias() const = 0;
37
38 // Rendering
39 virtual bool IsHoldout() const = 0;
40
41 // Debug
42 virtual FString GetReadableName() const = 0;
43};
44
46
48{
49public:
51 : PrimitiveSceneProxy(SceneProxy)
52 , InstanceToLocal(FMatrix::Identity)
53 , VoxelResolution(FIntVector::ZeroValue)
54 , MinimumVoxelSize(0.1)
55 , StepFactor(1.0)
56 , ShadowStepFactor(8.0)
57 , ShadowBiasFactor(0.0)
59 , MipBias(0.0)
62 {}
63
65 : PrimitiveSceneProxy(SceneProxy)
66 , InstanceToLocal(FMatrix::Identity)
67 , VoxelResolution(FIntVector::ZeroValue)
68 , MinimumVoxelSize(0.1)
69 , StepFactor(1.0)
70 , ShadowStepFactor(8.0)
71 , ShadowBiasFactor(0.0)
73 , MipBias(0.0)
78#endif // ACTOR_HAS_LABELS
79 {}
81
83
84 // Local-space
85 virtual const FBoxSphereBounds& GetBounds() const { return PrimitiveSceneProxy->GetBounds(); }
87 virtual const FMatrix& GetLocalToWorld() const { return PrimitiveSceneProxy->GetLocalToWorld(); }
88 virtual const FMatrix& GetInstanceToLocal() const { return InstanceToLocal; }
90
91 // Volume
92 virtual FIntVector GetVoxelResolution() const { return VoxelResolution; }
93 virtual float GetMinimumVoxelSize() const { return MinimumVoxelSize; }
94 virtual bool IsPivotAtCentroid() const { return bPivotAtCentroid; }
95
96 // Lighting
97 virtual float GetStepFactor() const { return StepFactor; }
98 virtual float GetShadowStepFactor() const { return ShadowStepFactor; }
99 virtual float GetShadowBiasFactor() const { return ShadowBiasFactor; }
101 virtual float GetMipBias() const { return MipBias; }
102
103 // Rendering
104 virtual bool IsHoldout() const { return bHoldout; }
105
114 float MipBias;
117
118#if ACTOR_HAS_LABELS
119 FString ReadableName;
120 virtual FString GetReadableName() const { return ReadableName; }
121#else
122 virtual FString GetReadableName() const { return PrimitiveSceneProxy->GetResourceName().ToString(); }
123#endif // ACTOR_HAS_LABELS
124};
125
#define ACTOR_HAS_LABELS
Definition Actor.h:65
#define TEXT(x)
Definition Platform.h:1272
#define DECLARE_STATS_GROUP(GroupDesc, GroupId, GroupCat)
Definition Stats.h:689
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
if(Failed) console_printf("Failed.\n")
Definition HeterogeneousVolumeInterface.h:48
float StepFactor
Definition HeterogeneousVolumeInterface.h:110
float MinimumVoxelSize
Definition HeterogeneousVolumeInterface.h:109
FMatrix InstanceToLocal
Definition HeterogeneousVolumeInterface.h:107
FIntVector VoxelResolution
Definition HeterogeneousVolumeInterface.h:108
virtual const FMatrix & GetInstanceToLocal() const
Definition HeterogeneousVolumeInterface.h:88
virtual bool IsPivotAtCentroid() const
Definition HeterogeneousVolumeInterface.h:94
virtual float GetLightingDownsampleFactor() const
Definition HeterogeneousVolumeInterface.h:100
virtual float GetMipBias() const
Definition HeterogeneousVolumeInterface.h:101
bool bHoldout
Definition HeterogeneousVolumeInterface.h:116
virtual FIntVector GetVoxelResolution() const
Definition HeterogeneousVolumeInterface.h:92
virtual float GetStepFactor() const
Definition HeterogeneousVolumeInterface.h:97
virtual const FMatrix GetInstanceToWorld() const
Definition HeterogeneousVolumeInterface.h:89
virtual bool IsHoldout() const
Definition HeterogeneousVolumeInterface.h:104
float ShadowBiasFactor
Definition HeterogeneousVolumeInterface.h:112
float MipBias
Definition HeterogeneousVolumeInterface.h:114
FHeterogeneousVolumeData(const FPrimitiveSceneProxy *SceneProxy, FString Name)
Definition HeterogeneousVolumeInterface.h:64
virtual const FMatrix & GetLocalToWorld() const
Definition HeterogeneousVolumeInterface.h:87
virtual float GetMinimumVoxelSize() const
Definition HeterogeneousVolumeInterface.h:93
virtual const FPrimitiveSceneProxy * GetPrimitiveSceneProxy() const
Definition HeterogeneousVolumeInterface.h:82
virtual ~FHeterogeneousVolumeData()
Definition HeterogeneousVolumeInterface.h:80
virtual const FBoxSphereBounds & GetLocalBounds() const
Definition HeterogeneousVolumeInterface.h:86
virtual float GetShadowBiasFactor() const
Definition HeterogeneousVolumeInterface.h:99
FHeterogeneousVolumeData(const FPrimitiveSceneProxy *SceneProxy)
Definition HeterogeneousVolumeInterface.h:50
bool bPivotAtCentroid
Definition HeterogeneousVolumeInterface.h:115
virtual const FBoxSphereBounds & GetBounds() const
Definition HeterogeneousVolumeInterface.h:85
virtual float GetShadowStepFactor() const
Definition HeterogeneousVolumeInterface.h:98
const FPrimitiveSceneProxy * PrimitiveSceneProxy
Definition HeterogeneousVolumeInterface.h:106
virtual FString GetReadableName() const
Definition HeterogeneousVolumeInterface.h:122
float LightingDownsampleFactor
Definition HeterogeneousVolumeInterface.h:113
float ShadowStepFactor
Definition HeterogeneousVolumeInterface.h:111
CORE_API FString ToString() const
Definition UnrealNames.cpp:3537
Definition SceneManagement.h:1452
Definition PrimitiveSceneProxy.h:296
FName GetResourceName() const
Definition PrimitiveSceneProxy.h:742
const FBoxSphereBounds & GetLocalBounds() const
Definition PrimitiveSceneProxy.h:739
const FMatrix & GetLocalToWorld() const
Definition PrimitiveSceneProxy.h:736
const FBoxSphereBounds & GetBounds() const
Definition PrimitiveSceneProxy.h:738
Definition HeterogeneousVolumeInterface.h:12
virtual const FBoxSphereBounds & GetBounds() const =0
virtual float GetLightingDownsampleFactor() const =0
virtual float GetStepFactor() const =0
virtual float GetShadowStepFactor() const =0
virtual const FMatrix & GetLocalToWorld() const =0
virtual const FMatrix GetInstanceToWorld() const =0
virtual const FPrimitiveSceneProxy * GetPrimitiveSceneProxy() const =0
virtual const FMatrix & GetInstanceToLocal() const =0
virtual FString GetReadableName() const =0
virtual const FBoxSphereBounds & GetLocalBounds() const =0
virtual bool IsPivotAtCentroid() const =0
virtual float GetMinimumVoxelSize() const =0
virtual float GetMipBias() const =0
virtual float GetShadowBiasFactor() const =0
virtual bool IsHoldout() const =0
virtual ~IHeterogeneousVolumeInterface()
Definition HeterogeneousVolumeInterface.h:14
virtual FIntVector GetVoxelResolution() const =0
@ false
Definition radaudio_common.h:23
Definition BoxSphereBounds.h:25