40 return HitProxyConsumer !=
NULL;
45 CurrentHitProxy = HitProxy;
47 if(HitProxyConsumer && HitProxy)
85 uint8 DepthPriorityGroup,
91 float OpacityMaskRefVal
120 uint8 DepthPriorityGroup,
143 uint8 DepthPriorityGroup,
166 uint8 DepthPriorityGroup
172 if( !bIsPerspective )
191 const int32 NumElements =
Mesh.Elements.Num();
192 for (
int32 ElementIndex = 0; ElementIndex < NumElements; ++ElementIndex)
203 check(DynamicPrimitiveCollector);
217 if( CurrentHitProxy !=
nullptr )
219 NewMesh->BatchHitProxyId = CurrentHitProxy->
Id;
230 for (
int32 ElementIndex = 0; ElementIndex <
NewMesh->Elements.Num(); ElementIndex++)
236 checkf(!
NewMesh->Elements[ElementIndex].PrimitiveUniformBuffer,
237 TEXT(
"FMeshBatch was assigned a PrimitiveUniformBuffer even though Vertex Factory %s fetches primitive shader data through a Scene buffer. The assigned PrimitiveUniformBuffer cannot be respected. Use PrimitiveUniformBufferResource instead for dynamic primitive data, or leave both null to get FPrimitiveSceneProxy->UniformBuffer."),
NewMesh->VertexFactory->GetType()->GetName());
241 TEXT(
"FMeshBatch was not properly setup. The primitive uniform buffer must be specified."));
252 if (PrimitiveUniformBufferResource)
256 Element.DynamicPrimitiveData,
258 Element.NumInstances,
259 Element.DynamicPrimitiveIndex,
260 Element.DynamicPrimitiveInstanceSceneDataOffset);
265 NewMesh->MaterialRenderProxy->UpdateUniformExpressionCacheIfNeeded(FeatureLevel);
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
bool MeshBatchHasPrimitives(const FMeshBatch &Mesh)
Definition DynamicPrimitiveDrawing.inl:188
@ SDPG_Foreground
Definition EngineTypes.h:191
@ PrimID_DynamicPrimitiveShaderData
Definition MeshBatch.h:83
EShaderPlatform GMaxRHIShaderPlatform
Definition RHI.cpp:1335
bool UseGPUScene(const FStaticShaderPlatform Platform, const FStaticFeatureLevel FeatureLevel)
Definition RenderUtils.cpp:1636
#define ENQUEUE_RENDER_COMMAND(Type)
Definition RenderingThread.h:1167
CORE_API bool IsInGameThread()
Definition ThreadingBase.cpp:185
Definition BatchedElements.h:102
ENGINE_API void AddPoint(const FVector &Position, float Size, const FLinearColor &Color, FHitProxyId HitProxyId)
Definition BatchedElements.cpp:198
ENGINE_API void AddLine(const FVector &Start, const FVector &End, const FLinearColor &Color, FHitProxyId HitProxyId, float Thickness=0.0f, float DepthBias=0.0f, bool bScreenSpace=false)
Definition BatchedElements.cpp:129
ENGINE_API void AddSprite(const FVector &Position, float SizeX, float SizeY, const FTexture *Texture, const FLinearColor &Color, FHitProxyId HitProxyId, float U, float UL, float V, float VL, uint8 BlendMode, float OpacityMaskRefVal)
Definition BatchedElements.cpp:412
ENGINE_API void AddReserveLines(int32 NumLines, bool bDepthBiased=false, bool bThickLines=false)
Definition BatchedElements.cpp:353
ENGINE_API void AddTranslucentLine(const FVector &Start, const FVector &End, const FLinearColor &Color, FHitProxyId HitProxyId, float Thickness=0.0f, float DepthBias=0.0f, bool bScreenSpace=false)
Definition BatchedElements.cpp:165
Definition SceneManagement.h:1267
Definition HitProxies.h:218
virtual void AddHitProxy(HHitProxy *HitProxy)=0
Definition HitProxies.h:86
Definition PrimitiveDrawInterface.h:19
const FSceneView * View
Definition PrimitiveDrawInterface.h:22
Definition RHICommandList.h:3819
Definition RHICommandList.h:5514
ERHIFeatureLevel::Type GetFeatureLevel() const
Definition SceneView.h:2004
FViewMatrices ViewMatrices
Definition SceneView.h:1464
Definition RenderResource.h:354
Definition DynamicPrimitiveDrawing.h:17
virtual void AddReserveLines(uint8 DepthPriorityGroup, int32 NumLines, bool bDepthBiased=false, bool bThickLines=false) override
Definition DynamicPrimitiveDrawing.inl:109
virtual void DrawLine(const FVector &Start, const FVector &End, const FLinearColor &Color, uint8 DepthPriorityGroup, float Thickness=0.0f, float DepthBias=0.0f, bool bScreenSpace=false) override
Definition DynamicPrimitiveDrawing.inl:116
virtual void DrawTranslucentLine(const FVector &Start, const FVector &End, const FLinearColor &Color, uint8 DepthPriorityGroup, float Thickness=0.0f, float DepthBias=0.0f, bool bScreenSpace=false) override
Definition DynamicPrimitiveDrawing.inl:139
FViewElementPDI(FViewInfo *InViewInfo, FHitProxyConsumer *InHitProxyConsumer, FGPUScenePrimitiveCollector *InDynamicPrimitiveCollector)
Definition DynamicPrimitiveDrawing.inl:31
virtual void DrawPoint(const FVector &Position, const FLinearColor &Color, float PointSize, uint8 DepthPriorityGroup) override
Definition DynamicPrimitiveDrawing.inl:162
virtual void SetHitProxy(HHitProxy *HitProxy) override
Definition DynamicPrimitiveDrawing.inl:42
virtual void RegisterDynamicResource(FDynamicPrimitiveResource *DynamicResource) override
Definition DynamicPrimitiveDrawing.inl:54
virtual bool IsHitTesting() override
Definition DynamicPrimitiveDrawing.inl:38
virtual void DrawSprite(const FVector &Position, float SizeX, float SizeY, const FTexture *Sprite, const FLinearColor &Color, uint8 DepthPriorityGroup, float U, float UL, float V, float VL, uint8 BlendMode=SE_BLEND_Masked, float OpacityMaskRefVal=.5f) override
Definition DynamicPrimitiveDrawing.inl:79
virtual int32 DrawMesh(const FMeshBatch &Mesh) override
Definition DynamicPrimitiveDrawing.inl:200
Definition SceneRendering.h:1132
TIndirectArray< FMeshBatch, SceneRenderingAllocator > TopViewMeshElements
Definition SceneRendering.h:1249
TIndirectArray< FMeshBatch, SceneRenderingAllocator > ViewMeshElements
Definition SceneRendering.h:1246
FBatchedElements & TopBatchedViewElements
Definition SceneRendering.h:1243
FBatchedElements & BatchedViewElements
Definition SceneRendering.h:1240
uint32 bHasTranslucentViewMeshElements
Definition SceneRendering.h:1357
TArray< FDynamicPrimitiveResource *, SceneRenderingAllocator > DynamicResources
Definition SceneRendering.h:1252
Definition HitProxies.h:135
FHitProxyId Id
Definition HitProxies.h:153
Definition TaskGraphInterfaces.h:598
Definition IndirectArray.h:20
Type
Definition RHIFeatureLevel.h:20
U16 Index
Definition radfft.cpp:71
Definition UnrealMathUtility.h:270
Definition MeshBatch.h:232
Definition MeshBatch.h:371
const FMatrix & GetProjectionMatrix() const
Definition SceneView.h:433
Definition LightweightStats.h:416
T M[4][4]
Definition Matrix.h:49