UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DynamicPrimitiveDrawing.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 DynamicPrimitiveDrawing.h: Dynamic primitive drawing definitions.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "SceneManagement.h"
11#include "SceneRendering.h"
12
14
17{
18public:
19
21
22 // FPrimitiveDrawInterface interface.
23 virtual bool IsHitTesting() override;
24 virtual void SetHitProxy(HHitProxy* HitProxy) override;
26 virtual void AddReserveLines(uint8 DepthPriorityGroup, int32 NumLines, bool bDepthBiased = false, bool bThickLines = false) override;
27 virtual void DrawSprite(
28 const FVector& Position,
29 float SizeX,
30 float SizeY,
31 const FTexture* Sprite,
32 const FLinearColor& Color,
33 uint8 DepthPriorityGroup,
34 float U,
35 float UL,
36 float V,
37 float VL,
38 uint8 BlendMode = SE_BLEND_Masked,
39 float OpacityMaskRefVal = .5f
40 ) override;
41
42 virtual void DrawLine(
43 const FVector& Start,
44 const FVector& End,
45 const FLinearColor& Color,
46 uint8 DepthPriorityGroup,
47 float Thickness = 0.0f,
48 float DepthBias = 0.0f,
49 bool bScreenSpace = false
50 ) override;
51 virtual void DrawTranslucentLine(
52 const FVector& Start,
53 const FVector& End,
54 const FLinearColor& Color,
55 uint8 DepthPriorityGroup,
56 float Thickness = 0.0f,
57 float DepthBias = 0.0f,
58 bool bScreenSpace = false
59 ) override;
60 virtual void DrawPoint(
61 const FVector& Position,
62 const FLinearColor& Color,
63 float PointSize,
64 uint8 DepthPriorityGroup
65 ) override;
66 virtual int32 DrawMesh(const FMeshBatch& Mesh) override;
67
68private:
69 FViewInfo* ViewInfo;
70 TRefCountPtr<HHitProxy> CurrentHitProxy;
71 FHitProxyConsumer* HitProxyConsumer;
72 FGPUScenePrimitiveCollector* DynamicPrimitiveCollector;
73
75 FBatchedElements& GetElements(uint8 DepthPriorityGroup) const;
76};
77
78#include "DynamicPrimitiveDrawing.inl" // IWYU pragma: export
79
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ SE_BLEND_Masked
Definition SceneTypes.h:193
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition BatchedElements.h:102
Definition SceneManagement.h:1267
Definition GPUScene.h:80
Definition HitProxies.h:218
Definition PrimitiveDrawInterface.h:19
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
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
Definition HitProxies.h:135
Definition RefCounting.h:454
Definition Color.h:48
Definition MeshBatch.h:371