G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
UTextureEncodingProjectSettings Class Reference

Encoding can either use the "Final" or "Fast" speeds, for supported encoders (e.g. Oodle) Encode speed settings have no effect on encoders that don't support encode speed, currently limited to Oodle. More...

Public Member Functions

Functions
void SetbFinalUsesRDO (bool Value)
 If true, Final encode speed enables rate-distortion optimization on supported encoders to decrease on disc size of textures in compressed package files. This rate-distortion tradeoff is controlled via "Lambda". The "LossyCompressionAmount" parameter on textures is used to control it. Specific LossyCompressionAmount values correspond to to RDO lambdas of:
void SetbFastUsesRDO (bool Value)
 If true, Final encode speed enables rate-distortion optimization on supported encoders to decrease on disc size of textures in compressed package files. This rate-distortion tradeoff is controlled via "Lambda". The "LossyCompressionAmount" parameter on textures is used to control it. Specific LossyCompressionAmount values correspond to to RDO lambdas of:
void SetbSharedLinearTextureEncoding (bool Value)
 If true, platforms that want to take a linearly encoded texture and then tile them will try to reuse the linear texture rather than encode it for every platform. This can result in massive speedups for texture building as tiling is very fast compared to encoding. So instead of:

Static Public Member Functions

Static Functions
static UClass StaticClass ()

Public Attributes

EncodeSpeeds
ETextureEncodeSpeed CookUsesSpeed
 Which encode speed non interactive editor sessions will use (i.e. commandlets).
ETextureEncodeSpeed EditorUsesSpeed
 Which encode speed everything else uses.
EncodeSpeedSettings
int8 FastRDOLambda
 Ignored if UsesRDO is false. This value is used if a given texture is using "Default" LossyCompressionAmount. Otherwise, the value of LossyCompressionAmount is translated in to a fixed lambda (see UsesRDO tooltip).
ETextureEncodeEffort FastEffortLevel
 Specifies how much time to take trying for better encode results.
ETextureUniversalTiling FastUniversalTiling
 Specifies how to assume textures are laid out on disc. This only applies to Oodle with RDO enabled. 256 KB is a good middle ground. Enabling this will decrease the on-disc sizes of textures for platforms with exposed texture tiling (i.e. consoles), but will slightly increase sizes of textures for platforms with opaque tiling (i.e. desktop).
ETextureUniversalTiling FinalUniversalTiling
 Specifies how to assume textures are laid out on disc. This only applies to Oodle with RDO enabled. 256 KB is a good middle ground. Enabling this will decrease the on-disc sizes of textures for platforms with exposed texture tiling (i.e. consoles), but will slightly increase sizes of textures for platforms with opaque tiling (i.e. desktop).
ETextureEncodeEffort FinalEffortLevel
 Specifies how much time to take trying for better encoding results.
int8 FinalRDOLambda
 Ignored if UsesRDO is false. This value is used if a given texture is using "Default" LossyCompressionAmount. Otherwise, the value of LossyCompressionAmount is translated in to a fixed lambda (see UsesRDO tooltip).

Detailed Description

Encoding can either use the "Final" or "Fast" speeds, for supported encoders (e.g. Oodle) Encode speed settings have no effect on encoders that don't support encode speed, currently limited to Oodle.

Member Function Documentation

◆ SetbFastUsesRDO()

void SetbFastUsesRDO ( bool Value)

If true, Final encode speed enables rate-distortion optimization on supported encoders to decrease on disc size of textures in compressed package files. This rate-distortion tradeoff is controlled via "Lambda". The "LossyCompressionAmount" parameter on textures is used to control it. Specific LossyCompressionAmount values correspond to to RDO lambdas of:

  None - Disable RDO for this texture.
  Lowest - 1 (Least distortion)
  Low - 10
  Medium - 20
  High - 30
  Highest - 40

If set to Default, then the LossyCompressionAmount in the LODGroup for the texture is used. If that is also Default, then the RDOLambda in these settings is used.

Note that any distortion introduced is on top of, and likely less than, any introduced by the format itself.

◆ SetbFinalUsesRDO()

void SetbFinalUsesRDO ( bool Value)

If true, Final encode speed enables rate-distortion optimization on supported encoders to decrease on disc size of textures in compressed package files. This rate-distortion tradeoff is controlled via "Lambda". The "LossyCompressionAmount" parameter on textures is used to control it. Specific LossyCompressionAmount values correspond to to RDO lambdas of:

  None - Disable RDO for this texture.
  Lowest - 1 (Least distortion)
  Low - 10
  Medium - 20
  High - 30
  Highest - 40

If set to Default, then the LossyCompressionAmount in the LODGroup for the texture is used. If that is also Default, then the RDOLambda in these settings is used.

Note that any distortion introduced is on top of, and likely less than, any introduced by the format itself.

◆ SetbSharedLinearTextureEncoding()

void SetbSharedLinearTextureEncoding ( bool Value)

If true, platforms that want to take a linearly encoded texture and then tile them will try to reuse the linear texture rather than encode it for every platform. This can result in massive speedups for texture building as tiling is very fast compared to encoding. So instead of:

  Host Platform: Linear encode
  Console 1: Linear encode + platform specific tile
  Console 2: Linear encode + platform specific tile

you instead get: Host platform: Linear encode Console 1: fetch linear + platform specific tile Console 2: fetch linear + platform specific tile

Note that this has no effect on cook time, only build time - once the texture is in the DDC this has no effect.

◆ StaticClass()

UClass StaticClass ( )
static

Member Data Documentation

◆ CookUsesSpeed

ETextureEncodeSpeed CookUsesSpeed

Which encode speed non interactive editor sessions will use (i.e. commandlets).

◆ EditorUsesSpeed

ETextureEncodeSpeed EditorUsesSpeed

Which encode speed everything else uses.

◆ FastEffortLevel

ETextureEncodeEffort FastEffortLevel

Specifies how much time to take trying for better encode results.

◆ FastRDOLambda

int8 FastRDOLambda

Ignored if UsesRDO is false. This value is used if a given texture is using "Default" LossyCompressionAmount. Otherwise, the value of LossyCompressionAmount is translated in to a fixed lambda (see UsesRDO tooltip).

Low values (1) represent highest quality (least distortion) results.

◆ FastUniversalTiling

ETextureUniversalTiling FastUniversalTiling

Specifies how to assume textures are laid out on disc. This only applies to Oodle with RDO enabled. 256 KB is a good middle ground. Enabling this will decrease the on-disc sizes of textures for platforms with exposed texture tiling (i.e. consoles), but will slightly increase sizes of textures for platforms with opaque tiling (i.e. desktop).

◆ FinalEffortLevel

ETextureEncodeEffort FinalEffortLevel

Specifies how much time to take trying for better encoding results.

◆ FinalRDOLambda

int8 FinalRDOLambda

Ignored if UsesRDO is false. This value is used if a given texture is using "Default" LossyCompressionAmount. Otherwise, the value of LossyCompressionAmount is translated in to a fixed lambda (see UsesRDO tooltip).

Low values (1) represent highest quality (least distortion) results.

◆ FinalUniversalTiling

ETextureUniversalTiling FinalUniversalTiling

Specifies how to assume textures are laid out on disc. This only applies to Oodle with RDO enabled. 256 KB is a good middle ground. Enabling this will decrease the on-disc sizes of textures for platforms with exposed texture tiling (i.e. consoles), but will slightly increase sizes of textures for platforms with opaque tiling (i.e. desktop).