mirror of
https://github.com/AssetRipper/AssetRipper.git
synced 2025-12-11 20:15:29 +01:00
101 lines
2.6 KiB
C#
101 lines
2.6 KiB
C#
using AssetRipper.SourceGenerated.Enums;
|
|
using AssetRipper.SourceGenerated.Subclasses.QualitySetting;
|
|
|
|
namespace AssetRipper.SourceGenerated.Extensions;
|
|
|
|
public static class QualitySettingExtensions
|
|
{
|
|
public enum AntiAliasing
|
|
{
|
|
Disabled = 0,
|
|
_2X = 2,
|
|
_4X = 4,
|
|
_8X = 8,
|
|
}
|
|
public enum ShadowCascades
|
|
{
|
|
NoCascades = 1,
|
|
TwoCascades = 2,
|
|
FourCascades = 4,
|
|
}
|
|
public enum TextureQuality
|
|
{
|
|
FullRes = 0,
|
|
HalfRes = 1,
|
|
QuarterRes = 2,
|
|
EighthRes = 3,
|
|
}
|
|
public enum VSyncCount
|
|
{
|
|
DontSync = 0,
|
|
EveryVBlank = 1,
|
|
EverySecondVBlank = 2,
|
|
}
|
|
public static void ConvertToEditorFormat(this IQualitySetting setting)
|
|
{
|
|
setting.ShadowProjection = (int)ShadowProjection.StableFit;
|
|
setting.ShadowNearPlaneOffset = 3.0f;
|
|
setting.ShadowCascade2Split = 1.0f / 3.0f;
|
|
setting.ShadowCascade4Split?.SetValues(2.0f / 30.0f, 0.2f, 14.0f / 30.0f);
|
|
setting.StreamingMipmapsAddAllCameras = true;
|
|
setting.StreamingMipmapsMemoryBudget = 512.0f;
|
|
setting.StreamingMipmapsRenderersPerFrame = 512;
|
|
setting.StreamingMipmapsMaxLevelReduction = 2;
|
|
setting.StreamingMipmapsMaxFileIORequests = 1024;
|
|
setting.AsyncUploadTimeSlice = 2;
|
|
setting.AsyncUploadBufferSize = 4;
|
|
setting.ResolutionScalingFixedDPIFactor = 1.0f;
|
|
}
|
|
|
|
public static ShadowQuality GetShadows(this IQualitySetting setting)
|
|
{
|
|
return (ShadowQuality)setting.Shadows;
|
|
}
|
|
|
|
public static ShadowResolution GetShadowResolution(this IQualitySetting setting)
|
|
{
|
|
return (ShadowResolution)setting.ShadowResolution;
|
|
}
|
|
|
|
public static ShadowProjection Get(this IQualitySetting setting)
|
|
{
|
|
return (ShadowProjection)setting.ShadowProjection;
|
|
}
|
|
|
|
public static ShadowCascades GetShadowCascades(this IQualitySetting setting)
|
|
{
|
|
return (ShadowCascades)setting.ShadowCascades;
|
|
}
|
|
|
|
public static ShadowmaskMode GetShadowmaskMode(this IQualitySetting setting)
|
|
{
|
|
return (ShadowmaskMode)setting.ShadowmaskMode;
|
|
}
|
|
|
|
public static SkinWeights GetSkinWeights(this IQualitySetting setting)
|
|
{
|
|
return (SkinWeights)(setting.Has_SkinWeights() ? setting.SkinWeights : setting.BlendWeights);
|
|
//todo: merge BlendWeights into SkinWeights in the source generation
|
|
}
|
|
|
|
public static TextureQuality GetTextureQuality(this IQualitySetting setting)
|
|
{
|
|
return (TextureQuality)setting.TextureQuality;
|
|
}
|
|
|
|
public static AnisotropicFiltering GetAnisotropicTextures(this IQualitySetting setting)
|
|
{
|
|
return (AnisotropicFiltering)setting.AnisotropicTextures;
|
|
}
|
|
|
|
public static AntiAliasing GetAntiAliasing(this IQualitySetting setting)
|
|
{
|
|
return (AntiAliasing)setting.AntiAliasing;
|
|
}
|
|
|
|
public static VSyncCount GetVSyncCount(this IQualitySetting setting)
|
|
{
|
|
return (VSyncCount)setting.VSyncCount;
|
|
}
|
|
}
|