FStreamingTextureLevelContext

Context used to resolve [FStreamingTextureBuildInfo](API\Runtime\Engine\Engine\FStreamingTextureBuildInfo) to [FStreamingRenderAssetPrimitiveInfo](API\Runtime\Engine\Engine\FStreamingRenderAssetPrimitiveIn-) The context make sure that build data and each texture is only processed once per component (with constant time).

Choose your operating system:

Windows

macOS

Linux

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Engine/TextureStreamingTypes.h

Include

#include "Engine/TextureStreamingTypes.h"

Syntax

class FStreamingTextureLevelContext

Remarks

Context used to resolve FStreamingTextureBuildInfo to FStreamingRenderAssetPrimitiveInfo The context make sure that build data and each texture is only processed once per component (with constant time). It manage internally structures used to accelerate the binding between precomputed data and textures, so that there is only one map lookup per texture per level. There is some complexity here because the build data does not reference directly texture objects to avoid hard references which would load texture when the component is loaded, which could be wrong since the build data is built for a specific feature level and quality level. The current feature and quality could reference more or less textures. This requires the logic to not submit a streaming entry for precomputed data, as well as submit fallback data for texture that were referenced in the texture streaming build.

Constructors

Name Description

Public function

FStreamingTextureLevelContext

(
    EMaterialQualityLevel::Type InQuali...,
    const UPrimitiveComponent* Pri...
)

Public function

FStreamingTextureLevelContext

(
    EMaterialQualityLevel::Type InQuali...,
    const ULevel* InLevel,
    const TMap< FGuid, int32 >* In...
)

Needs InLevel to use precomputed data from.

Public function

FStreamingTextureLevelContext

(
    EMaterialQualityLevel::Type InQuali...,
    ERHIFeatureLevel::Type InFeatureLev...,
    bool InUseRelativeBoxes
)

Destructors

Functions

Name Description

Public function

void

 

BindBuildData

(
    const TArray< FStreamingTextureBuil...
)

Public function Const

bool

 

CanUseTextureStreamingBuiltData()

Public function

ERHIFeatureL...

 

GetFeatureLevel()

Public function

EMaterialQua...

 

GetQualityLevel()

Public function

void

 

ProcessMaterial

(
    const FBoxSphereBounds& ComponentB...,
    const FPrimitiveMaterialInfo& Mate...,
    float ComponentScaling,
    TArray< FStreamingRenderAssetPrimit...,
    bool bIsComponentBuildDataValid,
    const UPrimitiveComponent* Deb...
)

Public function

void

 

UpdateContext

(
    EMaterialQualityLevel::Type InQuali...,
    const ULevel* InLevel,
    const TMap< FGuid, int32 >* In...
)

Constants

Name

Description

UseTextureStreamingBuiltData

UseTextureStreamingBuiltDataCommand

Console command used to turn on/off usage of texture streaming built data.