private IReadOnlyList <TierSettings> GetTierSettings(Version version, Platform platform, TransferInstructionFlags flags) { if (!IsReadTierSettings(version)) { return(new TierSettings[0]); } if (IsReadEditorSettings(flags)) { return(TierSettings); } if (IsReadPlatformSettings(version)) { TierSettings[] settings = new TierSettings[PlatformSettings.Count]; for (int i = 0; i < PlatformSettings.Count; i++) { PlatformShaderSettings psettings = PlatformSettings[i]; settings[i] = new TierSettings(psettings, platform, (GraphicsTier)i, version, flags); } return(settings); } else { TierSettings[] settings = new TierSettings[TierGraphicSettings.Count]; for (int i = 0; i < TierGraphicSettings.Count; i++) { TierGraphicsSettings gsettings = TierGraphicSettings[i]; settings[i] = new TierSettings(gsettings, platform, (GraphicsTier)i); } return(settings); } }
private IReadOnlyList <TierSettings> GetTierSettings(Version version, Platform platform, TransferInstructionFlags flags) { if (!HasTierSettings(version)) { return(System.Array.Empty <TierSettings>()); } if (HasEditorSettings(flags)) { return(TierSettings); } if (HasPlatformSettings(version)) { TierSettings[] settings = new TierSettings[PlatformSettings.Length]; for (int i = 0; i < PlatformSettings.Length; i++) { PlatformShaderSettings psettings = PlatformSettings[i]; settings[i] = new TierSettings(psettings, platform, (GraphicsTier)i, version, flags); } return(settings); } else { TierSettings[] settings = new TierSettings[TierGraphicSettings.Length]; for (int i = 0; i < TierGraphicSettings.Length; i++) { TierGraphicsSettings gsettings = TierGraphicSettings[i]; settings[i] = new TierSettings(gsettings, platform, (GraphicsTier)i); } return(settings); } }
public override void Read(AssetReader reader) { base.Read(reader); if (IsReadDeferred(reader.Version)) { Deferred.Read(reader); } if (IsReadDeferredReflections(reader.Version)) { DeferredReflections.Read(reader); } if (IsReadScreenSpaceShadows(reader.Version)) { ScreenSpaceShadows.Read(reader); } if (IsReadLegacyDeferred(reader.Version)) { LegacyDeferred.Read(reader); } if (IsReadDepthNormals(reader.Version)) { DepthNormals.Read(reader); MotionVectors.Read(reader); LightHalo.Read(reader); LensFlare.Read(reader); } if (IsReadAlwaysIncludedShaders(reader.Version)) { m_alwaysIncludedShaders = reader.ReadAssetArray <PPtr <Shader> >(); } if (IsReadPreloadedShaders(reader.Version)) { m_preloadedShaders = reader.ReadAssetArray <PPtr <ShaderVariantCollection> >(); } if (IsReadSpritesDefaultMaterial(reader.Version)) { SpritesDefaultMaterial.Read(reader); } if (IsReadCustomRenderPipeline(reader.Version)) { CustomRenderPipeline.Read(reader); TransparencySortMode = (TransparencySortMode)reader.ReadInt32(); TransparencySortAxis.Read(reader); } if (IsReadTierSettings(reader.Version)) { if (IsReadPlatformSettings(reader.Version)) { if (IsReadPlatformSettingsTiers(reader.Version)) { m_platformSettings = new PlatformShaderSettings[3]; m_platformSettings[0] = reader.ReadAsset <PlatformShaderSettings>(); m_platformSettings[1] = reader.ReadAsset <PlatformShaderSettings>(); m_platformSettings[2] = reader.ReadAsset <PlatformShaderSettings>(); } else { m_platformSettings = new PlatformShaderSettings[1]; m_platformSettings[0] = reader.ReadAsset <PlatformShaderSettings>(); } } else { if (IsReadStaticTierGraphicsSettings(reader.Version, reader.Flags)) { m_tierGraphicSettings = new TierGraphicsSettings[3]; m_tierGraphicSettings[0] = reader.ReadAsset <TierGraphicsSettings>(); m_tierGraphicSettings[1] = reader.ReadAsset <TierGraphicsSettings>(); m_tierGraphicSettings[2] = reader.ReadAsset <TierGraphicsSettings>(); } } } #if UNIVERSAL if (IsReadEditorSettings(reader.Flags)) { if (IsReadDefaultRenderingPath(reader.Version)) { DefaultRenderingPath = (RenderingPath)reader.ReadInt32(); DefaultMobileRenderingPath = (RenderingPath)reader.ReadInt32(); } if (IsReadTierSettings(reader.Version)) { m_tierSettings = reader.ReadAssetArray <TierSettings>(); } if (IsReadLightmapStripping(reader.Version)) { LightmapStripping = (LightmapStrippingMode)reader.ReadInt32(); } if (IsReadFogStripping(reader.Version)) { if (IsReadFogStrippingFirst(reader.Version)) { FogStripping = (LightmapStrippingMode)reader.ReadInt32(); } } if (IsReadInstancingStripping(reader.Version)) { InstancingStripping = (InstancingStrippingVariant)reader.ReadInt32(); } if (IsReadLightmapKeepPlain(reader.Version)) { LightmapKeepPlain = reader.ReadBoolean(); LightmapKeepDirCombined = reader.ReadBoolean(); } if (IsReadLightmapKeepDirSeparate(reader.Version)) { LightmapKeepDirSeparate = reader.ReadBoolean(); } if (IsReadLightmapKeepDynamicPlain(reader.Version)) { if (IsReadLightmapKeepDynamic(reader.Version)) { bool lightmapKeepDynamic = reader.ReadBoolean(); reader.AlignStream(AlignType.Align4); LightmapKeepDynamicPlain = lightmapKeepDynamic; LightmapKeepDynamicDirCombined = lightmapKeepDynamic; LightmapKeepDynamicDirSeparate = lightmapKeepDynamic; } else { LightmapKeepDynamicPlain = reader.ReadBoolean(); LightmapKeepDynamicDirCombined = reader.ReadBoolean(); } } if (IsReadLightmapKeepDynamicDirSeparate(reader.Version)) { LightmapKeepDynamicDirSeparate = reader.ReadBoolean(); } if (IsAlign(reader.Version)) { reader.AlignStream(AlignType.Align4); } if (IsReadLightmapKeepShadowMask(reader.Version)) { LightmapKeepShadowMask = reader.ReadBoolean(); LightmapKeepSubtractive = reader.ReadBoolean(); } if (IsReadFogStripping(reader.Version)) { if (!IsReadFogStrippingFirst(reader.Version)) { FogStripping = (LightmapStrippingMode)reader.ReadInt32(); } } if (IsReadFogKeepLinear(reader.Version)) { FogKeepLinear = reader.ReadBoolean(); FogKeepExp = reader.ReadBoolean(); FogKeepExp2 = reader.ReadBoolean(); reader.AlignStream(AlignType.Align4); } if (IsReadAlbedoSwatchInfos(reader.Version)) { m_albedoSwatchInfos = reader.ReadAssetArray <AlbedoSwatchInfo>(); } } else #endif { if (IsReadShaderDefinesPerShaderCompiler(reader.Version)) { m_shaderDefinesPerShaderCompiler = reader.ReadAssetArray <PlatformShaderDefines>(); } } if (IsReadLightsUseLinearIntensity(reader.Version)) { LightsUseLinearIntensity = reader.ReadBoolean(); LightsUseColorTemperature = reader.ReadBoolean(); } }
public static void SetShaderSettingsForPlatform(BuildTargetGroup target, ShaderHardwareTier tier, PlatformShaderSettings settings) { TierSettings settings2 = new TierSettings { standardShaderQuality = settings.standardShaderQuality, cascadedShadowMaps = settings.cascadedShadowMaps, reflectionProbeBoxProjection = settings.reflectionProbeBoxProjection, reflectionProbeBlending = settings.reflectionProbeBlending }; SetTierSettings(target, (GraphicsTier) tier, settings2); }