Module |
|
Header |
/Engine/Source/Runtime/Engine/Public/PrimitiveSceneProxy.h |
Include |
#include "PrimitiveSceneProxy.h" |
class FPrimitiveSceneProxy
Encapsulates the data which is mirrored to render a UPrimitiveComponent parallel to the game thread. This is intended to be subclassed to support different primitive types.
Name | Description | ||
---|---|---|---|
|
uint8: 1 |
bAffectDistanceFieldLighting |
|
|
uint8: 1 |
bAffectDynamicIndirectLighting |
True if the primitive casts Reflective Shadow Map shadows (meaning it affects Light Propagation Volumes). |
|
uint8: 1 |
bAlwaysHasVelocity |
Whether the primitive should always be considered to have velocities, even if it hasn't moved. |
|
uint8: 1 |
bCastCapsuleDirectShadow |
Whether the primitive should use capsules for direct shadowing, if present. Forces inset shadows. |
|
uint8: 1 |
bCastCinematicShadow |
Whether this component should create a per-object shadow that gives higher effective shadow resolution. |
|
uint8: 1 |
bCastDynamicShadow |
True if the primitive casts dynamic shadows. |
|
uint8: 1 |
bCastFarShadow |
When enabled, the component will be rendering into the distant shadow cascades (only for directional lights). |
|
uint8: 1 |
bCastHiddenShadow |
True if the primitive casts shadows even when hidden. |
|
uint8: 1 |
bCastInsetShadow |
Whether this component should create a per-object shadow that gives higher effective shadow resolution. |
|
uint8: 1 |
bCastsDynamicIndirectShadow |
Whether the primitive should use an inset indirect shadow from capsules or mesh distance fields. |
|
uint8: 1 |
bCastShadowAsTwoSided |
Whether this primitive should cast dynamic shadows as if it were a two sided material. |
|
uint8: 1 |
bCastStaticShadow |
True if the primitive casts static shadows. |
|
uint8: 1 |
bCastVolumetricTranslucentShadow |
Whether the object should cast a volumetric translucent shadow. |
|
uint8: 1 |
bGoodCandidateForCachedShadowmap |
Whether this proxy's mesh is unlikely to be constantly changing. |
|
uint8: 1 |
bHasValidSettingsForStaticLighting |
True if the primitive wants to use static lighting, but has invalid content settings to do so. |
|
uint8: 1 |
bLightAttachmentsAsGroup |
Whether to light this component and any attachments as a group. |
|
uint8: 1 |
bNeedsLevelAddedToWorldNotification |
Whether this primitive requires notification when its level is added to the world and made visible for the first time. |
|
uint8: 1 |
bNeedsUnbuiltPreviewLighting |
Whether the primitive should be statically lit but has unbuilt lighting, and a preview should be used. |
|
uint8: 1 |
bSelfShadowOnly |
When enabled, the component will only cast a shadow on itself and not other components in the world. |
|
uint8: 1 |
bSingleSampleShadowFromStationaryLights |
Whether the whole component should be shadowed as one from stationary lights, which makes shadow receiving much cheaper. |
|
uint8: 1 |
bStaticElementsAlwaysUseProxyPrimitiveUniformBuffer |
Whether this proxy always uses UniformBuffer and no other uniform buffers. |
|
uint8: 1 |
bSupportsDistanceFieldRepresentation |
Whether the primitive type supports a distance field representation. |
|
uint8: 1 |
bSupportsHeightfieldRepresentation |
Whether the primitive implements GetHeightfieldRepresentation() |
|
uint8: 1 |
bVerifyUsedMaterials |
|
|
uint8: 1 |
bVFRequiresPrimitiveUniformBuffer |
Whether this proxy ever draws with vertex factories that require a primitive uniform buffer. |
|
uint8: 1 |
bWantsSelectionOutline |
True by default, if set to false will make given proxy never drawn with selection outline |
|
uint8: 1 |
bWillEverBeLit |
Can be set to false to skip some work only needed on lit primitives. |
|
DebugMassData |
||
|
float |
DistanceFieldSelfShadowBias |
|
|
float |
DynamicIndirectShadowMinVisibility |
Min visibility for capsule shadows. |
|
TEnumAsByte< EI... |
IndirectLightingCacheQuality |
Quality of interpolated indirect lighting for Movable components. |
|
float |
LpvBiasMultiplier |
The bias applied to LPV injection |
|
RuntimeVirtualTextureMaterialTypes |
Set of unique runtime virtual texture material types referenced by RuntimeVirtualTextures. |
|
|
RuntimeVirtualTextures |
Array of runtime virtual textures that this proxy should render to. |
|
|
VirtualTextureCullMips |
Number of low mips to skip when rendering to runtime virtual texture. |
|
|
VirtualTextureLodBias |
Geometry Lod bias when rendering to runtime virtual texture. |
|
|
VirtualTextureMinCoverage |
Log2 of minimum estimated pixel coverage before culling from runtime virtual texture. |
Name | Description | |
---|---|---|
|
FPrimitiveSceneProxy ( |
Initialization constructor. |
Name | Description | |
---|---|---|
|
~FPrimitiveSceneProxy() |
Virtual destructor. |
Name | Description | ||
---|---|---|---|
|
AcceptOcclusionResults ( |
Gives the primitive the results of sub-occlusion-queries |
|
|
AffectsDistanceFieldLighting() |
||
|
AffectsDynamicIndirectLighting() |
||
|
AllowApproximateOcclusion() |
||
|
AlwaysHasVelocity() |
||
|
ApplyLateUpdateTransform ( |
Applies a "late in the frame" adjustment to the proxy's existing transform |
|
|
ApplyWorldOffset ( |
Shifts primitive position and all relevant data by an arbitrary delta. |
|
|
CanBeOccluded() |
||
|
CastsCapsuleDirectShadow() |
||
|
CastsCinematicShadow() |
||
|
CastsDynamicIndirectShadow() |
||
|
CastsDynamicShadow() |
||
|
CastsFarShadow() |
||
|
CastsHiddenShadow() |
||
|
CastsInsetShadow() |
||
|
CastsSelfShadowOnly() |
||
|
CastsShadowAsTwoSided() |
||
|
CastsStaticShadow() |
||
|
CastsVolumetricTranslucentShadow() |
||
|
CollectOccluderElements ( |
Collects occluder geometry for software occlusion culling |
|
|
HHitProxy &#... |
CreateHitProxies ( |
Creates the hit proxies are used when DrawDynamicElements is called. Called in the game thread. |
|
CreateRenderThreadResources() |
Called when the rendering thread adds the proxy to the scene. |
|
|
DestroyRenderThreadResources() |
Called when the rendering thread removes the proxy from the scene. |
|
|
DoesVFRequirePrimitiveUniformBuffer() |
||
|
DrawArc ( |
Drawing helper. Draws nice bouncy line. |
|
|
DrawArrowHead ( |
||
|
DrawStaticElements |
Draws the primitive's static elements. |
|
|
DrawsVelocity() |
Returns whether draws velocity in base pass. |
|
|
GatherSimpleLights ( |
Callback from the renderer to gather simple lights that this proxy wants renderered. |
|
|
const FVecto... |
GetActorPosition() |
|
|
GetAllocatedSize() |
||
|
const FBoxSp... |
GetBounds() |
|
|
GetCurrentFirstLODIdx_RenderThread() |
||
|
GetCustomDepthStencilValue() |
||
|
const FColor... |
GetCustomHitProxyIdBuffer() |
Allows a scene proxy to override hit proxy ids and generate more than one hit proxy id per draw call Useful for sub-section selection (faces, vertices, bones, etc) |
|
FBoxSphereBo... |
GetCustomOcclusionBounds() |
Return the custom occlusion bounds for this scene proxy. |
|
const FCusto... |
GetCustomPrimitiveData() |
Get the custom primitive data for this scene proxy. |
|
GetDepthPriorityGroup ( |
Determines the DPG to render the primitive in for the given view. |
|
|
GetDistancefieldAtlasData ( |
||
|
GetDistanceFieldInstanceInfo ( |
||
|
float |
GetDynamicIndirectShadowMinVisibility() |
|
|
GetDynamicMeshElements ( |
Gathers the primitive's dynamic mesh elements. |
|
|
GetHeightfieldRepresentation ( |
||
|
EIndirectLig... |
GetIndirectLightingCacheQuality() |
|
|
GetLCIs ( |
||
|
GetLevelColor() |
||
|
GetLevelName() |
||
|
GetLightingChannelMask() |
||
|
GetLightingChannelStencilValue() |
||
|
GetLightMapResolution() |
Get the lightmap resolution for this primitive. Used in VMI_LightmapDensity. |
|
|
ELightmapTyp... |
GetLightmapType() |
|
|
GetLightRelevance ( |
Determines the relevance of this primitive's elements to the given light. |
|
|
const FBoxSp... |
GetLocalBounds() |
|
|
const FMatri... |
GetLocalToWorld() |
|
|
GetLOD ( |
Returns the LOD that the primitive will render at for this view. |
|
|
float |
GetLpvBiasMultiplier() |
|
|
GetMaterialTextureScales ( |
Get mesh UV density for a LOD-section. |
|
|
float |
GetMaxDrawDistance() |
|
|
GetMemoryFootprint() |
Every derived class should override these functions |
|
|
GetMeshDescription ( |
Gathers a description of the mesh elements to be rendered for the given LOD index, without consideration for views. |
|
|
GetMeshUVDensities |
Get mesh UV density for a LOD-section. |
|
|
float |
GetMinDrawDistance() |
|
|
GetNumUncachedStaticLightingInteractions() |
||
|
const TArray... |
GetOcclusionQueries ( |
Gets the boxes for sub occlusion queries |
|
GetOwnerName() |
||
|
GetPreSkinnedLocalBounds ( |
||
|
FPrimitiveCo... |
GetPrimitiveComponentId() |
|
|
GetPrimitiveDistance |
Get primitive distance to view origin for a given LOD-section. |
|
|
FPrimitiveSc... |
GetPrimitiveSceneInfo() |
|
|
GetPropertyColor() |
||
|
GetResourceName() |
||
|
FSceneInterf... |
GetScene() |
Accessors. |
|
GetShadowShapes ( |
Gathers shadow shapes from this proxy. |
|
|
GetStaticDepthPriorityGroup() |
Determines the DPG to render the primitive in regardless of view. |
|
|
GetStatId() |
||
|
GetStencilWriteMask() |
||
|
GetTranslucencySortPriority() |
||
|
GetTypeHash() |
Return a type (or subtype) specific hash for sorting purposes |
|
|
FRHIUniformB... |
GetUniformBuffer() |
|
|
FPrimitiveVi... |
GetViewRelevance ( |
Determines the relevance of this primitive's elements to the given view. |
|
GetVirtualTextureCullMips() |
||
|
GetVirtualTextureLodBias() |
||
|
GetVirtualTextureMinCoverage() |
||
|
GetVisibilityId() |
||
|
GetWireframeColor() |
||
|
HasCustomOcclusionBounds() |
Returns whether the proxy utilizes custom occlusion bounds or not |
|
|
HasDistanceFieldRepresentation() |
||
|
HasDynamicIndirectShadowCasterRepresentation() |
||
|
HasMotionBlurVelocityMeshes() |
||
|
HasPerInstanceHitProxies() |
||
|
HasStaticLighting() |
||
|
HasSubprimitiveOcclusionQueries() |
||
|
HasValidSettingsForStaticLighting() |
||
|
HasViewDependentDPG() |
||
|
HeightfieldHasPendingStreaming() |
||
|
IsCollisionEnabled() |
||
|
IsComponentLevelVisible() |
||
|
IsDetailMesh() |
Returns whether this proxy should be considered a "detail mesh". |
|
|
IsDrawnInGame() |
Tell us if this proxy is drawn in game. |
|
|
IsHovered() |
||
|
IsIndividuallySelected() |
||
|
IsLocalToWorldDeterminantNegative() |
||
|
IsMeshShapeOftenMoving() |
||
|
IsMovable() |
||
|
IsOftenMoving() |
||
|
IsOwnedBy ( |
||
|
IsParentSelected() |
||
|
IsSelectable() |
||
|
IsSelected() |
||
|
IsShadowCast ( |
||
|
IsShown ( |
||
|
IsStatic() |
||
|
IsStaticPathAvailable() |
||
|
IsUsingCustomLODRules() |
Tell us if we should rely on the default LOD computing rules or not. |
|
|
IsUsingDistanceCullFade() |
||
|
IsVisibleInRayTracing() |
||
|
IsVisibleInReflectionCaptures() |
||
|
LightAttachmentsAsGroup() |
||
|
NeedsLevelAddedToWorldNotification() |
||
|
NeedsUnbuiltPreviewLighting() |
||
|
OnDetachLight ( |
Called by the rendering thread to notify the proxy when a light is no longer associated with the proxy, so that it can clean up any cached resources. |
|
|
OnLevelAddedToWorld() |
Called to notify the proxy that the level has been fully added to the world and the primitive will now be rendered. |
|
|
OnTransformChanged() |
Called to notify the proxy when its transform has been updated. |
|
|
OverrideOwnerName ( |
Allow subclasses to override the primitive name. Used primarily by BSP. |
|
|
const bool |
ReceivesDecals() |
|
|
RenderBounds ( |
Helper for components that want to render bounds. |
|
|
SetCollisionEnabled_GameThread ( |
Set the collision flag on the scene proxy to enable/disable collision drawing |
|
|
SetCollisionEnabled_RenderThread ( |
Set the collision flag on the scene proxy to enable/disable collision drawing (RENDER THREAD) |
|
|
SetCustomDepthEnabled_GameThread ( |
Set the custom depth enabled flag |
|
|
SetCustomDepthEnabled_RenderThread ( |
Set the custom depth enabled flag (RENDER THREAD) |
|
|
SetCustomDepthStencilValue_GameThread ( |
Set the custom depth stencil value |
|
|
SetCustomDepthStencilValue_RenderThread ( |
Set the custom depth stencil value (RENDER THREAD) |
|
|
SetDebugMassData ( |
Sets the primitive proxy's mass space to component space. |
|
|
SetDistanceFieldSelfShadowBias_RenderThread ( |
||
|
SetHiddenEdViews_GameThread ( |
Updates the hidden editor view visibility map on the game thread which just enqueues a command on the render thread |
|
|
SetHovered_GameThread ( |
Updates hover state for the primitive proxy. |
|
|
SetHovered_RenderThread ( |
Updates hover state for the primitive proxy. |
|
|
SetLevelColor ( |
||
|
SetLightingChannels_GameThread ( |
Updates the lighting channels for the primitive proxy. |
|
|
SetPropertyColor ( |
||
|
SetSelection_GameThread |
Updates selection for the primitive proxy. |
|
|
SetSelection_RenderThread |
Updates selection for the primitive proxy. |
|
|
SetUsedMaterialForVerification ( |
This function exist only to perform an update of the UsedMaterialsForVerification on the render thread |
|
|
SetWireframeColor ( |
||
|
ShouldReceiveMobileCSMShadows() |
||
|
ShouldRenderCustomDepth() |
||
|
ShouldRenderInDepthPass() |
||
|
ShouldRenderInMainPass() |
||
|
ShouldUseAsOccluder() |
||
|
ShowInBSPSplitViewmode() |
||
|
StaticElementsAlwaysUseProxyPrimitiveUniformBuffer() |
||
|
SupportsDistanceFieldRepresentation() |
||
|
SupportsHeightfieldRepresentation() |
||
|
TreatAsBackgroundForOcclusion() |
||
|
UpdateUniformBuffer() |
Updates the primitive proxy's uniform buffer. |
|
|
UseEditorCompositing ( |
||
|
UseSingleSampleShadowFromStationaryLights() |
||
|
VerifyUsedMaterial ( |
Verifies that a material used for rendering was present in the component's GetUsedMaterials list. |
|
|
WantsSelectionOutline() |
||
|
WillEverBeLit() |
||
|
WritesVirtualTexture() |
||
|
WritesVirtualTexture ( |
Name |
Description |
|
---|---|---|
|
FDebugMassData |
Name |
Description |
---|---|
FLCIArray |
Get the list of LCIs. |
Name | Description | ||
---|---|---|---|
|
GetCustomLOD ( |
We no longer support custom LOD rules. |
|
|
GetCustomWholeSceneShadowLOD ( |
We no longer support custom shadow LOD rules. |
|
|
void * |
InitViewCustomData ( |
The entire ViewCustomData is deprecated. You need to reimplement your feature in other ways, like IPersistentViewUniformBufferExtension (use landscape as an example). |
|
IsUsingCustomWholeSceneShadowLODRules() |
We no longer support custom LOD rules. |