UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RayTracingInstance.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "RenderResource.h"
6#include "MeshBatch.h"
7
9
11{
14};
15
17{
20
26
29
30 bool OwnsMaterials() const
31 {
32 return Materials.Num() != 0;
33 }
34
36 {
37 if (OwnsMaterials())
38 {
39 check(MaterialsView.Num() == 0);
41 }
42 else
43 {
44 check(Materials.Num() == 0);
45 return MaterialsView;
46 }
47 }
48
51
53 bool bThinGeometry = false;
54
55 UE_DEPRECATED(5.6, "Near/far field assignment is done based on ERayTracingPrimitiveFlags::FarField.")
57
62
69
70 // Indices of primitive instances to be included in ray tracing scene
72
75
77 {
78 return PrimitiveInstanceIndices.Num() != 0;
79 }
80
94
97
100
101 bool OwnsTransforms() const
102 {
103 return InstanceTransforms.Num() != 0;
104 }
105
107 {
108 if (OwnsTransforms())
109 {
110 check(InstanceTransformsView.Num() == 0);
112 }
113 else
114 {
115 check(InstanceTransforms.Num() == 0);
117 }
118 }
119
120 //disable deprecation warnings for default constructors
129};
#define check(expr)
Definition AssertionMacros.h:314
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
ERayTracingInstanceLayer
Definition RayTracingInstance.h:11
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition RayTracingGeometry.h:31
Definition ArrayView.h:139
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition RayTracingInstance.h:17
bool OwnsMaterials() const
Definition RayTracingInstance.h:30
TConstArrayView< uint32 > PrimitiveInstanceIndicesView
Definition RayTracingInstance.h:74
FRayTracingInstance & operator=(const FRayTracingInstance &)=default
bool bInstanceMaskAndFlagsDirty
Definition RayTracingInstance.h:61
TConstArrayView< FMatrix > InstanceTransformsView
Definition RayTracingInstance.h:99
bool bThinGeometry
Definition RayTracingInstance.h:53
ERayTracingInstanceLayer InstanceLayer
Definition RayTracingInstance.h:56
uint32 NumTransforms
Definition RayTracingInstance.h:68
const FRayTracingGeometry * Geometry
Definition RayTracingInstance.h:19
bool OwnsPrimitiveInstanceIndices() const
Definition RayTracingInstance.h:76
bool bApplyLocalBoundsTransform
Definition RayTracingInstance.h:50
TArrayView< const FMeshBatch > GetMaterials() const
Definition RayTracingInstance.h:35
PRAGMA_DISABLE_DEPRECATION_WARNINGS FRayTracingInstance()=default
FRayTracingInstance & operator=(FRayTracingInstance &&)=default
TArray< FMatrix > InstanceTransforms
Definition RayTracingInstance.h:96
FRayTracingInstance(FRayTracingInstance &&)=default
TConstArrayView< FMeshBatch > MaterialsView
Definition RayTracingInstance.h:28
FRayTracingInstance(const FRayTracingInstance &)=default
TConstArrayView< FMatrix > GetTransforms() const
Definition RayTracingInstance.h:106
TArray< FMeshBatch > Materials
Definition RayTracingInstance.h:25
TArray< uint32 > PrimitiveInstanceIndices
Definition RayTracingInstance.h:71
TConstArrayView< uint32 > GetPrimitiveInstanceIndices() const
Definition RayTracingInstance.h:81
~FRayTracingInstance()=default
bool OwnsTransforms() const
Definition RayTracingInstance.h:101