UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FSplineMeshSceneExtension Class Reference

#include <SplineMeshSceneResources.h>

+ Inheritance diagram for FSplineMeshSceneExtension:

Public Member Functions

virtual ISceneExtensionUpdaterCreateUpdater () override
 
virtual ISceneExtensionRendererCreateRenderer (FSceneRendererBase &InSceneRenderer, const FEngineShowFlags &EngineShowFlags) override
 
uint32 NumRegisteredPrimitives () const
 
 ISceneExtension (FScene &InScene)
 
- Public Member Functions inherited from ISceneExtension
 ISceneExtension (FScene &InScene)
 
virtual ~ISceneExtension ()
 
virtual void InitExtension (FScene &InScene)
 

Static Public Member Functions

static bool ShouldCreateExtension (FScene &InScene)
 
- Static Public Member Functions inherited from ISceneExtension
static bool ShouldCreateExtension (FScene &Scene)
 

Friends

class FSplineMeshSceneUpdater
 
class FSplineMeshSceneRenderer
 

Additional Inherited Members

- Protected Attributes inherited from ISceneExtension
FSceneScene
 

Detailed Description

FSplineMeshSceneExtension

This class manages a texture that is used to bake down spline position values at a fixed number of texels to lower the cost of sampling these splines when deforming spline mesh vertices. Each spline in the scene is allocated an Nx1 region of the scene-wide 2D texture, and the system performs minimal updates to the texture on demand as spline mesh scene proxies are created or request updates due to changes to their parameters at run time.

Notes about texture allocation:

  • The scene spline mesh texture is allocated in square pow2 tiles of size SPLINE_MESH_TEXEL_WIDTH^2.
  • Tiles are encoded in Morton order so that the texture can be resized as the upper bound grows or shrinks without changing the assigned texture coordinate of registered spline meshes.
  • Defragmentation of the texture will occur if the texture could be 1/4 the size of the current texture size when tightly allocated.

Member Function Documentation

◆ CreateRenderer()

ISceneExtensionRenderer * FSplineMeshSceneExtension::CreateRenderer ( FSceneRendererBase InSceneRenderer,
const FEngineShowFlags EngineShowFlags 
)
overridevirtual

Reimplemented from ISceneExtension.

◆ CreateUpdater()

ISceneExtensionUpdater * FSplineMeshSceneExtension::CreateUpdater ( )
overridevirtual

Reimplemented from ISceneExtension.

◆ ISceneExtension()

ISceneExtension::ISceneExtension ( FScene InScene)
inlineexplicit

◆ NumRegisteredPrimitives()

uint32 FSplineMeshSceneExtension::NumRegisteredPrimitives ( ) const
inline

◆ ShouldCreateExtension()

bool FSplineMeshSceneExtension::ShouldCreateExtension ( FScene InScene)
static

Friends And Related Symbol Documentation

◆ FSplineMeshSceneRenderer

◆ FSplineMeshSceneUpdater


The documentation for this class was generated from the following files: