UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SceneHitProxyRendering.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 SceneHitProxyRendering.h: Scene hit proxy rendering.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "RHI.h"
11#include "HitProxies.h"
12#include "MeshPassProcessor.h"
13
15class FScene;
17
18#if WITH_EDITOR
19
20class FHitProxyMeshProcessor : public FSceneRenderingAllocatorObject<FHitProxyMeshProcessor>, public FMeshPassProcessor
21{
22public:
23
25
26 virtual void AddMeshBatch(const FMeshBatch& RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy, int32 StaticMeshId = -1) override final;
27
28 FMeshPassProcessorRenderState PassDrawRenderState;
29
30
32 bool TryAddMeshBatch(const FMeshBatch& RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy, int32 StaticMeshId, const FMaterialRenderProxy* MaterialRenderProxy, const FMaterial* Material);
33
34 bool Process(
35 const FMeshBatch& MeshBatch,
38 const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy,
39 const FMaterialRenderProxy& RESTRICT MaterialRenderProxy,
40 const FMaterial& RESTRICT MaterialResource,
41 ERasterizerFillMode MeshFillMode,
42 ERasterizerCullMode MeshCullMode);
43
45};
46
47
49{
50public:
51
53
54 virtual void AddMeshBatch(const FMeshBatch& RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy, int32 StaticMeshId = -1) override final;
55
56 FMeshPassProcessorRenderState PassDrawRenderState;
57
59 bool TryAddMeshBatch(const FMeshBatch& RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy, int32 StaticMeshId, const FMaterialRenderProxy* MaterialRenderProxy, const FMaterial* Material);
60
61 bool Process(
62 const FMeshBatch& MeshBatch,
65 const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy,
66 const FMaterialRenderProxy& RESTRICT MaterialRenderProxy,
67 const FMaterial& RESTRICT MaterialResource,
68 ERasterizerFillMode MeshFillMode,
69 ERasterizerCullMode MeshCullMode);
70
71 int32 GetStencilValue(const FSceneView* View, const FPrimitiveSceneProxy* PrimitiveSceneProxy);
72
77};
78
80{
81public:
83
84 virtual void AddMeshBatch(const FMeshBatch& RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy, int32 StaticMeshId = -1) override final;
85
86 FMeshPassProcessorRenderState PassDrawRenderState;
87
89 bool TryAddMeshBatch(const FMeshBatch& RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy, int32 StaticMeshId, const FMaterialRenderProxy* MaterialRenderProxy, const FMaterial* Material);
90
91 bool Process(
92 const FMeshBatch& MeshBatch,
95 const FPrimitiveSceneProxy* RESTRICT PrimitiveSceneProxy,
96 const FMaterialRenderProxy& RESTRICT MaterialRenderProxy,
97 const FMaterial& RESTRICT MaterialResource,
98 ERasterizerFillMode MeshFillMode,
99 ERasterizerCullMode MeshCullMode);
100
101 int32 GetStencilValue(const FSceneView* View, const FPrimitiveSceneProxy* PrimitiveSceneProxy);
102};
103
104#endif
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define RESTRICT
Definition Platform.h:706
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ERasterizerCullMode
Definition RHIDefinitions.h:369
ERasterizerFillMode
Definition RHIDefinitions.h:358
Definition MaterialRenderProxy.h:102
Definition MaterialShared.h:2058
Definition MeshPassProcessor.h:1670
Definition MeshPassProcessor.h:2199
virtual void AddMeshBatch(const FMeshBatch &RESTRICT MeshBatch, uint64 BatchElementMask, const FPrimitiveSceneProxy *RESTRICT PrimitiveSceneProxy, int32 StaticMeshId=-1)=0
Definition NameTypes.h:617
Definition PrimitiveSceneProxy.h:296
Definition SceneView.h:1425
Definition ScenePrivate.h:2875
Definition StaticMeshBatch.h:16
Definition ConcurrentLinearAllocator.h:571
Definition UnrealString.h.inl:34
Definition MeshBatch.h:371
Definition MeshPassProcessor.h:2118