5 #include "CoreMinimal.h" 10 template<
typename Type>
16 if (IsInRenderingThread())
23 ENQUEUE_RENDER_COMMAND(FRuntimeMeshProxyDeleterCommand)(
24 [Object](FRHICommandListImmediate & RHICmdList)
26 delete static_cast<Type*
>(Object);
40 TMap<int32, FRuntimeMeshSectionProxyPtr>
Sections;
55 void DeleteSection_GameThread(int32 SectionId);
56 void DeleteSection_RenderThread(int32 SectionId);
60 TMap<int32, FRuntimeMeshSectionProxyPtr>&
GetSections() {
return Sections; }
64 check(IsInRenderingThread());
65 bHasStaticSections =
false;
66 bHasDynamicSections =
false;
67 bHasShadowableSections =
false;
68 for (
const auto& SectionEntry : Sections)
70 if (SectionEntry.Value.IsValid())
72 bool bWantsStaticPath = SectionEntry.Value->WantsToRenderInStaticPath();
73 bHasStaticSections |= bWantsStaticPath;
74 bHasDynamicSections |= !bWantsStaticPath;
75 bHasShadowableSections = SectionEntry.Value->CastsShadow();
80 void UpdateCachedValues();
TMap< int32, FRuntimeMeshSectionProxyPtr > & GetSections()
void CalculateViewRelevance(bool &bHasStaticSections, bool &bHasDynamicSections, bool &bHasShadowableSections)
TSharedPtr< FRuntimeMeshSectionPropertyUpdateParams, ESPMode::NotThreadSafe > FRuntimeMeshSectionPropertyUpdateParamsPtr
TSharedPtr< FRuntimeMeshSectionUpdateParams, ESPMode::NotThreadSafe > FRuntimeMeshSectionUpdateParamsPtr
static const textual_icon check
ERHIFeatureLevel::Type GetFeatureLevel() const
TSharedPtr< FRuntimeMeshSectionCreationParams, ESPMode::NotThreadSafe > FRuntimeMeshSectionCreationParamsPtr
TMap< int32, FRuntimeMeshSectionProxyPtr > Sections
void operator()(Type *Object) const
ERHIFeatureLevel::Type FeatureLevel