|
- using System;
- using System.IO;
- using Newtonsoft.Json;
-
- namespace Kompressor
- {
- public struct QualitySettings
- {
- public int QualitySettingIndex;
-
- public string AnisotropicFiltering;
-
- public int AntiAliasing;
-
- public int AsyncUploadBufferSize;
-
- public bool AsyncUploadPersistentBuffer;
-
- public int AsyncUploadTimeSlice;
-
- public bool BillBoardsFaceCameraPosition;
-
- public float LODBias;
-
- public int MasterTextureLimit;
-
- public int MaximumLODLevel;
-
- public int MaxQueuedFrames;
-
- public int ParticleRaycastBudget;
-
- public int PixelLightCount;
-
- public bool RealtimeReflectionProbes;
-
- public float ResolutionScalingFixedDPIFactor;
-
- public float ShadowCascade2Split;
-
- //public float[] ShadowCascade4Split;
-
- public int ShadowCascades;
-
- public float ShadowDistance;
-
- public string ShadowmaskMode;
-
- public float ShadowNearPlaneOffset;
-
- public string ShadowProjection;
-
- public string ShadowResolution;
-
- public string Shadows;
-
- public string SkinWeights;
-
- public bool SoftParticles;
-
- public bool SoftVegetation;
-
- public bool StreamingMipmapsActive;
-
- public bool StreamingMipmapsAddAllCameras;
-
- public int StreamingMipmapsMaxFileIORequests;
-
- public int StreamingMipmapsMaxLevelReduction;
-
- public float StreamingMipmapsMemoryBudget;
-
- //public int StreamingMipmapsRendersPerFrame;
-
- public int VSyncCount;
-
- public int TargetFrameRate;
-
- public float FieldOfView;
- }
-
- public static class QualitySettingsUtility
- {
- internal static QualitySettings Load(string filepath)
- {
- string contents = File.ReadAllText(filepath);
- return JsonConvert.DeserializeObject<QualitySettings>(contents);
- }
-
- internal static void Save(QualitySettings qs, string filepath)
- {
- string contents = JsonConvert.SerializeObject(qs);
- File.WriteAllText(filepath, contents);
- }
-
- internal static QualitySettings Default()
- {
- QualitySettings qs = new QualitySettings
- {
- AnisotropicFiltering = "Disable",
- AntiAliasing = 0,
- AsyncUploadBufferSize = 16,
- AsyncUploadPersistentBuffer = true,
- AsyncUploadTimeSlice = 2,
- BillBoardsFaceCameraPosition = false,
- LODBias = 0.3f,
- MasterTextureLimit = 3,
- MaximumLODLevel = 0,
- MaxQueuedFrames = 2,
- ParticleRaycastBudget = 4,
- PixelLightCount = 0,
- RealtimeReflectionProbes = false,
- ResolutionScalingFixedDPIFactor = 1,
- ShadowCascade2Split = 1/3,
- ShadowCascades = 1,
- ShadowDistance = 22,
- ShadowmaskMode = "Shadowmask",
- ShadowNearPlaneOffset = 3,
- ShadowProjection = "StableFit",
- ShadowResolution = "Low",
- Shadows = "Disable",
- SkinWeights = "OneBone",
- SoftParticles = false,
- SoftVegetation = false,
- StreamingMipmapsActive = false,
- StreamingMipmapsAddAllCameras = true,
- StreamingMipmapsMaxFileIORequests = 1024,
- StreamingMipmapsMaxLevelReduction = 4,
- StreamingMipmapsMemoryBudget = 512,
- VSyncCount = 0,
- TargetFrameRate = -1,
- FieldOfView = 60,
- };
- return qs;
- }
- }
- }
|