UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
NaniteStreamingPageUploader.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6
7#include "Rendering/NaniteStreamingManager.h" // TODO: For FPageKey. Refactor
8
9class FRDGBuilder;
10class FRDGBuffer;
11
12namespace Nanite
13{
14
16{
17 struct FAddedPageInfo
18 {
19 FPageKey GPUPageKey;
20 uint32 SrcPageOffset;
21 uint32 DstPageOffset;
22 uint32 PageDependenciesOffset;
23 uint32 NumPageDependencies;
24 uint32 ClustersOffset;
25 uint32 NumClusters;
26 uint32 InstallPassIndex;
27 };
28
29 struct FPassInfo
30 {
31 uint32 NumPages;
32 uint32 NumClusters;
33 };
34public:
36
38 uint8* Add_GetRef(uint32 PageSize, uint32 NumClusters, uint32 DstPageOffset, const FPageKey& GPUPageKey, const TArray<uint32>& PageDependencies);
39
40 void Release();
41
43private:
44 TRefCountPtr<FRDGPooledBuffer> ClusterInstallInfoUploadBuffer;
45 TRefCountPtr<FRDGPooledBuffer> PageUploadBuffer;
46 TRefCountPtr<FRDGPooledBuffer> PageDependenciesBuffer;
47 uint8* PageDataPtr;
48 uint32 MaxPages;
49 uint32 MaxPageBytes;
50 uint32 MaxStreamingPages;
51 uint32 NextPageByteOffset;
52 uint32 NextClusterIndex;
53 TArray<FAddedPageInfo> AddedPageInfos;
54 TMap<FPageKey, uint32> GPUPageKeyToAddedIndex;
55 TArray<uint32> FlattenedPageDependencies;
56 TArray<FPassInfo> PassInfos;
57
58 void ResetState();
59};
60
61} // namespace Nanite
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RenderGraphResources.h:1321
Definition RenderGraphBuilder.h:49
Definition NaniteStreamingPageUploader.h:16
void Release()
Definition NaniteStreamingPageUploader.cpp:195
uint8 * Add_GetRef(uint32 PageSize, uint32 NumClusters, uint32 DstPageOffset, const FPageKey &GPUPageKey, const TArray< uint32 > &PageDependencies)
Definition NaniteStreamingPageUploader.cpp:166
void ResourceUploadTo(FRDGBuilder &GraphBuilder, FRDGBuffer *DstBuffer)
Definition NaniteStreamingPageUploader.cpp:203
FStreamingPageUploader()
Definition NaniteStreamingPageUploader.cpp:132
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition RefCounting.h:454
Definition SkinnedMeshComponent.h:50
Definition NaniteStreamingManager.h:29