UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HeterogeneousVolumes.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6#include "ConvexVolume.h"
7#include "RendererInterface.h"
11
12class FLightSceneInfo;
16class FRDGBuilder;
17class FScene;
18class FSceneView;
19class FSceneViewState;
20class FViewInfo;
24
26struct FRDGTextureDesc;
27struct FSceneTextures;
30
31//
32// External API
33//
34
43 const FMeshBatch* Mesh,
45 ERHIFeatureLevel::Type FeatureLevel
46);
47
50
57
58//
59// Internal API
60//
61
63{
64 // CVars
66
68 FIntPoint GetDownsampledResolution(FIntPoint Resolution, int32 DownsampleFactor);
70 float GetShadowStepSize();
71 float GetMaxTraceDistance();
73 float GetStepSize();
74 float GetMaxStepCount();
79
81 {
82 Low,
83 High,
84 Epic,
86 };
87
89
90 // Shadow generation
97
98 enum class EShadowPipeline
99 {
102 };
108 float GetStepSizeForShadows();
112 bool UseAVSMCompression();
122
123 // Translucency compositing
125
133 {
134 Disabled,
135 Constant,
136 Linear,
137 Cubic
138 };
140
141 bool ShouldJitter();
144 bool UseIndirectLighting();
150 bool ShouldDepthSort();
155 bool UseExistenceMask();
157 bool SupportsLightType(uint32 LightType);
158 bool SupportsShadowForLightType(uint32 LightType);
160
162 {
163 Disabled,
164 Frustums,
165 Clipmaps,
166 Autofit
167 };
170
171 enum class EFogMode
172 {
173 Disabled,
174 Reference,
176 };
178 bool ShouldWriteVelocity();
179
182
183 // Convenience Utils
184 int GetVoxelCount(FIntVector VolumeResolution);
185 int GetVoxelCount(const FRDGTextureDesc& TextureDesc);
186 FIntVector GetMipVolumeResolution(FIntVector VolumeResolution, uint32 MipLevel);
187
188 struct FLODInfo
189 {
190 // Orthographic projection
192
193 // Perspective projection
196
198 float FOV = PI / 4.0f;
200 float DownsampleFactor = 1.0f;
201
202 // Projection type
203 bool bIsPerspective = false;
204 };
205
207 {
208 float LOD = 0.0f;
209 float Bias = 0.0f;
210 };
211
216
218 float CalcLODFactor(float LODValue, float LODBias);
221
223
226}
227
229
235
237 // Object data
238 SHADER_PARAMETER(FMatrix44f, LocalToWorld)
239 SHADER_PARAMETER(FMatrix44f, WorldToLocal)
242
243 // Volume data
244 SHADER_PARAMETER(FIntVector, VolumeResolution)
249
250 // Resolution
252
253 // Sparse voxel data
256 SHADER_PARAMETER(int, MipLevel)
257
258 // Traversal hints
259 SHADER_PARAMETER(float, MaxTraceDistance)
261 SHADER_PARAMETER(float, StepSize)
262 SHADER_PARAMETER(float, StepFactor)
264 SHADER_PARAMETER(float, ShadowStepFactor)
269
275
276// Adaptive Voxel Grid structures
277
282
287
292
297
298
300 SHADER_PARAMETER(FVector3f, TopLevelGridWorldBoundsMin)
301 SHADER_PARAMETER(FVector3f, TopLevelGridWorldBoundsMax)
302 SHADER_PARAMETER(FIntVector, TopLevelGridResolution)
303
304 SHADER_PARAMETER(int32, bUseOrthoGrid)
305 SHADER_PARAMETER(int32, bUseMajorantGrid)
306 SHADER_PARAMETER(int32, bEnableIndirectionGrid)
307
316
318 SHADER_PARAMETER(FMatrix44f, WorldToClip)
319 SHADER_PARAMETER(FMatrix44f, ClipToWorld)
320
321 SHADER_PARAMETER(FMatrix44f, WorldToView)
322 SHADER_PARAMETER(FMatrix44f, ViewToWorld)
323
324 SHADER_PARAMETER(FMatrix44f, ViewToClip)
325 SHADER_PARAMETER(FMatrix44f, ClipToView)
326
327 SHADER_PARAMETER(FVector3f, TopLevelGridWorldBoundsMin)
328 SHADER_PARAMETER(FVector3f, TopLevelGridWorldBoundsMax)
330 SHADER_PARAMETER(FIntVector, VoxelDimensions)
331
332 SHADER_PARAMETER(int32, bUseFrustumGrid)
333
334 SHADER_PARAMETER(float, NearPlaneDepth)
335 SHADER_PARAMETER(float, FarPlaneDepth)
336 SHADER_PARAMETER(float, TanHalfFOV)
337
338 SHADER_PARAMETER_ARRAY(FVector4f, ViewFrustumPlanes, [6])
339
345
346// Render specializations
347
353
355{
357 Shadows,
358};
359
371
373 FRDGBuilder& GraphBuilder,
374 const FScene* Scene,
375 /*const*/ TArray<FViewInfo>& Views,
379);
380
382 FRDGBuilder& GraphBuilder,
383 const FScene* Scene,
384 const FViewInfo& View,
387);
388
418
438
440 FRDGBuilder& GraphBuilder,
443);
444
446 FRDGBuilder& GraphBuilder,
449);
450
452 FRDGBuilder& GraphBuilder,
455);
456
458 FRDGBuilder& GraphBuilder,
461);
462
467
472
477
483
484 SHADER_PARAMETER(FIntPoint, Resolution)
486 SHADER_PARAMETER(int32, MaxSampleCount)
487 SHADER_PARAMETER(int32, bIsEmpty)
489 SHADER_PARAMETER(float, DownsampleFactor)
490
494
498
504
505 SHADER_PARAMETER(FIntPoint, Resolution)
507 SHADER_PARAMETER(int32, MaxSampleCount)
508 SHADER_PARAMETER(int32, bIsEmpty)
510 SHADER_PARAMETER(float, DownsampleFactor)
511
515
519
524
530
531 SHADER_PARAMETER(FIntPoint, Resolution)
533 SHADER_PARAMETER(int32, MaxSampleCount)
534 SHADER_PARAMETER(int32, bIsEmpty)
536 SHADER_PARAMETER(float, DownsampleFactor)
537
542
548
549 SHADER_PARAMETER(FIntPoint, Resolution)
551 SHADER_PARAMETER(int32, MaxSampleCount)
552 SHADER_PARAMETER(int32, bIsEmpty)
554 SHADER_PARAMETER(float, DownsampleFactor)
555
560
561namespace HeterogeneousVolumes {
562 TRDGUniformBufferRef<FAdaptiveVolumetricShadowMapUniformBufferParameters> GetAdaptiveVolumetricShadowMapUniformBuffer(
563 FRDGBuilder& GraphBuilder,
564 FSceneViewState* ViewState,
565 const FLightSceneInfo* LightSceneInfo
566 );
567
568 void DestroyAdaptiveVolumetricShadowMapUniformBuffer(
570 );
571
572 TRDGUniformBufferRef<FAdaptiveVolumetricShadowMapUniformBufferParameters> GetAdaptiveVolumetricCameraMapUniformBuffer(
573 FRDGBuilder& GraphBuilder,
574 FSceneViewState* ViewState
575 );
576
577 FAdaptiveVolumetricShadowMapUniformBufferParameters GetAdaptiveVolumetricCameraMapParameters(
578 FRDGBuilder& GraphBuilder,
579 FSceneViewState* ViewState
580 );
581
582 TRDGUniformBufferRef<FAdaptiveVolumetricShadowMapUniformBufferParameters> CreateEmptyAdaptiveVolumetricShadowMapUniformBuffer(
583 FRDGBuilder& GraphBuilder
584 );
585
587 FRDGBuilder& GraphBuilder,
588 FSceneViewState* ViewState,
589 const FLightSceneInfo* LightSceneInfo
590 );
591
592 void DestroyBeerShadowMapUniformBuffer(
594 );
595
596 TRDGUniformBufferRef<FBeerShadowMapUniformBufferParameters> CreateEmptyBeerShadowMapUniformBuffer(
597 FRDGBuilder& GraphBuilder
598 );
599
601 FRDGBuilder& GraphBuilder,
602 FSceneViewState* ViewState
603 );
604
606 FRDGBuilder& GraphBuilder,
607 FSceneViewState* ViewState
608 );
609
610 void PostRender(FScene& Scene, TArray<FViewInfo>& Views);
611
612} // namespace HeterogeneousVolumes
613
615 FRDGBuilder& GraphBuilder,
616 FSceneViewState* ViewState,
617 const FLightSceneInfo* LightSceneInfo
618);
619
621 FRDGBuilder& GraphBuilder,
622 const FSceneTextures& SceneTextures,
623 const FScene* Scene,
624 const FViewInfo& View, int32 ViewIndex,
625 // Shadow data
627 const FVirtualShadowMapArray& VirtualShadowMapArray,
628 // Object data
630 const FMaterialRenderProxy* MaterialRenderProxy,
631 const FPersistentPrimitiveIndex &PersistentPrimitiveIndex,
633 // Transmittance acceleration
635 // Output
636 FRDGTextureRef& HeterogeneousVolumeRadiance,
638 FRDGTextureRef& HeterogeneousVolumeHoldout,
639 FRDGTextureRef& HeterogeneousVolumeBeerShadowMap
640);
641
643 FRDGBuilder& GraphBuilder,
644 // Scene data
645 const FSceneTextures& SceneTextures,
646 FScene* Scene,
647 FViewInfo& View, int32 ViewIndex,
648 // Shadow data
650 const FVirtualShadowMapArray& VirtualShadowMapArray,
651 // Object data
653 const FMaterialRenderProxy* MaterialRenderProxy,
654 const FPersistentPrimitiveIndex &PersistentPrimitiveIndex,
656 // Transmittance acceleration
658 // Output
659 FRDGTextureRef& HeterogeneousVolumeRadiance
660);
661
663 FRDGBuilder& GraphBuilder,
664 // Scene data
665 const FSceneTextures& SceneTextures,
666 FScene* Scene,
667 FViewInfo& View,
670 // Output
671 FRDGTextureRef& HeterogeneousVolumeRadiance
672);
673
675 FRDGBuilder& GraphBuilder,
676 // Scene data
677 const FSceneTextures& SceneTextures,
678 FScene* Scene,
679 FViewInfo& View,
680 // Shadow data
682 const FVirtualShadowMapArray& VirtualShadowMapArray,
683 // Volume data
686);
687
689 FRDGBuilder& GraphBuilder,
690 // Scene data
691 const FSceneTextures& SceneTextures,
692 FScene* Scene,
693 FViewInfo& View,
694 // Light data
696);
697
699 FRDGBuilder& GraphBuilder,
700 const TConstArrayView<FViewInfo>& Views,
701 const FLightSceneInfo* LightSceneInfo
702);
703
705 FRDGBuilder& GraphBuilder,
706 // Scene data
707 const FSceneTexturesConfig& Config,
708 const TConstArrayView<FViewInfo>& Views,
709 // Light data
710 uint32 LightType,
711 const FLightSceneInfo* LightSceneInfo,
712 // Resultant shadow mask
714);
715
717 FRDGBuilder& GraphBuilder,
718 // Scene data
719 const FSceneTextures& SceneTextures,
720 FScene* Scene,
721 FViewInfo& View,
722 // Volume data
725);
726
728 FRDGBuilder& GraphBuilder,
729 // Scene data
730 const FSceneTextures& SceneTextures,
731 FScene* Scene,
732 FViewInfo& View
733);
734
736 FRDGBuilder& GraphBuilder,
737 FViewInfo& View,
739 // Input
741 uint32 MaxSampleCount,
743 // Output
746);
747
749 FRDGBuilder& GraphBuilder,
750 FViewInfo& View,
752 // Input
753 uint32 LightType,
755 uint32 MaxSampleCount,
758 // Output
760);
761
763 FRDGBuilder& GraphBuilder,
764 FViewInfo& View,
765 // Input
768 // Output
771);
772
774 FRDGBuilder& GraphBuilder,
775 const FSceneTextures& SceneTextures,
776 FViewInfo& View,
777 // Input
778 const FString& ShadowMapName,
782 // Output
784);
785
787 FRDGBuilder& GraphBuilder,
791 const FVector4f* SplitDepths,
801);
802
804 FRDGBuilder& GraphBuilder,
808 const FVector4f* SplitDepths,
818);
819
821 FRDGBuilder& GraphBuilder,
825 const FVector4f* SplitDepths,
835);
836
838 FRDGBuilder& GraphBuilder,
842 const FVector4f* SplitDepths,
850);
851
853 FRDGBuilder& GraphBuilder,
854 // Scene data
855 const FSceneTextures& SceneTextures,
856 FScene* Scene,
857 FViewInfo& View,
858 // Shadow data
860 const FVirtualShadowMapArray& VirtualShadowMapArray,
861 // Volume data
864 // Output
865 FRDGTextureRef& HeterogeneousVolumeRadiance
866);
867
868// Preshading Pipeline
870 FRDGBuilder& GraphBuilder,
871 // Scene data
872 const FScene* Scene,
873 const FViewInfo& View,
874 // Object data
876 const FMaterialRenderProxy* MaterialRenderProxy,
877 const FPersistentPrimitiveIndex &PersistentPrimitiveIndex,
879 // Volume data
880 FIntVector VolumeResolution,
881 // Output
885);
886
887// Sparse Voxel Pipeline
888
889void CopyTexture3D(
890 FRDGBuilder& GraphBuilder,
891 const FViewInfo& View,
894 FRDGTextureRef& OutputTexture
895);
896
898 FRDGBuilder& GraphBuilder,
899 const FViewInfo& View,
901 FIntVector VolumeResolution,
902 uint32 MipLevel,
905);
906
908 FRDGBuilder& GraphBuilder,
909 // Scene data
910 const FScene* Scene,
911 const FViewInfo& View,
912 const FSceneTextures& SceneTextures,
913 // Object data
916 FPersistentPrimitiveIndex PersistentPrimitiveIndex,
919 // Output
921);
922
924 FRDGBuilder& GraphBuilder,
925 // Scene data
926 const FScene* Scene,
927 const FViewInfo& View,
928 // Existence texture data
931 // Output
933);
934
936 FRDGBuilder& GraphBuilder,
937 // Scene data
938 const FSceneTextures& SceneTextures,
939 const FScene* Scene,
940 const FViewInfo& View,
941 // Light data
942 const FLightSceneInfo* LightSceneInfo,
943 // Output
945);
946
948 FRDGBuilder& GraphBuilder,
949 // Scene data
950 const FScene* Scene,
951 const FViewInfo& View,
952 const FSceneTextures& SceneTextures,
953 // Object data
956 FPersistentPrimitiveIndex PersistentPrimitiveIndex,
958 // Output
959 FRDGTextureRef& AmbientOcclusionTexture
960);
961
962#if RHI_RAYTRACING
963
965 FRDGBuilder& GraphBuilder,
966 // Scene data
967 const FScene* Scene,
968 const FViewInfo& View,
969 // Object data
971 // Sparse voxel data
974 // Output
977);
978
980 FRDGBuilder& GraphBuilder,
981 // Scene data
982 const FScene* Scene,
983 FViewInfo& View,
984 // Ray tracing data
987 // Output
988 FRayTracingScene& RayTracingScene
989);
990
992 FRDGBuilder& GraphBuilder,
993 // Scene data
994 const FScene* Scene,
995 const FViewInfo& View, int32 ViewIndex,
996 const FSceneTextures& SceneTextures,
997 // Light data
1001 uint32 LightType,
1002 const FLightSceneInfo* LightSceneInfo,
1003 // Shadow data
1005 const FVirtualShadowMapArray& VirtualShadowMapArray,
1006 // Object data
1008 // Sparse voxel data
1010 // Ray tracing data
1011 FRayTracingScene& RayTracingScene,
1013 // Output
1015);
1016
1018 FRDGBuilder& GraphBuilder,
1019 // Scene data
1020 const FScene* Scene,
1021 const FViewInfo& View, int32 ViewIndex,
1022 const FSceneTextures& SceneTextures,
1023 // Light data
1027 uint32 LightType,
1028 const FLightSceneInfo* LightSceneInfo,
1029 // Shadow data
1031 const FVirtualShadowMapArray& VirtualShadowMapArray,
1032 // Object data
1034 // Sparse voxel data
1036 // Ray tracing data
1037 FRayTracingScene& RayTracingScene,
1039 // Transmittance volume
1041 // Output
1043);
1044
1045#endif // RHI_RAYTRACING
1046
@ ForceInit
Definition CoreMiscDefines.h:155
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define DECLARE_CYCLE_STAT(CounterName, StatId, GroupId)
Definition Stats.h:669
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
bool ShouldRenderHeterogeneousVolumesForView(const FViewInfo &View)
Definition HeterogeneousVolumes.cpp:427
void RenderTransmittanceWithVoxelGrid(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer, FRDGTextureRef &HeterogeneousVolumeRadiance)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:2980
bool ShouldRenderVolumetricShadowMaskForLight(FRDGBuilder &GraphBuilder, const TConstArrayView< FViewInfo > &Views, const FLightSceneInfo *LightSceneInfo)
Definition HeterogeneousVolumesLiveShadingPipeline.cpp:3546
void RenderAdaptiveVolumetricShadowMapWithVoxelGrid(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, TArray< FVisibleLightInfo, SceneRenderingAllocator > &VisibleLightInfos, const FVirtualShadowMapArray &VirtualShadowMapArray, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:4246
EHeterogeneousVolumesShadowMode
Definition HeterogeneousVolumes.h:349
void VisualizeCascades(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const FScene *Scene, const FViewInfo &View, const FLightSceneInfo *LightSceneInfo, FRDGTextureRef &VisualizationTexture)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:4558
void RenderSingleScatteringWithVoxelGrid(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, TArray< FVisibleLightInfo, SceneRenderingAllocator > &VisibleLightInfos, const FVirtualShadowMapArray &VirtualShadowMapArray, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer, FRDGTextureRef &HeterogeneousVolumeRadiance)
EHeterogeneousVolumesCompositionType GetHeterogeneousVolumesComposition()
Definition HeterogeneousVolumes.cpp:392
void ExtractFrustumVoxelGridUniformBuffer(FRDGBuilder &GraphBuilder, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer, FAdaptiveFrustumGridParameterCache &AdaptiveFrustumGridParameterCache)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:1591
void ExtractOrthoVoxelGridUniformBuffer(FRDGBuilder &GraphBuilder, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, FAdaptiveOrthoGridParameterCache &AdaptiveOrthoGridParameterCache)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:2408
bool ShouldHeterogeneousVolumesCastShadows()
Definition HeterogeneousVolumes.cpp:354
void RenderWithLiveShading(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, const FScene *Scene, const FViewInfo &View, int32 ViewIndex, TArray< FVisibleLightInfo, SceneRenderingAllocator > &VisibleLightInfos, const FVirtualShadowMapArray &VirtualShadowMapArray, const IHeterogeneousVolumeInterface *HeterogeneousVolumeInterface, const FMaterialRenderProxy *MaterialRenderProxy, const FPersistentPrimitiveIndex &PersistentPrimitiveIndex, const FBoxSphereBounds LocalBoxSphereBounds, FRDGTextureRef LightingCacheTexture, FRDGTextureRef &HeterogeneousVolumeRadiance, FRDGTextureRef &HeterogeneousVolumeVelocity, FRDGTextureRef &HeterogeneousVolumeHoldout, FRDGTextureRef &HeterogeneousVolumeBeerShadowMap)
Definition HeterogeneousVolumesLiveShadingPipeline.cpp:1759
void DilateExistenceMask(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, FRDGTextureRef ExistenceMaskTexture, FIntVector ExistenceMaskTextureResolution, FRDGTextureRef &DilatedExistenceTexture)
Definition HeterogeneousVolumesAmbientOcclusionPipeline.cpp:383
bool ShouldRenderHeterogeneousVolumes(const FScene *Scene)
Definition HeterogeneousVolumes.cpp:403
bool ShouldRenderMeshBatchWithHeterogeneousVolumes(const FMeshBatch *Mesh, const FPrimitiveSceneProxy *Proxy, ERHIFeatureLevel::Type FeatureLevel)
Definition HeterogeneousVolumes.cpp:533
void CreateBeerShadowMapUniformBufferParameters(FRDGBuilder &GraphBuilder, const FVector3f *TranslatedWorldOrigin, const FVector4f *TranslatedWorldPlane, const FMatrix44f *TranslatedWorldToShadow, const FVector4f *SplitDepths, FIntPoint VolumetricShadowMapResolution, float VolumetricShadowMapDownsampleFactor, int32 NumShadowMatrices, uint32 VolumetricShadowMapMaxSampleCount, bool bIsDirectionalLight, FRDGBufferRef VolumetricShadowMapLinkedListBuffer, FRDGBufferRef VolumetricShadowMapIndirectionBuffer, FRDGBufferRef VolumetricShadowMapSampleBuffer, FBeerShadowMapUniformBufferParameters *&BeerShadowMapUniformBufferParameters)
bool DoesMaterialShaderSupportHeterogeneousVolumes(const FMaterialShaderParameters &Parameters)
Definition HeterogeneousVolumes.cpp:521
EHeterogeneousVolumesCompositionType
Definition HeterogeneousVolumes.h:52
void GenerateSparseVoxels(FRDGBuilder &GraphBuilder, const FViewInfo &View, FRDGTextureRef VoxelMinTexture, FIntVector VolumeResolution, uint32 MipLevel, FRDGBufferRef &NumVoxelsBuffer, FRDGBufferRef &VoxelBuffer)
Definition HeterogeneousVolumesSparseVoxelPipeline.cpp:216
void RegisterExternalFrustumVoxelGridUniformBuffer(FRDGBuilder &GraphBuilder, const FAdaptiveFrustumGridParameterCache &AdaptiveFrustumGridParameterCache, TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:1627
void RenderExistenceMaskWithLiveShading(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FSceneTextures &SceneTextures, const IHeterogeneousVolumeInterface *HeterogeneousVolumeInterface, const FMaterialRenderProxy *DefaultMaterialRenderProxy, FPersistentPrimitiveIndex PersistentPrimitiveIndex, const FBoxSphereBounds LocalBoxSphereBounds, FIntVector ExistenceMaskTextureResolution, FRDGTextureRef &ExistenceMaskTexture)
Definition HeterogeneousVolumesAmbientOcclusionPipeline.cpp:233
void RenderAdaptiveVolumetricCameraMapWithLiveShading(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View)
Definition HeterogeneousVolumesLiveShadingPipeline.cpp:3173
void CompressVolumetricShadowMap(FRDGBuilder &GraphBuilder, FViewInfo &View, FIntVector GroupCount, FIntPoint ShadowMapResolution, uint32 MaxSampleCount, FRDGBufferRef VolumetricShadowLinkedListBuffer, FRDGBufferRef &VolumetricShadowIndirectionBuffer, FRDGBufferRef &VolumetricShadowTransmittanceBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:3781
uint32 GetTypeHash(const FVolumetricMeshBatch &MeshBatch)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:579
void CreateBeerShadowMapUniformBuffer(FRDGBuilder &GraphBuilder, const FVector3f *TranslatedWorldOrigin, const FVector4f *TranslatedWorldPlane, const FMatrix44f *TranslatedWorldToShadow, const FVector4f *SplitDepths, FIntPoint VolumetricShadowMapResolution, float VolumetricShadowMapDownsampleFactor, int32 NumShadowMatrices, uint32 VolumetricShadowMapMaxSampleCount, bool bIsDirectionalLight, FRDGTextureRef BeerShadowMapTexture, TRDGUniformBufferRef< FBeerShadowMapUniformBufferParameters > &BeerShadowMapUniformBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:3559
EVoxelGridBuildMode
Definition HeterogeneousVolumes.h:355
void BuildOrthoVoxelGrid(FRDGBuilder &GraphBuilder, const FScene *Scene, TArray< FViewInfo > &Views, const TArray< FVisibleLightInfo, SceneRenderingAllocator > &VisibleLightInfos, const FVoxelGridBuildOptions &BuildOptions, TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoVoxelGridUniformBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:2827
bool ShouldRenderHeterogeneousVolumesForAnyView(const TArrayView< FViewInfo > &Views)
Definition HeterogeneousVolumes.cpp:412
void RenderWithPreshading(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, int32 ViewIndex, TArray< FVisibleLightInfo, SceneRenderingAllocator > &VisibleLightInfos, const FVirtualShadowMapArray &VirtualShadowMapArray, const IHeterogeneousVolumeInterface *HeterogeneousVolumeInterface, const FMaterialRenderProxy *MaterialRenderProxy, const FPersistentPrimitiveIndex &PersistentPrimitiveIndex, const FBoxSphereBounds LocalBoxSphereBounds, FRDGTextureRef LightingCacheTexture, FRDGTextureRef &HeterogeneousVolumeRadiance)
Definition HeterogeneousVolumesPreshadingPipeline.cpp:1603
void CreateAdaptiveVolumetricShadowMapUniformBuffer(FRDGBuilder &GraphBuilder, const FVector3f *TranslatedWorldOrigin, const FVector4f *TranslatedWorldPlane, const FMatrix44f *TranslatedWorldToShadow, const FVector4f *SplitDepths, FIntPoint VolumetricShadowMapResolution, float VolumetricShadowMapDownsampleFactor, int32 NumShadowMatrices, uint32 VolumetricShadowMapMaxSampleCount, bool bIsDirectionalLight, FRDGBufferRef VolumetricShadowMapLinkedListBuffer, FRDGBufferRef VolumetricShadowMapIndirectionBuffer, FRDGBufferRef VolumetricShadowMapSampleBuffer, TRDGUniformBufferRef< FAdaptiveVolumetricShadowMapUniformBufferParameters > &AdaptiveVolumetricShadowMapUniformBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:3485
void RegisterExternalOrthoVoxelGridUniformBuffer(FRDGBuilder &GraphBuilder, const FAdaptiveOrthoGridParameterCache &AdaptiveOrthoGridParameterCache, TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:2434
bool ShouldRenderHeterogeneousVolumesAsHoldoutForView(const FViewInfo &View)
Definition HeterogeneousVolumes.cpp:490
void ConvertVolumetricShadowMapToBeerLawShadowMap(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FViewInfo &View, const FString &ShadowMapName, FIntPoint ShadowMapResolution, FIntVector GroupCount, FRDGBufferRef VolumetricShadowLinkedListBuffer, FRDGTextureRef &BeerShadowMapTexture)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:3398
void ComputeHeterogeneousVolumeBakeMaterial(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const IHeterogeneousVolumeInterface *HeterogeneousVolumeInterface, const FMaterialRenderProxy *MaterialRenderProxy, const FPersistentPrimitiveIndex &PersistentPrimitiveIndex, const FBoxSphereBounds LocalBoxSphereBounds, FIntVector VolumeResolution, FRDGTextureRef &HeterogeneousVolumeExtinctionTexture, FRDGTextureRef &HeterogeneousVolumeEmissionTexture, FRDGTextureRef &HeterogeneousVolumeAlbedoTexture)
Definition HeterogeneousVolumesMaterialBakingPipeline.cpp:103
void BuildFrustumVoxelGrid(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FVoxelGridBuildOptions &BuildOptions, TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumVoxelGridUniformBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:2236
TRDGUniformBufferRef< FAdaptiveVolumetricShadowMaps > CreateAdaptiveVolumetricShadowMapUniformBuffers(FRDGBuilder &GraphBuilder, FSceneViewState *ViewState, const FLightSceneInfo *LightSceneInfo)
Definition HeterogeneousVolumesLiveShadingPipeline.cpp:1026
void RenderAdaptiveVolumetricCameraMapWithVoxelGrid(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, const TRDGUniformBufferRef< FOrthoVoxelGridUniformBufferParameters > &OrthoGridUniformBuffer, const TRDGUniformBufferRef< FFrustumVoxelGridUniformBufferParameters > &FrustumGridUniformBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:4411
bool ShouldCompositeHeterogeneousVolumesWithTranslucency()
Definition HeterogeneousVolumes.cpp:359
void RenderAmbientOcclusionWithLiveShading(FRDGBuilder &GraphBuilder, const FScene *Scene, const FViewInfo &View, const FSceneTextures &SceneTextures, const IHeterogeneousVolumeInterface *HeterogeneousVolumeInterface, const FMaterialRenderProxy *DefaultMaterialRenderProxy, FPersistentPrimitiveIndex PersistentPrimitiveIndex, const FBoxSphereBounds LocalBoxSphereBounds, FRDGTextureRef &AmbientOcclusionTexture)
Definition HeterogeneousVolumesAmbientOcclusionPipeline.cpp:724
void CreateAdaptiveVolumetricShadowMapUniformBufferParameters(FRDGBuilder &GraphBuilder, const FVector3f *TranslatedWorldOrigin, const FVector4f *TranslatedWorldPlane, const FMatrix44f *TranslatedWorldToShadow, const FVector4f *SplitDepths, FIntPoint VolumetricShadowMapResolution, float VolumetricShadowMapDownsampleFactor, int32 NumShadowMatrices, uint32 VolumetricShadowMapMaxSampleCount, bool bIsDirectionalLight, FRDGBufferRef VolumetricShadowMapLinkedListBuffer, FRDGBufferRef VolumetricShadowMapIndirectionBuffer, FRDGBufferRef VolumetricShadowMapSampleBuffer, FAdaptiveVolumetricShadowMapUniformBufferParameters *&AdaptiveVolumetricShadowMapUniformBufferParameters)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:3444
void RenderAdaptiveVolumetricShadowMapWithLiveShading(FRDGBuilder &GraphBuilder, const FSceneTextures &SceneTextures, FScene *Scene, FViewInfo &View, TArray< FVisibleLightInfo, SceneRenderingAllocator > &VisibleLightInfos)
Definition HeterogeneousVolumesLiveShadingPipeline.cpp:2965
void RenderVolumetricShadowMaskForLight(FRDGBuilder &GraphBuilder, const FSceneTexturesConfig &Config, const TConstArrayView< FViewInfo > &Views, uint32 LightType, const FLightSceneInfo *LightSceneInfo, FRDGTextureRef &ScreenShadowMaskTexture)
Definition HeterogeneousVolumesLiveShadingPipeline.cpp:3566
void ConvertBeerLawShadowMapToVolumetricShadowMap(FRDGBuilder &GraphBuilder, FViewInfo &View, FIntPoint ShadowMapResolution, FRDGTextureRef BeerShadowMapTexture, FRDGBufferRef &VolumetricShadowIndirectionBuffer, FRDGBufferRef &VolumetricShadowTransmittanceBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:3287
void CopyTexture3D(FRDGBuilder &GraphBuilder, const FViewInfo &View, FRDGTextureRef Texture, uint32 InputMipLevel, FRDGTextureRef &OutputTexture)
Definition HeterogeneousVolumesSparseVoxelPipeline.cpp:49
void CombineVolumetricShadowMap(FRDGBuilder &GraphBuilder, FViewInfo &View, FIntVector GroupCount, uint32 LightType, FIntPoint ShadowMapResolution, uint32 MaxSampleCount, FRDGBufferRef VolumetricShadowLinkedListBuffer0, FRDGBufferRef VolumetricShadowLinkedListBuffer1, FRDGBufferRef &VolumetricShadowLinkedListBuffer)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:3839
FBoxSphereBounds3d FBoxSphereBounds
Definition MathFwd.h:142
#define SHADER_PARAMETER_RDG_BUFFER_SRV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1800
#define SHADER_PARAMETER_RDG_TEXTURE(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1752
#define SHADER_PARAMETER_ARRAY(MemberType, MemberName, ArrayDecl)
Definition ShaderParameterMacros.h:1696
#define SHADER_PARAMETER_SAMPLER(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1740
#define BEGIN_UNIFORM_BUFFER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1512
#define BEGIN_SHADER_PARAMETER_STRUCT(StructTypeName, DllStorage)
Definition ShaderParameterMacros.h:1482
#define END_UNIFORM_BUFFER_STRUCT()
Definition ShaderParameterMacros.h:1520
#define END_SHADER_PARAMETER_STRUCT()
Definition ShaderParameterMacros.h:1485
#define SHADER_PARAMETER_STRUCT(StructType, MemberName)
Definition ShaderParameterMacros.h:1847
#define SHADER_PARAMETER_RDG_TEXTURE_SRV(ShaderType, MemberName)
Definition ShaderParameterMacros.h:1764
#define SHADER_PARAMETER(MemberType, MemberName)
Definition ShaderParameterMacros.h:1684
#define PI
Definition UnrealMathUtility.h:65
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition LightSceneInfo.h:208
Definition MaterialRenderProxy.h:102
Definition MaterialShared.h:2058
Definition PrimitiveSceneProxy.h:296
Definition ShadowRendering.h:279
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition RenderGraphResources.h:571
Definition ScenePrivate.h:746
Definition SceneView.h:1425
Definition ScenePrivate.h:2875
Definition SceneRendering.h:1132
Definition VirtualShadowMapArray.h:291
Definition SceneRendering.h:211
Definition HeterogeneousVolumeInterface.h:12
Definition ArrayView.h:139
Definition Array.h:670
Definition RenderGraphResources.h:251
Definition RefCounting.h:454
Type
Definition RHIFeatureLevel.h:20
Definition HeterogeneousVolumes.cpp:365
EStochasticFilteringMode GetStochasticFilteringMode()
Definition HeterogeneousVolumes.cpp:650
int32 GetDebugMode()
Definition HeterogeneousVolumes.cpp:639
bool UseLightingCacheForTransmittance()
Definition HeterogeneousVolumes.cpp:694
EScalabilityMode GetScalabilityMode()
Definition HeterogeneousVolumesLiveShadingPipeline.cpp:127
int32 GetMipLevel()
Definition HeterogeneousVolumes.cpp:628
FIntPoint GetShadowMapResolution()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:461
int GetVoxelCount(FIntVector VolumeResolution)
Definition HeterogeneousVolumes.cpp:766
bool IsDynamicShadow(const FVisibleLightInfo *VisibleLightInfo)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:556
float GetShadingRateForShadows()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:496
bool ShouldRefineSparseVoxels()
Definition HeterogeneousVolumes.cpp:660
bool UseHardwareRayTracing()
Definition HeterogeneousVolumes.cpp:704
FIntVector GetLightingCacheResolution(const IHeterogeneousVolumeInterface *RenderInterface, FLODValue LODValue)
Definition HeterogeneousVolumes.cpp:878
bool UseIndirectLighting()
Definition HeterogeneousVolumes.cpp:710
EIndirectLightingMode GetIndirectLightingMode()
Definition HeterogeneousVolumes.cpp:720
bool ShouldApplyVolumetricFog()
Definition HeterogeneousVolumes.cpp:735
float GetShadowRelativeErrorThreshold()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:481
EIndirectLightingMode
Definition HeterogeneousVolumes.h:116
float GetOutOfFrustumShadingRateForShadows()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:501
float CalcLODFactor(float LODValue, float LODBias)
Definition HeterogeneousVolumes.cpp:858
float GetMaxShadowTraceDistance()
Definition HeterogeneousVolumes.cpp:613
bool EnableJitterForShadows()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:506
float GetShadingRateForOrthoGrid()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:370
bool UseAdaptiveVolumetricShadowMapForSelfShadowing(const FPrimitiveSceneProxy *PrimitiveSceneProxy)
Definition HeterogeneousVolumes.cpp:682
float GetShadowAbsoluteErrorThreshold()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:476
float GetIndirectLightingFactor()
Definition HeterogeneousVolumes.cpp:715
bool ShouldDepthSort()
Definition HeterogeneousVolumes.cpp:725
EShadowPipeline GetShadowPipeline()
Definition HeterogeneousVolumes.cpp:644
bool SupportsOverlappingVolumes()
Definition HeterogeneousVolumesLiveShadingPipeline.cpp:160
EShadowType
Definition HeterogeneousVolumes.h:92
uint32 GetSparseVoxelMipBias()
Definition HeterogeneousVolumes.cpp:633
bool EnableIndirectionGrid()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:421
FIntPoint GetScaledViewRect(FIntRect ViewRect)
Definition HeterogeneousVolumes.cpp:578
float GetMaxTraceDistance()
Definition HeterogeneousVolumes.cpp:608
EShadowPipeline
Definition HeterogeneousVolumes.h:99
bool EnableLinearInterpolation()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:441
float GetStepSizeForShadows()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:466
float GetMinimumVoxelSizeInFrustum()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:385
bool ShouldWriteVelocity()
Definition HeterogeneousVolumes.cpp:750
bool IsHoldout(const IHeterogeneousVolumeInterface *HeterogeneousVolumeInterface)
Definition HeterogeneousVolumes.cpp:893
EShadowType GetShadowType()
Definition HeterogeneousVolumes.cpp:366
int32 GetDownsampleFactor()
Definition HeterogeneousVolumes.cpp:553
EShadowType GetTranslucencyCompositingMode()
Definition HeterogeneousVolumes.cpp:372
float GetShadowStepSize()
Definition HeterogeneousVolumes.cpp:603
int32 GetIndirectionGridResolution()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:436
bool UseAVSMCompression()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:486
ECascadeShadowMode
Definition HeterogeneousVolumes.h:162
EStochasticFilteringMode
Definition HeterogeneousVolumes.h:133
uint32 GetShadowMaxSampleCount()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:471
int32 GetCascadeShadowsQuantizationUnit()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:546
const FProjectedShadowInfo * GetProjectedShadowInfo(const FVisibleLightInfo *VisibleLightInfo, int32 ShadowIndex)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:567
bool UseExistenceMask()
Definition HeterogeneousVolumesLiveShadingPipeline.cpp:167
float GetShadingRateForFrustumGrid()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:340
FIntVector GetMipVolumeResolution(FIntVector VolumeResolution, uint32 MipLevel)
Definition HeterogeneousVolumes.cpp:776
float GetMaxStepCount()
Definition HeterogeneousVolumes.cpp:623
ECascadeShadowMode GetCascadeShadowMode()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:541
bool SupportsShadowForLightType(uint32 LightType)
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:511
float GetStepSize()
Definition HeterogeneousVolumes.cpp:618
float GetCameraDownsampleFactor()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:491
bool UseLightingCacheForInscattering()
Definition HeterogeneousVolumes.cpp:689
EFogMode GetFogInscatteringMode()
Definition HeterogeneousVolumes.cpp:740
float GetMinimumVoxelSizeOutsideFrustum()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:390
bool UseSparseVoxelPipeline()
Definition HeterogeneousVolumes.cpp:655
bool UseAnalyticDerivatives()
Definition HeterogeneousVolumes.cpp:745
bool SupportsLightType(uint32 LightType)
Definition HeterogeneousVolumesLiveShadingPipeline.cpp:133
FIntVector GetVolumeResolution(const IHeterogeneousVolumeInterface *Interface)
Definition HeterogeneousVolumes.cpp:583
FIntPoint GetDownsampledResolution(FIntPoint Resolution, int32 DownsampleFactor)
Definition HeterogeneousVolumes.cpp:573
bool SupportsCascadeShadowsForDirectionalLight()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:531
int32 GetBottomLevelGridResolution()
Definition HeterogeneousVolumesVoxelGridPipeline.cpp:431
EScalabilityMode
Definition HeterogeneousVolumes.h:81
bool ShouldApplyHeightFog()
Definition HeterogeneousVolumes.cpp:730
FIntVector GetAmbientOcclusionResolution(const IHeterogeneousVolumeInterface *, FLODValue LODValue)
Definition HeterogeneousVolumesAmbientOcclusionPipeline.cpp:92
FLODValue CalcLOD(const HeterogeneousVolumes::FLODInfo &LODInfo, const IHeterogeneousVolumeInterface *HeterogeneousVolume)
Definition HeterogeneousVolumes.cpp:790
bool EnableAmbientOcclusion()
Definition HeterogeneousVolumesAmbientOcclusionPipeline.cpp:64
EFogMode
Definition HeterogeneousVolumes.h:172
float CalcLODBias(const IHeterogeneousVolumeInterface *HeterogeneousVolume)
Definition HeterogeneousVolumes.cpp:785
bool ShouldJitter()
Definition HeterogeneousVolumes.cpp:699
bool UseSparseVoxelPerTileCulling()
Definition HeterogeneousVolumes.cpp:665
int32 GetLightingCacheMode()
Definition HeterogeneousVolumes.cpp:670
Definition HeterogeneousVolumes.h:469
uint32 Data[4]
Definition HeterogeneousVolumes.h:470
Definition HeterogeneousVolumes.h:464
uint32 Data[2]
Definition HeterogeneousVolumes.h:465
Definition HeterogeneousVolumes.h:474
uint32 Data
Definition HeterogeneousVolumes.h:475
Definition HeterogeneousVolumes.h:390
FVector3f TopLevelGridWorldBoundsMax
Definition HeterogeneousVolumes.h:401
float TanHalfFOV
Definition HeterogeneousVolumes.h:409
TRefCountPtr< FRDGPooledBuffer > EmissionGridBuffer
Definition HeterogeneousVolumes.h:415
FIntVector TopLevelGridResolution
Definition HeterogeneousVolumes.h:402
FMatrix44f WorldToView
Definition HeterogeneousVolumes.h:394
FIntVector VoxelDimensions
Definition HeterogeneousVolumes.h:403
FMatrix44f ClipToView
Definition HeterogeneousVolumes.h:398
FMatrix44f WorldToClip
Definition HeterogeneousVolumes.h:391
FVector4f ViewFrustumPlanes[6]
Definition HeterogeneousVolumes.h:411
int32 bUseFrustumGrid
Definition HeterogeneousVolumes.h:405
FMatrix44f ViewToClip
Definition HeterogeneousVolumes.h:397
TRefCountPtr< FRDGPooledBuffer > TopLevelGridBuffer
Definition HeterogeneousVolumes.h:413
float FarPlaneDepth
Definition HeterogeneousVolumes.h:408
FVector3f TopLevelGridWorldBoundsMin
Definition HeterogeneousVolumes.h:400
float NearPlaneDepth
Definition HeterogeneousVolumes.h:407
TRefCountPtr< FRDGPooledBuffer > ExtinctionGridBuffer
Definition HeterogeneousVolumes.h:414
FMatrix44f ViewToWorld
Definition HeterogeneousVolumes.h:395
FMatrix44f ClipToWorld
Definition HeterogeneousVolumes.h:392
TRefCountPtr< FRDGPooledBuffer > ScatteringGridBuffer
Definition HeterogeneousVolumes.h:416
Definition HeterogeneousVolumes.h:420
int32 bEnableIndirectionGrid
Definition HeterogeneousVolumes.h:426
TRefCountPtr< FRDGPooledBuffer > TopLevelGridBitmaskBuffer
Definition HeterogeneousVolumes.h:428
int32 bUseOrthoGrid
Definition HeterogeneousVolumes.h:424
TRefCountPtr< FRDGPooledBuffer > IndirectionGridBuffer
Definition HeterogeneousVolumes.h:430
FVector3f TopLevelGridWorldBoundsMin
Definition HeterogeneousVolumes.h:421
TRefCountPtr< FRDGPooledBuffer > ScatteringGridBuffer
Definition HeterogeneousVolumes.h:434
FVector3f TopLevelGridWorldBoundsMax
Definition HeterogeneousVolumes.h:422
TRefCountPtr< FRDGPooledBuffer > EmissionGridBuffer
Definition HeterogeneousVolumes.h:433
int32 bUseMajorantGrid
Definition HeterogeneousVolumes.h:425
TRefCountPtr< FRDGPooledBuffer > TopLevelGridBuffer
Definition HeterogeneousVolumes.h:429
TRefCountPtr< FRDGPooledBuffer > ExtinctionGridBuffer
Definition HeterogeneousVolumes.h:432
TRefCountPtr< FRDGPooledBuffer > MajorantGridBuffer
Definition HeterogeneousVolumes.h:436
FIntVector TopLevelGridResolution
Definition HeterogeneousVolumes.h:423
Definition ConvexVolume.h:44
Definition MaterialShared.h:1181
Definition MeshBatch.h:371
Definition MeshPassProcessor.h:1559
Definition RenderGraphDefinitions.h:627
Definition HeterogeneousVolumes.h:289
uint32 PackedData[2]
Definition HeterogeneousVolumes.h:290
Definition SceneTexturesConfig.h:114
Definition SceneTextures.h:110
Definition HeterogeneousVolumes.h:279
Definition HeterogeneousVolumes.h:284
uint32 PackedData[1]
Definition HeterogeneousVolumes.h:285
Definition HeterogeneousVolumes.h:294
uint32 PackedData[2]
Definition HeterogeneousVolumes.h:295
Definition SceneRendering.h:771
const FPrimitiveSceneProxy * Proxy
Definition SceneRendering.h:773
Definition HeterogeneousVolumes.h:231
uint32 MipLevel
Definition HeterogeneousVolumes.h:233
uint32 LinearIndex
Definition HeterogeneousVolumes.h:232
Definition HeterogeneousVolumes.h:361
float ShadingRateInFrustum
Definition HeterogeneousVolumes.h:363
bool bBuildOrthoGrid
Definition HeterogeneousVolumes.h:366
float ShadingRateOutOfFrustum
Definition HeterogeneousVolumes.h:364
bool bUseProjectedPixelSizeForOrthoGrid
Definition HeterogeneousVolumes.h:368
bool bBuildFrustumGrid
Definition HeterogeneousVolumes.h:367
bool bJitter
Definition HeterogeneousVolumes.h:369
EVoxelGridBuildMode VoxelGridBuildMode
Definition HeterogeneousVolumes.h:362
Definition HeterogeneousVolumes.h:189
FBoxSphereBounds WorldSceneBounds
Definition HeterogeneousVolumes.h:191
FVector WorldOrigin
Definition HeterogeneousVolumes.h:194
bool bIsPerspective
Definition HeterogeneousVolumes.h:203
float FOV
Definition HeterogeneousVolumes.h:198
FConvexVolume WorldShadowFrustum
Definition HeterogeneousVolumes.h:197
float DownsampleFactor
Definition HeterogeneousVolumes.h:200
float NearClippingDistance
Definition HeterogeneousVolumes.h:199
FIntRect ViewRect
Definition HeterogeneousVolumes.h:195
Definition HeterogeneousVolumes.h:207
float LOD
Definition HeterogeneousVolumes.h:208
float Bias
Definition HeterogeneousVolumes.h:209
Definition BoxSphereBounds.h:25
Definition IntPoint.h:25
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79