Navigation
API > API/Runtime > API/Runtime/Engine
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.
| Name | FStreamingTextureLevelContext |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Classes/Engine/TextureStreamingTypes.h |
| Include Path | #include "Engine/TextureStreamingTypes.h" |
Syntax
class FStreamingTextureLevelContext
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FStreamingTextureLevelContext
(
EMaterialQualityLevel::Type InQualityLevel, |
Engine/TextureStreamingTypes.h | ||
FStreamingTextureLevelContext
(
EMaterialQualityLevel::Type InQualityLevel, |
Needs InLevel to use precomputed data from. | Engine/TextureStreamingTypes.h | |
FStreamingTextureLevelContext
(
EMaterialQualityLevel::Type InQualityLevel, |
Engine/TextureStreamingTypes.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FStreamingTextureLevelContext() |
Engine/TextureStreamingTypes.h |
Structs
| Name | Remarks |
|---|---|
| FTextureBoundState |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bForceNoUseBuiltData | bool | Engine/TextureStreamingTypes.h | ||
| bIsBuiltDataValid | bool | Engine/TextureStreamingTypes.h | ||
| BoundStates | TArray< FTextureBoundState > | The component state of the each texture. | Engine/TextureStreamingTypes.h | |
| BuildDataTimestamp | int32 | An id used to identify the component build data. | Engine/TextureStreamingTypes.h | |
| bUseRelativeBoxes | bool | Whether the precomputed relative bounds should be used or not. | Engine/TextureStreamingTypes.h | |
| ComponentBuildData | const TArray< FStreamingTextureBuildInfo > * | The last bound component texture streaming build data. | Engine/TextureStreamingTypes.h | |
| FeatureLevel | ERHIFeatureLevel::Type | Engine/TextureStreamingTypes.h | ||
| LevelStreamingTextures | TArray< UTexture * > | Level's StreamingTextures array resolved version of FName to UTexture*. | Engine/TextureStreamingTypes.h | |
| QualityLevel | EMaterialQualityLevel::Type | Engine/TextureStreamingTypes.h | ||
| TextureGuidToLevelIndex | const TMap< FGuid, int32 > * | Reversed lookup for ULevel::StreamingTextureGuids. | Engine/TextureStreamingTypes.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void BindBuildData
(
const TArray< FStreamingTextureBuildInfo >* PreBuiltData |
Engine/TextureStreamingTypes.h | ||
bool CanUseTextureStreamingBuiltData() |
Engine/TextureStreamingTypes.h | ||
ERHIFeatureLevel::Type GetFeatureLevel() |
Engine/TextureStreamingTypes.h | ||
EMaterialQualityLevel::Type GetQualityLevel() |
Engine/TextureStreamingTypes.h | ||
void ProcessMaterial
(
const FBoxSphereBounds& ComponentBounds, |
Engine/TextureStreamingTypes.h | ||
void SetForceNoUseBuiltData
(
bool bValue |
Engine/TextureStreamingTypes.h | ||
void UpdateContext
(
EMaterialQualityLevel::Type InQualityLevel, |
Engine/TextureStreamingTypes.h |