diff --git a/API-Dump.json b/API-Dump.json index 7115ae745e..6da60a495d 100644 --- a/API-Dump.json +++ b/API-Dump.json @@ -1217,6 +1217,38 @@ "Name": "string" } }, + { + "MemberType": "Function", + "Name": "FireCustomEvent", + "Parameters": [ + { + "Name": "player", + "Type": { + "Category": "Class", + "Name": "Instance" + } + }, + { + "Name": "eventCategory", + "Type": { + "Category": "Primitive", + "Name": "string" + } + }, + { + "Name": "customData", + "Type": { + "Category": "Group", + "Name": "Variant" + } + } + ], + "ReturnType": { + "Category": "Primitive", + "Name": "void" + }, + "Security": "None" + }, { "MemberType": "Function", "Name": "FireEvent", @@ -1244,13 +1276,178 @@ "Tags": [ "Deprecated" ] + }, + { + "MemberType": "Function", + "Name": "FireInGameEconomyEvent", + "Parameters": [ + { + "Name": "player", + "Type": { + "Category": "Class", + "Name": "Instance" + } + }, + { + "Name": "itemName", + "Type": { + "Category": "Primitive", + "Name": "string" + } + }, + { + "Name": "economyAction", + "Type": { + "Category": "Enum", + "Name": "AnalyticsEconomyAction" + } + }, + { + "Name": "itemCategory", + "Type": { + "Category": "Primitive", + "Name": "string" + } + }, + { + "Name": "amount", + "Type": { + "Category": "Primitive", + "Name": "int" + } + }, + { + "Name": "currency", + "Type": { + "Category": "Primitive", + "Name": "string" + } + }, + { + "Name": "location", + "Type": { + "Category": "Group", + "Name": "Variant" + } + }, + { + "Name": "customData", + "Type": { + "Category": "Group", + "Name": "Variant" + } + } + ], + "ReturnType": { + "Category": "Primitive", + "Name": "void" + }, + "Security": "None" + }, + { + "MemberType": "Function", + "Name": "FireLogEvent", + "Parameters": [ + { + "Name": "player", + "Type": { + "Category": "Class", + "Name": "Instance" + } + }, + { + "Name": "logLevel", + "Type": { + "Category": "Enum", + "Name": "AnalyticsLogLevel" + } + }, + { + "Name": "message", + "Type": { + "Category": "Primitive", + "Name": "string" + } + }, + { + "Name": "debugInfo", + "Type": { + "Category": "Group", + "Name": "Variant" + } + }, + { + "Name": "customData", + "Type": { + "Category": "Group", + "Name": "Variant" + } + } + ], + "ReturnType": { + "Category": "Primitive", + "Name": "void" + }, + "Security": "None" + }, + { + "MemberType": "Function", + "Name": "FirePlayerProgressionEvent", + "Parameters": [ + { + "Name": "player", + "Type": { + "Category": "Class", + "Name": "Instance" + } + }, + { + "Name": "category", + "Type": { + "Category": "Primitive", + "Name": "string" + } + }, + { + "Name": "progressionStatus", + "Type": { + "Category": "Enum", + "Name": "AnalyticsProgressionStatus" + } + }, + { + "Name": "location", + "Type": { + "Category": "Group", + "Name": "Variant" + } + }, + { + "Name": "statistics", + "Type": { + "Category": "Group", + "Name": "Variant" + } + }, + { + "Name": "customData", + "Type": { + "Category": "Group", + "Name": "Variant" + } + } + ], + "ReturnType": { + "Category": "Primitive", + "Name": "void" + }, + "Security": "None" } ], "MemoryCategory": "Instances", "Name": "AnalyticsService", "Superclass": "Instance", "Tags": [ - "NotCreatable", "Service" ] }, @@ -8106,6 +8303,47 @@ "Name": "ClickDetector", "Superclass": "Instance" }, + { + "Members": [ + { + "Category": "Appearance", + "MemberType": "Property", + "Name": "Cover", + "Security": { + "Read": "None", + "Write": "None" + }, + "Serialization": { + "CanLoad": true, + "CanSave": true + }, + "ValueType": { + "Category": "Primitive", + "Name": "float" + } + }, + { + "Category": "Appearance", + "MemberType": "Property", + "Name": "Density", + "Security": { + "Read": "None", + "Write": "None" + }, + "Serialization": { + "CanLoad": true, + "CanSave": true + }, + "ValueType": { + "Category": "Primitive", + "Name": "float" + } + } + ], + "MemoryCategory": "Instances", + "Name": "Clouds", + "Superclass": "Instance" + }, { "Members": [ ], @@ -34631,6 +34869,17 @@ "Deprecated" ] }, + { + "MemberType": "Function", + "Name": "CancelImportHeightmap", + "Parameters": [ + ], + "ReturnType": { + "Category": "Primitive", + "Name": "void" + }, + "Security": "RobloxScriptSecurity" + }, { "MemberType": "Function", "Name": "CellCenterToWorld", @@ -35236,6 +35485,24 @@ "Deprecated" ] }, + { + "MemberType": "Function", + "Name": "SetImportHeightmapPaused", + "Parameters": [ + { + "Name": "paused", + "Type": { + "Category": "Primitive", + "Name": "bool" + } + } + ], + "ReturnType": { + "Category": "Primitive", + "Name": "void" + }, + "Security": "RobloxScriptSecurity" + }, { "MemberType": "Function", "Name": "SetMaterialColor", @@ -35406,6 +35673,48 @@ "CustomLuaState" ] }, + { + "MemberType": "Function", + "Name": "ImportHeightmap", + "Parameters": [ + { + "Name": "region", + "Type": { + "Category": "DataType", + "Name": "Region3" + } + }, + { + "Name": "heightmapAssetId", + "Type": { + "Category": "DataType", + "Name": "Content" + } + }, + { + "Name": "colormapAssetId", + "Type": { + "Category": "DataType", + "Name": "Content" + } + }, + { + "Name": "defaultMaterial", + "Type": { + "Category": "Enum", + "Name": "Material" + } + } + ], + "ReturnType": { + "Category": "Primitive", + "Name": "void" + }, + "Security": "RobloxScriptSecurity", + "Tags": [ + "Yields" + ] + }, { "MemberType": "Event", "Name": "TerrainProgressUpdate", @@ -41051,13 +41360,16 @@ "MemberType": "Property", "Name": "EmulatedCountryCode", "Security": { - "Read": "None", - "Write": "None" + "Read": "RobloxScriptSecurity", + "Write": "RobloxScriptSecurity" }, "Serialization": { "CanLoad": true, "CanSave": true }, + "Tags": [ + "Hidden" + ], "ValueType": { "Category": "Primitive", "Name": "string" @@ -41068,13 +41380,16 @@ "MemberType": "Property", "Name": "EmulatedGameLocale", "Security": { - "Read": "None", - "Write": "None" + "Read": "RobloxScriptSecurity", + "Write": "RobloxScriptSecurity" }, "Serialization": { "CanLoad": true, "CanSave": true }, + "Tags": [ + "Hidden" + ], "ValueType": { "Category": "Primitive", "Name": "string" @@ -41085,13 +41400,16 @@ "MemberType": "Property", "Name": "PlayerEmulationEnabled", "Security": { - "Read": "None", - "Write": "None" + "Read": "RobloxScriptSecurity", + "Write": "RobloxScriptSecurity" }, "Serialization": { "CanLoad": true, "CanSave": true }, + "Tags": [ + "Hidden" + ], "ValueType": { "Category": "Primitive", "Name": "bool" @@ -41122,13 +41440,16 @@ "MemberType": "Property", "Name": "SerializedEmulatedPolicyInfo", "Security": { - "Read": "None", - "Write": "None" + "Read": "RobloxScriptSecurity", + "Write": "RobloxScriptSecurity" }, "Serialization": { "CanLoad": true, "CanSave": true }, + "Tags": [ + "Hidden" + ], "ValueType": { "Category": "Primitive", "Name": "string" @@ -55295,6 +55616,20 @@ ], "Security": "RobloxScriptSecurity" }, + { + "MemberType": "Event", + "Name": "GameNameUpdated", + "Parameters": [ + { + "Name": "name", + "Type": { + "Category": "Primitive", + "Name": "string" + } + } + ], + "Security": "RobloxScriptSecurity" + }, { "MemberType": "Event", "Name": "GamePublishFinished", @@ -63880,6 +64215,77 @@ ], "Name": "AlphaMode" }, + { + "Items": [ + { + "Name": "Default", + "Value": 0 + }, + { + "Name": "Acquire", + "Value": 1 + }, + { + "Name": "Spend", + "Value": 2 + } + ], + "Name": "AnalyticsEconomyAction" + }, + { + "Items": [ + { + "Name": "Trace", + "Value": 0 + }, + { + "Name": "Debug", + "Value": 1 + }, + { + "Name": "Infomation", + "Value": 2 + }, + { + "Name": "Warning", + "Value": 3 + }, + { + "Name": "Error", + "Value": 4 + }, + { + "Name": "Fatal", + "Value": 5 + } + ], + "Name": "AnalyticsLogLevel" + }, + { + "Items": [ + { + "Name": "Default", + "Value": 0 + }, + { + "Name": "Begin", + "Value": 1 + }, + { + "Name": "Complete", + "Value": 2 + }, + { + "Name": "Abandon", + "Value": 3 + }, + { + "Name": "Fail", + "Value": 4 + } + ], + "Name": "AnalyticsProgressionStatus" + }, { "Items": [ { @@ -70541,6 +70947,10 @@ { "Name": "ScriptTodo", "Value": 107 + }, + { + "Name": "AttributeCog", + "Value": 108 } ], "Name": "StudioStyleGuideColor" diff --git a/API-Dump.txt b/API-Dump.txt index c46478ddec..e48ac404bf 100644 --- a/API-Dump.txt +++ b/API-Dump.txt @@ -61,9 +61,13 @@ Class AdService : Instance [NotCreatable] [Service] [Deprecated] Function void AdService:ShowVideoAd() [Deprecated] Event AdService.VideoAdClosed(bool adShown) [Deprecated] Class AdvancedDragger : Instance -Class AnalyticsService : Instance [NotCreatable] [Service] [Deprecated] +Class AnalyticsService : Instance [Service] Property string AnalyticsService.ApiKey {LocalUserSecurity} [Deprecated] + Function void AnalyticsService:FireCustomEvent(Instance player, string eventCategory, Variant customData) Function void AnalyticsService:FireEvent(string category, Variant value) [Deprecated] + Function void AnalyticsService:FireInGameEconomyEvent(Instance player, string itemName, Enum economyAction, string itemCategory, int amount, string currency, Variant location, Variant customData) + Function void AnalyticsService:FireLogEvent(Instance player, Enum logLevel, string message, Variant debugInfo, Variant customData) + Function void AnalyticsService:FirePlayerProgressionEvent(Instance player, string category, Enum progressionStatus, Variant location, Variant statistics, Variant customData) Class Animation : Instance Property Content Animation.AnimationId Class AnimationController : Instance [Deprecated] @@ -453,6 +457,9 @@ Class ClickDetector : Instance Event ClickDetector.MouseHoverEnter(Instance playerWhoHovered) Event ClickDetector.MouseHoverLeave(Instance playerWhoHovered) Event ClickDetector.RightMouseClick(Instance playerWhoClicked) +Class Clouds : Instance + Property float Clouds.Cover + Property float Clouds.Density Class ClusterPacketCache : Instance [NotCreatable] [Service] [NotReplicated] Class CollectionService : Instance [NotCreatable] [Service] Function void CollectionService:AddTag(Instance instance, string tag) @@ -1958,6 +1965,7 @@ Class Terrain : BasePart [NotCreatable] Property Region3int16 Terrain.MaxExtents [ReadOnly] [NotReplicated] Function bool Terrain:AutowedgeCell(int x, int y, int z) [Deprecated] Function void Terrain:AutowedgeCells(Region3int16 region) [Deprecated] + Function void Terrain:CancelImportHeightmap() {RobloxScriptSecurity} Function Vector3 Terrain:CellCenterToWorld(int x, int y, int z) Function Vector3 Terrain:CellCornerToWorld(int x, int y, int z) Function void Terrain:Clear() @@ -1973,11 +1981,13 @@ Class Terrain : BasePart [NotCreatable] Function Color3 Terrain:GetMaterialColor(Enum material) Function Tuple Terrain:GetWaterCell(int x, int y, int z) [Deprecated] Function void Terrain:ImportHeightMap(string heightMapBinary, string colorMapBinary, Region3 region) {RobloxScriptSecurity} [CustomLuaState] + Function void Terrain:ImportHeightmap(Region3 region, Content heightmapAssetId, Content colormapAssetId, Enum defaultMaterial) {RobloxScriptSecurity} [Yields] Function void Terrain:PasteRegion(Instance region, Vector3int16 corner, bool pasteEmptyCells) Function Tuple Terrain:ReadVoxels(Region3 region, float resolution) [CustomLuaState] Function void Terrain:ReplaceMaterial(Region3 region, float resolution, Enum sourceMaterial, Enum targetMaterial) Function void Terrain:SetCell(int x, int y, int z, Enum material, Enum block, Enum orientation) [Deprecated] Function void Terrain:SetCells(Region3int16 region, Enum material, Enum block, Enum orientation) [Deprecated] + Function void Terrain:SetImportHeightmapPaused(bool paused) {RobloxScriptSecurity} Function void Terrain:SetMaterialColor(Enum material, Color3 value) Function void Terrain:SetWaterCell(int x, int y, int z, Enum force, Enum direction) [Deprecated] Function Vector3 Terrain:WorldToCell(Vector3 position) @@ -2275,11 +2285,11 @@ Class Player : Instance Event Player.OnTeleport(Enum teleportState, int64 placeId, string spawnName) Event Player.SimulationRadiusChanged(float radius) {LocalUserSecurity} Class PlayerEmulatorService : Instance [NotCreatable] [Service] - Property string PlayerEmulatorService.EmulatedCountryCode - Property string PlayerEmulatorService.EmulatedGameLocale - Property bool PlayerEmulatorService.PlayerEmulationEnabled + Property string PlayerEmulatorService.EmulatedCountryCode {RobloxScriptSecurity} [Hidden] + Property string PlayerEmulatorService.EmulatedGameLocale {RobloxScriptSecurity} [Hidden] + Property bool PlayerEmulatorService.PlayerEmulationEnabled {RobloxScriptSecurity} [Hidden] Property bool PlayerEmulatorService.PlayerEmulationEnabled_deprecated {RobloxScriptSecurity} [<📁> LoadOnly] [NotReplicated] - Property string PlayerEmulatorService.SerializedEmulatedPolicyInfo + Property string PlayerEmulatorService.SerializedEmulatedPolicyInfo {RobloxScriptSecurity} [Hidden] Property string PlayerEmulatorService.StudioEmulatedCountryRegionCode {RobloxScriptSecurity} [<📁> LoadOnly] [NotReplicated] Function Dictionary PlayerEmulatorService:GetEmulatedPolicyInfo() {RobloxScriptSecurity} Function void PlayerEmulatorService:SetEmulatedPolicyInfo(Dictionary emulatedPolicyInfo) {RobloxScriptSecurity} @@ -3090,6 +3100,7 @@ Class StudioService : Instance [NotCreatable] [Service] [NotReplicated] Function void StudioService:UninstallPlugin(int64 assetId) {RobloxScriptSecurity} Function void StudioService:UpdatePluginManagement() {RobloxScriptSecurity} Event StudioService.DEPRECATED_OnPublishPlaceToRoblox() {RobloxScriptSecurity} + Event StudioService.GameNameUpdated(string name) {RobloxScriptSecurity} Event StudioService.GamePublishFinished(bool success, int64 gameId) {RobloxScriptSecurity} Event StudioService.OnConvertToPackageResult(bool isSuccessful, string errorMessage) {RobloxScriptSecurity} Event StudioService.OnImportFromRoblox() {RobloxScriptSecurity} @@ -3577,6 +3588,23 @@ Enum AlignType Enum AlphaMode EnumItem AlphaMode.Overlay : 0 EnumItem AlphaMode.Transparency : 1 +Enum AnalyticsEconomyAction + EnumItem AnalyticsEconomyAction.Default : 0 + EnumItem AnalyticsEconomyAction.Acquire : 1 + EnumItem AnalyticsEconomyAction.Spend : 2 +Enum AnalyticsLogLevel + EnumItem AnalyticsLogLevel.Trace : 0 + EnumItem AnalyticsLogLevel.Debug : 1 + EnumItem AnalyticsLogLevel.Infomation : 2 + EnumItem AnalyticsLogLevel.Warning : 3 + EnumItem AnalyticsLogLevel.Error : 4 + EnumItem AnalyticsLogLevel.Fatal : 5 +Enum AnalyticsProgressionStatus + EnumItem AnalyticsProgressionStatus.Default : 0 + EnumItem AnalyticsProgressionStatus.Begin : 1 + EnumItem AnalyticsProgressionStatus.Complete : 2 + EnumItem AnalyticsProgressionStatus.Abandon : 3 + EnumItem AnalyticsProgressionStatus.Fail : 4 Enum AnimationPriority EnumItem AnimationPriority.Idle : 0 EnumItem AnimationPriority.Movement : 1 @@ -5148,6 +5176,7 @@ Enum StudioStyleGuideColor EnumItem StudioStyleGuideColor.ScriptLuauKeyword : 105 EnumItem StudioStyleGuideColor.ScriptFunctionName : 106 EnumItem StudioStyleGuideColor.ScriptTodo : 107 + EnumItem StudioStyleGuideColor.AttributeCog : 108 Enum StudioStyleGuideModifier EnumItem StudioStyleGuideModifier.Default : 0 EnumItem StudioStyleGuideModifier.Selected : 1 diff --git a/BuiltInPlugins/AlignmentTool/Packages/Framework/Resources/TranslationDevelopmentTable.csv b/BuiltInPlugins/AlignmentTool/Packages/Framework/Resources/TranslationDevelopmentTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/AlignmentTool/Packages/Framework/Resources/TranslationDevelopmentTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/AlignmentTool/Packages/Framework/Resources/TranslationReferenceTable.csv b/BuiltInPlugins/AlignmentTool/Packages/Framework/Resources/TranslationReferenceTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/AlignmentTool/Packages/Framework/Resources/TranslationReferenceTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/AssetConfiguration/Libs/Framework/Resources/TranslationDevelopmentTable.csv b/BuiltInPlugins/AssetConfiguration/Libs/Framework/Resources/TranslationDevelopmentTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/AssetConfiguration/Libs/Framework/Resources/TranslationDevelopmentTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/AssetConfiguration/Libs/Framework/Resources/TranslationReferenceTable.csv b/BuiltInPlugins/AssetConfiguration/Libs/Framework/Resources/TranslationReferenceTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/AssetConfiguration/Libs/Framework/Resources/TranslationReferenceTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/AssetManager/Packages/Framework/Resources/TranslationDevelopmentTable.csv b/BuiltInPlugins/AssetManager/Packages/Framework/Resources/TranslationDevelopmentTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/AssetManager/Packages/Framework/Resources/TranslationDevelopmentTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/AssetManager/Packages/Framework/Resources/TranslationReferenceTable.csv b/BuiltInPlugins/AssetManager/Packages/Framework/Resources/TranslationReferenceTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/AssetManager/Packages/Framework/Resources/TranslationReferenceTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/ContextServices/TestLibraryDevStrings.csv b/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/ContextServices/TestLibraryDevStrings.csv new file mode 100644 index 0000000000..f007cc1546 --- /dev/null +++ b/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/ContextServices/TestLibraryDevStrings.csv @@ -0,0 +1,3 @@ +Key,en-us +Studio.MyLibrary.Spec.farewell_formal,Goodbye +Studio.MyLibrary.Spec.farewell_surprise,Fare thee well! \ No newline at end of file diff --git a/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/ContextServices/TestLibraryTranslationStrings.csv b/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/ContextServices/TestLibraryTranslationStrings.csv new file mode 100644 index 0000000000..54e360474a --- /dev/null +++ b/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/ContextServices/TestLibraryTranslationStrings.csv @@ -0,0 +1,2 @@ +Key,es,es-es +Studio.MyLibrary.Spec.farewell_formal,Adios,Adios \ No newline at end of file diff --git a/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/Resources/TranslationDevelopmentTable.csv b/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/Resources/TranslationDevelopmentTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/Resources/TranslationDevelopmentTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/Resources/TranslationReferenceTable.csv b/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/Resources/TranslationReferenceTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/FrameworkCompanion/Packages/DEPRECATED_Framework/Resources/TranslationReferenceTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/GameSettings/Framework/Resources/TranslationDevelopmentTable.csv b/BuiltInPlugins/GameSettings/Framework/Resources/TranslationDevelopmentTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/GameSettings/Framework/Resources/TranslationDevelopmentTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/GameSettings/Framework/Resources/TranslationReferenceTable.csv b/BuiltInPlugins/GameSettings/Framework/Resources/TranslationReferenceTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/GameSettings/Framework/Resources/TranslationReferenceTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/PlayerEmulator/Packages/Framework/Resources/TranslationDevelopmentTable.csv b/BuiltInPlugins/PlayerEmulator/Packages/Framework/Resources/TranslationDevelopmentTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/PlayerEmulator/Packages/Framework/Resources/TranslationDevelopmentTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/PlayerEmulator/Packages/Framework/Resources/TranslationReferenceTable.csv b/BuiltInPlugins/PlayerEmulator/Packages/Framework/Resources/TranslationReferenceTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/PlayerEmulator/Packages/Framework/Resources/TranslationReferenceTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/TerrainToolsV2/Packages/Framework/Resources/TranslationDevelopmentTable.csv b/BuiltInPlugins/TerrainToolsV2/Packages/Framework/Resources/TranslationDevelopmentTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/TerrainToolsV2/Packages/Framework/Resources/TranslationDevelopmentTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/TerrainToolsV2/Packages/Framework/Resources/TranslationReferenceTable.csv b/BuiltInPlugins/TerrainToolsV2/Packages/Framework/Resources/TranslationReferenceTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/TerrainToolsV2/Packages/Framework/Resources/TranslationReferenceTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/TerrainToolsV2/Src/Resources/DevelopmentReferenceTable.csv b/BuiltInPlugins/TerrainToolsV2/Src/Resources/DevelopmentReferenceTable.csv index c1665f4895..5fa2bfe8f7 100644 --- a/BuiltInPlugins/TerrainToolsV2/Src/Resources/DevelopmentReferenceTable.csv +++ b/BuiltInPlugins/TerrainToolsV2/Src/Resources/DevelopmentReferenceTable.csv @@ -103,10 +103,14 @@ Studio.TerrainToolsV2.Generate.MapSize, ,Map Size Studio.TerrainToolsV2.Generate.OtherSettings, ,Other Settings Studio.TerrainToolsV2.Generate.Seed, ,Seed Studio.TerrainToolsV2.Generate.StartGeneration, ,Generating with size ({1}) at position ({2}) using seed {3} and biomes: {4} -Studio.TerrainToolsV2.Import.ColormapPreview, ,Color Map Preview -Studio.TerrainToolsV2.Import.Heightmap, ,Height Map -Studio.TerrainToolsV2.Import.UseColormap, ,Color Map -Studio.TerrainToolsV2.Import.HeightmapPreview, ,Height Map Preview +Studio.TerrainToolsV2.Import.ColormapPreview, ,Colormap Preview +Studio.TerrainToolsV2.Import.DefaultMaterial, ,Default Material +Studio.TerrainToolsV2.Import.Colormap, ,Colormap +Studio.TerrainToolsV2.Import.Heightmap, ,Heightmap +Studio.TerrainToolsV2.Import.UseColormap, ,Colormap +Studio.TerrainToolsV2.Import.HeightmapPreview, ,Heightmap Preview +Studio.TerrainToolsV2.ImportMaterialMode.Colormap, ,Colormap +Studio.TerrainToolsV2.ImportMaterialMode.DefaultMaterial, ,Material Studio.TerrainToolsV2.LocalImageSelector.NoImageSelected, ,No image selected Studio.TerrainToolsV2.Main.Title, ,Terrain Editor Studio.TerrainToolsV2.Main.ToolbarButton, ,Editor @@ -225,4 +229,5 @@ Studio.TerrainToolsV2.Warning.RequireEditModeForImport, ,Terrain importer only w Studio.TerrainToolsV2.Warning.RequirePublishedForImport, ,Game must be published before importing terrain. Studio.TerrainToolsV2.Warning.UnknownAssetStatusError, ,Unable to verify asset. Studio.TerrainToolsV2.Warning.UnknownShape, ,Instance shape is unknown -Studio.TerrainToolsV2.Warning.ValidHeightMapImport, ,Valid HeightMap required to begin importing Terrain. \ No newline at end of file +Studio.TerrainToolsV2.Warning.ValidHeightMapImport, ,Valid HeightMap required to begin importing Terrain. +Studio.TerrainToolsV2.Warning.NoColormapProvided, ,No colormap was provided. \ No newline at end of file diff --git a/BuiltInPlugins/Toolbox/Libs/Framework/Resources/TranslationDevelopmentTable.csv b/BuiltInPlugins/Toolbox/Libs/Framework/Resources/TranslationDevelopmentTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/Toolbox/Libs/Framework/Resources/TranslationDevelopmentTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/BuiltInPlugins/Toolbox/Libs/Framework/Resources/TranslationReferenceTable.csv b/BuiltInPlugins/Toolbox/Libs/Framework/Resources/TranslationReferenceTable.csv new file mode 100644 index 0000000000..65034ded52 --- /dev/null +++ b/BuiltInPlugins/Toolbox/Libs/Framework/Resources/TranslationReferenceTable.csv @@ -0,0 +1,9 @@ +Key,Source,en-us +Studio.Framework.AssetPreview.Creator,Creator,Creator +Studio.Framework.AssetPreview.Created,Created,Created +Studio.Framework.AssetPreview.LastUpdated,Last Updated,Last Updated +Studio.Framework.AssetPreview.AllGenre,All,All +Studio.Framework.AssetPreview.Genre,Genre,Genre +Studio.Framework.AssetPreview.Resolution,Resolution,Resolution +Studio.Framework.Favorites.FlooredCountInThousands,{count:int}k+,{count:int}k+ +Studio.Framework.VoteBar.VoteCount,{count:int} VOTES,{count:int} VOTES \ No newline at end of file diff --git a/CppTree.txt b/CppTree.txt index 2b089f9ebc..3b138b37b6 100644 --- a/CppTree.txt +++ b/CppTree.txt @@ -16,6 +16,7 @@ AnalyzerPassAutocomplete ApiUtilities AppBridge::ABTestEnrollmentsRequest AppBridge::BrowserTrackerIdTask +AppBridge::HttpClientStatsReporter AppBridge::IRequest AppBridge::IRequestFactory AppBridge::ReporterRequest @@ -533,8 +534,9 @@ boost::detail::thread_data >,class boost::_bi::list2,class boost::_bi::value > > > > boost::detail::thread_data,class QEventLoop * ptr64,class QMutex * ptr64,bool * ptr64>,class boost::_bi::list5,class boost::_bi::value >,class boost::_bi::value,class boost::_bi::value,class boost::_bi::value > > > boost::detail::thread_data,enum RBX::BaseThreadPool::ShutdownPolicy),class boost::_bi::list3,class boost::_bi::value >,class boost::_bi::value > > > -boost::detail::thread_data,bool * ptr64,class QDialog * ptr64),class boost::_bi::list4,class boost::_bi::value >,class boost::_bi::value,class boost::_bi::value > > > -boost::detail::thread_data,class std::weak_ptr,__int64,bool,bool),class boost::_bi::list6,class boost::_bi::value >,class boost::_bi::value >,class boost::_bi::value<__int64>,class boost::_bi::value,class boost::_bi::value > > > +boost::detail::thread_data,class QDialog * ptr64),class boost::_bi::list3,class boost::_bi::value >,class boost::_bi::value > > > +boost::detail::thread_data,class std::weak_ptr,__int64,bool,bool,unsigned int),class boost::_bi::list7,class boost::_bi::value >,class boost::_bi::value >,class boost::_bi::value<__int64>,class boost::_bi::value,class boost::_bi::value,class boost::_bi::value > > > +boost::detail::thread_data,class std::weak_ptr,__int64,bool,bool,unsigned int),class boost::_bi::list7,class boost::_bi::value >,class boost::_bi::value >,class boost::_bi::value<__int64>,class boost::_bi::value,class boost::_bi::value,class boost::_bi::value > > > boost::detail::thread_data,struct PlaySoloConfigurer::Info,class std::string const & ptr64),class boost::_bi::list3 >,class boost::_bi::value,class boost::_bi::value > > > boost::detail::thread_data > & ptr64,class RBX::Voxel2::Region const & ptr64,class std::weak_ptr,class std::weak_ptr),class boost::_bi::list4 > >,class boost::_bi::value,class boost::_bi::value >,class boost::_bi::value > > > > boost::detail::thread_data,class std::weak_ptr,int,enum PacketPriority,int),class boost::_bi::list5 >,class boost::_bi::value >,class boost::_bi::value,class boost::_bi::value,class boost::_bi::value > > > @@ -996,7 +998,6 @@ ExpressionEvaluatorEdit ExternalLoginDialog FakeAtlExtension FFlagSetting -FileSearcher FileSyncManagerListener FileSyncServiceManager FileSyncStudioDependence @@ -1110,6 +1111,8 @@ HACD::CircularList HACD::Graph HACD::ICHull HACD::TMMesh +HttpImageProvider +HttpImageResponse HttpRequestWithQtContext HttpRequestWithQtContextDummyObject IAppSettings @@ -1153,6 +1156,7 @@ InstancesQuickOpenProviderWorker::CancelledException InstancesSearchResult InstanceUpdateHandler InternalPermissionController +IParallelSearcherStudioDependence IPlaceSessionModel IPublishedGamesStore IQtNetworkWrapper @@ -1189,6 +1193,7 @@ LeaveGameVerb LinkEnabledPlainTextEdit LinkEnabledTextEdit ListModelBase +LoadingScreenComponent LoadInstanceChangesTask LoadPlaceVersionHistoryDetailsTask LoadScriptVersion @@ -1345,6 +1350,9 @@ P3::SignalR::Client::SignalException P3::SignalR::Client::WebSocketTransport PackageUtilities::unpublished_package_error PackageWebFactory +ParallelSearcher::CancelledException +ParallelSearcherNamespace::SearchResult +ParallelSearcherStudioDependence PasteVerb PatchTeamCreateToggleRequest PBRSynth::MitchellFilter @@ -1533,7 +1541,9 @@ QPropertyAnimation QProxyStyle QPushButton QQmlImageProviderBase +QQuickAsyncImageProvider QQuickImageProvider +QQuickImageResponse QQuickView QQuickWindow QRadioButton @@ -1604,9 +1614,6 @@ QuickAccessActionItem QuickAccessActionsListWidget QuickAccessBarProxyAction QuickAccessConfigDialog -QuickFindScript -QuickFindScriptListWidget -QuickFindScriptWidgetDelegate QuickOpenDialog QuickOpenGroupTitleItemWidget QuickOpenHeaderWidget @@ -1629,7 +1636,6 @@ RakNet::BitStream RakNet::CCRakNetBase RakNet::CCRakNetSlidingWindow RakNet::CCRakNetSlidingWindow2 -RakNet::CCRakNetUDT RakNet::PluginInterface2 RakNet::RakPeer RakNet::RakPeerInterface @@ -1766,6 +1772,7 @@ RBX::CloudLocalization::AnalyticsHandler RBX::CloudLocalization::AssetFetcher RBX::CloudLocalization::IAnalyticsHandler RBX::CloudLocalization::IAssetFetcher +RBX::Clouds RBX::Clump RBX::Clustering RBX::CollectionService @@ -1905,6 +1912,7 @@ RBX::Creator RBX::Creator RBX::Creator RBX::Creator +RBX::Creator RBX::Creator RBX::Creator RBX::Creator @@ -2387,6 +2395,7 @@ RBX::DescribedCreatable RBX::DescribedCreatable RBX::DescribedCreatable +RBX::DescribedCreatable RBX::DescribedCreatable RBX::DescribedCreatable RBX::DescribedCreatable @@ -3046,6 +3055,7 @@ RBX::IStage RBX::IStepped RBX::IStudioPluginHost RBX::IStudioServiceHost +RBX::ITexturePackGenerator RBX::IValue RBX::IVersionControlService RBX::IVideoCapture @@ -3123,6 +3133,7 @@ RBX::LSP::ISocket RBX::LSP::ISocketDelegate RBX::LSP::LanguageClientBase RBX::LSP::LanguageServerBase +RBX::LSP::LSPJsonParseError RBX::LSP::LSPManager RBX::LSP::LSPSocket RBX::LSP::LuauLanguageServer @@ -3130,6 +3141,7 @@ RBX::LSP::LuauLanguageServerExt RBX::LSP::LuauScriptHighlighter RBX::LSP::LuauScriptTextProvider RBX::LSP::LuauSemanticHighlighter +RBX::LSP::TextDocument RBX::Lua::EventSignalWrapper),class rbx::signal)> > RBX::Lua::EventSignalWrapper > RBX::Lua::EventSignalWrapper > @@ -3398,6 +3410,10 @@ RBX::Reflection::BoundFuncDesc RBX::Reflection::BoundFuncDesc RBX::Reflection::BoundFuncDesc +RBX::Reflection::BoundFuncDesc,class std::string,class RBX::Reflection::Variant),3> +RBX::Reflection::BoundFuncDesc,class std::string,enum RBX::AnalyticsService::AnalyticsEconomyAction,class std::string,int,class std::string,class RBX::Reflection::Variant,class RBX::Reflection::Variant),8> +RBX::Reflection::BoundFuncDesc,class std::string,enum RBX::AnalyticsService::AnalyticsProgressionStatus,class RBX::Reflection::Variant,class RBX::Reflection::Variant,class RBX::Reflection::Variant),6> +RBX::Reflection::BoundFuncDesc,enum RBX::AnalyticsService::AnalyticsLogLevel,class std::string,class RBX::Reflection::Variant,class RBX::Reflection::Variant),5> RBX::Reflection::BoundFuncDesc RBX::Reflection::BoundFuncDesc cdecl(class std::shared_ptr),1> RBX::Reflection::BoundFuncDesc > const > cdecl(void),0> @@ -3687,6 +3703,7 @@ RBX::Reflection::BoundFuncDesc cdecl(class RBX::Region3,float),2> RBX::Reflection::BoundFuncDesc cdecl(int,int,int),3> RBX::Reflection::BoundFuncDesc +RBX::Reflection::BoundFuncDesc RBX::Reflection::BoundFuncDesc RBX::Reflection::BoundFuncDesc RBX::Reflection::BoundFuncDesc @@ -4229,6 +4246,7 @@ RBX::Reflection::BoundYieldFuncDesc,struct std::equal_to,class std::allocator > > const > cdecl(enum RBX::MarketplaceService::InfoType,__int64,int,class std::string,bool),5> RBX::Reflection::BoundYieldFuncDesc cdecl(void),0> RBX::Reflection::BoundYieldFuncDesc +RBX::Reflection::BoundYieldFuncDesc RBX::Reflection::BoundYieldFuncDesc RBX::Reflection::BoundYieldFuncDesc RBX::Reflection::BoundYieldFuncDesc > const > cdecl(__int64),1> @@ -4310,6 +4328,9 @@ RBX::Reflection::EnumDesc RBX::Reflection::EnumDesc RBX::Reflection::EnumDesc RBX::Reflection::EnumDesc +RBX::Reflection::EnumDesc +RBX::Reflection::EnumDesc +RBX::Reflection::EnumDesc RBX::Reflection::EnumDesc RBX::Reflection::EnumDesc RBX::Reflection::EnumDesc @@ -5616,6 +5637,8 @@ RBX::Reflection::PropDescriptor RBX::Reflection::PropDescriptor::GetSetImpl RBX::Reflection::PropDescriptor RBX::Reflection::PropDescriptor::GetSetImpl +RBX::Reflection::PropDescriptor +RBX::Reflection::PropDescriptor::GetSetImpl RBX::Reflection::PropDescriptor RBX::Reflection::PropDescriptor::GetSetImpl RBX::Reflection::PropDescriptor @@ -6043,6 +6066,7 @@ RBX::Reflection::PropDescriptor::GetSetI RBX::Reflection::PropDescriptor::GetSetImpl RBX::Reflection::PropDescriptor RBX::Reflection::PropDescriptor::GetImpl +RBX::Reflection::PropDescriptor::GetSetImpl RBX::Reflection::PropDescriptor::GetSetImpl RBX::Reflection::PropDescriptor RBX::Reflection::PropDescriptor::GetImpl @@ -7306,6 +7330,7 @@ RBX::Reflection::YieldFuncDesc RBX::Reflection::YieldFuncDesc RBX::Reflection::YieldFuncDesc RBX::Reflection::YieldFuncDesc +RBX::Reflection::YieldFuncDesc RBX::Reflection::YieldFuncDesc RBX::Reflection::YieldFuncDesc RBX::Reflection::YieldFuncDesc @@ -7383,12 +7408,14 @@ RBX::ScriptEditor::CmdFoldToggle RBX::ScriptEditor::CmdGotoPosition RBX::ScriptEditor::CmdIndentSelection RBX::ScriptEditor::CmdInsertText +RBX::ScriptEditor::CmdInvokeCompletions RBX::ScriptEditor::CmdMoveLinesDown RBX::ScriptEditor::CmdMoveLinesUp RBX::ScriptEditor::CmdNewlineAbove RBX::ScriptEditor::CmdNewlineBelow RBX::ScriptEditor::CmdRangeFormatting RBX::ScriptEditor::CmdSelect +RBX::ScriptEditor::CmdSelectWord RBX::ScriptEditor::CmdToggleComment RBX::ScriptEditor::CmdUnfoldAll RBX::ScriptEditor::CmdUnindentSelection @@ -7401,6 +7428,7 @@ RBX::ScriptEditor::HighlightProvider RBX::ScriptEditor::IHostAppServices RBX::ScriptEditor::LSPClientSettings RBX::ScriptEditor::QtLanguageClient +RBX::ScriptEditor::ScriptDocument RBX::ScriptEditor::ScriptEditor RBX::ScriptEditor::ScriptHighlightCache RBX::ScriptEditor::ScriptingCmdBaseT @@ -7426,10 +7454,6 @@ RBX::SeatImpl RBX::SeatImpl RBX::SecurePlayerGame RBX::Security::RakPeerCrypto -RBX::Security::ReplicatorCryptoContext -RBX::Security::ReplicatorCryptoContextOpenSSL -RBX::Security::ReplicatorCryptoSystem -RBX::Security::ReplicatorCryptoSystemOpenSSL RBX::Security::SessionCrypto RBX::Selectable RBX::SelectAllCommand @@ -7582,11 +7606,13 @@ RBX::StopCommand RBX::StringValue RBX::StudAutoJointSurfacePair RBX::Studio::DirtyPublishWarningDialog +RBX::Studio::FallbackSortProxyModel RBX::Studio::InfoBarBanner RBX::Studio::InfoBarManager RBX::Studio::PackagesBlockingPublishDialog RBX::Studio::PackagesInfoUIModel RBX::Studio::PathColumnDelegate +RBX::Studio::TooltipForElidedDelegate RBX::StudioData RBX::StudioService RBX::StudsTool @@ -7654,6 +7680,7 @@ RBX::TextScraper::ScraperJob RBX::TextScraper::ServerScraperJob RBX::TextScraper::ServiceScraperJob RBX::TextService +RBX::TexturePackGenerator RBX::TextureProxyBase RBX::ThreadPool RBX::TiltSelectionVerb @@ -7893,6 +7920,7 @@ SelectCounterpartsVerb SelectionHighlightAdornable SelectionSaveAsPluginVerb SelectionSaveToFileVerb +SelectOnFocusLineEdit SeparateSelectionVerb SeparatorWidget ServerPlayersStateInitVerb @@ -8014,6 +8042,7 @@ StartServerAndPlayerVerb StartServerVerb StartTeamTestVerb std::_Associated_state +std::_Associated_state > >,class std::shared_ptr,class std::shared_ptr)> const & ptr64,class std::string const & ptr64,class std::string const & ptr64,enum RBX::HttpResultJob,bool) ptr64'::`9'::PromiseResult> std::_Associated_state std::_Binder std::_Binder) ptr64,class RBX::AnalyticsProviderDeveloperEventIngest * ptr64,class std::string & ptr64,struct std::_Ph<1> const & ptr64> @@ -8089,7 +8118,6 @@ std::_Func_base,struct signalr::negotiation_respon std::_Func_base,unsigned char> std::_Func_base std::_Func_base -std::_Func_base,struct HttpResponseProxy const & ptr64> std::_Func_base,class std::weak_ptr > std::_Func_base,unsigned int> std::_Func_base > @@ -8097,6 +8125,7 @@ std::_Func_base std::_Func_base std::_Func_base std::_Func_base +std::_Func_base std::_Func_base std::_Func_base std::_Func_base @@ -8127,6 +8156,7 @@ std::_Func_base std::_Func_base std::_Func_base std::_Func_base +std::_Func_base std::_Func_base std::_Func_base std::_Func_base @@ -8162,13 +8192,13 @@ std::_Func_base std::_Func_base > std::_Func_base,class QString> std::_Func_base +std::_Func_base +std::_Func_base std::_Func_base std::_Func_base std::_Func_base std::_Func_base std::_Func_base -std::_Func_base -std::_Func_base std::_Func_base std::_Func_base std::_Func_base @@ -8183,6 +8213,7 @@ std::_Func_base std::_Func_base std::_Func_base > std::_Func_base +std::_Func_base,class std::allocator<__int64> > > std::_Func_base > std::_Func_base > std::_Func_base const & ptr64,struct RBX::Network::NetworkSchema::ClassInfo const & ptr64,class std::shared_ptr && ptr64,bool> @@ -8191,6 +8222,7 @@ std::_Func_base > std::_Func_base > std::_Func_base,class std::allocator > > >,class std::allocator,class std::allocator > > > > > > > std::_Func_base > +std::_Func_base const & ptr64> std::_Func_base const & ptr64> std::_Func_base const & ptr64> std::_Func_base const & ptr64> @@ -8209,6 +8241,7 @@ std::_Func_base std::_Func_base,struct std::equal_to,class std::allocator > > const & ptr64> std::_Func_base +std::_Func_base std::_Func_base std::_Func_base std::_Func_base @@ -8252,6 +8285,7 @@ std::_Func_base std::_Func_base std::_Func_base +std::_Func_base std::_Func_base std::_Func_base std::_Func_base @@ -8306,6 +8340,7 @@ std::_Func_impl_no_alloc::*)(class std::shared_ptr >,class std::shared_ptr,class boost::asio::deadline_timer_service > > >,class std::function,class std::error_code const & ptr64) ptr64,class websocketpp::transport::asio::endpoint * ptr64,class std::shared_ptr > & ptr64,class std::shared_ptr,class boost::asio::deadline_timer_service > > > & ptr64,class std::function & ptr64,struct std::_Ph<1> const & ptr64>,void,class std::error_code const & ptr64> std::_Func_impl_no_alloc,unsigned int> std::_Func_impl_no_alloc,void> +std::_Func_impl_no_alloc const & ptr64)>,void,class std::shared_ptr const & ptr64> std::_Func_impl_no_alloc const & ptr64)>,void,class std::shared_ptr const & ptr64> std::_Func_impl_no_alloc const & ptr64)>,void,class std::shared_ptr const & ptr64> std::_Func_impl_no_alloc const & ptr64)>,void,class std::shared_ptr const & ptr64> @@ -8359,6 +8394,7 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj @@ -8398,11 +8434,11 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj -std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj @@ -8417,6 +8453,10 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj +std::_Ref_count_obj +std::_Ref_count_obj +std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj > > std::_Ref_count_obj std::_Ref_count_obj @@ -8473,6 +8513,7 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj @@ -8484,7 +8525,6 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj -std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj > std::_Ref_count_obj @@ -8510,6 +8550,7 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj),class rbx::signal)> > > std::_Ref_count_obj > > std::_Ref_count_obj > > @@ -8550,12 +8591,14 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj @@ -8581,6 +8624,7 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj > @@ -8602,7 +8646,6 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj -std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj @@ -8710,9 +8753,11 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj -std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj +std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj @@ -8768,6 +8813,7 @@ std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj +std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj std::_Ref_count_obj @@ -8843,6 +8889,7 @@ std::_Ref_count_resource::Deleter> std::_Ref_count_resource::Deleter> std::_Ref_count_resource::Deleter> +std::_Ref_count_resource::Deleter> std::_Ref_count_resource::Deleter> std::_Ref_count_resource::Deleter> std::_Ref_count_resource::Deleter> @@ -9306,6 +9353,7 @@ std::_Ref_count std::_Ref_count std::_Ref_count std::_Ref_count +std::_Ref_count std::_Ref_count std::_Ref_count std::_Ref_count @@ -9455,8 +9503,6 @@ std::_Ref_count std::_Ref_count std::_Ref_count std::_Ref_count -std::_Ref_count -std::_Ref_count std::_Ref_count std::_Ref_count std::_Ref_count @@ -9488,7 +9534,6 @@ std::_Ref_count std::_Ref_count std::_Ref_count std::_Ref_count -std::_Ref_count std::_Ref_count std::_Ref_count std::_Ref_count @@ -9531,6 +9576,7 @@ std::_Ref_count std::_Ref_count std::_Ref_count std::_Ref_count +std::_Ref_count std::_Ref_count std::_Ref_count std::_Ref_count @@ -9623,7 +9669,6 @@ std::enable_shared_from_this std::enable_shared_from_this std::enable_shared_from_this std::enable_shared_from_this -std::enable_shared_from_this std::enable_shared_from_this std::enable_shared_from_this std::enable_shared_from_this @@ -9706,6 +9751,7 @@ SystemOutputLogView SystemOutputModel SystemOutputView TaskController +TeamCreateActivePlayersDialog TeamCreateConnectionDialog TemplatePageController TemplatePageModel diff --git a/DeepStrings.txt b/DeepStrings.txt index ae2187b6d1..9dd325f787 100644 --- a/DeepStrings.txt +++ b/DeepStrings.txt @@ -114,7 +114,6 @@ ABTestController ABTestControllerListener ABTestControllerVerboseInit ABTestEnrollmentsRequest -ABTestFirstInstall ABTestLoadingStatus ABTestLogInitResultWithSession2 ABTestManager @@ -129,12 +128,14 @@ ABTestVariationAnyInt ABTestVerboseInit AbuseReport AbuseReporter +AbuseReportScreenshot +AbuseReportScreenshotMaxSize +AbuseReportScreenshotPercentage AC01E30AF65B11E3AFC2CE47415C029D AC01E30BF65B11E3AFC2CE47415C029D AC01E30CF65B11E3AFC2CE47415C029D AC01E30DF65B11E3AFC2CE47415C029D AccanthisADFStd -AcceleratedCollisionPipeline Acceleration Acceleration. Accelerators @@ -348,6 +349,7 @@ AEAIAEAHAEAI AEAUFMOD_DSP_DESCRIPTION AEAUStartGameStatistics AEAVbtVector3 +AEAVContentId AEAVHttpRequest AEAVHttpResponse AEAVHttpServerResponse @@ -392,6 +394,7 @@ AEBVHttpResponse AEBVIdentity AEBVInstanceIdentifier AEBVLuaRaycastParams +AEBVLuaSourceContainer AEBVQBrush AEBVQByteArray AEBVQColor @@ -549,6 +552,7 @@ AllTemplates AllThreads AllThreads[nThreadIn] AllTutorialsDisabled +AllUsers.Authentication.EmailUpsellAtLogout AllUsers.Desktop.NewRobuxIcon AllUsers.GameDetails.PlayWithFriends AllUsers.GameDetails.UseAbbreviatedDescription @@ -628,9 +632,11 @@ AnalyticsDeferredEphemeralReportingDiagnostic AnalyticsDeferredEphemeralReportingIntervalSeconds AnalyticsDeferredEventIngestReportingIntervalSeconds AnalyticsDeferredReporterDiagnostic +AnalyticsEconomyAction AnalyticsEventHelper AnalyticsForXBoxCrash_JoinInfluxHundredthsPercentage AnalyticsLog +AnalyticsLogLevel AnalyticsMaxDeferredStats AnalyticsMaxEventIngestPostArrayLength AnalyticsMaxSendWaitTimeMs @@ -643,6 +649,7 @@ AnalyticsNS1BeaconConfig AnalyticsNS1BeaconSupportLimitedRobloxUrls AnalyticsNS1CDNProbeChancePercent AnalyticsNS1CDNProbeTimeoutMs +AnalyticsProgressionStatus AnalyticsProviderDeveloperEventIngest AnalyticsReportHttpStatsAtExit AnalyticsService @@ -675,11 +682,20 @@ AnalyticsService.VerifyPlayFabTitleStatusCodeGatewayTimeout AnalyticsService.VerifyPlayFabTitleSuccess AnalyticsServiceCustomDataBudgetKBPerSecond AnalyticsServiceCustomDataBudgetRefreshSeconds -AnalyticsServiceDeveloperPrameterNameMaxSize +AnalyticsServiceDeveloperParameterNameSizeMax +AnalyticsServiceDeveloperStringPrameterSizeMax +AnalyticsServiceEventLocationSizeMax AnalyticsServiceEventNameMaxSize +AnalyticsServiceEventStatisticsSizeMax AnalyticsServiceEventValueMaxSize +AnalyticsServiceFiredEventsBudgetBasePerMinute +AnalyticsServiceFiredEventsBudgetPerPlayerPerMinute +AnalyticsServiceFiredEventsBudgetRefreshInSeconds +AnalyticsServiceFiredEventsCustomDataSizeMax AnalyticsServiceJob AnalyticsServiceJobFrequency +AnalyticsServiceLogMessageSizeMax +AnalyticsServiceLogStackTraceSizeMax AnalyticsServiceMonitoringPeriod AnalyticsServiceVerifyFireEventName AnalyticsSessionId @@ -1116,6 +1132,8 @@ ATTRIBUTE_create_by_txt ATTRIBUTE_get0_data ATTRIBUTE_set1_data AttributeChanged +AttributeCog +AttributeCog_ AttributeCogMenu AttributeNameLineEdit AttributeRequested @@ -1163,6 +1181,8 @@ AUBulkAudioLoader AUCallbacks AUCancelRequest AUCastResult +AUCompletionRequest +AUCompletionResponse AUConflictedMergeChunk AUconst_iterator AUConstantVisitor @@ -1223,6 +1243,7 @@ AUIDocHostUIHandlerDispatch AUIEnumMediaTypes AUIEnumPins AUIEnumUnknown +AUIHttpClientStatsReporter AUILSPParam AUIMediaFilter AUIMMNotificationClient @@ -1315,7 +1336,6 @@ AUTextDocumentOnTypeFormattingResponse AUTextDocumentPosition AUTextDocumentRangeFormattingRequest AUTextDocumentRangeFormattingResponse -AUTextDocumentTextProvider AUTextEdit AUTextPosition AUTextRange @@ -1912,7 +1932,6 @@ AVCComObjectRootBase AVCCRakNetBase AVCCRakNetSlidingWindow AVCCRakNetSlidingWindow2 -AVCCRakNetUDT AVCEnumMediaTypes AVCEnumPins AVCFrameAcknowledgementItem @@ -1998,6 +2017,7 @@ AVCmdFoldToggle AVCmdGotoPosition AVCmdIndentSelection AVCmdInsertText +AVCmdInvokeCompletions AVCmdMoveLinesDown AVCmdMoveLinesUp AVCmdNewlineAbove @@ -2005,6 +2025,7 @@ AVCmdNewlineBelow AVCmdRangeFormatting AVCmdRepeat AVCmdSelect +AVCmdSelectWord AVCmdToggleComment AVCmdUnfoldAll AVCmdUnindentSelection @@ -2363,6 +2384,7 @@ AVFaceFacePair AVFaceInstance AVFacesPropertyItem AVFakeAtlExtension +AVFallbackSortProxyModel AVFallingDown AVFastCluster AVFastCluster_DEPRECATED @@ -2384,7 +2406,6 @@ AVFeaturePolyContact AVFFlagSetting AVFileMesh AVFileNotFoundException -AVFileSearcher AVFileSyncItem AVFileSyncManagerListener AVFileSyncService @@ -2549,7 +2570,10 @@ AVhttp_pipeline_stage AVhttp_status_error AVHttpBasedTransport AVHttpClient +AVHttpClientStatsReporter AVHttpEventStream +AVHttpImageProvider +AVHttpImageResponse AVHttpRbxApiJob AVHttpRbxApiService AVHttpRequest @@ -2700,6 +2724,7 @@ AVinvalid_option_value AVinvalid_syntax AVInventoryPages AVios_base +AVIParallelSearcherStudioDependence AVIPipelined AVIPlaceSessionModel AVIPluginElementHost @@ -2739,6 +2764,7 @@ AVIStudioUserPreferences AVISuperCluster AVISystemOutputView AViterator +AVITexturePackGenerator AVIUniverseController AVIUpdateUIManager AVIUserDataStoreServiceBase @@ -2806,6 +2832,7 @@ AVLintUnknownType AVLintUnreachableCode AVLintUnusedFunction AVListModelBase +AVLoadingScreenComponent AVLoadInstanceChangesTask AVLoadPlaceVersionHistoryDetailsTask AVLoadScriptVersion @@ -2834,6 +2861,7 @@ AVLogOutMenu AVLogService AVLongPollingTransport AVLSPClientSettings +AVLSPJsonParseError AVLSPManager AVLSPSocket AVlua_exception @@ -3047,6 +3075,7 @@ AVPackageWebFactory AVPacketJob AVPacketReceiveJob AVParabolaAdornment +AVParallelSearcherStudioDependence AVParameterizeHandler AVParameterTranslator AVParseError @@ -3282,7 +3311,9 @@ AVQProxyStyle AVQPushButton AVqqJo3kC2NGm9vm7dW0wT4N582Y8jC5POQALzqbYnHXnlwh AVQQmlImageProviderBase +AVQQuickAsyncImageProvider AVQQuickImageProvider +AVQQuickImageResponse AVQQuickView AVQQuickWindow AVQRadioButton @@ -3346,9 +3377,6 @@ AVQuickAccessActionItem AVQuickAccessActionsListWidget AVQuickAccessBarProxyAction AVQuickAccessConfigDialog -AVQuickFindScript -AVQuickFindScriptListWidget -AVQuickFindScriptWidgetDelegate AVQuickOpenDialog AVQuickOpenGroupTitleItemWidget AVQuickOpenHeaderWidget @@ -3413,10 +3441,6 @@ AVReplicatedFirst AVReplicatedScriptService AVReplicatedStorage AVReplicator -AVReplicatorCryptoContext -AVReplicatorCryptoContextOpenSSL -AVReplicatorCryptoSystem -AVReplicatorCryptoSystemOpenSSL AVReplicatorJob AVReporter AVReporterRequest @@ -3550,6 +3574,7 @@ AVScriptContentQuickOpenProvider AVScriptContext AVScriptDebugger AVScriptDocLocationDataUpdater +AVScriptDocument AVScriptEditor AVScriptFunctionFilter AVScriptFunctionFilterListWidget @@ -3599,6 +3624,7 @@ AVSelectionPropertyTree AVSelectionSaveAsPluginVerb AVSelectionSaveToFileVerb AVSelectionSphere +AVSelectOnFocusLineEdit AVSendClusterJob AVSendDataJob AVSendStatsJob @@ -3833,6 +3859,7 @@ AVTaskSchedulerSettings AVTcpClientMessageStream AVTcpServerMessageStream AVTeamCreate +AVTeamCreateActivePlayersDialog AVTeamCreateConnectionDialog AVTeleportCallback AVTeleportService @@ -3847,6 +3874,7 @@ AVTetraShapeRetriever AVTextboxWidget AVTextColumnDelegate AVTextDisplay +AVTextDocument AVTextFilterResultInstance AVTextLabel AVTextScraperListener @@ -3859,6 +3887,7 @@ AVTextureD3D9 AVTextureDownloadBuffer AVTextureGL AVTextureId +AVTexturePackGenerator AVTextureProxy AVTextureProxyBase AVTextureVulkan @@ -3892,6 +3921,7 @@ AVToggleViewMode AVToggleWireframeRenderingVerb AVToolButtonProxyMenu AVToolMouseCommand +AVTooltipForElidedDelegate AVTopMenuBar AVTorqueActuator AVTotalCountTimeIntervalItem @@ -4152,6 +4182,7 @@ AW4GraphicsMode AW4HorizontalAlignment AW4HostInfoError AW4HoverAnimateSpeed +AW4HttpRequestResult AW4HumanoidDisplayDistanceType AW4HumanoidHealthDisplayType AW4HumanoidRigType @@ -4472,7 +4503,6 @@ BatchViewUpdate BB0BF11E395B6E5DB6211F344 BB11E2B957D88B167DEF15 BB285C520681180838E23F0DC6224 -BB3ZVRXWYke1lYE0JD1g BB886F11E18561866242201959 BBA91211E2B410EF351327957B BBBA91111E2B410EF351327957B @@ -4502,6 +4532,7 @@ BCFB4817B1F11E4A86BBBBE005A3BAD BCFB4827B1F11E4A86BBBBE005A3BAD BCIDistributionTBS BCryptGenRandom +BdvlLywIRmItWXDQGJd2NYDHUSgmAKyJ BE20681180838E23F0DC6224 BE42889BE20681180838E23F0DC6224 BEA91211E2B410EF351327957B @@ -4522,9 +4553,11 @@ BeginQuery BeginRecording BeginTransformFeedback BehaviorType +BEnablePerfDataExtendedMemoryCollection Benchmarked Benchmarking BestFitProximityPrompts +BetaFeatureImpressionAnalytics BetaFeatureInformation BetaFeatureOptOut BetaFeatures @@ -4532,6 +4565,7 @@ BetaFeaturesActionTriggered BetaFeaturesController BetaFeaturesDialog BetaFeaturesForForumPosts +BetaImpression BetaTester BetterAddInstance BF11E395B6E5DB6211F344 @@ -4557,7 +4591,6 @@ BFSupportPluginDebuggingRoleSet BFSupportPluginDebuggingRolloutPercent BFTableOutputViewRoleSet BFTableOutputViewRolloutPercent -BGo3tm5W9t BgUpdateRedirectsDisable BgUpdateRedirectsHttpErrInfluxHundredthsPercentage BgUpdateRedirectsRejectInfluxHundredthsPercentage @@ -4674,6 +4707,7 @@ BlockingSaveOrPublish BlockingSaveOrPublishFailure BlockUserSignal BloomEffect +BLsBgYGpsn8Hzg6Peh BlueGlow.png BluePlastic BlueValues @@ -4821,6 +4855,7 @@ BreakpointStateAction BreakpointsWidget BreakpointToolTip BreakReason +BRenderDoc Brevesmall BrickColor BrickColorChanged @@ -4867,7 +4902,7 @@ BrowserWindow BrowserWindowClosed BrowserWindowWillNavigate BrushStyle -BSkyUseRawTexture +BtGQcY03LIgbxIF6 BtnBackground.png BtYovqVKoHMDMoDd0u9Mc5CIyRqyu0IGS99A0jeEXRj7aofQ BU_Simplex1to4 @@ -4984,7 +5019,7 @@ BytesReceivedAndIgnoredPerSec BytesReceivedPerSec BytesRecvAndIgnored BytesWritten -ByVersion_0.456.1.414231 +ByVersion_0.457.0.414557 ByVersionForPlatform_ C_specific_handler CA_NPEAVQObject @@ -5105,6 +5140,7 @@ CancelButton CancelButtonClicked CancelButtonHover CancelConflictButton +CancelImportHeightmap CancelIoEx CancellationTokenCallback Cancelling @@ -5461,7 +5497,6 @@ ChatTapConversationThumbnail ChatVisible CheapBokehFS CheckAssemblyWhenWakeFromContactRemove -CheckBeforeCreate CheckBoxClicked CheckBoxState CheckBoxStateChanged @@ -5580,6 +5615,7 @@ ClearShouldRecenterFlag ClearSkylightSunlightChunk ClearStatsAction ClearStencil +ClearTerrainWeldsForGatheredCells ClearTextOnFocus ClearTouchCameraMovementModes ClearTouchMovementModes @@ -5727,7 +5763,6 @@ ClientCompressionFormatRequestPC ClientConnecting ClientConnectionSignals ClientConnectResult -ClientCryptoRate_ ClientDataPing ClientDisconnectReason ClientExternalBrowserUserAgent @@ -5892,6 +5927,8 @@ CloudLocalizationTableSelfCleaningInfo_ExpiredEntry CloudLocalizationTableSelfCleaningInfo_SourceLifeCycleInfo_ CloudLocalizationTableSelfCleaningInfo_TranslationLifeCycleInfo_ CloudPluginLoadTime_ +CloudsComp +CloudsCompFS CloudTablesAccountAgeMinimum CloudTablesPhase2_TrackAndTimeoutHangingThreads CloudTablesPhase2_TrackHangingThreadsTimeout @@ -6306,6 +6343,7 @@ ColorShift_Top ColorSpace ColorWaypoint ColumnCount +ColumnHidden ColumnMajor ColumnMinimumWidth ColumnsInRow @@ -6375,7 +6413,9 @@ CompleteChildren CompletedTutorials Completeness CompletenessAllReplicators +CompletenessFinalization CompletenessForParentOfChildBeingMarkedDead +CompletenessPropagation Completion ComplexControl ComplexSelection @@ -6519,8 +6559,6 @@ ConnectionState ConnectionToken ConnectionType ConnectIPv6ServerInLAN -ConnectNew -ConnectOld Connectors ConnectorsActive ConnectorsAll @@ -6549,7 +6587,6 @@ ConstraintDrawOnTopVerb Constraints ConstraintToggleMode ConstraintTool -ConstraintWidgetRenderOutsideOfStudio ConstraintWidgetScaleVerb ConstructBodyShattering ConstructConnectedComponent @@ -6587,6 +6624,7 @@ ContentEncAlgo ContentEncodingType ContentFolder ContentFrame +ContentFromStudio ContentIdentifier ContentIdOverLimit ContentInfo @@ -6826,6 +6864,7 @@ CountShifted CountTimeout CountWidth CrackedLava +CRafcYc14rzX9AL6 CrashDumpFileName CrashEvent CrashReporter @@ -7519,11 +7558,14 @@ DataStoreCachedKeysMemSize DataStoreCacheInvalidationError DataStoreCacheLimit DataStoreCannotParseValue +DataStoreCannotParseValueWithKey +DataStoreEnableKeyLogging DataStoreError DataStoreErrorCase DataStoreFetchFrequenceInSeconds DataStoreFixedRequestLimit DataStoreInfluxReportNonParsableDataPerMyriad +DataStoreInfluxReportNonParsableDataPerMyriadWithKey DataStoreInfluxValueSubstringSize DataStoreInitialBudget DataStoreInitialThrottlingBudgetFix @@ -7673,7 +7715,6 @@ DebugDrawBvhNodes DebugDrawQuadCount DebugDrawTextCount DebugDumpTimer -DebugDynamicDescriptorsEnabled DebugEnabledConvexDecompDebug DebugEnableInterpolationVisualizer DebugEnablePhaseTracking @@ -7704,7 +7745,6 @@ DebuggerAddedHandler DebuggerBreakpoint DebuggerClientManager DebuggerClientView -DebuggerColorConfiguration DebuggerController DebuggerCurrentLine DebuggerDataInitHandler @@ -7750,6 +7790,7 @@ DebugLocalRccServerConnection DebugLocalRccTicketTesting DebugLogAvatarLoadTimeStatsByPlace DebugLuaHeapDump +DebugLuauFreezeArena DebugLuauMagicTypes DebugMarkerSetObjectNameEXT DebugMarkerSetObjectTagEXT @@ -7774,6 +7815,7 @@ DebugNavigationDrawTileBounds DebugNavigationMaxMemoryUsageInBytes DebugNetworkPacketAgeHistory DebugOccupancy +DebugOutputAbuseReportScreenshot DebugOverrideDPIScale DebugPackageHashing2 DebugPauseVoxelizer @@ -7789,8 +7831,6 @@ DebugPrintLagServer DebugPrintMidPhaseStats DebugProfilerCaptureTime DebugProfilerFramesToCapture -DebugRakNetNoTimestampInUdt -DebugRakNetUseUdt DebugRakPeerReceive DebugRakPeerReceiveAfterSeconds DebugRakPeerReceiveCountDistributedPackets @@ -7918,7 +7958,6 @@ DECLARE_STUDIO_STRING_ID DecodePointer Decomposition Decoration -DecoupleUserInputServiceFromPlugins DECP_NISTZ256_ASM DecrementCount DedicatedSysMem @@ -7999,6 +8038,7 @@ DefaultTransparentHQFS_ DefaultVS_ DefaultWangHQFS_ DefaultWidget +DeferDangerousDeletion DeferLSPServerInitialization DeferralConditionRecheck DeferralConditions @@ -8098,6 +8138,7 @@ DEPRECATED_formatSelectionAction DEPRECATED_foundItemsIncreased DEPRECATED_getAccountInfoFromWeb DEPRECATED_goToLineAction +DEPRECATED_handleError DEPRECATED_httpSessionAuthenticationDone DEPRECATED_indentSelectionAction DEPRECATED_isActive @@ -8466,6 +8507,11 @@ DirectSoundEnumerateW DirtyProps DirtyPublishWarningDialog DirtyTilesForRegion +DisableAbuseReportScreenshotD3D +DisableAbuseReportScreenshotGL +DisableAbuseReportScreenshotGL2 +DisableAbuseReportScreenshotMetal +DisableAbuseReportScreenshotVulkan DisableAccuratePlaySoloSetting DisableAllJoinToolJoining DisableBreakpoints.png @@ -8645,7 +8691,6 @@ DOMMouseScroll DoNotLoadUnverifiedBuiltInPlugins DoNotOpenClonedOriginalInEditMode DoNotRenderMeshLODByDefault -DontActivateIfNoDocsOpen DontAddMrdConnDataToCache DontAssignUnassigned DontCallOnMovingAssemblyRoot @@ -8807,7 +8852,6 @@ DSATTRIB_UDCRTag DsEVxozVjY DSHA256_ASM DSHA512_ASM -DsNtrdoiyDPTOg1mjCFizFqyPUc8Lmf DSO_bind_func DSO_convert_filename DSO_get_filename @@ -8872,6 +8916,7 @@ DynamicReloaderFileFailureInfluxHundrethsPercentage DynamicRotate DynamicThumbstick DynamicTToolReplacement +DysyMZt5IwsvqIijDxENX3 E\HTH\HfHrH E_disc_bottom_link.png E_modified.png @@ -9252,10 +9297,13 @@ EmulatorToggleVerb Enable17sNotifications EnableAdditionalAssetFormatFunctions EnableAddUniverseIdToFilterHeaders +EnableAnalyticsServiceNewStandardEventsAPIs EnableAppPolicyDefaultsFile EnableAppTracing EnableAssetFailedEvent +EnableAsyncHttpResponseOnFailure EnableAudioPreviewWhiteList +EnableAudioResources EnableAuthV2Login EnableAutomaticSizeBeta EnableAutomaticSizeBetaFeature @@ -9273,6 +9321,7 @@ EnableClarifiedIKDraggersBeta EnableClientDeepLink EnableCoarseShading EnableContactsApiServiceV2 +EnableContentProviderCheckModerationFailure EnableConvertTerrainBeta EnableConvertToTerrainBeta EnableDateTimeInNetworkValueFormat @@ -9310,6 +9359,7 @@ EnableInfluxTestInProductionTag EnableInternalGuiInstrumentation EnableIsPremiumSettings EnableJavascriptHybrid2 +EnableLineEditingForEnumSelection EnableLoadingScreenPlaceIconTween EnableLoadModule EnableLowerFrequencyWorldSteps @@ -9320,7 +9370,6 @@ EnableLuaDraggers EnableLuaDraggersBeta EnableLuaDraggersBetaFeature EnableLuaEventStreamRelease -EnableMarketplaceFavorite EnableMeshPartHeadsProperty EnableMeshPartJointOffset EnableMessagingService @@ -9335,7 +9384,6 @@ EnablePerfDataCollection EnablePerfDataCoreCategoryTimersCollection2 EnablePerfDataCoreTimersCollection EnablePerfDataCountersCollection -EnablePerfDataExtendedMemoryCollection EnablePerfDataGatherTelemetry EnablePerfDataLocalStorageCollection EnablePerfDataMemoryCategoriesCollection2 @@ -9353,7 +9401,6 @@ EnablePhysicalFreeFormDragger EnablePlaceFiltersForLuaDefinedFlags EnablePlugin EnablePluginPermissionsPage2 -EnablePreviewTabSelection EnableProximityPromptBeta EnableProximityPromptBetaFeature EnableQuickGameLaunch @@ -9365,8 +9412,6 @@ EnableResetPlaceFilters EnableReturnKeyPressedEvent EnableRichTextBeta EnableRichTextBetaFeature -EnableRobuxHexIcon -EnableRobuxHexIconV2 EnableSafeUpdateBeta EnableScriptCollabByDefaultOnLoad EnableScriptCollabOnLoad @@ -9386,11 +9431,8 @@ EnableTextFieldContentType EnableTexturePacksBeta EnableTexturePacksBetaFeature EnableThirdPartyTeleportProtection -EnableToolboxGetAssetsFailedCaseFix -EnableToolboxInsertWithJoin2 EnableToolboxPluginInsertion EnableToolboxVideos -EnableToolboxVoteFix EnableTrackingAccessoryDestoyedWithLiveSignals EnableUniversalAppUserAgentOnMacAndWin32 EnableUsersEndpoint @@ -9493,6 +9535,7 @@ EnumerateVideoDevicesNV EnumGpuDevicesNV EnumGpusFromAffinityDCNV EnumGpusNV +ENumPhysicsTouchPacketsPerStep EnumProcesses EnumProcessModules EnumPropDescriptor @@ -9727,6 +9770,7 @@ ExpandsOnDoubleClick ExpandToGrid ExpansionFactor Expectation +ExpectedDirectChildren Experimental ExperimentalServCommsSendOptimization ExperimentalSolverIsEnabled @@ -9825,6 +9869,7 @@ FaceFront_Att FaceFrontAttachment FaceIndoor FaceInstance +FactoryForImage FAILED_TO_CREATE_NETWORK_THREAD FailedToArchiveDumpFile FailedToPublishPackage @@ -9928,7 +9973,6 @@ FCCBB74B0BF11E395B6E5DB6211F344 FCDAAED11E38B9D871882A8E559 FCIncreaseVertexLimit FColorSequenceSanitize1 -FcuIKyfU1NQ FD0AAED11E38B9D871882A8E559 FD1AAED11E38B9D871882A8E559 FD8642D2249E1119F2FDB7CBEC74584 @@ -9973,6 +10017,7 @@ FFlagStudioNewTableOutputWidget FFlagStudioOutputViewPrintTableSupport FFlagStudioSaveToCloudV2 FFlagStudioSaveToCloudV3 +FFlagTerrainImportNewYieldMethod FFlagWatchWidgetSortVariables FFoRLVHHHHoTJVF FHFRF\FfFpFzF @@ -9988,6 +10033,7 @@ FileAddedOrModified FileButtonLabel FileChanged FileChangeTimerFinished +FileChangeType FileDeleted FileLoadComplete FileManager @@ -9995,7 +10041,6 @@ FileMaxSizeBytes FilePathBase Files.size FilesChanged -FileSearcher FileSelector FileSyncItem FileSyncItemClient @@ -10117,7 +10162,6 @@ FindFirstFileA FindFirstFileW FindForChangedValue FindForward -FindInFiles FindInTextBadPattern FindLadder FindLadderOld @@ -10125,7 +10169,6 @@ FindListModel FindNextFileA FindNextFileW FindOptionsToggled -FindParameters FindPartOnParabola FindPartOnRay FindPartOnRayWithIgnoreList @@ -10145,11 +10188,7 @@ FindReplaceViewController FindReplaceWidgetAction FindResourceExW FindResourceW -FindResultsInScript FindResultsWindowAction -FindScriptAction -FindScriptEditLine -FindScriptListWidget FindSelectionBackground FindSelectionBackgroundColor FindService @@ -10166,6 +10205,11 @@ FireAllClients FireAllEvents FireCFrameChanged FireClient +FireCustomEvent +FireInGameEconomy +FireInGameEconomyEvent +FireLogEvent +FirePlayerProgressionEvent FireServer FireWand.png FirstChild @@ -10223,14 +10267,12 @@ FixLoadingServerScript FixLoadTimeReporting FixLocalShutdownRequest FixLODDataSerialization -FixLSPEncodingMismatch FixLuaAppAvatarDraggable FixLuaAppBreakpoints FixMeshExtraAllocation FixMeshNormalsForNonUniformScaling FixMissingTangents FixMixedSlashPathInSandbox -FixModelPreviewSelection FixMotorAngleUpdatesOnReceive FixMoveToWalkToPartReplication FixNoTimeHudOnTeleport @@ -10251,6 +10293,7 @@ FixShiftScrolling FixSkinMeshShrinkToLod FixSmallSurfaceGuiMouseInput FixSoundPropertySignaling +FixStandardCursorPagesUnexpectedDataType FixStudioFlagEditorCrash FixSurfaceGuisBreakingAfterRespawn FixTableLayoutMinorAxisSortOrder @@ -10262,6 +10305,7 @@ FixTrailTimeCalculation FixUpCoCFS FixUsingGameIdInsteadOfJobId FixWeldConstraintTeamCreateReplication +FixWorldModelHumanoidScalingInBuildRig FJFTF^FhFrF FlagCaptured FlagCreated @@ -10380,7 +10424,6 @@ ForceLuaDraggers ForcePlayModeGameLocaleId ForcePlayModeRobloxLocaleId ForceSaveSelection -ForceScActive ForceTenFootInterface ForConnected ForDataReady @@ -10444,7 +10487,6 @@ ForUnpublishedChanges ForwardScroll FoundItems FoundThread -FozJzWO4g5CqL4NKGAry FpFramebuffer FpsVariance FqCScNoAes @@ -10609,6 +10651,7 @@ FrontSurface FrontSurfaceInput FrustumOrdered FrustumRenderQueue +FUaEOkr6IFK5fPkKC7maYIRg7M1Fp34smDnh FullRenderObjects Fullscreen FullScreen @@ -10716,6 +10759,7 @@ GameLocaleIdInternalOverridesForceGameLocaleId GameLocaleIdName GameLocalizationTable.csv GameManagementBetaFeature +GameNameUpdated GameNotFound GamepadCameraSensitivity GamepadConnected @@ -11355,7 +11399,6 @@ GetRenderDesc2 GetRequestBudgetForRequestType GetResolutionScale GetResourceByCategory -GetRobloxSecurityCookieFix GetRobloxVersion GetRobuxBalance GetRoleInGroup @@ -11437,6 +11480,7 @@ GetTextureSwapChainBufferVk GetTextureSwapChainCurrentIndex GetTextureSwapChainDesc GetTextureSwapChainLength +GetThreadContext GetTickCount GetTickCount64 GetTiltSpeed @@ -11584,7 +11628,6 @@ GImpactCompound GImpactCompoundShape GiveFocusBackAfterClickingTextbox GizmoRaycast -GKkupstvFM GL_ARB_copy_image GL_ARB_pixel_buffer_object GL_ARB_texture_storage @@ -11625,6 +11668,7 @@ GLSL.std.450 Glsles3Mediump1 GlslesMediump1 GlueCursor +GoCJedHj1hVZSn GoldenHashes GoodbyeChoiceActive GoodbyeChoiceActiveProperty @@ -11709,6 +11753,7 @@ GrassHQFSShadowedFSM_Deprecated GrassHQVSShadowed GrassHQVSShadowedFSM Gravesmall +GrcgEoXj66T5z9E6qmq5dQsT9TYke3nv GreaterThan GrenzeGotisch GreyGlow.png @@ -11842,7 +11887,6 @@ GvEphfEUiHHoD6hYFI4xWGpAnIHcklKQCxrf46kAhDGeZnqIgeGszlGdWafunGE8 GVKUTS[BXIWH\KbHi GXGfGkGpGuG GxI9Gpu2E2 -GXOHVH7R5Vxo6MqFi1BNRAdibFZg40R1 GyroscopeEnabled H_Key_dn.png H_NAEBVQString @@ -12025,6 +12069,7 @@ HighlightDraftInactive Highlighted HighlightedIndex HighlightResolvedActive +HighlightSections HighlightServer HighlightServerActive HighlightServerInactive @@ -12138,7 +12183,6 @@ HQFSShadowedFSM HQVSShadowed HQVSShadowedFSM HtmlEscaped -HTsi1vqDjqkAytOkAkwbRxlOtffECAwEAAQ Http_Failed HTTPAccumulatedBytes HttpAnalyticsMaxHistory @@ -12166,7 +12210,6 @@ HttpCachePolicy HttpCacheRedirectsTimeoutMs HttpCacheRefreshHundredthsPercent HttpCacheRetryCount -HttpCacheStatsReportingIntervalSeconds HttpCaching HttpCallAllowedToUrl HttpClient @@ -12174,6 +12217,7 @@ HttpClientCacheCleanup HttpClientDestroyMs HttpClientDisconnectResultSignals HttpClientExternalTlsPeerVerificationFailHundrethsPercentage +HttpClientFixReqUrlRaceInLog HttpClientHandler HttpClientHandlerFixed HttpConnectDefaultTimeoutMillis @@ -12202,6 +12246,7 @@ HttpFuture HttpGAFailureReportHundredthsPercent HttpGAFailureReportPercent HttpGetAsync +HttpImageProvider HttpInfluxClientExceptionStatusCode HttpInfluxDatabase HttpInfluxHundredthsPercentage @@ -12210,7 +12255,6 @@ HttpLocalThrottling HttpLogRedirects HttpMarkExternalRequests HttpMaxRedirects -HttpMoveCacheStatistics HttpNetworkType HttpOnly_. HttpParallelLimit_RequestAdService @@ -12283,6 +12327,7 @@ HttpRequestWithQtContextDummyObject HttpResponse HttpResponseDefaultTimeoutMillis HttpResponseExtendedTimeoutMillis +HttpResultJob HttpResultOut HttpResultsApprovedUserIDs HttpRetryOn564 @@ -12326,6 +12371,7 @@ HttpSessionAsync HttpStatus_0 HttpStatus_1 HttpStatusCode +HttpStoreBwStats HTTPSuccess HTTPSuccessDataStore HTTPSuccessMarketPlace @@ -12541,6 +12587,7 @@ ImageReadyq ImageRectOffset ImageRectSize ImageResourceController +ImageResponse ImageScale ImagesResourceMenu ImageToClipboard @@ -12578,6 +12625,7 @@ ImportFenceFdKHR ImportFenceWin32HandleKHR ImportFinished ImportFrameVisibilityChanged +ImportHeightmap ImportHeightMap ImportIcon ImportOptionsDialogRejected @@ -12596,6 +12644,7 @@ Inappropriate InboundTotal INCIDENTAL IncidentId +IncidentID Inclination Inclination. InclinationAngle @@ -12692,7 +12741,6 @@ InfluxReportFeOnStartupErrorPermyriad InfluxReportLastVisitedUrl InfluxReportLocalFilterStringPermyriad InfluxReportRCCStatsHundredthsPercentage -InfluxTagRefactor InfluxTattletaleReportCommunitySiftOutputPermyriad InfluxTattletaleV2Permyriad InfluxTrace @@ -12706,6 +12754,7 @@ InfoBarWarningText InfoChanged InFocusChain InFocusRadius +Infomation Information InformativeText InformScriptEditorWhenResumingFromPluginBreakpoint @@ -13008,6 +13057,7 @@ InvocationMeter InvokeCallback InvokeChatCallback InvokeClient +INVOKECOMPLETIONS InvokeGameInvitePromptClosed InvokeServer InWithTheNew @@ -13018,7 +13068,6 @@ IPAddressChoice IPAddressFamily IPAddressOrRange IPAddressRange -IpcIVbvG7T8qFzkB8xxmFGpYlAGwuBT1jZ7UWT015fRc5UnIIrBV1s IPHLPAPI.DLL IPlaceSessionModel IPluginElementHost @@ -13311,7 +13360,6 @@ JW4HttpRequestResult JW4InfoType JW4TextFilterContext JW4ThumbnailType -JwIm8tQVKdAHlryc K\7IxU..UxI7\K K_Key_dn.png KaiTi_GB2312 @@ -13368,7 +13416,6 @@ KeyUpdateInfo KeyUsagePeriod KeywordColor KeywordFilterType -KeywordInScriptData KfaO3j5BbG6ijHHxFy22YNNJwxKTT KfE9k0uDfE9k KFKPKXK`KhK @@ -13378,6 +13425,7 @@ KillPtClicked KKKKKKKKKK KKKKKKKKKKKK KKKKKKKKKKKKKKKKKKKKKK +KMsPxXXyXT2 KnownHeaders KnownPrefixIndex KnownPublishRequest @@ -13448,7 +13496,6 @@ LaunchTime_Country_ LaunchTime_Mobile LaunchTime_Mobile_Country_ LayerCollector -LayerCollectorLocale LayerCount Layers.data LayoutChange @@ -13652,7 +13699,6 @@ LevelItemCount LevelOfDetail LevelOfDetailSetting LevelQuality -LGLU6DAaGhcvayPrAp Liberation LIBOVR_DLL_DIR LibsodiumDRG @@ -13755,6 +13801,7 @@ Loading... LoadingAnimation LoadingCompleted LoadingScreen +LoadingScreenComponent LoadingScript LoadingScriptValidationFail LoadingStarted @@ -13974,6 +14021,7 @@ LowQMaterialFS LowQMaterialWangFallbackFS LowQMaterialWangFS Lslashsmall +LSPAutocomplete_preAlpha LSPManager LSPSyntaxHighlightingClientRefactoring LSPWarning @@ -14093,51 +14141,58 @@ LuauAllowGlobalAssignEverywhere LuauBetterBinaryOpInference LuauBetterErrorMessages LuauBetterFunctionCallChecking3 +LuauBetterLoopChecking LuauBetterMismatchedReturnCountMessages LuauBetterOverloadReporting LuauBetterScopingRule LuauBetterUnionComparisons LuauCheckForCyclicDependencies LuauCheckRecursionLimit +LuauCopyRequiredTypeSurfaces2 LuauDenyBinaryOperatorsOnUnknownTypes +LuauDisableUnknownGlobalLintWhenTypeChecking LuauEnableAsKeyword LuauErrorIfNoReturnInFunctionBody LuauErrorMissingOrMistypedField LuauFixArgCheckFreeTypeLeak +LuauFixCyclicPacks +LuauFixCyclicQuantification LuauFixHeapUAF1 LuauFixMissingGapsInUnions LuauFixReturnContextWhenCheckingArgTypes -LuauForbidRequiringNonModuleScripts LuauIgnoreStateInArrayStringification LuauImportsUsedIfInTypeAnnotation LuauImproveClassAndTableUnificationError +LuauInstantiateFuncTypesWhenNeeded LuauKeyword LuauLinearFlattenIntersection -LuauLocalPlayerIsPlayer LuauNoCopyLexer -LuauNonstrictArgumentCounts2 LuauNonStrictByDefault LuauNoThrowLexer LuauOccursCheckVisitsUnion +LuauOnlyAscribeSyntheticNameAtModuleScope LuauOnlyAssignIndexerOnUnsealed LuauOnlyGuardIfGlobalType LuauRecursionLimit LuauRefactorTableInference +LuauReportOnMismatchFunctionTypes LuauReportPreviousLocationOfDefinition -LuauReworkDotVsColonWarnings +LuauSanitizeFreesInPublicExports LuauScriptFoldRefine -LuauScriptFormatter LuauShorterArrayTypes LuauSignalWaitReturnTypes LuauSortModuleErrorsBeforeReverseSorting -LuauStricterOperators +LuauStricterOperators2 +LuauStringifyGenericTypenamesAndTypeParams LuauTableTypeMaximumStringifierLength -LuauTieTablesTogether +LuauTableUnificationImprovement +LuauTieTablesTogether2 +LuauTraceRequiresThroughStringIndex LuauTraceTypesInNonstrictMode +LuauTrimFreeTails LuauTypeInferRecursionLimit LuauTypeInferTypePackLoopLimit LuauUseArraySyntaxInStringification -LuauUseInstanceGuids LuauWalksCallbackDescriptors LuauWarnOnLowercaseParent LuauWatchdog @@ -14150,7 +14205,6 @@ LuobuWhitelisted LuobuWhitelistedAllow LuobuWhitelistedField LVvuOx39]O -LxNx1YolyX M_NVWeakFunctionRef MacGamepadUseGCController MachineAddress @@ -14211,7 +14265,7 @@ MarketplaceAssetCounterFixSoloUserId MarketplaceAssetsAdopted MarketplaceService MarketPlaceService -MarketplaceSourceAssetIds +MarkupKind Marshalled Marshaller MarshallerType @@ -14640,12 +14694,12 @@ MegaClusterNetworkInit MegaClusters MegaPhysics MegaReplicationDataForReplicator +MegaReplicatorDisableServerCompleteness MegaReplicatorDisconnectTaskBatchSize MegaReplicatorNOUSignals MegaReplicatorSetIsAliveForAllReplicators3 MegaReplicatorUseMarkDeadHelper MegaReplicatorWorldExtentsRefreshTime -MegaRepOnlyClearWhenNewlyAlive MeleeWeapons MemberSelected Membership @@ -14806,6 +14860,7 @@ MetaLengthsMax MetaLengthsMax[i] MetaLengthsMax[j] MetalnessMap +Metamethod MetaNames.length MetaNames[i] MetaNames[i].length @@ -14822,10 +14877,10 @@ MethodQuery Metrics.width MetricsSets MetricType -MF0clBmj4e MHapV7R8MxA953 MicroProfile MicroProfileFlip +MicroProfileGpuGetTimeStampD3D11 MicroprofileGroupAtLastStack MicroProfilerSessionAnalytics MicroprofilerShortcutPressed @@ -14842,7 +14897,7 @@ MigrateTriangleMeshData3 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsI9zRp2OSccqdFx2 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAupANB3EbN9hFHHUj0eA MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzjPRQo9jc -MIICCgKCAgEAo8UhbsxtT9nLbSn9MTtliQlsQSzmEShJY6FGcBM6mm4Qm9 +MIICCgKCAgEA4tlLT6YonBzw Millisecond MillisecondsBeforeHandlingReconnect MimeDataFromSelection @@ -14920,7 +14975,9 @@ ModelChanged ModelClusterExtent ModelClusters ModelComplete +ModelCompleteClient ModelCompleteness +ModelCompleteServer ModelEnabled ModelIncomplete ModelingCmd @@ -15113,8 +15170,10 @@ MovingHumanoid MovingNoPhysicsBase MovingPrimitives MovingPrimitivesCount +MozIof5kj7Sr1sLSLl0gTCbthhm5a82LJp MP8PartInstance MpCehiHzreSzNTczkc9d +MPEAUCachedContent MPEAVAdorn MpsRateLimit MpsRateLimitCapacity @@ -15137,7 +15196,6 @@ MSACM32.dll MsecBetweenTextureMemoryUsageArrayRefresh MSecsSinceEpoch MsgWaitForMultipleObjectsEx -MsT3gDsQEXL MsToScreen MSVCP140.dll MSWSOCK.dll @@ -15236,6 +15294,7 @@ NameLoaded NameLookupMs NameOcclusion NAMERecord +Names.size NamesOccludedAsDefault NamespaceSchemaLocation NamespaceSequenceNumbers @@ -15322,6 +15381,7 @@ NetworkBandwdithManager NetworkBandwidthManagerTrace NetworkCache NetworkClient +NetworkClientSideCompleteness NetworkCluster NetworkConnection NetworkConnection.png @@ -15456,6 +15516,7 @@ NextSelectionUp NextSpawnLocation NextTabPage NfXf`fhfzf +NgNjxXSkbym3Ynp6Qef3e3SH NHVVariant NinjaMask.mesh NNNNNNNNNNNNNNNNNNNNNN @@ -15473,7 +15534,6 @@ Node_class NodeAndRebalance NoGraphics NoInfiniteLoopOnChatInfoLoadFailure -NoInsertDependencyInCloneTool NoInternet NoLocalPlayer NonBlockingAnalyticsExit @@ -15490,12 +15550,7 @@ NonVariant NoOcclusion NoOutlinesAction NoPatchContent -NoPluginInChangeHistory -NoPluginInUIGridLayout -NoPluginsInWindowId NoProHashTag -NoProStringTag -NoProtectedStringCache NoRenegotiation NoReplicator NoResumptionOnRenegotiation @@ -15503,9 +15558,7 @@ NORM_SPACE NormalizedType NormalizedTypedef NormalSmoothing -NoScriptCache NoSoundNRT -NoStudioInGuiCluster NoSuggestions NoSupports NotAccepted @@ -15549,6 +15602,7 @@ NPCsAction NPEAVInstance NPEAVQString NPEAVQWidget +NRVJbyc7oHrGROx067UifOvWcPxGkH8EZ6B138CAwEAAQ NSNNNNNNTNh0ii NSNNNNNNTNPVR NSNNNNNNTNPVV @@ -15592,8 +15646,6 @@ NumInactiveRigidJoints NumLinkCalls NumLodSplits NumOfInstancesInPublishedPackage -NumPhysicsPacketsPerStep -NumPhysicsTouchPacketsPerStep NumPlayers NumRegions NumRegionsToGC @@ -15699,6 +15751,7 @@ OCSPResponse OCSPSigning OCTETSTRING Odieresissmall +OE9DyWHuBJx3dCDstkqGve2 OfA9HPuHfA9H`uAfA9Hpu OfAdmissions OfApproval @@ -15894,6 +15947,7 @@ OPENSSL_uni2asc OPENSSL_uni2utf8 OPENSSL_utf82uni OpenStudioProcesses +OpenThread OpenVideosFolder OpenWeChatAuthWindow OpenWikiPage @@ -16105,6 +16159,9 @@ PackageAssetData PackageAssetDataCallback PackageAutoUpdateDelayMs PackageChanged +PackageContentProviderHTTPRequestFailure +PackageContentProviderHTTPRequestWait +PackageContentProviderInvalidInstance PackageContentProviderRequestFailure PackageContentProviderRequestStart PackageContentProviderRequestSuccess @@ -16136,12 +16193,19 @@ PackageMassUpdateCheckboxUncheckedIcon PackageMassUpdatePlaceListShadow PackageMassUpdateProgressBarCheck PackageName +PackagePermissionFailure +PackagePermissionNetworkError +PackagePermissionParseActionVersionError +PackagePermissionParsePermissionError PackagePermissionPullingIntervalInSeconds PackagePermissionsCallback PackagePermissionsData PackagePermissionsManager PackagePermissionsRequestStart PackagePermissionsRequestSuccess +PackagePermissionUnknownPermissionError +PackagePermissionVersionError +PackagePermssionJSONParseError PackageRequestWebCopy PackageRequestWebCopyError PackageRequestWebCopyStart @@ -16214,6 +16278,10 @@ ParallelNarrowPhaseSerialCutoff ParallelPhysicsReceive ParallelRamp ParallelReceiveJob +ParallelSearcher +ParallelSearcher_ContentSearchInstances +ParallelSearcher_ContentSearchTime +ParallelSearcherNamespace ParallelTerrainBroadphase2 ParallelWaitingScripts ParalleNarrowPhaseThreads @@ -16225,7 +16293,6 @@ ParameterizeHandler ParameterizeHandlerNamedParameterEnabled Parameters PARAMETERS -ParametersId ParamFootContactStiffness ParamFootFingerContactRollStiffness ParamHandContactStiffness @@ -16346,6 +16413,7 @@ PatternSyntax PauseAction PauseSound PBKDF2PARAM +PBSaZHNTV8dabU89mXPGgegNFzRR PCDesktopClient PCertReqData PCertResTBS @@ -16353,7 +16421,6 @@ PCStudioApp PCStudioAppCJV PE_MAX_NB_SUBFR PEA_NAEBV2 -PEA_NPEAVQDialog PEAD1AEAPEAD PEAPEAVsgCObject PEAPEAX01PEAVQSlotObjectBase @@ -16447,6 +16514,7 @@ PEAVClientReplicator PEAVClientStatsItem PEAVCloneTool PEAVCloudEditConnectionModel +PEAVClouds PEAVClusterPacketCache PEAVCollectionService PEAVColorCorrectionEffect @@ -16692,6 +16760,7 @@ PEAVQAction PEAVQAuthenticator PEAVQBasicMutex PEAVQByteArray +PEAVQDialog PEAVQDockWidget PEAVQEvent PEAVQEventLoop @@ -17107,7 +17176,6 @@ PhysicsReplicationRatio PhysicsReprocessStudioSignal PhysicsSender PhysicsSender_Mega_Job -PhysicsSenderBytesScalesWithFrameTime PhysicsSenderMaxBandwidthBps PhysicsSenderMaxBandwidthBpsCap PhysicsSenderMaxBandwidthBpsScaling @@ -17416,7 +17484,7 @@ PlayerEmulator.rbxm PlayerEmulator.rbxm_luaPlayerEmulatorToolbar PlayerEmulator.rbxm_luaPlayerEmulatorToolbar_luaPlayerEmulatorButton PlayerEmulatorButton -PlayerEmulatorSerializeIntoDM +PlayerEmulatorSerializeIntoDM2 PlayerEmulatorService PlayerEmulatorServiceEnabled PlayerEmulatorToolbar @@ -17463,6 +17531,10 @@ PlayersDataManagerCreated PlayerService... PlayerShutdownLuaTimeoutSeconds PlayersInfo +PlayersInfo.fetchResultCountMismatch +PlayersInfo.NoDataKey +PlayersInfo.NoNameKey +PlayersInfo.writeJSON PlayerStartup PlayerSubscription PlayerSubscriptionCacheIntervalSeconds @@ -17702,6 +17774,7 @@ PreprocessContextSwitchCache PreprocessContextSwitchCacheItem PreprocessFindFirstFrames PreprocessGlobalArray +Preprocessing PreProcessing PreprocessLods PreprocessMeta @@ -17745,7 +17818,6 @@ PrimitiveRestartIndex Primitives PrimitivesCount PrimitivesOverlapping -PrimitivesOverlappingRec PrimStatsGANumDelimited PRINTABLESTRING PrintJoinSizeBreakdown @@ -17795,6 +17867,7 @@ ProcessUserInput Procsssing ProductInfo ProductInfoUrl +Production ProductPurchaseDecision ProductPurchasePrompted ProductType @@ -17887,7 +17960,9 @@ PromptSaveAvatarCompleted PromptSaveSelection PromptSetFavorite PromptSetFavoriteCompleted +PromptsFixDestroyedEvents PromptShown +PromptsOnlyInWorkspace PromptSubscriptionCancellation PromptSubscriptionCancellationFinished PromptSubscriptionCancellationRequested @@ -17948,11 +18023,14 @@ ProximityPromptBetaFeatureRoleSet ProximityPromptBetaFeatureRolloutPercent ProximityPromptBetaFeatureUrl ProximityPromptExclusivity +ProximityPromptFixSpam ProximityPromptInputType +ProximityPromptPauseMenuFix ProximityPrompts ProximityPromptsAllowedInInsertMenu ProximityPromptsEnabled ProximityPromptService +ProximityPromptsFixPreferredParent ProximityPromptStyle PROXY_CERT_INFO_EXTENSION PROXY_POLICY @@ -18008,6 +18086,7 @@ PVAdornment PVInstance PVK_header PxnhPiraCmahCilaKcpeLicyLidyLkclOgnjRruaSdnuSiiaVtsvAumaBpygEimrAilhPitrPavaJihtKusiLietMbraShkrOrmaSanaLtvaTktaBharBdnaMmkaCcreMoreMdrlPdrhSaroSrkaTssaBbhgAlpuDablEnarGjohKdniSaniLjhaMinaMdneMidoMoorMtabNbraNmrePgnmHmlaPcuaPplhPddiShriTaraWmohAwulHrtaHtluMgn +PyGXfdeXvQro PyJlf7IHZQpFHohBe QAbstractAnimation QAbstractButton @@ -18221,6 +18300,7 @@ QEAAXPEAVQGraphicsScene QEAAXPEAVQHeaderView QEAAXPEAVQLayout QEAAXPEAVQLayoutItem +QEAAXPEAVQLineEdit QEAAXPEAVQListWidgetItem QEAAXPEAVQMenu QEAAXPEAVQMimeData @@ -18397,7 +18477,6 @@ QEBAHPEAVQTreeWidgetItem QEBAHPEAVQWidget QEBAHPEBDH QEBAHPEBVQListWidgetItem -QEBAHPEBVQTableWidgetItem QEBAHVQChar QEBAHW4EDeformerType QEBAHW4EType @@ -18502,6 +18581,7 @@ QFutureInterface QFutureInterfaceBase QFutureWatcher QFutureWatcherBase +QgCyoxoJ4qGI2dC0lkImUPDTe QGenericArgument QGenericReturnArgument QGraphicsDropShadowEffect @@ -18516,6 +18596,7 @@ QHBoxLayout QHeaderView QHostAddress QHoverEvent +QImageReader QInputDialog QInputMethodEvent QIntValidator @@ -18559,7 +18640,6 @@ QNetworkReply QNetworkReplyAsQJsonObject QNetworkReplyImplPrivate QNetworkRequest -QNfwQeJlgwBip0N2YE QNPPPPPPPPPPPPPPPPPPPNOP QObjectData QObjectShared @@ -18589,7 +18669,10 @@ QQQQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQQQQQQQQQ QQQQQQQQQxxxxxxxxxxxxxxxxttttttttttttttttttttttttttttttt QQSupportBuildGenericApiUrl +QQuickAsyncImageProvider QQuickImageProvider +QQuickImageResponse +QQuickTextureFactory QQuickView QQuickWindow QRadialGradient @@ -18764,9 +18847,6 @@ QuickAccessButton QuickAccessConfigDialog QuickAccessListDataChanged QuickAccessMenu -QuickFindScript -QuickFindScriptListWidget -QuickFindScriptWidgetDelegate QuickInsertFocus QuickOpen_ContentSearchInstances QuickOpen_ContentSearchTime @@ -18814,6 +18894,7 @@ RagdollDefaultTimerTenthSecond RagdollEarlyExitTimeTenthSecond RagdollNoCollisionConstraint RagdollSlowEnoughToNotTenth +RaiseCompleteness RaiseException RAKNET_ALREADY_STARTED RAKNET_STARTED @@ -18843,6 +18924,7 @@ RakNetOnAckCheckForSendOnly RakNetPasswordAccepted RakNetPasswordRejected RakNetPing +RakNetReportAvailableForNewTransmission RakNetResendBufferArrayLength RakNetResendMaxThresholdTimeInUs RakNetResendMinThresholdTimeInUs @@ -19322,6 +19404,7 @@ ReleaseEventStreamThreshold ReleaseFocus ReleaseImageBufferEventsI3D ReleaseMutex +ReleaseNewPropertiesWidget ReleaseOriginalSizeOnAccessoryRemoved ReleasePbufferDCARB ReleasePbufferDCEXT @@ -19381,6 +19464,7 @@ RemoveAccessories RemoveAllClicked RemoveAsync RemoveButtonClicked +RemoveBytecodeMac RemoveCalculateNextSpawnLocation RemoveCenterDialog RemoveCharacter @@ -19406,12 +19490,10 @@ RemoveOldLuaKey RemovePlace RemovePose RemovePSFlyweight -RemoveReplicatorRedundancy2 RemoveRows RemoveScript RemoveSelectionGroup RemoveSession -RemoveSharedStringMD5 RemoveSpecialKey RemoveStatus RemoveSubPose @@ -19421,7 +19503,7 @@ RemoveTopRows RemoveUILitFS RemoveVehicleSeatCameraCFrameSet RemoveVertex -RemoveZeroUserVIPId +RENAME_ABTEST_AllUsers_Authentication_EmailUpsellAtLogout RENAME_ABTEST_AllUsers_GameDetails_PlayWithFriends RENAME_ABTEST_AllUsers_GameDetails_UseAbbreviatedDescription RENAME_ABTEST_AllUsers_GameSearch_Autocomplete @@ -19465,6 +19547,7 @@ RenderBuffers RenderbufferStorage RenderbufferStorageMultisample RenderClampLightCount +RenderClouds RenderCreeper RenderCSGTrianglesDebug RenderDebugCheckThreading @@ -19484,6 +19567,7 @@ RenderFidelity RenderFidelityReplicate RenderFixAtlasClearing RenderFixDofResolve +RenderFixIndoorSpecIBL RenderFixSpotThrottling RenderFixTerrainAtlas RenderFlag @@ -19514,6 +19598,7 @@ RenderMaxParticleSize RenderMesh RenderMeshManager RenderMessagesAsGui +RenderMoveInstancedClusterUpdate6BBoxToPerform RenderMovePerformUpdateCF RenderMsFrameGatherInterval RenderNicerStitches @@ -19732,6 +19817,7 @@ ReportSoundAssetsAssetList ReportSoundAssetsRate ReportSoundLoaderParsingAnomaliesOnCompletion ReportSoundWarnings +ReportStart ReportStat ReportStats ReportTeamCreatePostFailurePermyriad @@ -19954,7 +20040,6 @@ RevocationList RevocationRefs RevocationUrl RevokeFriendship -RI7rAOU9JhIWtrVE5Gwz4 RibbonButton RibbonButtonControl RibbonGallery @@ -19984,6 +20069,7 @@ RibbonVisiblityAction RichTextBetaFeatureRoleSet RichTextBetaFeatureRolloutPercent RichTextBetaFeatureUrl +RID9p2CAInEXaqAMZgFp8xFYbEfMqHvuGsFRnjo1qfRjQZrWJ RigAttachment RigFromAttachments Right_key.png @@ -20087,6 +20173,7 @@ RobloxAnalyticsURL RobloxBasicDoc RobloxButton RobloxButtonDefault +RobloxChannel RobloxChatWidget RobloxConnectionChanged RobloxConversation @@ -20445,9 +20532,7 @@ ScaleWithParentSize ScalingChanged ScalingMode ScalingModeSelectionChanged -ScAnalytics Scaronsmall -ScDecryptFail SceneManager SceneUpdater Schedule_chore @@ -20529,6 +20614,7 @@ ScriptEditAverageDelayOfAutoComplete ScriptEditAverageHandlingTimeOfTyping ScriptEditor ScriptEditorAdded +ScriptEditorAddSelectWordAction ScriptEditorBetaFeatureRoleSet ScriptEditorBetaFeatureRolloutPercent ScriptEditorBetaFeatureUrl @@ -20538,6 +20624,7 @@ ScriptEditorColors ScriptEditorCurrentLine ScriptEditorEnableScrollPastLastLine ScriptEditorFixCopyPasteSHEdgeCase +ScriptEditorFixVisibleBlocksAssert ScriptEditorHightlightWrappedLine ScriptEditorRemoved ScriptEditorSettingAutoCleanEmptyLine @@ -20675,7 +20762,6 @@ ScrollToBottom ScrollToTop ScrollWheelInputEnabled SCRYPT_PARAMS -ScStatsPermyriad SCT_CTX_new SCT_CTX_verify SCT_new_from_base64 @@ -20826,6 +20912,7 @@ SelectMessagesOnly SelectObject SelectorAction SelectRibbonTool +SELECTWORD SeleniumTest1 SeleniumTest2 SeleniumTest3 @@ -21026,8 +21113,6 @@ SessionCount SessionCountIntervalSeconds SessionCrypto SessionCrypto. -SessionCryptoClient -SessionCryptoServer SessionExists SessionHitBreakpoint SessionIsActive @@ -21113,6 +21198,7 @@ SetHoverToken SetHttpEnabled SetIdentityOrientation SetImageServerView +SetImportHeightmapPaused SetIncrementAsync SetIncrementSortedAsync SetInsertPoint @@ -21187,7 +21273,6 @@ SettingInstanceAlive SettingsAction SettingsDialog SettingsDifferFromCloud -SettingsHeader SettingsSection SettingsTreeWidget SettingWindowClosed @@ -21349,8 +21434,6 @@ ShowPackageDetails ShowPermissibleJoints ShowPlaceVersionHistoryDialog ShowPublishToRoblox -ShowQuickFindScript_Count -ShowQuickFindScript_InitialOpen ShowRecommendedOnlyChecked ShowScriptRecoveryWidget ShowShareModal @@ -21419,6 +21502,7 @@ SigningScripts SignUpClicked SilentHangOnShutdown Sim_SendIfSim +SimAccCollisionPipelineEnabled SimAddInterpolationThrottlingViz SimAssembleInWorld SimBatchSolverMemoryOptimization @@ -21430,7 +21514,7 @@ SimEnableInterpolationThrottling2 SimExpandPartPhysicsApi SimFixConstraintSelectionBoxCrash SimFixWeldConstraintBlockEnable -SimFixWeldConstraintEnable +SimFixWeldConstraintEnable1 SimFixWeldConstraintPartScripting SIMForceCSGv2LearnMoreUrl SIMForceCSGv2Once @@ -21448,6 +21532,7 @@ SimplifiedChinese Simplifier SimSolverBatchBufferMaxAge SimSolverBufferPurgeEnabled +SimSolverConstraintServoMotorLimitFix SimSolverLargeWorkloadReporting SimSolverLargeWorkloadThreshold SimSolverOptimizedIslandizerIKBugFix @@ -21503,6 +21588,7 @@ Sky.SkyboxRt Sky.SkyboxUp SkylightRGBA SkyLinearFS +SkyUseRawTexture SkyVertex2 SleepConditionVariableCS SleepConditionVariableSRW @@ -21988,6 +22074,7 @@ StartupAssetId StartupController StartupControllerRequests_ABTests StartupInfluxHundredthsPercentage +StartUpload StartupTracingInfluxHundredthsPercentage StartValue STATE_CREATION @@ -22069,7 +22156,6 @@ StopRestreamInstancesWithoutParent StopRoundingGlyphRect StopSupportingUnsupportedVariants StopTextScraper -StopUsingStudioServiceHost StopWatchReporter Storage.json STORE_add_cert @@ -22187,7 +22273,6 @@ StringSyntax StringValue StringView StrokeWidth -Studio.App Studio.App. Studio.App.AboutStudioDialog.AmongRegisteredTrademarks Studio.App.AboutStudioDialog.ContactUs @@ -22673,6 +22758,7 @@ Studio.App.IDEGameSettingsLinkDefinition.GameSettingsNotAvailable Studio.App.IDEGameSettingsLinkDefinition.OpenGameSettings Studio.App.ImagePickerWidget.AddImageElps Studio.App.ImageResourceController.ImagesReferencedByName +Studio.App.ImportCostVerificationDialog.AudioUpload Studio.App.ImportCostVerificationDialog.BalanceAfterImport Studio.App.ImportCostVerificationDialog.CostVerificationDescription Studio.App.ImportCostVerificationDialog.CostVerificationMainText1 @@ -22680,6 +22766,7 @@ Studio.App.ImportCostVerificationDialog.CostVerificationTitle Studio.App.ImportCostVerificationDialog.CurrentBalance Studio.App.ImportCostVerificationDialog.DetailsCostTitle Studio.App.ImportCostVerificationDialog.DetailsNameTitle +Studio.App.ImportCostVerificationDialog.LoadingFileData Studio.App.ImportCostVerificationDialog.PurchaseRobux Studio.App.ImportCostVerificationErrorDialog.EstimatedCostErrorDescription Studio.App.ImportCostVerificationErrorDialog.EstimatedCostErrorMainText @@ -22705,8 +22792,11 @@ Studio.App.LocalizationPlugin.ErrorReading1Csv2 Studio.App.LocalizationPlugin.ErrorWritingToFile1 Studio.App.LocalizationPlugin.NoFileSelected Studio.App.LocalPlacePublishRequestMediator.ErrorWhileSaving1 +Studio.App.LocalPlacePublishRequestMediator.FetchActivePlayersInTCFailureText2 +Studio.App.LocalPlacePublishRequestMediator.FetchActivePlayersInTCFailureTitle Studio.App.LocalPlacePublishRequestMediator.PublishInProgress Studio.App.LocalPlacePublishRequestMediator.Saving +Studio.App.LocalPlacePublishRequestMediator.UnexpectedDataFormat Studio.App.LocalSaveHelper.DataModelError Studio.App.LocalSaveHelper.FailedToLock1 Studio.App.LocalSaveHelper.FailedToRename2 @@ -22912,6 +23002,11 @@ Studio.App.PackagesBlockingPublishDialog.CheckInProgress Studio.App.PackagesBlockingPublishDialog.CreatorTypeGroup Studio.App.PackagesBlockingPublishDialog.Header Studio.App.PackagesBlockingPublishDialog.InsufficientPermissions +Studio.App.PackagesBlockingPublishDialog.MessageInsufficientPermissions +Studio.App.PackagesBlockingPublishDialog.MessageModifiedNoAccess +Studio.App.PackagesBlockingPublishDialog.MessageModifiedReadAccess +Studio.App.PackagesBlockingPublishDialog.MessageModifiedWriteAccess +Studio.App.PackagesBlockingPublishDialog.MessageStillChecking Studio.App.PackagesBlockingPublishDialog.ModificationCheckStatus Studio.App.PackagesBlockingPublishDialog.Owner Studio.App.PackagesBlockingPublishDialog.PackageAssetName @@ -22919,6 +23014,7 @@ Studio.App.PackagesBlockingPublishDialog.PackageInstance Studio.App.PackagesBlockingPublishDialog.PackageInstanceName Studio.App.PackagesBlockingPublishDialog.PackageIsModified Studio.App.PackagesBlockingPublishDialog.Permission +Studio.App.PackagesBlockingPublishDialog.SelectPackages Studio.App.PackagesBlockingPublishDialog.Warning Studio.App.PackageUtilities.GoToRevisionError1 Studio.App.PackageUtilities.ModifiedPackagesInDMError @@ -23236,8 +23332,6 @@ Studio.App.RBXMainWindow.PublishSelectionToRobloxElps Studio.App.RBXMainWindow.PublishTheSelectionToRoblox Studio.App.RBXMainWindow.PublishToRoblox Studio.App.RBXMainWindow.PublishToRobloxAsElps -Studio.App.RBXMainWindow.QuickFindScript -Studio.App.RBXMainWindow.QuickFindScriptUseCtrlP Studio.App.RBXMainWindow.QuitApplication Studio.App.RBXMainWindow.RedoThePreviouslyUndo Studio.App.RBXMainWindow.ReloadPlugin @@ -23414,7 +23508,6 @@ Studio.App.RobloxChatWidget.FailedSendAMessage Studio.App.RobloxChatWidget.NotFriendErrorMessage Studio.App.RobloxChatWidget.SendAMessage Studio.App.RobloxCustomWidgets.BrickColor -Studio.App.RobloxCustomWidgets.Loading Studio.App.RobloxCustomWidgets.MoreColors Studio.App.RobloxCustomWidgets.Url Studio.App.RobloxDiagnosticsView.HeaderLabelName @@ -23542,7 +23635,6 @@ Studio.App.RobloxSettingsDialog.ResetSettingsText Studio.App.RobloxSettingsDialog.ResetSettingsTitle Studio.App.RobloxSettingsDialog.RestartForSettingsChanges Studio.App.RobloxSettingsDialog.SaveChanges -Studio.App.RobloxSettingsDialog.SettingsModificationWarning Studio.App.RobloxSettingsDialog.SettingsSearch Studio.App.RobloxStudioVerbs.InsertOpenFile Studio.App.RobloxStudioVerbs.InsertOpenModel @@ -23745,6 +23837,11 @@ Studio.App.TeamCreate.SyncProgressTitle Studio.App.TeamCreate.SyncTerrainProgressTitle Studio.App.TeamCreate.TurnOn Studio.App.TeamCreate.UnpublishedChangesWarning +Studio.App.TeamCreateActivePlayersDialog.PlayerID1 +Studio.App.TeamCreateActivePlayersDialog.TopLabelText1 +Studio.App.TeamCreateActivePlayersDialog.UnableToRetrieveUsernames1 +Studio.App.TeamCreateActivePlayersDialog.UnexpectedDataFormat +Studio.App.TeamCreateActivePlayersDialog.UsernameField Studio.App.TeamCreateConnectionDialog.YouHaveLostConnectionToTheServer Studio.App.TemplatePage.Gameplay Studio.App.TemplatePage.Theme @@ -23817,6 +23914,7 @@ Studio.App.VersionHistoryDialog.ShowBatchContentsLink Studio.App.VersionHistoryDialog.Title1 Studio.App.VersionHistoryDialog.VersionColumnTitle Studio.App.VersionHistoryDialog.VersionComparedWithFmt2 +Studio.App.VersionHistoryDialog.VersionHistoryHashMismatch Studio.App.WatchWidget.CopyEntry Studio.App.WatchWidget.CopyRow Studio.App.WatchWidget.Expression @@ -23876,14 +23974,12 @@ Studio.Common.Action.Resume Studio.Common.Action.Retry Studio.Common.Action.Save Studio.Common.Action.Search -Studio.Common.Action.SelectAll Studio.Common.Action.Share Studio.Common.Action.ShowDetails Studio.Common.Action.Stop Studio.Common.Action.Undo Studio.Common.Action.Update Studio.Common.Action.Value -Studio.Common.Action.Warning Studio.Common.Action.Width Studio.Common.Action.Yes Studio.Emulation.v002.Console @@ -24050,10 +24146,12 @@ Studio17787CrashFix Studio17799CrashFix StudioABTests StudioAccessToApisAllowed +StudioAddAppTypeToCaptchaReq StudioAddingIconsToLocalAndServerScripts StudioAddInstanceDefaultEditor StudioAddLinkToOpenExternalLogin StudioAddMonetizationToGameSettings +StudioAddMorePackagePermissionAndContentProviderAnalytics StudioAddResetDefaultInstanceProperties StudioAddRobloxLoginOptionInLoginDialog StudioAddSetAsDefaultContextMenuOption @@ -24070,6 +24168,8 @@ StudioAppSettings.json StudioAssetConfigurationPlugin StudioAssetManagerAddRecentlyImportedView StudioAssetManagerBetaFeature +StudioAssetManagerFixPackageBehavior +StudioAssetManagerUpdateGameName StudioAttributesUI StudioAttributesUIBetaFeature StudioAttributesUIBetaFeatureRoleSet @@ -24103,6 +24203,7 @@ StudioBFRolloutPercentSafeUpdates StudioBFRolloutPercentSaveToCloudV2 StudioBFRolloutPercentSetInstanceDefaults StudioBlockAnalyticsBasedOnOS +StudioBlockLoginOnTOS StudioBootstrapperVersionNumber StudioBreakOnInfiniteLoopsRunFixEnabled StudioBrowserSandboxing @@ -24157,7 +24258,6 @@ StudioCookieConstraintUrlFragment StudioCookieJar StudioCorrectDebugUserdataKeys StudioCorrectlyDeprecateProp_UITheme -StudioCorrectMergeDialogLineNumbers StudioCrashLocation StudioCurrSessionCrash StudioData @@ -24169,8 +24269,6 @@ StudioDebugLog StudioDebugPackage StudioDefaultNewTemplatePlaceId StudioDeprecateFetchUsernameAndId -StudioDeprecateQuickFindScriptStep -StudioDeprecateQuickFindScriptTotally StudioDeprecateUIThemeProperty StudioDevForumUpdateCategoryId StudioDevforumUrl @@ -24206,6 +24304,7 @@ StudioEncodeEmergencyMessage StudioError StudioExplorerEraseAfterDeleteCrashFix StudioExplorerSuppressNewObjectMenu +StudioExplorerUpdateAssertFix StudioExportRetryRequestLimit StudioExternalDialogClosedShowRobloxLogin StudioExternalLoginDialogAddExpirationDate @@ -24226,7 +24325,7 @@ StudioFixCookieRetrieval StudioFixGetClassIcon StudioFixHorizontalScrollingInSearch StudioFixImageUrlReverting -StudioFixingGroupFreezingPackages +StudioFixingGroupFreezingPackages2 StudioFixInsertObjectModalHiding StudioFixInternalSettings StudioFixMoreScriptDebuggerAssert @@ -24237,15 +24336,16 @@ StudioFixPackagePermissionCallbackForErrors StudioFixPluginLoadingWhileOpeningFromWebsite2 StudioFixPluginMenuMainThread StudioFixPluginWidgetEnabledSignal +StudioFixPrimaryPartSelectionOverOutputWindowDeselect StudioFixScriptAnalysisCopy StudioFixScriptDatamodelMismatch StudioFixShareIcon StudioFixShortcutFilter +StudioFixStepEndOfScript StudioFixTextBoxFocusAndToolTipCloseClashHang2 StudioFixTextureIconLoading StudioFixTreeViewForFlatList StudioFixTreeViewForSquish -StudioFixUILibDropdownStyle StudioFixUILibDropdownText StudioFixWidgetMinimumSize StudioFlagEditor @@ -24253,7 +24353,6 @@ StudioFlagEditorDialog StudioFocusOnCommandBarAction StudioForceDraftsUsageOnRCCSetting StudioForceLocale -StudioFuncDeclParenIncludesAnotherBlock StudioGameManagementBetaFeature StudioGamePageHandfulSize StudioGamePresence @@ -24268,11 +24367,9 @@ StudioGameStateType_UserPlugin StudioGDPRCompliance StudioGDPREncodeBase64 StudioGetMorePackageAssetData -StudioGetSharedPackagesInToolbox StudioGuiObjectSecondRectOffset StudioHideSuccessDialogWhenFree StudioHttpRequest -StudioHttpRequestAddSuccessRetry StudioHttpRequestDefaultRetryInitialDelayInMs StudioHttpRequestDefaultRetryMultiplierTimes1000 StudioHttpRequestDefaultRetryTimes @@ -24300,7 +24397,6 @@ StudioInvalidateCacheOnAssetDelete StudioIOLSetWrappingInMainThread StudioJobActive StudioKeyWorkflowCrash -StudioLanguageServerGetLatestLocalScript StudioLastActions StudioLoadABTestsForUserId StudioLocaleId @@ -24322,13 +24418,13 @@ StudioLogin.Paused.NativeCaptcha StudioLogin.Paused.TwoStepVerification StudioLogin.Start.Auto StudioLogin.Start.Manual +StudioLogPlaceIdInfoEarly StudioLogPlaceIdOnPlaceOpen StudioLogSessionIdAndLastUpdateTime StudioLongCacheRecoveryTime StudioLuaSettings StudioLuauIceInfluxHundredthsPercentage StudioLuauLints -StudioLuauLintWithFrontend3 StudioLuauNonStrictByDefault StudioLuauScriptInstanceHistoryMaxSize StudioLuauWarningInfluxHundredthsPercentage @@ -24438,6 +24534,7 @@ StudioPluginInstall StudioPluginLoadTimingsHundredthsPercentage StudioPluginsBacktraceToken StudioPreferredLocale +StudioPreventOverwriteToTCPlaceWithActivePlayers StudioPreviousStartup StudioPrevSessionCrash StudioProfiler @@ -24464,15 +24561,13 @@ StudioQuickActionLookup StudioRecentActionCacheSize StudioRemoveBadThrowFromInsertPackageFromToolbox StudioRemoveGetFindAllDialogHack -StudioRemoveIndentationFromEmptyLine StudioRemoveObjectBrowserUI -StudioRemoveToolboxScrollingFrameHack StudioReplaceAll StudioReplaceAllSquish StudioReplaceApplyEditWithCommit StudioReportElevatedCount StudioReportEphemeralCounterForGA -StudioReportHang +StudioReportHang2 StudioReportingSuccessToRCity StudioReportOpenPlaceTime StudioReportOpenPlaceTimeFilter @@ -24509,6 +24604,7 @@ StudioSavePlace.End.Cancellation StudioSavePlace.End.Failure StudioSavePlace.End.Success StudioSavePlace.Start +StudioSavePlaceAndUniverseIdOnSessionConfiguration StudioSavePlaceHandleUserCancel StudioSavePlaceToCloud StudioSavePlaceToCloud.End.Failure @@ -24548,18 +24644,20 @@ StudioSetDefaultMonospaceOutputFont StudioSetInstanceDefaultsBetaFeature StudioSettings StudioSettingsDialogFixCategoryUpdates -StudioSettingsDialogNoInstances StudioShipCollaborativeEditingV0 StudioShortcutDuringGameDefaultFalse StudioShouldFocusInsertedAssets +StudioShowConfigErrorMessageOnFailure StudioShowDotsForScriptEditors StudioShowHideABTestV2 +StudioShowInExplorerAtBreakpoint StudioShowInExplorerChangeFocus StudioShowUpdatedAboutDialog StudioSkinnedMeshBeta StudioSkinnedMeshBetaRoleSet StudioSkinnedMeshBetaRolloutPercent StudioSkinnedMeshBetaUrl +StudioSkipTeamTestConnectDialog StudioStartPlaySolo StudioStartPlaySolo.End.Failure StudioStartPlaySolo.End.Success @@ -24612,8 +24710,6 @@ StudioThumbnailImageRetryMaximum StudioTimeoutTimeMs_ForAsyncRequestsBeforeQuit StudioTimeStampFix StudioTimingLog -StudioToolboxEnablePlaceIDInAnalytics -StudioToolboxInsertAssetCategoryAnalytics StudioToolboxPluginPurchaseFlow StudioToSChangeDate StudioTrackDeadRobloxIDEDocsThrottleEvents @@ -24626,6 +24722,7 @@ StudioTreeWidgetEventProcessingTime StudioTreeWidgetFilterTime StudioTreeWidgetProcessingTime StudioTutorialIcon.png +StudioUpdatePropertiesWidgetNameOnChange StudioUpdateSpamDelayMs StudioUpdateSpamIntervalMs StudioUpgradedCounter @@ -24640,10 +24737,9 @@ StudioUrlSafeUpdates StudioUrlSaveToCloudV2 StudioUrlSetInstanceDefaults StudioUrlSupportPluginDebugging -StudioUseAssetIdsForImagePicker StudioUseAutocompleterCursorCallback StudioUseCJVAppName -StudioUseDevelopAPIForPackages +StudioUseHttpImageProvider StudioUseMapForVariantMessageContentsTable StudioUseNewPluginPermissionsBackendForHttpService StudioUseNewPluginPermissionsBackendForScriptInjection @@ -24660,6 +24756,8 @@ StudioUserNotificationReconnectTimerIncrementMs StudioUserNotificationTopSubdomain StudioUserPluginToolbarTouched StudioUserPreferences +StudioUserPreferencesPropertyChanged +StudioUseStringIncidentID StudioUseStudioAssert StudioUseStudioCookieJar StudioUseStudioHttpRequestInAPIUtilities @@ -24794,6 +24892,7 @@ SurfacesDefault.png SurfaceSelection SurfaceTransparency SurfaceType +SuspendThread Suspension SUVATAUAVAW SUVATAUAVAWH @@ -24980,6 +25079,7 @@ TeamCreate.Open.Place.Failure TeamCreate.Publish.Attempt TeamCreate.Publish.Failed.Request TeamCreate.Publish.Failed.Serialize +TeamCreateActivePlayersDialog TeamCreateConnectionAborted TeamCreateConnectionDialog TeamCreateDataStorePerKeyThrottleFixEnabled @@ -25127,8 +25227,11 @@ TerrainChunkAnalyticsOnPublish TerrainChunks TerrainContact TerrainContacts +TerrainContactsForGatheredCells TerrainGrid TerrainImport2ChannelHeightmaps +TerrainImportNewYieldMethod +TerrainImportSupportDefaultMaterial TerrainImportSupportTempId TerrainInvertMaterialDetiling TerrainMesh @@ -25820,7 +25923,6 @@ ToHostEncrypted ToInstance ToJavaScript TokenIdentifier -TokXcog4bii3zgyn2uaQgfSp0lV796G3QSwAr ToLatestPackageAction ToLine.png ToLinkedScript @@ -25844,7 +25946,6 @@ ToolBoxTab ToolBoxTabLabel ToolBoxTabShape ToolboxToolbar -ToolboxUseNewPluginEndpoint ToolButton ToolButton.png ToolButton_dn.png @@ -25994,7 +26095,6 @@ TouchTransmitter ToUniversalTime TownAndCity ToWorldSpace -TqSwzxo8TMMat TraceMessage TracerService TracerService] @@ -26024,6 +26124,7 @@ TrackPlayerTextScrapingCheckTimerSec TrackPlayerTextScrapingMaxQueueSize TrackPublishingHashOutput TrackRemoteBackpackAccesses +TrackRemoteBackpackAccessesNoThrottling TrackRespectFilteringEnabledAndPlayOnRemoveUsage TrackRunUpdateCycleReportInfluxPermyriad TrackRunUpdateCycleReportMs @@ -26148,6 +26249,7 @@ TS_TST_INFO_set_time TS_TST_INFO_set_tsa TS_VERIFY_CTX_new TSMk2ThrottleStreamJob +Tt8cMrdmqR TTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT TTUUEDDsss @@ -26199,7 +26301,6 @@ TypeArray[j] TypeArray[nLog] TypeArray[nLog].length TypeChanged -TypedAllocator TypedPropertyDescriptor TypedStatsItem TypeFilter @@ -26257,6 +26358,8 @@ UCharacterAppearanceAssetInfo Ucircumflex Ucircumflexsmall UColorBlock +UCompletionRequest +UCompletionResponse UContentEncAesSettings UContentEncoding UContentEncodings @@ -26443,6 +26546,7 @@ UITransformedLitVS UITransformedVS UIViewportFrameCollectFrames UIViewportFrameWorkspace +UJob_DEPRECATED ULayoutInlineHelper ULinkedScriptLoadData ULoadedImage @@ -26738,6 +26842,7 @@ UpperLimit UpperTorso UProbeState UProjection +UPromiseResult Uproxy_data UpSampleTentFS UPublishDiagnosticsNotification @@ -26752,7 +26857,6 @@ UReplicatorPeerInfo UResponseError UResultDetail URetryBehavior -URLConstructionCleanup UrlFormattingOption URLHasChineseHost UrlMkSetSessionOption @@ -26780,7 +26884,6 @@ UseAfterFree UseAntiAddictionService UseBandwidthManagerForClusterSend UseBandwidthManagerForDataSend2 -UseBandwidthManagerForPhysicsSend2 UseBandwidthManagerForTouchSend UseBaseUrlInPlugins UseBaseUrlNotHardcodedUrl @@ -26804,6 +26907,7 @@ UseEditorBackgroundInCommandLine UseHashLookupNotWeakPtr UseHomePageWithAvatarAndPanel UseHttpDefaultUrlSchema +UseHttpReportCallbacks UseJumpPower UseKeyframeMarkersForEvents2 UseLocalizationTable @@ -26812,10 +26916,10 @@ UseLockFreeVoronoiSimplexContainer UseMomentumThinning UseNativePathWaypoint UseNewAnimationRuntime -UseNewPropertiesWidget UseNewReportFuntion UseNewTelegrafMethod UseNewTelegrafPriorityTag +UseNewTexturePackGenerator UseNewVersionFormat UseNotificationsLocalization UseOptimizedGetPartsObscuringTarget @@ -26840,7 +26944,7 @@ UserAgreementsHandler UserAnimateScriptEmoteHook UserBreakpoint UseRbxSignalR2 -UserCameraInputRefactor2 +UserCameraInputRefactor3 UserCameraToggle UserCarCam UserCFrame @@ -26861,6 +26965,7 @@ UserDialog UserEmotesEnabled UserFixBubbleChatText UserFixChatWindowHoverOver +UserFixExternalJumpRequest UserFixGamepadCameraTracking UserFixMouseCapture UserFixZoomInZoomOutDiscrepancy @@ -26912,6 +27017,7 @@ UserPreventOldBubbleChatOverlap USERPROFILE UserRemoveTheCameraApi UserRoactBubbleChatBeta +UserRotatingDeathSounds UsersEndpointHundredthsPercentage UsersEndpointHundredthsPercentageV2 UserService @@ -26935,7 +27041,6 @@ UseSelectBeforeRecvFrom UseServerAndSessionIdInflux UseSessionDurationInflux UseSessionDurationInflux2 -UseSharedStringForScriptReplication4 UseSignalRCommonInUserNotificationClient UseSingleInputObjectForGamepadMouseMoves UseSortForClient @@ -27228,6 +27333,7 @@ VCmdFoldToggle VCmdGotoPosition VCmdIndentSelection VCmdInsertText +VCmdInvokeCompletions VCmdMoveLinesDown VCmdMoveLinesUp VCmdNewlineAbove @@ -27235,6 +27341,7 @@ VCmdNewlineBelow VCmdRangeFormatting VCmdRepeat VCmdSelect +VCmdSelectWord VCmdToggleComment VCmdUnfoldAll VCmdUnindentSelection @@ -27537,7 +27644,6 @@ VFileSyncService VFileSyncServiceManager VFileSyncStudioDependence VFileWatcherSingleton -VFindParameters VFlagStand VFlagStandService VFlangeSoundEffect @@ -27585,6 +27691,7 @@ VGlobalBasicSettings VGlyphRenderer VGoogleAnalyticsConfiguration VGroupService +VgSZRq7WQLTfJczDLrSXYsNzZFkfyVJb9mOKCQ7BUuvcpgcDRnCCnkTDPaeUwq4K VGuiBase2d VGuiBase3d VGuiButton @@ -27603,6 +27710,7 @@ VHapticService VHCReadOnlyDocument_ VHeartbeatTask VHeightfieldBuilder +VHeightmapImporter VHighlightFormats VHingeConstraint VHingeTool @@ -27614,6 +27722,7 @@ Vhttp_response Vhttp_status_error VHttpCacheAsyncWriter VHttpClientHandler +VHttpClientStatsReporter VHttpPoolImpl VHttpRbxApiJob VHttpRbxApiService @@ -27625,7 +27734,6 @@ VHttpRequestWithQtContext VHttpRequestWrapper VHttpResponse VHttpResponseImpl -VHttpServer VHttpService Vhub_connection_impl VHubConnection @@ -27754,6 +27862,7 @@ VirtualCursorEnabled VirtualFree VirtualInputManager VirtualInputMode +VirtualProtect VirtualSoundVolumeThresholdDenominator VirtualSoundVolumeThresholdNumerator VirtualThumbstick @@ -27777,7 +27886,6 @@ VisuallyMovingWakeOnAdd VisuallySleeping VisualStyle VisualTrussStyle -VJg9GeINPl6P5D8utw9Jd7yXbpmgvrIJVTu7gKjvbxM8cicE6a6T0 VJointInstance VJointsService VK_EXT_debug_report @@ -27830,6 +27938,7 @@ VLuaSettings VLuaSourceBuffer VLuaSourceContainer VLuauLanguageServerExt +VLuauScriptAnalyzer VLuaWebService VManualGlue VManualSurfaceJointInstance @@ -27924,6 +28033,8 @@ VPackageService VPacketJob VPacketReceiveJob VParabolaAdornment +VParallelSearcher +VParallelSearcherStudioDependence VPartAdornment VPartInstance VPartOperation @@ -28049,9 +28160,6 @@ VReplicatedFirst VReplicatedScriptService VReplicatedStorage VReplicator -VReplicatorCryptoContextOpenSSL -VReplicatorCryptoSystem -VReplicatorCryptoSystemOpenSSL VReportCallbackHolder VReporterRequest VRequestDataInQueue @@ -28093,7 +28201,6 @@ VScriptCommandHandler VScriptContentQuickOpenProvider VScriptContentQuickOpenProviderWorker VScriptContext -VScriptDataForFindReplace VScriptDebugger VScriptDocument VScriptEditor @@ -28110,6 +28217,7 @@ VSDLGameController VSearchContext VSearchContextHandler VSearchGroupHandle +VSearchResult VSecurePlayerGame Vselect_reactor VSelection @@ -28234,9 +28342,9 @@ VTextureD3D11 VTextureD3D9 VTextureGL VTextureId +VTexturePackJob VTextureProxy VTextureVulkan -VThemePropertyItem VThirdPartyUserService Vthread_resource_error VThreadPool @@ -28443,8 +28551,6 @@ WebParserInfluxWriteNanInfPerMyriad WebParserWriteNanInf WebPluginInstall WebServerUpdate -WebSocketHandleRecvError -WebSocketHandleUpgradeError WebSocketParallelLimit WebSocketQuickUpgrade WebSocketServerUrl @@ -28734,7 +28840,6 @@ XAEAVGraph XAEAVHttpClient XAEAVHttpIncomingMessage XAEAVInvocation -XAEAVNetworkStream XAEAW4AssetType XAEBUHttpResponseProxy XAEBUPlaceLauncherRequestInfo @@ -28755,7 +28860,6 @@ XAEBVQString XAEBVvalue XAEBVwebsocket_incoming_message XAlignment -XanizKw4dVb9Pkk Xbad_alloc Xbad_function_call XbbXXbbXGSSGGSS @@ -28805,6 +28909,7 @@ XP6AXW4HttpRequestResult XP6AXXZVlist0 XPEAUBulkAudioLoader XPEAUChunkClumpCollectionPair +XPEAVDataModel XPEAVFileSyncItem XPEAVICHull XPEAVILanguageClient @@ -28817,6 +28922,7 @@ XQColorDialog Xregex_error XResolution Xtime_get_ticks +XUCompletionList XUnegotiation_response XUNetworkResult XUTextPosition @@ -28951,14 +29057,12 @@ YAXVexception_ptr YAXW4error_type Ycircumflex Ydieresissmall -YdUsQ1cIicgNH9ZhO YDYHYQYTYbYsY YffYZefYDNNDCOO YieldEvent YieldFuncDesc YieldFunction YQByteArray -YQm0p5vaaVNGhfwZksB2 YResolution YwBBvY55YvBBwY5 YYYYYYYYYYYYYYYYYYYYYYYYY @@ -28969,6 +29073,7 @@ Zdotaccent ZgnhKhWhci ZhniZzzzZbarAnmrAgneBlryCaveDroeGkerGrjuGuruGgnaHinaHrbeHariHadnKanaKooaLntaLmylMayrOlmaTuleTiahTtbiTopoBiarBsnaCrehCihtErmhKgnoMrmyMmagOrnuRhniScrySaahTiiiYtrsDhtoGlatIdhuBonaHglgTbgaTtrpCbmiLbniLamsOwahSelaTragUiguBtpoCgalGrahKulaToepXolySgnfTilaBxusXookNga ZIndexBehavior +ZknVzN51kfJ31P8UIcnxpjf54OEgG2WG7xTDUxQURdk1ESmnecM1Facl ZLcJhLcGhM ZNjlXiODrHUcaGRYt ZntaLkerGlryCnmrArbeHbarAcrySaahTaveDgneBuruGrjuGayrOlmaTuleTadnKmylMhniSiahTooaLtbiTrmyMroeGgnaHihtErehCsnaCmagOrnuRrmhKgnoMariHanaKopoBinaHiiiYlatIhtoGtrsDhniZglgTonaHdhuBbgaTbmiLelaTbniLragUwahSamsOtrpCiarBiguBtpoCulaTgalGgnfTolySoepXrahKilaBxusXxnhPgahPoo @@ -28979,7 +29084,6 @@ ZoomToHighlight ZP6APEAX1PEBX ZP6AX1PEAX ZPEAVRBXMessageBox -ZQUOKo2qs9EEi5DYoCsGDkLrUlFe5gce ZRZZZbZt[.[ ZVLocalTouchedSignal ZVspecial_equipped_signal diff --git a/FVariables.txt b/FVariables.txt index 2f22cf8d95..ccd20c6006 100644 --- a/FVariables.txt +++ b/FVariables.txt @@ -1,3 +1,4 @@ +DFFlagAbuseReportScreenshot DFFlagAccoutrementWeldingFilteringEnabled DFFlagAddAssetCopyrightLog DFFlagAdditionalAvatarLoadTimeMetrics2 @@ -92,6 +93,7 @@ DFFlagDataModelFasterTaskProcessing DFFlagDataSenderAccountEntireStreamUsedBudget DFFlagDataSenderByteBudget DFFlagDataStoreAutoHttpRetry +DFFlagDataStoreEnableKeyLogging DFFlagDataStoreInitialThrottlingBudgetFix DFFlagDataStoreLargeValueError DFFlagDataStoreLostDataFixEnable @@ -147,8 +149,6 @@ DFFlagDebugPauseVoxelizer DFFlagDebugPhysicsSenderDoesNotShrinkSimRadius DFFlagDebugPrintLagServer DFFlagDebugPrintMidPhaseStats -DFFlagDebugRakNetNoTimestampInUdt -DFFlagDebugRakNetUseUdt DFFlagDebugRakPeerReceive DFFlagDebugRakPeerReceiveCountDistributedPackets DFFlagDebugRCCPackage @@ -184,6 +184,7 @@ DFFlagDebugVideoStreamDisableVideo DFFlagDebugVisualizationImprovements DFFlagDebugVisualizerTrackRotationPredictions DFFlagDebugVoxelizerDisableSIMD +DFFlagDeferDangerousDeletion DFFlagDelistPpr2 DFFlagDeprecatableBroadcasts DFFlagDeprecateLocalPlayerCreatedSignal @@ -226,6 +227,7 @@ DFFlagDynamicReloaderDoWork DFFlagEarlyOutOnHttpRequestSendDuringShutdown DFFlagEconomyCreatorStatsApiWhitelist DFFlagEnable17sNotifications +DFFlagEnableAnalyticsServiceNewStandardEventsAPIs DFFlagEnableAssetFailedEvent DFFlagEnableBetterStringEscaping DFFlagEnableDateTimeInReplicator @@ -304,9 +306,10 @@ DFFlagFixR6AppearanceLoadTracking2 DFFlagFixRegionToExtents DFFlagFixRootPartCollisionForR6 DFFlagFixSoundPropertySignaling +DFFlagFixStandardCursorPagesUnexpectedDataType DFFlagFixUsingGameIdInsteadOfJobId DFFlagFixWeldConstraintTeamCreateReplication -DFFlagForceScActive +DFFlagFixWorldModelHumanoidScalingInBuildRig DFFlagFreeFmodGroupIfUnusable DFFlagFriendsV2BadAccessFix DFFlagFRMAdjustVoxelizerBudgetWhileLoading @@ -316,7 +319,6 @@ DFFlagGameLoadDataStatistics DFFlagGCNotAlwaysMemory DFFlagGenerateMeshLOD_Fix1 DFFlagGetFriendsOnlineCachingEnabled -DFFlagGetRobloxSecurityCookieFix DFFlagGetTeamLazyEvaluation DFFlagGlobalToggle17sApis DFFlagGoodbyeChoiceActiveProperty @@ -335,10 +337,10 @@ DFFlagHttpCacheAsync DFFlagHttpCacheAsyncWriterOne DFFlagHttpCacheCleanBasedOnMemory DFFlagHttpCacheMissingRedirects +DFFlagHttpClientFixReqUrlRaceInLog DFFlagHttpDynamicSuccessStatusCode DFFlagHttpLogRedirects DFFlagHttpMarkExternalRequests -DFFlagHttpMoveCacheStatistics DFFlagHttpNetworkType DFFlagHttpRbxApiEnable17sApis DFFlagHttpRbxApiServiceDontRetryOn429 @@ -365,7 +367,6 @@ DFFlagInfluxBlankFieldFix DFFlagInfluxEnabled DFFlagInfluxEnableTypeEventTag DFFlagInfluxReportLastVisitedUrl -DFFlagInfluxTagRefactor DFFlagInitiateMultipleParallelConnection DFFlagInWithTheNew DFFlagIPV6RobloxStudioCleanUp1 @@ -388,7 +389,6 @@ DFFlagMapLocalhostTo127Address DFFlagMarginallyFasterVisuallyMovingCounters DFFlagMegaChildRemovedNewParentCompletionCountFix DFFlagMegaReplicatorUseMarkDeadHelper -DFFlagMegaRepOnlyClearWhenNewlyAlive DFFlagMeshLoDV22 DFFlagMeshLODZoom DFFlagMessagingServiceFixErrorMessage @@ -420,7 +420,6 @@ DFFlagParameterizeHandlerNamedParameterEnabled DFFlagParseNewVersionFormat DFFlagPerformAssetDecryptionOnAnAsyncTask DFFlagPhysicsPacketCountUnderLimit -DFFlagPhysicsSenderBytesScalesWithFrameTime DFFlagPhysicsSendFeedbackForMoreBandwidth2 DFFlagPlayerConfigurerDoCDNProbe2 DFFlagPlayerConfigurerRunLMSTest @@ -443,6 +442,7 @@ DFFlagRakNetDetectNetUnreachable DFFlagRakNetFixBwCollapse DFFlagRakNetNoPopInaccurate DFFlagRakNetOnAckCheckForSendOnly +DFFlagRakNetReportAvailableForNewTransmission DFFlagRakNetUseSlidingWindow4 DFFlagRbxFormatMultiByteSizeFix DFFlagRCC28699p2 @@ -458,12 +458,11 @@ DFFlagReflectionLoggingEnabledGlobal DFFlagReflectionLoggingEnabledRCC DFFlagReflectionLoggingpPlacelauncherInitialization DFFlagReleaseOriginalSizeOnAccessoryRemoved +DFFlagRemoveBytecodeMac DFFlagRemoveCalculateNextSpawnLocation DFFlagRemoveFlakyTelegrafAssert DFFlagRemoveFMODProfilingOption DFFlagRemoveOldLuaKey -DFFlagRemoveReplicatorRedundancy2 -DFFlagRemoveSharedStringMD5 DFFlagReplicatorJDIv2NoOrderInfoCloudEdit DFFlagReplicatorJDIv2NoOrderInfoNonCloudEdit DFFlagReplicatorKickReadEventStringDataAndVariantLimit @@ -503,11 +502,8 @@ DFFlagReportTriangleMeshPartMigrationData DFFlagRomarkAdjustCharacterReportThrottle DFFlagRoundToScreenScaleUseFloor DFFlagSandboxUser -DFFlagScActive DFFlagScaleMaxAudibleSoundChannelsWithCpuUsage DFFlagScaleStarterCharacter -DFFlagScAnalytics -DFFlagScFail DFFlagScNoAes DFFlagSendAllPhysicsPackets DFFlagServerConfigurerDoCDNProbe @@ -527,7 +523,7 @@ DFFlagSimEnableInterpolationThrottling DFFlagSimEnableInterpolationThrottling2 DFFlagSimFixConstraintSelectionBoxCrash DFFlagSimFixWeldConstraintBlockEnable -DFFlagSimFixWeldConstraintEnable +DFFlagSimFixWeldConstraintEnable1 DFFlagSimFixWeldConstraintPartScripting DFFlagSIMForceCSGv2Once DFFlagSimInterpolationThrottllingDefaultIsEnabled @@ -536,6 +532,7 @@ DFFlagSimMultifrequencySolverEnabled DFFlagSimOptimizeInterpolationReturnPreviousIfSmallMovement DFFlagSimOptimizeParallelInterpolationPost DFFlagSimSolverBufferPurgeEnabled +DFFlagSimSolverConstraintServoMotorLimitFix DFFlagSimSolverLargeWorkloadReporting DFFlagSimSolverOptimizedIslandizerIKBugFix DFFlagSIMTrackCSGSettingChange @@ -613,6 +610,7 @@ DFFlagThumbnailSupportFocusOnPart DFFlagTopGamesPhysicsReportingEnabled2 DFFlagTrackAudioDriverUpdatesPerFmodSystem DFFlagTrackRemoteBackpackAccesses +DFFlagTrackRemoteBackpackAccessesNoThrottling DFFlagTrackRespectFilteringEnabledAndPlayOnRemoveUsage DFFlagTrackRunUpdateCycleTime DFFlagTrackStencilBufferSupport @@ -625,7 +623,6 @@ DFFlagUpdateListenerSidechainsOnSignalFlowUpdated DFFlagUseAESEncryption DFFlagUseBandwidthManagerForClusterSend DFFlagUseBandwidthManagerForDataSend2 -DFFlagUseBandwidthManagerForPhysicsSend2 DFFlagUseBandwidthManagerForTouchSend DFFlagUseBaseUrlNotHardcodedUrl DFFlagUseChaCha20Encryption @@ -635,6 +632,7 @@ DFFlagUseCommonQueueForInstanceUpdates DFFlagUseDeltaForFBAdorn DFFlagUseDistanceThinning DFFlagUseHttpDefaultUrlSchema +DFFlagUseHttpReportCallbacks DFFlagUseLockFreeVoronoiSimplexContainer DFFlagUseMomentumThinning DFFlagUseNewReportFuntion @@ -651,7 +649,6 @@ DFFlagUseSelectBeforeRecvFrom DFFlagUseServerAndSessionIdInflux DFFlagUseSessionDurationInflux DFFlagUseSessionDurationInflux2 -DFFlagUseSharedStringForScriptReplication4 DFFlagUseSort DFFlagUseStarterHumanoidRigType DFFlagUseTaskSchedulerThreadLimit @@ -676,8 +673,6 @@ DFFlagVisualEngineTrackHeadless DFFlagVisuallyMovingSleepOnRemove DFFlagVisuallyMovingWakeOnAdd DFFlagWebSocket -DFFlagWebSocketHandleRecvError -DFFlagWebSocketHandleUpgradeError DFFlagWebSocketQuickUpgrade DFFlagWebSocketSetCookie DFFlagWeldConstraintRelativeCFrame3 @@ -685,6 +680,7 @@ DFFlagWhitelistUserInputEvents DFFlagWorldModelCrashFaster DFFlagWorldModelCrashOutsideOfDataModel DFFlagXboxDisableTextChat +DFIntAbuseReportScreenshotPercentage DFIntAccErrorDrainedThousandth DFIntActionStationDebounceTime DFIntAddUniverseIdToFilterHeadersRollout @@ -703,10 +699,19 @@ DFIntAnalyticsNS1CDNProbeChancePercent DFIntAnalyticsNS1CDNProbeTimeoutMs DFIntAnalyticsServiceCustomDataBudgetKBPerSecond DFIntAnalyticsServiceCustomDataBudgetRefreshSeconds -DFIntAnalyticsServiceDeveloperPrameterNameMaxSize +DFIntAnalyticsServiceDeveloperParameterNameSizeMax +DFIntAnalyticsServiceDeveloperStringPrameterSizeMax +DFIntAnalyticsServiceEventLocationSizeMax DFIntAnalyticsServiceEventNameMaxSize +DFIntAnalyticsServiceEventStatisticsSizeMax DFIntAnalyticsServiceEventValueMaxSize +DFIntAnalyticsServiceFiredEventsBudgetBasePerMinute +DFIntAnalyticsServiceFiredEventsBudgetPerPlayerPerMinute +DFIntAnalyticsServiceFiredEventsBudgetRefreshInSeconds +DFIntAnalyticsServiceFiredEventsCustomDataSizeMax DFIntAnalyticsServiceJobFrequency +DFIntAnalyticsServiceLogMessageSizeMax +DFIntAnalyticsServiceLogStackTraceSizeMax DFIntAnalyticsServiceMonitoringPeriod DFIntAngularVelociryLimit DFIntAnimationScaleDampeningPercent @@ -826,6 +831,7 @@ DFIntDataStoreCacheLimit DFIntDataStoreFetchFrequenceInSeconds DFIntDataStoreFixedRequestLimit DFIntDataStoreInfluxReportNonParsableDataPerMyriad +DFIntDataStoreInfluxReportNonParsableDataPerMyriadWithKey DFIntDataStoreInfluxValueSubstringSize DFIntDataStoreInitialBudget DFIntDataStoreJobFrequencyInSeconds @@ -988,7 +994,6 @@ DFIntHttpCacheCleanMaxFilesToKeep DFIntHttpCacheCleanMinFilesRequired DFIntHttpCacheRefreshHundredthsPercent DFIntHttpCacheRetryCount -DFIntHttpCacheStatsReportingIntervalSeconds DFIntHttpClientExternalTlsPeerVerificationFailHundrethsPercentage DFIntHttpConnectDefaultTimeoutMillis DFIntHttpConnectExtendedTimeoutMillis @@ -1367,11 +1372,9 @@ DFIntRunningBaseMaxAcceleration DFIntRunningBaseOrientationP DFIntRxRlEn2 DFIntRxRlReport -DFIntS2NumPhysicsPacketsPerStep DFIntS2PhysicsSenderRate DFIntSavePlacePerMinute DFIntScriptContextShutdownTimeoutSeconds -DFIntScStatsPermyriad DFIntSecondsBetweenDynamicVariableReloading DFIntSecondsPerBatchAwardPointsCall DFIntSendAvatarLoadTimeStats_HundredthsPercentage @@ -1624,14 +1627,12 @@ DFStringTelegrafAddress DFStringTelegrafHTTPTransportUrl DFStringWorkspaceMessageLink DFStringWorkspaceMessageText -FFlagABTestFirstInstall FFlagABTestLogInitResultWithSession2 FFlagABTestReportLuaAccessToUndefinedTest FFlagABTestServiceSkipRedundantInit FFlagABTestsUnifyStudio FFlagABTestSystemShutoff FFlagABTestVariationAnyInt -FFlagAcceleratedCollisionPipeline FFlagAccessibilityChatWidgetRework FFlagAccountReplicatorQueueItemTypes FFlagAddOutOfRangeAssemblyPhase @@ -1680,6 +1681,7 @@ FFlagAvoidCrashOnThreadResourceError FFlagBackendProcessingUsesLaunchIntent FFlagBatchAssetApi FFlagBatchThumbnailAddNewThumbnailTypes +FFlagBetaFeatureImpressionAnalytics FFlagBetaFeatureOptOut FFlagBillboardGuiDistanceStepping2 FFlagBindToAllInterfaces @@ -1695,7 +1697,6 @@ FFlagCFrameLookAt FFlagCFrameOrthonormalize FFlagChangeHistoryIgnoreArchivable FFlagChangesToFileMenu -FFlagCheckBeforeCreate FFlagChinaLicensingApp FFlagClarifiedDraggerBehaviorReleaseCallout FFlagCleanupFetchLocaleAssetFallback @@ -1720,7 +1721,6 @@ FFlagComputeChildOrderForNonReplicatableServices FFlagConfigurablePlaceLauncherTimeout FFlagConnectionScriptEnabled FFlagConsistentCofmForAnimatedAssemblies -FFlagConstraintWidgetRenderOutsideOfStudio FFlagContentProviderReportBlockedRequests FFlagContentProviderTempDirWithPid2 FFlagConvertSoundPlaybackChannelToValueType @@ -1765,14 +1765,12 @@ FFlagDebugDisplayFPS FFlagDebugDoNotLoadHumanoidSounds FFlagDebugDontForceCollisionsOnHumanoidParts FFlagDebugDontLoadServerCoreScriptsForLuaAppInAPS -FFlagDebugDynamicDescriptorsEnabled FFlagDebugEnableRenderCSGTriangles FFlagDebugFailAllPluginInstallationAttempts FFlagDebugForceChatDisabled FFlagDebugForceEnableVersionHistory FFlagDebugForceModelMeshRendering FFlagDebugForceRegenerateSchemaBitStream -FFlagDebuggerColorConfiguration FFlagDebugGraphics FFlagDebugGraphicsCrashOnLeaks FFlagDebugGraphicsD3D11DisableDriverThreading @@ -1797,6 +1795,7 @@ FFlagDebugLoadRenderDoc FFlagDebugLocalRccServerConnection FFlagDebugLocalRccTicketTesting FFlagDebugLuaHeapDump +FFlagDebugLuauFreezeArena FFlagDebugLuauMagicTypes FFlagDebugMassPackageUpdaterSimulateSlowOperations FFlagDebugNavigationDrawCompactHeightfield @@ -1811,6 +1810,7 @@ FFlagDebugNavigationDrawPolyMesh FFlagDebugNavigationDrawQuery FFlagDebugNavigationDrawTileBounds FFlagDebugOccupancy +FFlagDebugOutputAbuseReportScreenshot FFlagDebugPlayerDisplayNameMock FFlagDebugPrintGuiStateTransitions FFlagDebugRenderDisableWangMobile @@ -1858,7 +1858,6 @@ FFlagDebugVersionHistoryDialogLocalTestMode FFlagDebugVersionHistoryHttpCompressData FFlagDebugVideoStreamFixedSizeImage FFlagDebugWatchShowFullError -FFlagDecoupleUserInputServiceFromPlugins FFlagDefaultScreenOrientationToPhoneSensor FFlagDeferLSPServerInitialization FFlagDelayPurchasePromptActivation @@ -1873,6 +1872,11 @@ FFlagDevConsoleIsVeryStickyWhyWillItNotLetGo FFlagDevConsoleLogNewLineFix FFlagDeveloperEventIngestVerifyFeature FFlagDevFrameworkLocalizationLibraries +FFlagDisableAbuseReportScreenshotD3D +FFlagDisableAbuseReportScreenshotGL +FFlagDisableAbuseReportScreenshotGL2 +FFlagDisableAbuseReportScreenshotMetal +FFlagDisableAbuseReportScreenshotVulkan FFlagDisableCorescriptLoadstring FFlagDisabledLayerCollectorsShouldNotSinkInput FFlagDisablePhysicalModeWhenSimulating @@ -1882,7 +1886,6 @@ FFlagDistanceThinningForClient FFlagDOFLoadStoreFix FFlagDoNotLoadUnverifiedBuiltInPlugins FFlagDoNotOpenClonedOriginalInEditMode -FFlagDontActivateIfNoDocsOpen FFlagDontDisconnectJointUpdateUnlessNecessary FFlagDontLoadCloudLocalizationSettingsOnCloudEditMode FFlagDontRepeatMyself @@ -1896,7 +1899,9 @@ FFlagEnableAdditionalAssetFormatFunctions FFlagEnableAddUniverseIdToFilterHeaders FFlagEnableAppPolicyDefaultsFile FFlagEnableAppTracing +FFlagEnableAsyncHttpResponseOnFailure FFlagEnableAudioPreviewWhiteList +FFlagEnableAudioResources FFlagEnableAuthV2Login FFlagEnableAutomaticSizeBetaFeature FFlagEnableBackgroundModeWhenInactive @@ -1911,6 +1916,7 @@ FFlagEnableClarifiedIKDraggersBeta FFlagEnableClientDeepLink FFlagEnableCoarseShading FFlagEnableContactsApiServiceV2 +FFlagEnableContentProviderCheckModerationFailure FFlagEnableConvertToTerrainBeta FFlagEnableDateTimeInNetworkValueFormat FFlagEnableDiscussionsApiService @@ -1928,6 +1934,7 @@ FFlagEnableHumanoidBillboardRenderSwitch FFlagEnableInternalGuiInstrumentation FFlagEnableIsPremiumSettings FFlagEnableJavascriptHybrid2 +FFlagEnableLineEditingForEnumSelection FFlagEnableLoadingScreenPlaceIconTween FFlagEnableLoadModule FFlagEnableLuaAppLoginPageForUniversalAppDev @@ -1935,32 +1942,25 @@ FFlagEnableLuaChatDiscussions FFlagEnableLuaDraggers FFlagEnableLuaDraggersBetaFeature FFlagEnableLuaEventStreamRelease -FFlagEnableMarketplaceFavorite FFlagEnableMeshPartJointOffset FFlagEnableMouseUpEventFireForCurrentDragGuiObj FFlagEnableNewChatApi FFlagEnablePhysicalFreeFormDragger FFlagEnablePluginPermissionsPage2 -FFlagEnablePreviewTabSelection FFlagEnableProximityPromptBetaFeature FFlagEnableQuickGameLaunch FFlagEnableReplicatedScriptService FFlagEnableResetPlaceFilters FFlagEnableReturnKeyPressedEvent FFlagEnableRichTextBetaFeature -FFlagEnableRobuxHexIcon -FFlagEnableRobuxHexIconV2 FFlagEnableSmallCapsSupport FFlagEnableStudioProfiler FFlagEnableStudioServiceOpenBrowser FFlagEnableTextBoxPasswordDev FFlagEnableTextFieldContentType FFlagEnableTexturePacksBetaFeature -FFlagEnableToolboxGetAssetsFailedCaseFix -FFlagEnableToolboxInsertWithJoin2 FFlagEnableToolboxPluginInsertion FFlagEnableToolboxVideos -FFlagEnableToolboxVoteFix FFlagEnableUniversalAppUserAgentOnMacAndWin32 FFlagEnableVersionHistoryForLockedScripts FFlagExecuteInNewThread2 @@ -1998,12 +1998,10 @@ FFlagFixLoadingServerScript FFlagFixLoadTimeReporting FFlagFixLocalShutdownRequest FFlagFixLODDataSerialization -FFlagFixLSPEncodingMismatch FFlagFixLuaAppAvatarDraggable FFlagFixLuaAppBreakpoints FFlagFixMeshExtraAllocation FFlagFixMissingTangents -FFlagFixModelPreviewSelection FFlagFixNoTimeHudOnTeleport FFlagFixOutBoundAccessInBoxMappedMesh FFlagFixOutOfBoundsMouseLocation @@ -2081,6 +2079,7 @@ FFlagHttpRetryOn564 FFlagHttpRetryOnTimeout FFlagHttpServiceLogPluginDomains FFlagHttpServiceNeverCache +FFlagHttpStoreBwStats FFlagHttpUseMinGzip FFlagHumanoidNameplateRespectsLocale FFlagHumanoidPreventDuplicateAnimatorChildren @@ -2119,7 +2118,6 @@ FFlagJoinTime_PassTexturePriority FFlagJoinTimeCounters FFlagJointInstanceReusesWeld FFlagJumpScares -FFlagLayerCollectorLocale FFlagLeaveStartingCoreScriptsToPlaceLauncher FFlagLegacyHttpRespectResponseTimeout FFlagLegacyStudioBridge2 @@ -2135,6 +2133,7 @@ FFlagLocServiceSeparateTextScraperStartPath FFlagLogBadConstructorArguments FFlagLogClientLoadToAvatarLoad FFlagLogJoinTime +FFlagLSPAutocomplete_preAlpha FFlagLSPSyntaxHighlightingClientRefactoring FFlagLuaAppABTestGameDetailsPeekView FFlagLuaAppAEUseAppPolicyForShowingBuyRobuxOnTopBar @@ -2184,43 +2183,51 @@ FFlagLuauAllowGlobalAssignEverywhere FFlagLuauBetterBinaryOpInference FFlagLuauBetterErrorMessages FFlagLuauBetterFunctionCallChecking3 +FFlagLuauBetterLoopChecking FFlagLuauBetterMismatchedReturnCountMessages FFlagLuauBetterOverloadReporting FFlagLuauBetterScopingRule FFlagLuauBetterUnionComparisons FFlagLuauCheckForCyclicDependencies +FFlagLuauCopyRequiredTypeSurfaces2 FFlagLuauDenyBinaryOperatorsOnUnknownTypes +FFlagLuauDisableUnknownGlobalLintWhenTypeChecking FFlagLuauEnableAsKeyword FFlagLuauErrorIfNoReturnInFunctionBody FFlagLuauErrorMissingOrMistypedField FFlagLuauFixArgCheckFreeTypeLeak +FFlagLuauFixCyclicPacks +FFlagLuauFixCyclicQuantification FFlagLuauFixHeapUAF1 FFlagLuauFixMissingGapsInUnions FFlagLuauFixReturnContextWhenCheckingArgTypes -FFlagLuauForbidRequiringNonModuleScripts FFlagLuauIgnoreStateInArrayStringification FFlagLuauImportsUsedIfInTypeAnnotation FFlagLuauImproveClassAndTableUnificationError +FFlagLuauInstantiateFuncTypesWhenNeeded FFlagLuauLinearFlattenIntersection -FFlagLuauLocalPlayerIsPlayer FFlagLuauNoCopyLexer -FFlagLuauNonstrictArgumentCounts2 FFlagLuauNoThrowLexer FFlagLuauOccursCheckVisitsUnion +FFlagLuauOnlyAscribeSyntheticNameAtModuleScope FFlagLuauOnlyAssignIndexerOnUnsealed FFlagLuauOnlyGuardIfGlobalType FFlagLuauRefactorTableInference +FFlagLuauReportOnMismatchFunctionTypes FFlagLuauReportPreviousLocationOfDefinition -FFlagLuauReworkDotVsColonWarnings +FFlagLuauSanitizeFreesInPublicExports FFlagLuauScriptFoldRefine FFlagLuauShorterArrayTypes FFlagLuauSignalWaitReturnTypes FFlagLuauSortModuleErrorsBeforeReverseSorting -FFlagLuauStricterOperators -FFlagLuauTieTablesTogether +FFlagLuauStricterOperators2 +FFlagLuauStringifyGenericTypenamesAndTypeParams +FFlagLuauTableUnificationImprovement +FFlagLuauTieTablesTogether2 +FFlagLuauTraceRequiresThroughStringIndex FFlagLuauTraceTypesInNonstrictMode +FFlagLuauTrimFreeTails FFlagLuauUseArraySyntaxInStringification -FFlagLuauUseInstanceGuids FFlagLuauWalksCallbackDescriptors FFlagLuauWarnOnLowercaseParent FFlagLuobuModerationStatusAvailable @@ -2229,11 +2236,11 @@ FFlagMainBufferGuiLayoutTextAt1x2 FFlagMakeMutedSoundChannelsVirtual FFlagMakeStructMemberSoundServiceObserversWeak FFlagMarketplaceAssetCounterFixSoloUserId -FFlagMarketplaceSourceAssetIds FFlagMaterialLoadOneVariant FFlagMeasureJoinToOutsidersUse FFlagMeasureRigidJointsNotInWorld FFlagMeasureSleepAssemblies2 +FFlagMegaReplicatorDisableServerCompleteness FFlagMegaReplicatorNOUSignals FFlagMegaReplicatorSetIsAliveForAllReplicators3 FFlagMemoryFromAppShellReporterAndroid @@ -2258,6 +2265,7 @@ FFlagNavigationDebugDrawIterateSpiral FFlagNavigationInferTileExtents FFlagNavigationRemoveVertexCheckBounds FFlagNavigationUseContactManagerWorldBounds +FFlagNetworkClientSideCompleteness FFlagNetworkDeserializePacketsInAJob FFlagNetworkOwnershipUnitWorldSignals FFlagNeverUseJoinBlobRobloxLocaleEvenAsDefault @@ -2267,13 +2275,6 @@ FFlagNewFontsVisibleInStudio FFlagNewGeometryGeneratorImplementation FFlagNewRelayDefinition2 FFlagNewScriptPerfAnalytics -FFlagNoInsertDependencyInCloneTool -FFlagNoPluginInChangeHistory -FFlagNoPluginInUIGridLayout -FFlagNoPluginsInWindowId -FFlagNoProtectedStringCache -FFlagNoScriptCache -FFlagNoStudioInGuiCluster FFlagOnDemandFontLoading FFlagOneSocketServerForStudio FFlagOnlyRemoveSoundParseErrorsThatAreReported @@ -2300,7 +2301,7 @@ FFlagPhysicsServiceCorrectPlayerCountForTouch FFlagPlaceLauncherCollectOnMainThread FFlagPlayAudioVideoInPlugins FFlagPlayEmoteApiMetrics -FFlagPlayerEmulatorSerializeIntoDM +FFlagPlayerEmulatorSerializeIntoDM2 FFlagPlayerEmulatorServiceEnabled FFlagPluginIdentityFix FFlagPluginLoaderCheckModerationRequestCount @@ -2318,9 +2319,14 @@ FFlagPremiumPriceChangeEnabled FFlagPremiumPriceChangeRolloutFlag FFlagPrepareSoundFileCachingForAsyncTask FFlagPromptRobloxPurchaseEnabled +FFlagPromptsFixDestroyedEvents +FFlagPromptsOnlyInWorkspace FFlagPropertiesFilterUpdateFix +FFlagProximityPromptFixSpam +FFlagProximityPromptPauseMenuFix FFlagProximityPromptsAllowedInInsertMenu FFlagProximityPromptsEnabled +FFlagProximityPromptsFixPreferredParent FFlagQ220PermissionsSettings FFlagQQSupportBuildGenericApiUrl FFlagQtReadSystemProxy @@ -2345,15 +2351,16 @@ FFlagRefactoringAvatarEditorSetup FFlagRefactorPluginLoadingForDeadlock FFlagRefactorPolicyServiceStatReporting FFlagRejectBrowserTrackerId0 +FFlagReleaseNewPropertiesWidget FFlagRemoveLinkFromKinematicJoints2 FFlagRemovePSFlyweight FFlagRemoveToolTipsFromStatusBar FFlagRemoveUILitFS FFlagRemoveVehicleSeatCameraCFrameSet -FFlagRemoveZeroUserVIPId FFlagRenderAlphaToCoverage FFlagRenderBiasGlassTint FFlagRenderClampLightCount +FFlagRenderClouds FFlagRenderCreeper FFlagRenderDebugCheckThreading FFlagRenderDepthPrepass @@ -2364,6 +2371,7 @@ FFlagRenderFastTerrainLodUpdate2 FFlagRenderFIB3Grass FFlagRenderFixAtlasClearing FFlagRenderFixDofResolve +FFlagRenderFixIndoorSpecIBL FFlagRenderFixSpotThrottling FFlagRenderFixTerrainAtlas FFlagRenderGetLastLODErrorFix @@ -2374,6 +2382,7 @@ FFlagRenderLocalizedRichText FFlagRenderLodShadows FFlagRenderMarkDirtyOnlyRenderableChunks FFlagRenderMessagesAsGui +FFlagRenderMoveInstancedClusterUpdate6BBoxToPerform FFlagRenderMovePerformUpdateCF FFlagRenderNicerStitches FFlagRenderOpaqueWithAlpha @@ -2429,8 +2438,10 @@ FFlagScreenshotUseTaskScheduler2 FFlagScriptDebuggerEvaluateProtectedString FFlagScriptDebuggerFixRecursiveUpvalues FFlagScriptDebuggerSupportStopOnEntry +FFlagScriptEditorAddSelectWordAction FFlagScriptEditorEnableScrollPastLastLine FFlagScriptEditorFixCopyPasteSHEdgeCase +FFlagScriptEditorFixVisibleBlocksAssert FFlagScriptEditorHightlightWrappedLine FFlagScriptEditorV2 FFlagSelectionServiceAddRemove @@ -2451,6 +2462,7 @@ FFlagSHUseNewComputeLevel FFlagSHUseNewComputeLevelUsesOBB FFlagSignalRHubConnectionDoNotSetCookiesInHttp FFlagSignalStopForZeroWeight +FFlagSimAccCollisionPipelineEnabled FFlagSimAssembleInWorld FFlagSimDeprecateConstraintLegacyAngularVelocity FFlagSimExpandPartPhysicsApi @@ -2467,14 +2479,15 @@ FFlagStealLeastAudibleSoundChannelOnMaxSurpassed2 FFlagStopCheckingClusterAndWorkspaceInJDI2 FFlagStopCheckingFrontendProcessingInTextLayout FFlagStopRoundingGlyphRect -FFlagStopUsingStudioServiceHost FFlagStreamingClampRadiusConsistency FFlagStreamingGCChecksDescendants4 FFlagStreamJobTracksNOUAddRemoveMove +FFlagStudioAddAppTypeToCaptchaReq FFlagStudioAddingIconsToLocalAndServerScripts FFlagStudioAddInstanceDefaultEditor FFlagStudioAddLinkToOpenExternalLogin FFlagStudioAddMonetizationToGameSettings +FFlagStudioAddMorePackagePermissionAndContentProviderAnalytics FFlagStudioAddResetDefaultInstanceProperties FFlagStudioAddRobloxLoginOptionInLoginDialog FFlagStudioAddSetAsDefaultContextMenuOption @@ -2486,6 +2499,8 @@ FFlagStudioAlwaysSaveLocalPluginAsRbxm FFlagStudioAssetConfigurationPlugin FFlagStudioAssetManagerAddRecentlyImportedView FFlagStudioAssetManagerBetaFeature +FFlagStudioAssetManagerFixPackageBehavior +FFlagStudioAssetManagerUpdateGameName FFlagStudioAttributesUI FFlagStudioAttributesUIBetaFeature FFlagStudioAutocompleteBadIndexCrashFixEnabled @@ -2494,6 +2509,7 @@ FFlagStudioAutocompleteRefactorFilterServices FFlagStudioBaseUrlAnalytics FFlagStudioBetaFeaturesHideInfoButtonForMissingUrls FFlagStudioBlockAnalyticsBasedOnOS +FFlagStudioBlockLoginOnTOS FFlagStudioBreakOnInfiniteLoopsRunFixEnabled FFlagStudioBrowserSandboxing FFlagStudioCallBaseClassWhenFocusingOut @@ -2510,11 +2526,9 @@ FFlagStudioConsolidateExternalLoginBase FFlagStudioConsolidateFindScriptFunctions FFlagStudioCorrectDebugUserdataKeys FFlagStudioCorrectlyDeprecateProp_UITheme -FFlagStudioCorrectMergeDialogLineNumbers FFlagStudioCrashOnInvalidColor3Cast FFlagStudioDebuggerExtendedFunctionInfoPOC FFlagStudioDeprecateFetchUsernameAndId -FFlagStudioDeprecateQuickFindScriptTotally FFlagStudioDeprecateUIThemeProperty FFlagStudioDevFrameworkPackage FFlagStudioDisableAutoSaveToCloud @@ -2543,6 +2557,7 @@ FFlagStudioEnableUrlLinkForEmergencyMessage FFlagStudioEncodeEmergencyMessage FFlagStudioExplorerEraseAfterDeleteCrashFix FFlagStudioExplorerSuppressNewObjectMenu +FFlagStudioExplorerUpdateAssertFix FFlagStudioExternalDialogClosedShowRobloxLogin FFlagStudioExternalLoginDialogAddExpirationDate FFlagStudioFetchABTestForLuaApp @@ -2558,7 +2573,7 @@ FFlagStudioFixCookieRetrieval FFlagStudioFixGetClassIcon FFlagStudioFixHorizontalScrollingInSearch FFlagStudioFixImageUrlReverting -FFlagStudioFixingGroupFreezingPackages +FFlagStudioFixingGroupFreezingPackages2 FFlagStudioFixInsertObjectModalHiding FFlagStudioFixInternalSettings FFlagStudioFixMoreScriptDebuggerAssert @@ -2569,27 +2584,25 @@ FFlagStudioFixPackagePermissionCallbackForErrors FFlagStudioFixPluginLoadingWhileOpeningFromWebsite2 FFlagStudioFixPluginMenuMainThread FFlagStudioFixPluginWidgetEnabledSignal +FFlagStudioFixPrimaryPartSelectionOverOutputWindowDeselect FFlagStudioFixScriptAnalysisCopy FFlagStudioFixScriptDatamodelMismatch FFlagStudioFixShareIcon FFlagStudioFixShortcutFilter +FFlagStudioFixStepEndOfScript FFlagStudioFixTextBoxFocusAndToolTipCloseClashHang2 FFlagStudioFixTextureIconLoading FFlagStudioFixTreeViewForFlatList FFlagStudioFixTreeViewForSquish -FFlagStudioFixUILibDropdownStyle FFlagStudioFixUILibDropdownText FFlagStudioFixWidgetMinimumSize FFlagStudioFocusOnCommandBarAction FFlagStudioForceDraftsUsageOnRCCSetting -FFlagStudioFuncDeclParenIncludesAnotherBlock FFlagStudioGameManagementBetaFeature FFlagStudioGameSettingsDisablePlayabilityForDrafts FFlagStudioGDPRCompliance FFlagStudioGDPREncodeBase64 -FFlagStudioGetSharedPackagesInToolbox FFlagStudioHideSuccessDialogWhenFree -FFlagStudioHttpRequestAddSuccessRetry FFlagStudioHttpServicePluginSecurityForOtherEndpoints FFlagStudioHttpServiceUsePluginPermissions FFlagStudioHttpUpgradeToHttps @@ -2602,16 +2615,15 @@ FFlagStudioInstanceSelectorCleanupSideEffectsOnClose FFlagStudioInternalScriptVersionHistorySetting FFlagStudioInvalidateCacheOnAssetDelete FFlagStudioIOLSetWrappingInMainThread -FFlagStudioLanguageServerGetLatestLocalScript FFlagStudioLoadABTestsForUserId FFlagStudioLocalizeMeshImportErrors FFlagStudioLocalizePropertyItems FFlagStudioLocalizeUnauthorizedToConfigureGame FFlagStudioLocalizeUnexpectedFBXTypeError +FFlagStudioLogPlaceIdInfoEarly FFlagStudioLogPlaceIdOnPlaceOpen FFlagStudioLogSessionIdAndLastUpdateTime FFlagStudioLuaSettings -FFlagStudioLuauLintWithFrontend3 FFlagStudioLuauNonStrictByDefault FFlagStudioLuauWarningTelemetry2 FFlagStudioLuauWarningTelemetry3 @@ -2639,19 +2651,18 @@ FFlagStudioPlaceVersionHistoryMockData FFlagStudioPlaceVersionHistoryShowCorrectPlace FFlagStudioPlayerEmulatorPluginEnabled FFlagStudioPluginDebuggingIsVisible +FFlagStudioPreventOverwriteToTCPlaceWithActivePlayers FFlagStudioPropagateBreakpoints FFlagStudioPublishLuaWorkflow FFlagStudioQuickActionLookup FFlagStudioRemoveBadThrowFromInsertPackageFromToolbox FFlagStudioRemoveGetFindAllDialogHack -FFlagStudioRemoveIndentationFromEmptyLine FFlagStudioRemoveObjectBrowserUI -FFlagStudioRemoveToolboxScrollingFrameHack FFlagStudioReplaceAll FFlagStudioReplaceAllSquish FFlagStudioReplaceApplyEditWithCommit FFlagStudioReportElevatedCount -FFlagStudioReportHang +FFlagStudioReportHang2 FFlagStudioReportingSuccessToRCity FFlagStudioReportOpenPlaceTime FFlagStudioReportOSVersionDiag @@ -2667,6 +2678,7 @@ FFlagStudioSandboxDraftsHardeningFileSave FFlagStudioSandboxUtf8Fix FFlagStudioSandboxVerifyIntegrityOnInitialize FFlagStudioSaveInstanceDefaultOverrides +FFlagStudioSavePlaceAndUniverseIdOnSessionConfiguration FFlagStudioSavePlaceHandleUserCancel FFlagStudioSaveToCloudV2 FFlagStudioSaveToCloudV3 @@ -2684,15 +2696,17 @@ FFlagStudioServiceActiveInstanceHighlight FFlagStudioSetDefaultMonospaceOutputFont FFlagStudioSetInstanceDefaultsBetaFeature FFlagStudioSettingsDialogFixCategoryUpdates -FFlagStudioSettingsDialogNoInstances FFlagStudioShipCollaborativeEditingV0 FFlagStudioShortcutDuringGameDefaultFalse FFlagStudioShouldFocusInsertedAssets +FFlagStudioShowConfigErrorMessageOnFailure FFlagStudioShowDotsForScriptEditors FFlagStudioShowHideABTestV2 +FFlagStudioShowInExplorerAtBreakpoint FFlagStudioShowInExplorerChangeFocus FFlagStudioShowUpdatedAboutDialog FFlagStudioSkinnedMeshBeta +FFlagStudioSkipTeamTestConnectDialog FFlagStudioStartServerIfNotStartedWhenStartingClient FFlagStudioStartTimerOnMainThread FFlagStudioSunsetMac1010 @@ -2712,16 +2726,14 @@ FFlagStudioTemporaryScriptTabs FFlagStudioTestTeachingCallouts FFlagStudioThrottleCacheScriptIssueReporting FFlagStudioTimeStampFix -FFlagStudioToolboxEnablePlaceIDInAnalytics -FFlagStudioToolboxInsertAssetCategoryAnalytics FFlagStudioToolboxPluginPurchaseFlow FFlagStudioTrackSessionTimeForLastWeek FFlagStudioTrackVersionHistoryNonTC FFlagStudioTranslationLib -FFlagStudioUseAssetIdsForImagePicker +FFlagStudioUpdatePropertiesWidgetNameOnChange FFlagStudioUseAutocompleterCursorCallback FFlagStudioUseCJVAppName -FFlagStudioUseDevelopAPIForPackages +FFlagStudioUseHttpImageProvider FFlagStudioUseMapForVariantMessageContentsTable FFlagStudioUseNewPluginPermissionsBackendForHttpService FFlagStudioUseNewPluginPermissionsBackendForScriptInjection @@ -2729,6 +2741,7 @@ FFlagStudioUseNewQtNetworkWrapper FFlagStudioUseOldSignalRInUserNotificationClient FFlagStudioUseProdBaseUrlForStartPage FFlagStudioUseQtNetworkReplyForUserAgreements +FFlagStudioUseStringIncidentID FFlagStudioUseStudioAssert FFlagStudioUseStudioCookieJar FFlagStudioUseStudioHttpRequestInAPIUtilities @@ -2770,6 +2783,8 @@ FFlagTeleportOutOfRetryErrorCounter FFlagTeleportOutOfRetryEventLog FFlagTerrainChunkAnalyticsOnPublish FFlagTerrainImport2ChannelHeightmaps +FFlagTerrainImportNewYieldMethod +FFlagTerrainImportSupportDefaultMaterial FFlagTerrainImportSupportTempId FFlagTerrainInvertMaterialDetiling FFlagTerrainShaderRefactor2 @@ -2788,7 +2803,6 @@ FFlagTighterCylinderBoundingSpheres FFlagToolboxDisableForLuobu FFlagToolboxFixDecalInsert FFlagToolboxShowHideABTest -FFlagToolboxUseNewPluginEndpoint FFlagTouchEventSameSHCellBugFixEnabled FFlagTrackCurlTimeProfile FFlagTrackGraphicsFeatureLevelWithoutThrottling @@ -2812,7 +2826,6 @@ FFlagUpdateExtentsForManualStep FFlagUpdateMousePositionOnMouseButtonEvents2 FFlagUpdateScaleBeforeBuildRig FFlagUploadTexturePacks -FFlagURLConstructionCleanup FFlagUseAccuratePlaySoloForced FFlagUseAdvancedCharacterScales3 FFlagUseAntiAddictionService @@ -2824,14 +2837,14 @@ FFlagUseEditorBackgroundInCommandLine FFlagUseHashLookupNotWeakPtr FFlagUseKeyframeMarkersForEvents2 FFlagUseNewAnimationRuntime -FFlagUseNewPropertiesWidget +FFlagUseNewTexturePackGenerator FFlagUseNotificationsLocalization FFlagUseOptimizedGetPartsObscuringTarget FFlagUsePolicyServiceForCoreScripts2 FFlagUsePurchasePromptLocalization FFlagUserAnimateScriptEmoteHook FFlagUseRbxSignalR2 -FFlagUserCameraInputRefactor2 +FFlagUserCameraInputRefactor3 FFlagUserCameraToggle FFlagUserCarCam FFlagUserChatAddServerSideChecks @@ -2840,6 +2853,7 @@ FFlagUserChatHistorySinksInput FFlagUserChatValidateFirst FFlagUserFixBubbleChatText FFlagUserFixChatWindowHoverOver +FFlagUserFixExternalJumpRequest FFlagUserFixGamepadCameraTracking FFlagUserFixMouseCapture FFlagUserFixZoomInZoomOutDiscrepancy @@ -2852,6 +2866,7 @@ FFlagUserPoppercamLooseOpacityThreshold FFlagUserPreventOldBubbleChatOverlap FFlagUserRemoveTheCameraApi FFlagUserRoactBubbleChatBeta +FFlagUserRotatingDeathSounds FFlagUserShouldLocalizeGameChatBubble FFlagUserShouldLocalizeServerMessages FFlagUserShouldMuteUnfilteredMessage @@ -2894,6 +2909,7 @@ FFlagXboxPlayNextGame FFlagXboxUseCuratedGameSort2 FFlagXboxUseNewValidUsernameCheck2 FIntABTestRequestTimeoutMilliseconds +FIntAbuseReportScreenshotMaxSize FIntAdvancedRCCLoadFMODRetryCount FIntAnalyticalElasticSpringFrequencyTenths FIntAntiAddicationPollingIntervalSeconds @@ -3212,7 +3228,6 @@ FIntStudioCheckTeamServerExistsFrequency FIntStudioClientPresenceUpdateInterval FIntStudioConnectionIndicatorHearbeatTimeout FIntStudioConnectionIndicatorTimerMS -FIntStudioDeprecateQuickFindScriptStep FIntStudioDevForumUpdateCategoryId FIntStudioExportRetryRequestLimit FIntStudioFetchLatestVersionTimeIntervalMs @@ -3371,6 +3386,7 @@ FStringPerformanceSendMeasurementAPISubdomain FStringPlayNextGameTestName FStringProximityPromptBetaFeatureUrl FStringReconnectDisabledReason +FStringRENAME_ABTEST_AllUsers_Authentication_EmailUpsellAtLogout FStringRENAME_ABTEST_AllUsers_GameDetails_PlayWithFriends FStringRENAME_ABTEST_AllUsers_GameDetails_UseAbbreviatedDescription FStringRENAME_ABTEST_AllUsers_GameSearch_Autocomplete diff --git a/LuaPackages/rotriever.lock b/LuaPackages/rotriever.lock index b3e3733962..895835befa 100644 --- a/LuaPackages/rotriever.lock +++ b/LuaPackages/rotriever.lock @@ -36,7 +36,7 @@ dependencies = [ "Rodux roblox/rodux 1.0.0 url+https://github.com/roblox/rodux", "StringUtilities roblox/string-utilities 1.0.0 url+https://github.com/roblox/string-utilities", "TestEZ roblox/testez 0.4.0 url+https://github.com/roblox/testez", - "UIBlox UIBlox 7a55ceba git+https://github.com/roblox/uiblox#master", + "UIBlox UIBlox fe5c2b48 git+https://github.com/roblox/uiblox#master", "UrlBuilder roblox/url-builder 1.0.3 url+https://github.com/roblox/url-builder", "enumerate roblox/enumerate 1.0.0 url+https://github.com/roblox/enumerate", "t roblox/t 1.2.5 url+https://github.com/roblox/t", @@ -55,7 +55,7 @@ dependencies = [ "Roact roblox/roact 1.3.0 url+https://github.com/roblox/roact", "RoactRodux roblox/roact-rodux 0.2.2 url+https://github.com/roblox/roact-rodux", "Rodux roblox/rodux 1.0.0 url+https://github.com/roblox/rodux", - "UIBlox UIBlox 7a55ceba git+https://github.com/roblox/uiblox#master", + "UIBlox UIBlox fe5c2b48 git+https://github.com/roblox/uiblox#master", "t roblox/t 1.2.5 url+https://github.com/roblox/t", ] @@ -68,7 +68,7 @@ dependencies = [ "AssetCard roblox/asset-card 103b2a57 git+https://github.com/roblox/asset-card#v1.0.3", "InfiniteScroller roblox/infinite-scroller 0.7.1 url+https://github.com/roblox/infinite-scroller", "RoduxNetworking rodux-networking 8902a6aa git+https://github.com/roblox/rodux-networking#v1.0.2", - "UIBlox UIBlox 7a55ceba git+https://github.com/roblox/uiblox#master", + "UIBlox UIBlox fe5c2b48 git+https://github.com/roblox/uiblox#master", ] [[package]] @@ -104,7 +104,7 @@ dependencies = ["RoactFitComponents roblox/roact-fit-components 1.2.5 url+https: [[package]] name = "UIBlox" version = "0.1.1" -commit = "7a55cebaa430d21da7969a5288941789c3fc1db4" +commit = "fe5c2b48ecb28597484c185869acc82eef90c249" source = "git+https://github.com/roblox/uiblox#master" dependencies = [ "Cryo roblox/cryo 1.0.0 url+https://github.com/roblox/cryo", @@ -156,7 +156,7 @@ source = "git+https://github.com/roblox/asset-card#v1.0.3" dependencies = [ "Roact roblox/roact 1.3.0 url+https://github.com/roblox/roact", "Rodux roblox/rodux 1.0.0 url+https://github.com/roblox/rodux", - "UIBlox UIBlox 7a55ceba git+https://github.com/roblox/uiblox#master", + "UIBlox UIBlox fe5c2b48 git+https://github.com/roblox/uiblox#master", "t roblox/t 1.2.5 url+https://github.com/roblox/t", ] @@ -281,7 +281,7 @@ dependencies = [ "Roact roblox/roact 1.3.0 url+https://github.com/roblox/roact", "RoactRodux roblox/roact-rodux 0.2.2 url+https://github.com/roblox/roact-rodux", "Rodux roblox/rodux 1.0.0 url+https://github.com/roblox/rodux", - "UIBlox UIBlox 7a55ceba git+https://github.com/roblox/uiblox#master", + "UIBlox UIBlox fe5c2b48 git+https://github.com/roblox/uiblox#master", "t roblox/t 1.2.5 url+https://github.com/roblox/t", ] diff --git a/QtResources/16x16/images/Studio 2.0 icons/16x16/cog.png b/QtResources/16x16/images/Studio 2.0 icons/16x16/cog.png index 8ec7e2b6a5..4a0bd8d1d4 100644 Binary files a/QtResources/16x16/images/Studio 2.0 icons/16x16/cog.png and b/QtResources/16x16/images/Studio 2.0 icons/16x16/cog.png differ diff --git a/QtResources/Translation/ReflectionMetadataUntranslated.csv b/QtResources/Translation/ReflectionMetadataUntranslated.csv index 8aee02d143..070eb09324 100644 --- a/QtResources/Translation/ReflectionMetadataUntranslated.csv +++ b/QtResources/Translation/ReflectionMetadataUntranslated.csv @@ -137,6 +137,8 @@ Studio.ReflectionMetadata.ReflectionMetadata.ClickDetectorMaxActivationDistance, Studio.ReflectionMetadata.ReflectionMetadata.ClickDetectorMouseClick,,,Fired when a player clicks on the parent Part of ClickDetector. The argument provided is always of type Player.,Fired when a player clicks on the parent Part of ClickDetector. The argument provided is always of type Player. Studio.ReflectionMetadata.ReflectionMetadata.ClickDetectorMouseHoverEnter,,,Fired when a player's mouse enters on the parent Part of ClickDetector. The argument provided is always of type Player.,Fired when a player's mouse enters on the parent Part of ClickDetector. The argument provided is always of type Player. Studio.ReflectionMetadata.ReflectionMetadata.ClickDetectorMouseHoverLeave,,,Fired when a player's mouse leaves the parent Part of ClickDetector. The argument provided is always of type Player.,Fired when a player's mouse leaves the parent Part of ClickDetector. The argument provided is always of type Player. +Studio.ReflectionMetadata.ReflectionMetadata.CloudsCover,,,"A value that controls the cloud cover within the clouds volume, from 0 oktas to 8 oktas (full cloud cover).","A value that controls the cloud cover within the clouds volume, from 0 oktas to 8 oktas (full cloud cover)." +Studio.ReflectionMetadata.ReflectionMetadata.CloudsDensity,,,A value that controls the clouds particulates density. The proportion of airborne water vapour particles within a cubic stud at full cloud cover.,A value that controls the clouds particulates density. The proportion of airborne water vapour particles within a cubic stud at full cloud cover. Studio.ReflectionMetadata.ReflectionMetadata.CollectionService,,,A service which provides collections of instances based on tags assigned to them.,A service which provides collections of instances based on tags assigned to them. Studio.ReflectionMetadata.ReflectionMetadata.CollectionServiceAddTag,,,Adds a tag to an instance.,Adds a tag to an instance. Studio.ReflectionMetadata.ReflectionMetadata.CollectionServiceGetCollection,,,Deprecated. Use GetTagged instead.,Deprecated. Use GetTagged instead. diff --git a/QtResources/Translation/StudioStringsUntranslated.csv b/QtResources/Translation/StudioStringsUntranslated.csv index 0bc8e64972..39d1860522 100644 --- a/QtResources/Translation/StudioStringsUntranslated.csv +++ b/QtResources/Translation/StudioStringsUntranslated.csv @@ -651,6 +651,7 @@ Studio.App.IdeDoc.WouldYouLikeToSaveTheseChanges,Roblox IDE Doc,Would you like t Studio.App.IdeDoc.YouMustLogInToCreateMeshes,Roblox IDE Doc,You must log in to create meshes.,You must log in to create meshes. Studio.App.ImagePickerWidget.AddImageElps,,Add Image...,Add Image... Studio.App.ImageResourceController.ImagesReferencedByName,,"Images are referenced by name, so any references to this image will fail to load. Are you sure you want to remove it?","Images are referenced by name, so any references to this image will fail to load. Are you sure you want to remove it?" +Studio.App.ImportCostVerificationDialog.AudioUpload,,Audio Upload,Audio Upload Studio.App.ImportCostVerificationDialog.BalanceAfterImport,,Balance after import:,Balance after import: Studio.App.ImportCostVerificationDialog.CostVerificationDescription,,You will not be charged for imports that fail due to not meeting import requirements.,You will not be charged for imports that fail due to not meeting import requirements. Studio.App.ImportCostVerificationDialog.CostVerificationMainText1,,Would you like to import the selected files for %1 Robux?,Would you like to import the selected files for %1 Robux? @@ -658,6 +659,7 @@ Studio.App.ImportCostVerificationDialog.CostVerificationTitle,,File Import Cost, Studio.App.ImportCostVerificationDialog.CurrentBalance,,Your current balance:,Your current balance: Studio.App.ImportCostVerificationDialog.DetailsCostTitle,,Cost,Cost Studio.App.ImportCostVerificationDialog.DetailsNameTitle,,Name,Name +Studio.App.ImportCostVerificationDialog.LoadingFileData,,Loading file data...,Loading file data... Studio.App.ImportCostVerificationDialog.PurchaseRobux,,Purchase more Robux.,Purchase more Robux. Studio.App.ImportCostVerificationErrorDialog.EstimatedCostErrorDescription,,"Click ‘Show Details’ to view the files that could not be estimated and the import cost of files that were successfully estimated. Try importing a new selection, or resolve conflicts and reattempt.","Click ‘Show Details’ to view the files that could not be estimated and the import cost of files that were successfully estimated. Try importing a new selection, or resolve conflicts and reattempt." Studio.App.ImportCostVerificationErrorDialog.EstimatedCostErrorMainText,,Failed to estimate import cost of the selected files.,Failed to estimate import cost of the selected files. @@ -705,8 +707,13 @@ Studio.App.InsertServiceDialog.InsertService,,Insert Service,Insert Service Studio.App.InstanceSelectionEditor.ClearValue,,Clear Value,Clear Value Studio.App.InstanceSelectionEditor.SelectValue,,Select Value,Select Value Studio.App.LocalPlacePublishRequestMediator.ErrorWhileSaving1,,Error while publishing: %1,Error while publishing: %1 +Studio.App.LocalPlacePublishRequestMediator.FetchActivePlayersInTCFailureText2,Display text for error message,"Unable to check active Team Create Session for place '%1'. +Error Message: '%2'","Unable to check active Team Create Session for place '%1'. +Error Message: '%2'" +Studio.App.LocalPlacePublishRequestMediator.FetchActivePlayersInTCFailureTitle,Title of the pop up dialog,Overwrite Place,Overwrite Place Studio.App.LocalPlacePublishRequestMediator.PublishInProgress,,A Place Publish / Save is already in progress,A Place Publish / Save is already in progress Studio.App.LocalPlacePublishRequestMediator.Saving,,saving,saving +Studio.App.LocalPlacePublishRequestMediator.UnexpectedDataFormat,Display this message when fetched result has unexpected format,Unexpected data format.,Unexpected data format. Studio.App.LocalSaveHelper.DataModelError,,Failed to save the DataModel.,Failed to save the DataModel. Studio.App.LocalSaveHelper.FailedToLock1,,"Failed to obtain a file lock on '%1'. @@ -1008,7 +1015,7 @@ Studio.App.PackageUtilities.ModifiedPackagesInDMError,,Error: Cannot publish pla Studio.App.PackageUtilities.PendingPackagesInDMError,,Unable to publish this place as there may be modified packages. Please try again later.,Unable to publish this place as there may be modified packages. Please try again later. Studio.App.PackageUtilities.PermissionEdit,,Edit,Edit Studio.App.PackageUtilities.PermissionNoAccess,,No Access,No Access -Studio.App.PackageUtilities.PermissionOwn,,Own,Own +Studio.App.PackageUtilities.PermissionOwn,,Owner,Owner Studio.App.PackageUtilities.PermissionUseView,,Use & View,Use & View Studio.App.PackageUtilities.SelectInExplorer,Button text. The button allows user to select some packages in Explorer,Select in Explorer,Select in Explorer Studio.App.PackageUtilities.UndoChangesError1,,Package undo changes error: %1,Package undo changes error: %1 @@ -1018,13 +1025,19 @@ Studio.App.PackagesBlockingPublishDialog.CheckInProgress,,Modification check is Studio.App.PackagesBlockingPublishDialog.CreatorTypeGroup,"Used in a list of package owners. Packages can be owned by individual users or by groups, so this label is used to distinguish the names of groups from the names of users.",Group,Group Studio.App.PackagesBlockingPublishDialog.Header,Header of dialog window showing packages in a place that are preventing the user from publishing that place,Place could not be published.,Place could not be published. Studio.App.PackagesBlockingPublishDialog.InsufficientPermissions,,Insufficient permissions,Insufficient permissions +Studio.App.PackagesBlockingPublishDialog.MessageInsufficientPermissions,,Unable to publish this place as you do not have access to use one or more Packages. Get permission from the Package owner.,Unable to publish this place as you do not have access to use one or more Packages. Get permission from the Package owner. +Studio.App.PackagesBlockingPublishDialog.MessageModifiedNoAccess,,Unable to publish this place while one or more Packages have unpublished changes. Get permission to publish changes from the Package owner.,Unable to publish this place while one or more Packages have unpublished changes. Get permission to publish changes from the Package owner. +Studio.App.PackagesBlockingPublishDialog.MessageModifiedReadAccess,,Unable to publish this place while one or more Packages have unpublished changes. Undo the changes or get permission from the Package owner.,Unable to publish this place while one or more Packages have unpublished changes. Undo the changes or get permission from the Package owner. +Studio.App.PackagesBlockingPublishDialog.MessageModifiedWriteAccess,,Unable to publish this place while one or more Packages have unpublished changes. Publish or undo changes to the following Packages.,Unable to publish this place while one or more Packages have unpublished changes. Publish or undo changes to the following Packages. +Studio.App.PackagesBlockingPublishDialog.MessageStillChecking,,Unable to publish this place as Studio is still checking for updates and modifications to the following packages. Please try again later.,Unable to publish this place as Studio is still checking for updates and modifications to the following packages. Please try again later. Studio.App.PackagesBlockingPublishDialog.ModificationCheckStatus,,Package Link Status,Package Link Status Studio.App.PackagesBlockingPublishDialog.Owner,,Owner,Owner Studio.App.PackagesBlockingPublishDialog.PackageAssetName,,Package Asset Name,Package Asset Name -Studio.App.PackagesBlockingPublishDialog.PackageInstance,,Package Instance,Package Instance +Studio.App.PackagesBlockingPublishDialog.PackageInstance,,Package Instance Name,Package Instance Name Studio.App.PackagesBlockingPublishDialog.PackageInstanceName,,Package Instance Name,Package Instance Name Studio.App.PackagesBlockingPublishDialog.PackageIsModified,,Package is modified,Package is modified -Studio.App.PackagesBlockingPublishDialog.Permission,,Permission,Permission +Studio.App.PackagesBlockingPublishDialog.Permission,,Permission Status,Permission Status +Studio.App.PackagesBlockingPublishDialog.SelectPackages,,Select All in Explorer,Select All in Explorer Studio.App.PackagesBlockingPublishDialog.Warning,,The following packages are preventing this place from being published:,The following packages are preventing this place from being published: Studio.App.Parts.Surface,Parts menu,Surface,Surface Studio.App.Parts.SurfaceTooltip,tooltip,"Pick a surface type, and click on part surfaces to apply","Pick a surface type, and click on part surfaces to apply" @@ -1661,8 +1674,6 @@ Studio.App.RBXMainWindow.PublishSelectionToRobloxElps,,Save to Roblox...,Save to Studio.App.RBXMainWindow.PublishTheSelectionToRoblox,,Publish the Selection to Roblox,Publish the Selection to Roblox Studio.App.RBXMainWindow.PublishToRoblox,,Publish to Roblox,Publish to Roblox Studio.App.RBXMainWindow.PublishToRobloxAsElps,,Publish to Roblox As...,Publish to Roblox As... -Studio.App.RBXMainWindow.QuickFindScript,,Type to quickly open another script,Type to quickly open another script -Studio.App.RBXMainWindow.QuickFindScriptUseCtrlP,,"This Dialog is deprecated, please use Quick Open (Ctrl+P) instead","This Dialog is deprecated, please use Quick Open (Ctrl+P) instead" Studio.App.RBXMainWindow.QuitApplication,,Quit the application; prompts to save documents,Quit the application; prompts to save documents Studio.App.RBXMainWindow.RedoThePreviouslyUndo,,Redo the previously undone action,Redo the previously undone action Studio.App.RBXMainWindow.ReloadPlugin,,Reload Plugin,Reload Plugin @@ -2501,6 +2512,7 @@ Studio.App.ScriptingCmd.GOTOPOSTooltip,,Go to line...,Go to line... Studio.App.ScriptingCmd.INDENT,,Indent,Indent Studio.App.ScriptingCmd.INDENTTooltip,,Indent selected line(s),Indent selected line(s) Studio.App.ScriptingCmd.INSERT,,Insert text...,Insert text... +Studio.App.ScriptingCmd.INVOKECOMPLETIONS,,Invoke Autocomplete,Invoke Autocomplete Studio.App.ScriptingCmd.MOVELINESDOWN,,Move Lines Down,Move Lines Down Studio.App.ScriptingCmd.MOVELINESDOWNTooltip,,Move selected line(s) downwards,Move selected line(s) downwards Studio.App.ScriptingCmd.MOVELINESUP,,Move Lines Up,Move Lines Up @@ -2510,6 +2522,8 @@ Studio.App.ScriptingCmd.NEWLINEABOVETooltip,,Insert a newline above the current Studio.App.ScriptingCmd.NEWLINEBELOW,,Insert Newline Below,Insert Newline Below Studio.App.ScriptingCmd.NEWLINEBELOWTooltip,,Insert a newline below the current line,Insert a newline below the current line Studio.App.ScriptingCmd.SELECT,,Select text...,Select text... +Studio.App.ScriptingCmd.SELECTWORD,,Select Word,Select Word +Studio.App.ScriptingCmd.SELECTWORDTooltip,,Select the word under the cursor.,Select the word under the cursor. Studio.App.ScriptingCmd.TOGGLECOMMENT,,Toggle Comment,Toggle Comment Studio.App.ScriptingCmd.TOGGLECOMMENTTooltip,,Toggle selection commenting,Toggle selection commenting Studio.App.ScriptingCmd.UNFOLDALL,,Expand All Folds,Expand All Folds @@ -2702,6 +2716,13 @@ Studio.App.TeamCreate.SyncingGenericWarning,,Quitting Roblox Studio will cause y Studio.App.TeamCreate.SyncingTerrainWarning,,Quitting Roblox Studio will cause you to lose data that is currently syncing and might corrupt your Terrain.,Quitting Roblox Studio will cause you to lose data that is currently syncing and might corrupt your Terrain. Studio.App.TeamCreate.TurnOn,,Turn On,Turn On Studio.App.TeamCreate.UnpublishedChangesWarning,,Other users are currently editing scripts. Turning off team create will lose these unpublished changes. Continue anyway?,Other users are currently editing scripts. Turning off team create will lose these unpublished changes. Continue anyway? +Studio.App.TeamCreateActivePlayersDialog.PlayerID1,String for Player ID,Player ID: '%1',Player ID: '%1' +Studio.App.TeamCreateActivePlayersDialog.TopLabelText1,Display this message to inform user about the ongoing active team create session,Place '%1' currently has an active Team Create Session with other users. The following users will need to close their session in order to proceed with this operation,Place '%1' currently has an active Team Create Session with other users. The following users will need to close their session in order to proceed with this operation +Studio.App.TeamCreateActivePlayersDialog.UnableToRetrieveUsernames1,Error message on fetching failure,"Unable to retrieve usernames. +Additional Info: '%1'","Unable to retrieve usernames. +Additional Info: '%1'" +Studio.App.TeamCreateActivePlayersDialog.UnexpectedDataFormat,Display this message when fetched result has unexpected format,Unexpected data format.,Unexpected data format. +Studio.App.TeamCreateActivePlayersDialog.UsernameField,Username field,User Name,User Name Studio.App.TeamCreateConnectionDialog.YouHaveLostConnectionToTheServer,,You have lost connection to the server. Trying to reconnect...

Recent copy of the place has been saved. Click here to open the saved place.,You have lost connection to the server. Trying to reconnect...

Recent copy of the place has been saved. Click here to open the saved place. Studio.App.TemplatePage.Gameplay,,Gameplay,Gameplay Studio.App.TemplatePage.Theme,,Theme,Theme @@ -2787,6 +2808,7 @@ Studio.App.VersionHistoryDialog.ShowBatchContentsLink,,Show,Show Studio.App.VersionHistoryDialog.Title1,Title of dialog to view history for a script. Example: MyScriptName - Version History,%1 - Version History,%1 - Version History Studio.App.VersionHistoryDialog.VersionColumnTitle,,Version,Version Studio.App.VersionHistoryDialog.VersionComparedWithFmt2,,Version %1 compared with %2,Version %1 compared with %2 +Studio.App.VersionHistoryDialog.VersionHistoryHashMismatch,,Current Source does not match latest commit.,Current Source does not match latest commit. Studio.App.VersionHistoryDialog.ViewButtonText,,View,View Studio.App.VideoControl.RecordingStarted,,Video recording started,Video recording started Studio.App.VideoControl.RecordingStopped,,Video recording stopped,Video recording stopped diff --git a/QtResources/themes/DarkTheme.json b/QtResources/themes/DarkTheme.json index 3db03faccf..dd631b44c7 100644 --- a/QtResources/themes/DarkTheme.json +++ b/QtResources/themes/DarkTheme.json @@ -250,6 +250,11 @@ "CategoryItem": { "Default": "#353535" } + }, { + "AttributeCog": { + "Default": "#AAAAAA", + "Selected": "#CCCCCC" + } }, { "GameSettingsTableItem": { "Default": "#2A2A2A", @@ -839,13 +844,17 @@ }, "InfoText": { "color": "#AAAAAA" + }, + "ProgressBar": { + "background-color": "#252525", + "color": "#00A2FF" } }, "Merge": { "TextUnconflicted": "#4CB5C2BD", "TextConflictActive": "#DDDDDDDD", "TextConflictInactive": "#4CB5C2BD", - + "HighlightServerActive": "#20FA6400", "HighlightServerInactive": "#10FA6400", "HighlightDraftActive": "#2000B06F", diff --git a/QtResources/themes/LightTheme.json b/QtResources/themes/LightTheme.json index ac9d0b7889..faf79f96c2 100644 --- a/QtResources/themes/LightTheme.json +++ b/QtResources/themes/LightTheme.json @@ -253,6 +253,11 @@ "CategoryItem": { "Default": "#e9e9e9" } + }, { + "AttributeCog": { + "Default": "#888888", + "Selected": "#FFFFFF" + } }, { "GameSettingsTableItem": { "Default": "#f5f5f5", @@ -817,7 +822,7 @@ "color": "#000000" }, "ImportButtonDisabled": { - "color": "#B8B8B8" + "color": "#252525" }, "ImportButtonFrame": { "background-color": "#E3E3E3" @@ -833,13 +838,17 @@ }, "InfoText": { "color": "#B8B8B8" + }, + "ProgressBar": { + "background-color": "#E3E3E3", + "color": "#00A2FF" } }, "Merge": { "TextUnconflicted": "#4C000000", "TextConflictActive": "#E0000000", "TextConflictInactive": "#4C000000", - + "HighlightServerActive": "#20FA6400", "HighlightServerInactive": "#10FA6400", "HighlightDraftActive": "#2000B06F", diff --git a/ReflectionMetadata.xml b/ReflectionMetadata.xml index e3f8975092..111203ceac 100644 --- a/ReflectionMetadata.xml +++ b/ReflectionMetadata.xml @@ -3925,6 +3925,36 @@ + + + Clouds + Environment + 5 + 28 + Workspace + + + + + Cover + 0 + 1 + 1000 + A value that controls the cloud cover within the clouds volume, from 0 oktas to 8 oktas (full cloud cover). + + + + + Density + 0 + 1 + 1000 + A value that controls the clouds particulates density. The proportion of airborne water vapour particles within a cubic stud at full cloud cover. + + + + + Sky diff --git a/RobloxShaderData.csv b/RobloxShaderData.csv index fd52992f48..af725a712d 100644 --- a/RobloxShaderData.csv +++ b/RobloxShaderData.csv @@ -36,6 +36,9 @@ BokehFarCoCFS,Fragment,❌,✔,✔,❌,✔,✔,✔ BokehNearCoCFS,Fragment,❌,✔,✔,❌,✔,✔,✔ CheapBokehFS,Fragment,❌,✔,✔,❌,✔,✔,✔ CheckerboardDepthFS,Fragment,✔,✔,✔,❌,❌,✔,✔ +CloudsCompFS,Fragment,✔,✔,✔,✔,✔,✔,✔ +CloudsFS,Fragment,✔,✔,✔,✔,✔,✔,✔ +CloudsVS,Vertex,✔,✔,✔,✔,✔,✔,✔ CopyGuiVS,Vertex,✔,✔,✔,✔,✔,✔,✔ DefaultDepthFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultDepthVS_Level0,Vertex,✔,✔,✔,✔,✔,✔,✔ @@ -46,6 +49,9 @@ DefaultForceFieldFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultForceFieldHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultForceFieldHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultForceFieldHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultForceFieldHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultForceFieldHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultForceFieldHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultForceFieldHQVS_Level0,Vertex,✔,✔,✔,❌,✔,✔,✔ DefaultForceFieldHQVS_Level1,Vertex,✔,✔,✔,❌,❌,✔,✔ DefaultForceFieldHQVS_Level2,Vertex,✔,✔,✔,❌,✔,✔,✔ @@ -58,9 +64,24 @@ DefaultForceFieldHQVS_Level24,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultForceFieldHQVS_Level25,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultForceFieldHQVS_Level26,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultForceFieldHQVS_Level30,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultForceFieldHQVS_Level512,Vertex,✔,✔,✔,❌,✔,✔,✔ +DefaultForceFieldHQVS_Level513,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultForceFieldHQVS_Level514,Vertex,✔,✔,✔,❌,✔,✔,✔ +DefaultForceFieldHQVS_Level518,Vertex,✔,✔,✔,❌,✔,✔,✔ +DefaultForceFieldHQVS_Level520,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultForceFieldHQVS_Level521,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultForceFieldHQVS_Level522,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultForceFieldHQVS_Level526,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultForceFieldHQVS_Level536,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultForceFieldHQVS_Level537,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultForceFieldHQVS_Level538,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultForceFieldHQVS_Level542,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultForceFieldSHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultForceFieldSHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultForceFieldSHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultForceFieldSHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultForceFieldSHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultForceFieldSHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultForceFieldVS_Level0,Vertex,✔,✔,✔,✔,✔,✔,✔ DefaultForceFieldVS_Level1,Vertex,✔,✔,✔,❌,❌,✔,✔ DefaultForceFieldVS_Level2,Vertex,✔,✔,✔,✔,✔,✔,✔ @@ -68,9 +89,15 @@ DefaultForceFieldVS_Level6,Vertex,✔,✔,✔,✔,✔,✔,✔ DefaultGlassHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultGlassHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultGlassHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultGlassHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultGlassHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultGlassHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultGlassSuperHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultGlassSuperHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultGlassSuperHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultGlassSuperHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultGlassSuperHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultGlassSuperHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultHQVS_Level0,Vertex,✔,✔,✔,❌,✔,✔,✔ DefaultHQVS_Level1,Vertex,✔,✔,✔,❌,❌,✔,✔ DefaultHQVS_Level2,Vertex,✔,✔,✔,❌,✔,✔,✔ @@ -83,12 +110,27 @@ DefaultHQVS_Level24,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultHQVS_Level25,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultHQVS_Level26,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultHQVS_Level30,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultHQVS_Level512,Vertex,✔,✔,✔,❌,✔,✔,✔ +DefaultHQVS_Level513,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultHQVS_Level514,Vertex,✔,✔,✔,❌,✔,✔,✔ +DefaultHQVS_Level518,Vertex,✔,✔,✔,❌,✔,✔,✔ +DefaultHQVS_Level520,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultHQVS_Level521,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultHQVS_Level522,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultHQVS_Level526,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultHQVS_Level536,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultHQVS_Level537,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultHQVS_Level538,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultHQVS_Level542,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultModelLodFS,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultModelLodVS,Vertex,✔,✔,✔,❌,❌,✔,✔ DefaultNeonFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultNeonHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultNeonHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultNeonHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultNeonHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultNeonHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultNeonHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultNeonHQInGuiFS,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultNeonInGuiFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultNewShadowFS_Level0,Fragment,✔,✔,✔,❌,❌,✔,✔ @@ -119,10 +161,16 @@ DefaultOpaqueFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultOpaqueHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultOpaqueHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultOpaqueHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultOpaqueHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultOpaqueHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultOpaqueHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultPlasticFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultPlasticHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultPlasticHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultPlasticHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultPlasticHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultPlasticHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultPlasticHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultPlasticReflectionFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultReflectionVS_Level0,Vertex,✔,✔,✔,✔,✔,✔,✔ DefaultReflectionVS_Level1,Vertex,✔,✔,✔,❌,❌,✔,✔ @@ -136,6 +184,18 @@ DefaultReflectionVS_Level24,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultReflectionVS_Level25,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultReflectionVS_Level26,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultReflectionVS_Level30,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultReflectionVS_Level512,Vertex,✔,✔,✔,✔,✔,✔,✔ +DefaultReflectionVS_Level513,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultReflectionVS_Level514,Vertex,✔,✔,✔,✔,✔,✔,✔ +DefaultReflectionVS_Level518,Vertex,✔,✔,✔,✔,✔,✔,✔ +DefaultReflectionVS_Level520,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultReflectionVS_Level521,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultReflectionVS_Level522,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultReflectionVS_Level526,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultReflectionVS_Level536,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultReflectionVS_Level537,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultReflectionVS_Level538,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultReflectionVS_Level542,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultShadowFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultShadowGeomVS_Level0,Vertex,✔,✔,✔,✔,✔,✔,✔ DefaultShadowGeomVS_Level1,Vertex,✔,✔,✔,❌,❌,✔,✔ @@ -150,10 +210,16 @@ DefaultSurfaceAppearanceDitheredFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultSurfaceAppearanceDitheredHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultSurfaceAppearanceDitheredHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultSurfaceAppearanceDitheredHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultSurfaceAppearanceDitheredHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultSurfaceAppearanceDitheredHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultSurfaceAppearanceDitheredHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultSurfaceAppearanceFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultSurfaceAppearanceHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultSurfaceAppearanceHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultSurfaceAppearanceHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultSurfaceAppearanceHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultSurfaceAppearanceHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultSurfaceAppearanceHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultSurfaceHQVS_Level0,Vertex,✔,✔,✔,❌,✔,✔,✔ DefaultSurfaceHQVS_Level1,Vertex,✔,✔,✔,❌,❌,✔,✔ DefaultSurfaceHQVS_Level2,Vertex,✔,✔,✔,❌,✔,✔,✔ @@ -166,19 +232,43 @@ DefaultSurfaceHQVS_Level24,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultSurfaceHQVS_Level25,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultSurfaceHQVS_Level26,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultSurfaceHQVS_Level30,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultSurfaceHQVS_Level512,Vertex,✔,✔,✔,❌,✔,✔,✔ +DefaultSurfaceHQVS_Level513,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultSurfaceHQVS_Level514,Vertex,✔,✔,✔,❌,✔,✔,✔ +DefaultSurfaceHQVS_Level518,Vertex,✔,✔,✔,❌,✔,✔,✔ +DefaultSurfaceHQVS_Level520,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultSurfaceHQVS_Level521,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultSurfaceHQVS_Level522,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultSurfaceHQVS_Level526,Vertex,✔,✔,✔,❌,❌,✔,✔ +DefaultSurfaceHQVS_Level536,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultSurfaceHQVS_Level537,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultSurfaceHQVS_Level538,Vertex,✔,✔,✔,❌,❌,❌,✔ +DefaultSurfaceHQVS_Level542,Vertex,✔,✔,✔,❌,❌,❌,✔ DefaultTiledHideAllRepHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultTiledHideAllRepHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultTiledHideAllRepHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultTiledHideAllRepHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultTiledHideAllRepHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultTiledHideAllRepHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultTiledHideDiffuseRepHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultTiledHideDiffuseRepHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultTiledHideDiffuseRepHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultTiledHideDiffuseRepHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultTiledHideDiffuseRepHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultTiledHideDiffuseRepHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultTiledHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultTiledHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultTiledHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultTiledHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultTiledHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultTiledHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultTransparentFS,Fragment,✔,✔,✔,✔,✔,✔,✔ DefaultTransparentHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultTransparentHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultTransparentHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultTransparentHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultTransparentHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultTransparentHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DefaultVS_Level0,Vertex,✔,✔,✔,✔,✔,✔,✔ DefaultVS_Level1,Vertex,✔,✔,✔,❌,❌,✔,✔ DefaultVS_Level2,Vertex,✔,✔,✔,✔,✔,✔,✔ @@ -186,6 +276,9 @@ DefaultVS_Level6,Vertex,✔,✔,✔,✔,✔,✔,✔ DefaultWangHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ DefaultWangHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ DefaultWangHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +DefaultWangHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +DefaultWangHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +DefaultWangHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ DepthResolveMax2FS,Fragment,❌,✔,✔,❌,❌,✔,✔ DepthResolveMax4FS,Fragment,❌,✔,✔,❌,❌,✔,✔ DepthResolveMin2FS,Fragment,❌,✔,✔,❌,❌,✔,✔ @@ -233,6 +326,9 @@ GrassVS,Vertex,✔,✔,✔,✔,✔,✔,✔ GridFS_Level0,Fragment,✔,✔,✔,✔,✔,✔,✔ GridFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ GridFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +GridFS_Level512,Fragment,✔,✔,✔,✔,✔,✔,✔ +GridFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +GridFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ IBLDebugFS,Fragment,✔,✔,✔,❌,❌,✔,✔ IBLDebugVS,Vertex,✔,✔,✔,❌,❌,✔,✔ ImageProcessAlphaFS,Fragment,✔,✔,✔,✔,✔,✔,✔ @@ -352,6 +448,12 @@ SmoothClusterHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothClusterHQFS_Level256,Fragment,✔,✔,✔,❌,✔,✔,✔ SmoothClusterHQFS_Level264,Fragment,✔,✔,✔,❌,❌,✔,✔ SmoothClusterHQFS_Level280,Fragment,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterHQFS_Level768,Fragment,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterHQFS_Level776,Fragment,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterHQFS_Level792,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothClusterHQFSShadowed,Fragment,✔,✔,✔,❌,❌,✔,✔ SmoothClusterHQFSShadowedFSM,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothClusterHQVS,Vertex,✔,✔,✔,❌,✔,✔,✔ @@ -361,6 +463,12 @@ SmoothClusterHQVS_Level24,Vertex,✔,✔,✔,❌,❌,❌,✔ SmoothClusterHQVS_Level256,Vertex,✔,✔,✔,❌,✔,✔,✔ SmoothClusterHQVS_Level264,Vertex,✔,✔,✔,❌,❌,✔,✔ SmoothClusterHQVS_Level280,Vertex,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterHQVS_Level512,Vertex,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterHQVS_Level520,Vertex,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterHQVS_Level536,Vertex,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterHQVS_Level768,Vertex,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterHQVS_Level776,Vertex,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterHQVS_Level792,Vertex,✔,✔,✔,❌,❌,❌,✔ SmoothClusterHQVSShadowed,Vertex,✔,✔,✔,❌,❌,✔,✔ SmoothClusterHQVSShadowedFSM,Vertex,✔,✔,✔,❌,❌,❌,✔ SmoothClusterNewShadowFS,Fragment,✔,✔,✔,❌,❌,✔,✔ @@ -386,6 +494,12 @@ SmoothClusterSuperHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothClusterSuperHQFS_Level256,Fragment,✔,✔,✔,❌,✔,✔,✔ SmoothClusterSuperHQFS_Level264,Fragment,✔,✔,✔,❌,❌,✔,✔ SmoothClusterSuperHQFS_Level280,Fragment,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterSuperHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterSuperHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterSuperHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterSuperHQFS_Level768,Fragment,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterSuperHQFS_Level776,Fragment,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterSuperHQFS_Level792,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothClusterSuperHQFSFlagHeight,Fragment,✔,✔,✔,❌,✔,✔,✔ SmoothClusterSuperHQFSFlagHeight_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ SmoothClusterSuperHQFSFlagHeight_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ @@ -393,6 +507,12 @@ SmoothClusterSuperHQFSFlagHeight_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothClusterSuperHQFSFlagHeight_Level256,Fragment,✔,✔,✔,❌,✔,✔,✔ SmoothClusterSuperHQFSFlagHeight_Level264,Fragment,✔,✔,✔,❌,❌,✔,✔ SmoothClusterSuperHQFSFlagHeight_Level280,Fragment,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterSuperHQFSFlagHeight_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterSuperHQFSFlagHeight_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterSuperHQFSFlagHeight_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterSuperHQFSFlagHeight_Level768,Fragment,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterSuperHQFSFlagHeight_Level776,Fragment,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterSuperHQFSFlagHeight_Level792,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothClusterSuperHQFSShadowed,Fragment,✔,✔,✔,❌,❌,✔,✔ SmoothClusterSuperHQFSShadowedFlagHeight,Fragment,✔,✔,✔,❌,❌,✔,✔ SmoothClusterSuperHQFSShadowedFSM,Fragment,✔,✔,✔,❌,❌,❌,✔ @@ -405,6 +525,12 @@ SmoothClusterSuperHQVS_Level24,Vertex,✔,✔,✔,❌,❌,❌,✔ SmoothClusterSuperHQVS_Level256,Vertex,✔,✔,✔,❌,✔,✔,✔ SmoothClusterSuperHQVS_Level264,Vertex,✔,✔,✔,❌,❌,✔,✔ SmoothClusterSuperHQVS_Level280,Vertex,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterSuperHQVS_Level512,Vertex,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterSuperHQVS_Level520,Vertex,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterSuperHQVS_Level536,Vertex,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterSuperHQVS_Level768,Vertex,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterSuperHQVS_Level776,Vertex,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterSuperHQVS_Level792,Vertex,✔,✔,✔,❌,❌,❌,✔ SmoothClusterSuperHQVSFlagHeight,Vertex,✔,✔,✔,❌,✔,✔,✔ SmoothClusterSuperHQVSFlagHeight_Level0,Vertex,✔,✔,✔,❌,✔,✔,✔ SmoothClusterSuperHQVSFlagHeight_Level8,Vertex,✔,✔,✔,❌,❌,✔,✔ @@ -412,6 +538,12 @@ SmoothClusterSuperHQVSFlagHeight_Level24,Vertex,✔,✔,✔,❌,❌,❌,✔ SmoothClusterSuperHQVSFlagHeight_Level256,Vertex,✔,✔,✔,❌,✔,✔,✔ SmoothClusterSuperHQVSFlagHeight_Level264,Vertex,✔,✔,✔,❌,❌,✔,✔ SmoothClusterSuperHQVSFlagHeight_Level280,Vertex,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterSuperHQVSFlagHeight_Level512,Vertex,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterSuperHQVSFlagHeight_Level520,Vertex,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterSuperHQVSFlagHeight_Level536,Vertex,✔,✔,✔,❌,❌,❌,✔ +SmoothClusterSuperHQVSFlagHeight_Level768,Vertex,✔,✔,✔,❌,✔,✔,✔ +SmoothClusterSuperHQVSFlagHeight_Level776,Vertex,✔,✔,✔,❌,❌,✔,✔ +SmoothClusterSuperHQVSFlagHeight_Level792,Vertex,✔,✔,✔,❌,❌,❌,✔ SmoothClusterSuperHQVSShadowed,Vertex,✔,✔,✔,❌,❌,✔,✔ SmoothClusterSuperHQVSShadowedFlagHeight,Vertex,✔,✔,✔,❌,❌,✔,✔ SmoothClusterSuperHQVSShadowedFSM,Vertex,✔,✔,✔,❌,❌,❌,✔ @@ -424,18 +556,27 @@ SmoothWaterHQFS,Fragment,✔,✔,✔,❌,✔,✔,✔ SmoothWaterHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ SmoothWaterHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ SmoothWaterHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +SmoothWaterHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +SmoothWaterHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +SmoothWaterHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothWaterHQFSShadowed,Fragment,✔,✔,✔,❌,❌,✔,✔ SmoothWaterHQFSShadowedFSM,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothWaterHQVS,Vertex,✔,✔,✔,❌,✔,✔,✔ SmoothWaterHQVS_Level0,Vertex,✔,✔,✔,❌,✔,✔,✔ SmoothWaterHQVS_Level8,Vertex,✔,✔,✔,❌,❌,✔,✔ SmoothWaterHQVS_Level24,Vertex,✔,✔,✔,❌,❌,❌,✔ +SmoothWaterHQVS_Level512,Vertex,✔,✔,✔,❌,✔,✔,✔ +SmoothWaterHQVS_Level520,Vertex,✔,✔,✔,❌,❌,✔,✔ +SmoothWaterHQVS_Level536,Vertex,✔,✔,✔,❌,❌,❌,✔ SmoothWaterHQVSShadowed,Vertex,✔,✔,✔,❌,❌,✔,✔ SmoothWaterHQVSShadowedFSM,Vertex,✔,✔,✔,❌,❌,❌,✔ SmoothWaterSuperHQFS,Fragment,✔,✔,✔,❌,✔,✔,✔ SmoothWaterSuperHQFS_Level0,Fragment,✔,✔,✔,❌,✔,✔,✔ SmoothWaterSuperHQFS_Level8,Fragment,✔,✔,✔,❌,❌,✔,✔ SmoothWaterSuperHQFS_Level24,Fragment,✔,✔,✔,❌,❌,❌,✔ +SmoothWaterSuperHQFS_Level512,Fragment,✔,✔,✔,❌,✔,✔,✔ +SmoothWaterSuperHQFS_Level520,Fragment,✔,✔,✔,❌,❌,✔,✔ +SmoothWaterSuperHQFS_Level536,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothWaterSuperHQFSShadowed,Fragment,✔,✔,✔,❌,❌,✔,✔ SmoothWaterSuperHQFSShadowedFSM,Fragment,✔,✔,✔,❌,❌,❌,✔ SmoothWaterVS,Vertex,✔,✔,✔,✔,✔,✔,✔ diff --git a/configs/DataModelPatchConfig/DataModelPatchConfig.json b/configs/DataModelPatchConfig/DataModelPatchConfig.json index c28ce440fe..46c55b7734 100644 --- a/configs/DataModelPatchConfig/DataModelPatchConfig.json +++ b/configs/DataModelPatchConfig/DataModelPatchConfig.json @@ -1 +1 @@ -{"AppStorageResetId": "0", "AssetId": "5345954812", "AssetVersion": "580", "IsForcedUpdate": false} \ No newline at end of file +{"AppStorageResetId": "0", "AssetId": "5345954812", "AssetVersion": "640", "IsForcedUpdate": false} \ No newline at end of file diff --git a/rbxManifest.csv b/rbxManifest.csv index e95fccc2c3..8f59a8ab29 100644 --- a/rbxManifest.csv +++ b/rbxManifest.csv @@ -1,120 +1,120 @@ MD5 Signature,File Name -d159bf3ca99b82e3800ccabddbf08a10,BuiltInPlugins\AlignmentTool.rbxm -6a7b4f6dd848062c579ba5f8fb24d6f0,BuiltInPlugins\AlignmentTool.rbxm.sig -f6bfbb631316eab94daf1f39dd38f540,BuiltInPlugins\AnimationClipEditor.rbxm -e0a78803ce6c410a91c035ff873fb0b4,BuiltInPlugins\AnimationClipEditor.rbxm.sig -ce20f99c00657a22ce5692a7558fd51c,BuiltInPlugins\AssetConfiguration.rbxm -b0c03ffdf62b4092b08308150de18af2,BuiltInPlugins\AssetConfiguration.rbxm.sig -5571e7e547dec8c510ab89400bfd7cc0,BuiltInPlugins\AssetManager.rbxm -99b23accffe2b1e388392f1cee87e66f,BuiltInPlugins\AssetManager.rbxm.sig -d8709d464fec26e850ac64d11d638c12,BuiltInPlugins\AvatarImporter.rbxm -567f6679e0df318742d7cfcb38e9edf7,BuiltInPlugins\AvatarImporter.rbxm.sig -88c12846d5e3a09601844c91f0918530,BuiltInPlugins\BetaBuild\AlignmentTool.rbxm -943c67fcaec21ea69c6c3e0c3f178e6d,BuiltInPlugins\BetaBuild\AlignmentTool.rbxm.sig -29e38bc8a95f6cefed0f0e3a1c2fbe4f,BuiltInPlugins\BetaBuild\AnimationClipEditor.rbxm -c41954426cd31b493fae311506e296db,BuiltInPlugins\BetaBuild\AnimationClipEditor.rbxm.sig -70a1cbe45fbc90bad335736e95571fdf,BuiltInPlugins\BetaBuild\AssetConfiguration.rbxm -3a4032332f1db098b3ff78c1091374e0,BuiltInPlugins\BetaBuild\AssetConfiguration.rbxm.sig -2d7682c12fd481d4362314010390df0a,BuiltInPlugins\BetaBuild\AssetManager.rbxm -bdc225377ba9ad7b0acea04d9a4137ad,BuiltInPlugins\BetaBuild\AssetManager.rbxm.sig -f335dc4222faaf499d3d272b227b2e1c,BuiltInPlugins\BetaBuild\AvatarImporter.rbxm -1c6908b959ef0b5886eb3d4ec8c0939c,BuiltInPlugins\BetaBuild\AvatarImporter.rbxm.sig -d5e39359a92d46a2745b692408bf82c7,BuiltInPlugins\BetaBuild\ConvertToPackage.rbxm -e508ee7762a44caa657e0a927da5d85e,BuiltInPlugins\BetaBuild\ConvertToPackage.rbxm.sig -825b6bb808529d3ed32c5b88849b35a7,BuiltInPlugins\BetaBuild\DraftsWidget.rbxm -1803c286575206149d7e86cfba8ef999,BuiltInPlugins\BetaBuild\DraftsWidget.rbxm.sig -a8bb9ce3b1a37d12dacfcb915fb87ce3,BuiltInPlugins\BetaBuild\ErrorReporterBuiltIn.rbxm -b1432cd03b24ffe73a5e37ed47bb7f87,BuiltInPlugins\BetaBuild\ErrorReporterBuiltIn.rbxm.sig -d93d01737d024873b8ea5c09fab4022a,BuiltInPlugins\BetaBuild\EventEmulator.rbxm -4194bdf4a8aca20060b820dbe24a89cd,BuiltInPlugins\BetaBuild\EventEmulator.rbxm.sig -d97d907a01d1b2a976e094f6836f6502,BuiltInPlugins\BetaBuild\FrameworkCompanion.rbxm -03edb10db62700908a4aa5fab8182e11,BuiltInPlugins\BetaBuild\FrameworkCompanion.rbxm.sig -0b0ed8f9a621708c66ea0f5d25c1dd98,BuiltInPlugins\BetaBuild\GameSettings.rbxm -8cc385f19db85c61850829f53ef44120,BuiltInPlugins\BetaBuild\GameSettings.rbxm.sig -49e4ddb523eb96ebecfed8c5ef8cc594,BuiltInPlugins\BetaBuild\LocalizationTools.rbxm -447c4d9affd4b3c89807090fa56c9ba0,BuiltInPlugins\BetaBuild\LocalizationTools.rbxm.sig -eeb5f0490898cc0bca6ed899db5dfd55,BuiltInPlugins\BetaBuild\MoveDragger.rbxm -d84fe52a20d17549acbe9e43dd5c0632,BuiltInPlugins\BetaBuild\MoveDragger.rbxm.sig -90c15b6e271d9b52d8216a954ce2196e,BuiltInPlugins\BetaBuild\PivotEditor.rbxm -c71eef5fec2f0237c20c0cb2d9c6dd6d,BuiltInPlugins\BetaBuild\PivotEditor.rbxm.sig -60076105d9fcddbded68b04b6da1303f,BuiltInPlugins\BetaBuild\PlayerEmulator.rbxm -33e812238babd5d92133639741482460,BuiltInPlugins\BetaBuild\PlayerEmulator.rbxm.sig -bf97ade7f5c4b50a191aa139f4c940c7,BuiltInPlugins\BetaBuild\PublishPlaceAs.rbxm -81b08d37d825fe5cf367ec2c092fbfb4,BuiltInPlugins\BetaBuild\PublishPlaceAs.rbxm.sig +ab0af4c744ad351306761ae705ce0415,BuiltInPlugins\AlignmentTool.rbxm +619855a3dab8d87ca7ae3403eec615a9,BuiltInPlugins\AlignmentTool.rbxm.sig +3a2bd719e8bcf3dabb2194345cc88abb,BuiltInPlugins\AnimationClipEditor.rbxm +7f597e0124186a6ca0c7dec032d88802,BuiltInPlugins\AnimationClipEditor.rbxm.sig +84510a2734549c8eb16d6ce606dd1f7b,BuiltInPlugins\AssetConfiguration.rbxm +af90803e644a931a191a657a3012046d,BuiltInPlugins\AssetConfiguration.rbxm.sig +f66600e8c4a5bd94bdd0533fa1635b5f,BuiltInPlugins\AssetManager.rbxm +b6fb6049706efe283e7113a0d8c12f6e,BuiltInPlugins\AssetManager.rbxm.sig +fce4db14da89dd9514dfc8ddac6de77a,BuiltInPlugins\AvatarImporter.rbxm +330071c412589c6aa216f2923450c732,BuiltInPlugins\AvatarImporter.rbxm.sig +9fb573d88dd4af3ef83a5b22083ec699,BuiltInPlugins\BetaBuild\AlignmentTool.rbxm +22945c2d220eba9d7e29cf67f057b350,BuiltInPlugins\BetaBuild\AlignmentTool.rbxm.sig +34c21383b576edc6b68080b2b6bbed8f,BuiltInPlugins\BetaBuild\AnimationClipEditor.rbxm +ae42b7d446eca918529e7f981784c8f1,BuiltInPlugins\BetaBuild\AnimationClipEditor.rbxm.sig +646079366fa5cea0a0fcf3626e6177a5,BuiltInPlugins\BetaBuild\AssetConfiguration.rbxm +c16bb5aec6286fb90997bf918adf8441,BuiltInPlugins\BetaBuild\AssetConfiguration.rbxm.sig +807da2f2a9e26ebf0c3d7ac5543b3e87,BuiltInPlugins\BetaBuild\AssetManager.rbxm +73d53a0f4890da128980cddce2202977,BuiltInPlugins\BetaBuild\AssetManager.rbxm.sig +e8facf42c79ab64bfdb15a8b1755c7cb,BuiltInPlugins\BetaBuild\AvatarImporter.rbxm +36b2000b5558d6a4fd65347e9409473d,BuiltInPlugins\BetaBuild\AvatarImporter.rbxm.sig +58404abb10df0fd37a9583b5cd2c916d,BuiltInPlugins\BetaBuild\ConvertToPackage.rbxm +cb41b2fb90f459302bd9331e870e2773,BuiltInPlugins\BetaBuild\ConvertToPackage.rbxm.sig +fe427593105f1c3b0828d381fd40d21d,BuiltInPlugins\BetaBuild\DraftsWidget.rbxm +29808a62676290b606a69f1e7626d9ea,BuiltInPlugins\BetaBuild\DraftsWidget.rbxm.sig +bf35c537fb6fc52d0f2a3f49304d9950,BuiltInPlugins\BetaBuild\ErrorReporterBuiltIn.rbxm +c1de906685e068b5397e1c96ae5f525a,BuiltInPlugins\BetaBuild\ErrorReporterBuiltIn.rbxm.sig +af42e86d5d7cda8953cd2f025ec10bae,BuiltInPlugins\BetaBuild\EventEmulator.rbxm +f318220a59438b1ca537178edb9bd669,BuiltInPlugins\BetaBuild\EventEmulator.rbxm.sig +86e6c3ed2b865973c0eb13af3698bc4d,BuiltInPlugins\BetaBuild\FrameworkCompanion.rbxm +3e32c8e4f7a279b2c41530347b9df12d,BuiltInPlugins\BetaBuild\FrameworkCompanion.rbxm.sig +723659c724cbcaaa3b3f2a17ceb014eb,BuiltInPlugins\BetaBuild\GameSettings.rbxm +8410acf8cc878604ffb124cf27af15ec,BuiltInPlugins\BetaBuild\GameSettings.rbxm.sig +87fa810b8eff6640fa4d18804a417871,BuiltInPlugins\BetaBuild\LocalizationTools.rbxm +fccbe7005da53587114d75cf85c93669,BuiltInPlugins\BetaBuild\LocalizationTools.rbxm.sig +44188c04d07dcb36c841c2e1df848026,BuiltInPlugins\BetaBuild\MoveDragger.rbxm +2b13c49a3e3cf800a86f639680f0559f,BuiltInPlugins\BetaBuild\MoveDragger.rbxm.sig +a356b58cdf5925bf59b995921804dd2f,BuiltInPlugins\BetaBuild\PivotEditor.rbxm +ecf921b4e125772d3a4d6ece5f03aa31,BuiltInPlugins\BetaBuild\PivotEditor.rbxm.sig +61e494894f7b0886b161e7d9b1afde9b,BuiltInPlugins\BetaBuild\PlayerEmulator.rbxm +0a96e54a2fe819f5d901ab743b970cae,BuiltInPlugins\BetaBuild\PlayerEmulator.rbxm.sig +b816e37fe777c153f92c8d00956d1218,BuiltInPlugins\BetaBuild\PublishPlaceAs.rbxm +c0f32bfe4bad6adba7b19c3e8e862396,BuiltInPlugins\BetaBuild\PublishPlaceAs.rbxm.sig dfea3ae02cca69586fbfd28f6b03cc48,BuiltInPlugins\BetaBuild\RigBuilder.rbxm -e5f44bbf3dff8b3eb2095685916e4dd7,BuiltInPlugins\BetaBuild\RigBuilder.rbxm.sig -81acf62b36804d5888dfd7c81d198caa,BuiltInPlugins\BetaBuild\RotateDragger.rbxm -a1ec82cb7eff2e8f2c7dbe755f592cba,BuiltInPlugins\BetaBuild\RotateDragger.rbxm.sig -2823424570242c2ec3df55378e45824b,BuiltInPlugins\BetaBuild\ScaleDragger.rbxm -e7988f1e3442534b401a191e74eaca17,BuiltInPlugins\BetaBuild\ScaleDragger.rbxm.sig -a30298b09ad8bc5eaf62bd7b9b433995,BuiltInPlugins\BetaBuild\SelectDragger.rbxm -46c08bd575cdaa6884476534e6663609,BuiltInPlugins\BetaBuild\SelectDragger.rbxm.sig -5befdadbe14cc754e248dd3347d293d8,BuiltInPlugins\BetaBuild\TerrainToolsV2.rbxm -67c7e4d538775b1133ce64a79523201b,BuiltInPlugins\BetaBuild\TerrainToolsV2.rbxm.sig -d6eb01d81e3633d69fc07fe0c54f0cb8,BuiltInPlugins\BetaBuild\Toolbox.rbxm -005133f2caf4be4def3a8b4dcf9a94c4,BuiltInPlugins\BetaBuild\Toolbox.rbxm.sig +33aff24560f97ae864f277a1aba48ff8,BuiltInPlugins\BetaBuild\RigBuilder.rbxm.sig +79c0a1193d1faf196e04e9e33f6f7215,BuiltInPlugins\BetaBuild\RotateDragger.rbxm +eb18d41bba20ee98e1de2daeaa2b74a7,BuiltInPlugins\BetaBuild\RotateDragger.rbxm.sig +e4f1f57cb2dba61cf6a42046fc5f8bba,BuiltInPlugins\BetaBuild\ScaleDragger.rbxm +fc11f082ec385cb59e0567d0ffd65096,BuiltInPlugins\BetaBuild\ScaleDragger.rbxm.sig +52fd2e5c4f5696999030320ad599cde1,BuiltInPlugins\BetaBuild\SelectDragger.rbxm +3e8c2fe9282bf28b78167f2b484ae90f,BuiltInPlugins\BetaBuild\SelectDragger.rbxm.sig +d1e2fd0ec9c58c27e0dcb1796f83bd8a,BuiltInPlugins\BetaBuild\TerrainToolsV2.rbxm +7ff866a5f0800c3895df512ef3028b84,BuiltInPlugins\BetaBuild\TerrainToolsV2.rbxm.sig +cc2bf81c78054f7216d9ffc347ea7a89,BuiltInPlugins\BetaBuild\Toolbox.rbxm +96689e5bb2112acc5b0b45eb8da44190,BuiltInPlugins\BetaBuild\Toolbox.rbxm.sig de097aced26ba8e30460d901e1c745ce,BuiltInPlugins\BetaBuild\UIEditor.rbxm -848a114e10fc214a04fd184ceebdf426,BuiltInPlugins\BetaBuild\UIEditor.rbxm.sig +4b220d12d36015fa536dfa239abb5b74,BuiltInPlugins\BetaBuild\UIEditor.rbxm.sig fe845e6b83f896260fb32309cad30e37,BuiltInPlugins\BetaBuild\ViewSelector.rbxm -fa759198e15c9a09dfa6651eaf7880ad,BuiltInPlugins\BetaBuild\ViewSelector.rbxm.sig -2e495aea69f3250063702fe026ae1087,BuiltInPlugins\ConvertToPackage.rbxm -fa294ba4a25012267a04918345973e3b,BuiltInPlugins\ConvertToPackage.rbxm.sig -844adef00ff7dbd317c35f483213f5bb,BuiltInPlugins\DraftsWidget.rbxm -1fbfeb7a061397421904fb6ff2294a54,BuiltInPlugins\DraftsWidget.rbxm.sig -4e890b6031b01ce7d1c27e7d88525ce5,BuiltInPlugins\ErrorReporterBuiltIn.rbxm -c193d1be9cf0422aeb02db30d5aa12ed,BuiltInPlugins\ErrorReporterBuiltIn.rbxm.sig -bd099c4b2071eb8c4ab81377006525c0,BuiltInPlugins\EventEmulator.rbxm -83ef179c0b2f9f98f9517b76c21890b4,BuiltInPlugins\EventEmulator.rbxm.sig -708753abc09bd1dfd61e8b3a368bdbd1,BuiltInPlugins\FrameworkCompanion.rbxm -d4a67ef37323dff61bbf7f9371932d41,BuiltInPlugins\FrameworkCompanion.rbxm.sig -9262a81911ba1a3a72761d5b75a1c075,BuiltInPlugins\GameSettings.rbxm -b4c883d39525a050756bc9291d0c11f1,BuiltInPlugins\GameSettings.rbxm.sig -58d0be7367508ba19224d86d55c7c3cb,BuiltInPlugins\LocalizationTools.rbxm -fd14d9c7efbc23a0cd15edb4d7a1204d,BuiltInPlugins\LocalizationTools.rbxm.sig -f5d24d6b3b159c7db07f57b223ed06ae,BuiltInPlugins\MoveDragger.rbxm -7d4bd2432991c74c4cbc858aff2c4105,BuiltInPlugins\MoveDragger.rbxm.sig -79c7dd345a16f9f4b3394081f016b5e2,BuiltInPlugins\PivotEditor.rbxm -48ee41299801224c7061b1d3f8065a7c,BuiltInPlugins\PivotEditor.rbxm.sig -6e16237ce3a154448f62e8e17fabb38c,BuiltInPlugins\PlayerEmulator.rbxm -c2afc225fa8bd04d14c9cda579253625,BuiltInPlugins\PlayerEmulator.rbxm.sig -7d97d383bd636941c2981a293c21c4d3,BuiltInPlugins\PublishPlaceAs.rbxm -9982c25d55d3714a4274db9a009573c9,BuiltInPlugins\PublishPlaceAs.rbxm.sig -11f3076450d1b194c9d62e402f931742,BuiltInPlugins\RigBuilder.rbxm -5368250ca67ee4c36b1c5e2e66de32f3,BuiltInPlugins\RigBuilder.rbxm.sig -028daca89217666f2971fb7a3899590a,BuiltInPlugins\RotateDragger.rbxm -a7dd833426f2721dde8480d564fc7f1d,BuiltInPlugins\RotateDragger.rbxm.sig -32b62caa7d2cd5dd2562623918d9c2e3,BuiltInPlugins\ScaleDragger.rbxm -256bf925109611a02146d3e7b4260d29,BuiltInPlugins\ScaleDragger.rbxm.sig -b9a59e4a32de64fb2bbd13410c43cb5c,BuiltInPlugins\SelectDragger.rbxm -69a6f2cc04267516821c3ad200af4f86,BuiltInPlugins\SelectDragger.rbxm.sig -9db1d1d756dd04b598444af0a369ee7e,BuiltInPlugins\TerrainToolsV2.rbxm -9db2b854d9174ccce70a31e11fcb4f76,BuiltInPlugins\TerrainToolsV2.rbxm.sig -d022ba6cedca45647ce2dd64b2e40b8f,BuiltInPlugins\Toolbox.rbxm -891ca26cb99a82ce04fe241e2ffc118f,BuiltInPlugins\Toolbox.rbxm.sig -e55a139a396969941906a9b3ca6ee708,BuiltInPlugins\UIEditor.rbxm -89f600ed684480637264b07e1dd7e3d3,BuiltInPlugins\UIEditor.rbxm.sig -77f5189bda298402bbc99e512b4252c9,BuiltInPlugins\ViewSelector.rbxm -e1c08a26138bcc002ce9367a0598989a,BuiltInPlugins\ViewSelector.rbxm.sig -85ec99bf37712479015e518088386a62,BuiltInStandalonePlugins\BetaBuild\CollisionGroupsEditor.rbxm -28c7775720faee61db2d50c25a6f13cd,BuiltInStandalonePlugins\BetaBuild\CollisionGroupsEditor.rbxm.sig -ca6554b90e87885ae42b829857a7e872,BuiltInStandalonePlugins\BetaBuild\ErrorReporter.rbxm -c853dafa5df88cb5a1106a353e92d9ad,BuiltInStandalonePlugins\BetaBuild\ErrorReporter.rbxm.sig -577d1e8871b165ce6a49d0a7fb194a42,BuiltInStandalonePlugins\BetaBuild\PluginManagement.rbxm -445973766f0f26b427416b3bb5823fd3,BuiltInStandalonePlugins\BetaBuild\PluginManagement.rbxm.sig -ad4341ca98cb196e85afc307732835d4,BuiltInStandalonePlugins\BetaBuild\StudioSettings.rbxm -1ae23878497bcedd3fbeeb022e8c8142,BuiltInStandalonePlugins\BetaBuild\StudioSettings.rbxm.sig +28a794b4a8a24d1dd3d170c8da6f26b0,BuiltInPlugins\BetaBuild\ViewSelector.rbxm.sig +4e3ac9539e41336ea37dcd6d36aae2bd,BuiltInPlugins\ConvertToPackage.rbxm +268fa1dd4650b16f34f7d48b7ed2eeca,BuiltInPlugins\ConvertToPackage.rbxm.sig +55a6e198ccf8196634611fdac17629cc,BuiltInPlugins\DraftsWidget.rbxm +05d3d3f5eef008edf234d4c76facb36e,BuiltInPlugins\DraftsWidget.rbxm.sig +8c8d0e3aa1dd7f229777777dcbc97b20,BuiltInPlugins\ErrorReporterBuiltIn.rbxm +a9eb8efa14d6ddd1b7f2330823d9388b,BuiltInPlugins\ErrorReporterBuiltIn.rbxm.sig +7f05987df638d9742e0ab41754ecf034,BuiltInPlugins\EventEmulator.rbxm +ce664dbca75f0bb79985b891da591e7f,BuiltInPlugins\EventEmulator.rbxm.sig +44908d99a561845c6a9fc980c018d277,BuiltInPlugins\FrameworkCompanion.rbxm +94f6777ee166d0a0352d45093b157764,BuiltInPlugins\FrameworkCompanion.rbxm.sig +58dd1b55ee9c0f32f93bfd65f9da1653,BuiltInPlugins\GameSettings.rbxm +7ee30121cddaf387a84bf259ccf97ae6,BuiltInPlugins\GameSettings.rbxm.sig +aa856d177ec6fd6083a3943fed15eb4a,BuiltInPlugins\LocalizationTools.rbxm +495ccbcd23d92113eeceddcaa336ab23,BuiltInPlugins\LocalizationTools.rbxm.sig +bf74712ebfe4b33a02e4a1e83b64979b,BuiltInPlugins\MoveDragger.rbxm +24af706bdbb18ed89450f0ed1623b6f6,BuiltInPlugins\MoveDragger.rbxm.sig +83784f665586e5c8d215f8a77baea383,BuiltInPlugins\PivotEditor.rbxm +8fbdcb556b5c2f768ec098d9dcc36664,BuiltInPlugins\PivotEditor.rbxm.sig +d1745006ccc22234bfca45c0904d881a,BuiltInPlugins\PlayerEmulator.rbxm +2f0eeaa803f4f211f85f51930b2e4e83,BuiltInPlugins\PlayerEmulator.rbxm.sig +bb4eba1eb31231a98a97e94f0c97268b,BuiltInPlugins\PublishPlaceAs.rbxm +6f15d21ca9c62de51b5dbf0acd6a6ab9,BuiltInPlugins\PublishPlaceAs.rbxm.sig +a83b81e5ba59f39738be89f255451fc4,BuiltInPlugins\RigBuilder.rbxm +5a9dbf44fe1409df8f448e6aa16e3ab5,BuiltInPlugins\RigBuilder.rbxm.sig +7ed7b4558887aed5d17506320f24d2c1,BuiltInPlugins\RotateDragger.rbxm +6a4ce957fadf4b5d7746846dcb2e5531,BuiltInPlugins\RotateDragger.rbxm.sig +b50810fa0a7a59ba6c4eded29317417d,BuiltInPlugins\ScaleDragger.rbxm +6f4447340ef9bfd7e5319204913d067a,BuiltInPlugins\ScaleDragger.rbxm.sig +d0dde03ecec3b9dacbeb84868e3417ea,BuiltInPlugins\SelectDragger.rbxm +637f071a5bcd173b8e18a378c2b08479,BuiltInPlugins\SelectDragger.rbxm.sig +2b58f8c2235041b2b4bead13e2644329,BuiltInPlugins\TerrainToolsV2.rbxm +327bef5894530fadc1c3bedd239d57da,BuiltInPlugins\TerrainToolsV2.rbxm.sig +eec33564b27352835e3da00d01e25528,BuiltInPlugins\Toolbox.rbxm +ae41d933fd03a38d6f11b7fbdb5cc056,BuiltInPlugins\Toolbox.rbxm.sig +27942dadb2765e763f244ed226afc590,BuiltInPlugins\UIEditor.rbxm +d5564ad9f4ff6a8e76c710e706b032e4,BuiltInPlugins\UIEditor.rbxm.sig +f5a13618bc1d3376cc3308f439e3f732,BuiltInPlugins\ViewSelector.rbxm +b8ea83ef4dfbd4332f4aa6461ab3e435,BuiltInPlugins\ViewSelector.rbxm.sig +5babb7a413f99e0415f799007c95fb1a,BuiltInStandalonePlugins\BetaBuild\CollisionGroupsEditor.rbxm +c141e6dea6e275572e5c9f5f6e045ae1,BuiltInStandalonePlugins\BetaBuild\CollisionGroupsEditor.rbxm.sig +046df0d52f46d0689a68593ff125047c,BuiltInStandalonePlugins\BetaBuild\ErrorReporter.rbxm +4427150b870f5e30737695d0715cbea4,BuiltInStandalonePlugins\BetaBuild\ErrorReporter.rbxm.sig +8bbeff023d19c3a0fd6cec94c93ad403,BuiltInStandalonePlugins\BetaBuild\PluginManagement.rbxm +3405a3d1fddac3ba35aaabe78defd76f,BuiltInStandalonePlugins\BetaBuild\PluginManagement.rbxm.sig +db2b91b530d60e4159e8c2fbd003a679,BuiltInStandalonePlugins\BetaBuild\StudioSettings.rbxm +ce7d71441bf28606ed1dc31ea034958c,BuiltInStandalonePlugins\BetaBuild\StudioSettings.rbxm.sig baf7316da7f6198d1eff4f2ff48f3e25,BuiltInStandalonePlugins\BetaBuild\TransformDragger.rbxm -59a1a91f27799e7f06e3da02e2a24e19,BuiltInStandalonePlugins\BetaBuild\TransformDragger.rbxm.sig -4ec4258597fa85091f83312ee51892c3,BuiltInStandalonePlugins\CollisionGroupsEditor.rbxm -54dcc8c2ca61bb2177664583a92e0c4b,BuiltInStandalonePlugins\CollisionGroupsEditor.rbxm.sig -8597fef88b67e954fdff24b368d29893,BuiltInStandalonePlugins\ErrorReporter.rbxm -dcfb418adff48168e7797650bbd953d5,BuiltInStandalonePlugins\ErrorReporter.rbxm.sig -b4514ecdd60fa76d5f36592d6033da73,BuiltInStandalonePlugins\PluginManagement.rbxm -4ef8121233df06aa8f5a783ec8d6848f,BuiltInStandalonePlugins\PluginManagement.rbxm.sig -aad78d87bdadd2e487610ad843c9731a,BuiltInStandalonePlugins\StudioSettings.rbxm -563127ceb8525ca8be9139c9e2f5855d,BuiltInStandalonePlugins\StudioSettings.rbxm.sig -1eac8ab8a3c427a2b7b0c5db0bc5e8f3,BuiltInStandalonePlugins\TransformDragger.rbxm -27011ec44a07eacb2c2f01eecc3f5275,BuiltInStandalonePlugins\TransformDragger.rbxm.sig +e5ef0ad2680939ad2d35891dbc0f18f7,BuiltInStandalonePlugins\BetaBuild\TransformDragger.rbxm.sig +6d9ac86dd5467e111541a5e1380a5ef6,BuiltInStandalonePlugins\CollisionGroupsEditor.rbxm +2bd588d4535076c139fe90115c818751,BuiltInStandalonePlugins\CollisionGroupsEditor.rbxm.sig +aba5cdf30951d2bd6a6028d03eef27fb,BuiltInStandalonePlugins\ErrorReporter.rbxm +83df7a793f7c5c05971fb1af19cb2bef,BuiltInStandalonePlugins\ErrorReporter.rbxm.sig +5a46c5b91bf4ffbe5dd0a8d0c0504411,BuiltInStandalonePlugins\PluginManagement.rbxm +932f1dca5cd0145f5e01e703672e7dce,BuiltInStandalonePlugins\PluginManagement.rbxm.sig +e430cce1995e699ae9f07ae42cb938cb,BuiltInStandalonePlugins\StudioSettings.rbxm +bcdb362f095f9855026409e60ac7f0e2,BuiltInStandalonePlugins\StudioSettings.rbxm.sig +66a6092965248a5128adeab22b9f665a,BuiltInStandalonePlugins\TransformDragger.rbxm +522063674e61fb61489777991a52e634,BuiltInStandalonePlugins\TransformDragger.rbxm.sig 91beefad538bbd6aa1478db2c068d51c,Qt5\imageformats\qgif.dll 309227444f44f9dd491e0b3f85862294,Qt5\imageformats\qjpeg.dll ee395696c852eeb120aecc413a6f8cd0,Qt5\platforms\qwindows.dll @@ -365,9 +365,9 @@ e6c66c53b7009f2c764969843eb3dd74,QtQuick\Window.2\plugins.qmltypes ee7def4bc1c56f4131e1a9bdcfd6494e,QtQuick\Window.2\windowplugin.dll ce2b54543fa7f0106ce87817519927b1,QtQuick\XmlListModel\plugins.qmltypes 4c18474f6ceef1652e02369644a662b6,QtQuick\XmlListModel\qmlxmllistmodelplugin.dll -76376c7f4239f596d54eb06f5584451d,qtnribbon4.dll -a964e0a2b982210cec5e9276d80fa4ca,ReflectionMetadata.xml -f66c1c4d7f074ad77e690df38bee1751,RobloxStudioBeta.exe +cd0ab8542d241af5fea90bb59e2a60af,qtnribbon4.dll +4538d2b1626d94b64ff3be3a5c133b6d,ReflectionMetadata.xml +ce648e62c8aa11af1c3340b89a467ac1,RobloxStudioBeta.exe fdaf6d1b2a93fb3adfaf8bdf9c626c21,RobloxStudioRibbon.xml 69893240e1ec9d40364104c16bf5d404,d3dcompiler_46.dll 57d829f7d174d1a8067612c09cf6566b,d3dcompiler_47.dll @@ -452,7 +452,7 @@ b34d128704690b4c456277dd219160d2,content\avatar\morpherEditorR15.rbxmx 9f5196d22825be97ab4d7842265986ba,content\avatar\scripts\humanoidAnimateR15.rbxm 5432d0c0a2afdd1f201961eecbd3fe6c,content\avatar\scripts\humanoidAnimateR15ScaledV3.rbxm 55ee96b3b08e4298935580d819ad2e05,content\avatar\scripts\humanoidHealthRegenScript.rbxmx -857dde82cf4d9b03f9f45642247ebdc8,content\configs\DataModelPatchConfig\DataModelPatchConfig.json +077b5058575f9b5e46f528b5e38ac8a8,content\configs\DataModelPatchConfig\DataModelPatchConfig.json 70838582dc54066f9e86b7c98237cf19,content\configs\DateTimeLocaleConfigs\de-de.json 8938eebe2f3155af06df80b86e7a05a5,content\configs\DateTimeLocaleConfigs\en-au.json 7aea1ddc7eab879238170ca73d344755,content\configs\DateTimeLocaleConfigs\en-ca.json @@ -569,7 +569,9 @@ bcebcf42735c6849bdecbb77451021dd,content\qt_translations\qtwebsockets_en.qm 6e567d1d73d0a3954c62d60c6903b0d3,content\qt_translations\qtwebsockets_ko.qm c2674c393f7d2afb4efad5d153c1e881,content\qt_translations\qtwebsockets_ru.qm dfa0fd96c38742f74d312133eda3d45a,content\qt_translations\qtwebsockets_zh_CN.qm +0a66e4d41c5cb12a555cdf95d964142b,content\sky\clouds.dds 10ece876a6e237350af036debdddebab,content\sky\moon.jpg +1034802e616b1c6b92f7ea52f37b44b0,content\sky\noise.dds 3acab22ca5aa5c85ca0f31d6fa553dc3,content\sky\sun.jpg 0c4335d1c658dd28aea2a9c20150597f,content\sounds\action_falling.mp3 d5f07d95003fca43c76de8421a8fd102,content\sounds\action_footsteps_plastic.mp3 @@ -577,18 +579,16 @@ c96cca0f7ff617bdfcda00a9e2f2edf3,content\sounds\action_get_up.mp3 6554c211b61dbe83b023730569f0e9ce,content\sounds\action_jump.mp3 8c9cf30099e86cd65054666267991fc9,content\sounds\action_jump_land.mp3 debc362e53b735a39b95876ac1187732,content\sounds\action_swim.mp3 -6953886878eef127f41c531af2c200a7,content\sounds\bass.wav 882fb4dafa3a13ffbc03f1eeb300a937,content\sounds\impact_explosion_03.mp3 c5d4d91a6b8f25401055492caaa2a092,content\sounds\impact_water.mp3 -55946a313778cc97c88974760b048480,content\sounds\snap.mp3 45c2057aa7710a58c46073a73f83cabd,content\sounds\uuhhh.mp3 -abba3fe1e2513cd983e590048e126803,shaders\shaders_d3d10.pack -41d4d9d8eaffb8d8e84a190af5282121,shaders\shaders_d3d10_1.pack -99d9beefa25ff30e64ac94d511931697,shaders\shaders_d3d11.pack -8f7a2d5eede42006b75dc75fd3616bb6,shaders\shaders_d3d9.pack -9a8f1be07882ddd386fed4cffa4d9eb3,shaders\shaders_glsl.pack -700a8baf7ffae26c28761a838aad41d3,shaders\shaders_glsl3.pack -7a6d59fcb52c530e5c5edbfa4815d92f,shaders\shaders_vulkan_desktop.pack +f9cc082c607e9d3655437e428dbb3f7f,shaders\shaders_d3d10.pack +9efad63edf9a82edc464840d24f48f28,shaders\shaders_d3d10_1.pack +9053b735ffccd56d876c77e4367310d1,shaders\shaders_d3d11.pack +0020ec2b85eb4926d65a9d5fffcc96bb,shaders\shaders_d3d9.pack +89822c71a055f6f8331be1b10098456f,shaders\shaders_glsl.pack +abbebe8a636fe6d88564805e7feb2be4,shaders\shaders_glsl3.pack +31dc3fc67318da6c8d785211e216e8b7,shaders\shaders_vulkan_desktop.pack 39d78797902a505997beacb1bafa7c75,ssl\cacert.pem 0c66e462fa35babaed18d40a7512a2e4,content\textures\advancedMove.png c381b21e33392d2d944955c78cef8cb4,content\textures\advancedMove_joint.png @@ -820,10 +820,19 @@ b117b0f15a2b53fb93bbb2fdda6f71e7,content\textures\DevConsole\Filter-stroke.png 80db6b54d8c9732097094041ce3bcdac,content\textures\DevConsole\Search.png a2c4f55a6b2891c9ea2e7c7d546dccf2,content\textures\DevConsole\Sort.png 2d437bff76d569b70123c60bb203ae1c,content\textures\DevConsole\Warning.png +d477fe1707aaae5375a4a68ba271d7f5,content\textures\DeveloperFramework\AssetPreview\close_button.png +43aab57b1fd2cd1a6bbb780ccfabd67b,content\textures\DeveloperFramework\AssetPreview\more.png +7c2f300d95773f2c3a27b159a4da3c76,content\textures\DeveloperFramework\AssetRender\hierarchy.png +2321a64952cf4a756862011968459fb3,content\textures\DeveloperFramework\AudioPlayer\audioPlay_BG.png +21adb66511447a9bb5c0742c3f6830e6,content\textures\DeveloperFramework\Favorites\star_filled.png +c55c40aacdfa18c7b8aa41b4ab1f7223,content\textures\DeveloperFramework\Favorites\star_stroke.png +86d904eaca21d41718a1d70c6c10807b,content\textures\DeveloperFramework\MediaPlayerControls\pause_button.png +682faa11af8256ffd2e18c3f600f4c00,content\textures\DeveloperFramework\MediaPlayerControls\play_button.png cf0e098253e36938314bd4cab4953fbd,content\textures\DeveloperFramework\slider_bg.png 778bae26cc4ad2f6835f05648294fa56,content\textures\DeveloperFramework\slider_knob.png 8f9599198ac3412c1db68ebf9e2c21e9,content\textures\DeveloperFramework\slider_knob_light.png f8c47623df8c7f942e76435d31fd2daf,content\textures\DeveloperFramework\slider_knob_ouline.png +efe814b37ecd45701803cd3f3525c7d3,content\textures\DeveloperFramework\Votes\rating_small.png 2fa8a22b3c7998ad4a41d172131b4294,content\textures\DraftsWidget\deletedSource.png a5f5938ef209715b6b28c6695003308b,content\textures\DraftsWidget\newSource.png b36f67577a2655c7a9834948eb7a5b49,content\textures\explosion.png @@ -1891,6 +1900,15 @@ efa3e31d5849e0a4567f2f05333e5a47,content\textures\ui\Vehicle\SpeedBar.png c00d1d735b6e3310601d7188ba1d3e3c,content\textures\ui\Vehicle\SpeedBarBKG@2x.png b8227949c29a1cae398219375a89e72d,content\textures\ui\Vehicle\SpeedBarEmpty.png d6647c03bec7612b71a9c1731e237d5c,content\textures\ui\Vehicle\SpeedBarEmpty@2x.png +a6aee4ea5754dddb470bce6ea6806e59,content\textures\ui\VirtualCursor\cursorDefault.png +29c9ee1699c4d528b39875d1d89ed927,content\textures\ui\VirtualCursor\cursorDefault@2x.png +7cc55e9db921268ed37e5e701958de4a,content\textures\ui\VirtualCursor\cursorDefault@3x.png +8ebabc9f4e020c6831cad23cdbd3feeb,content\textures\ui\VirtualCursor\cursorHover.png +a0212baee0b5bfad416444ac7b5df542,content\textures\ui\VirtualCursor\cursorHover@2x.png +19bb2352db2f6e09b09af44a015f64ff,content\textures\ui\VirtualCursor\cursorHover@3x.png +3668dcf78c01e696c4702734f37088a2,content\textures\ui\VirtualCursor\cursorPressed.png +6ecda388279312579b1a5250f580330e,content\textures\ui\VirtualCursor\cursorPressed@2x.png +35acea5bca5f4b4b5aa1008f37729d5c,content\textures\ui\VirtualCursor\cursorPressed@3x.png 32a54088bd48b6df9f3b9dcef5afb46a,content\textures\ui\VR\button.png a5e9ca03a166529795bc74dedeb7bd20,content\textures\ui\VR\buttonActive.png 664edea61a69ad4e1fcea2a44b35aae2,content\textures\ui\VR\buttonBackground.png @@ -2090,7 +2108,7 @@ a4d0dde068faa8443955693dcee2e28c,ExtraContent\scripts\CoreScripts\CoreScripts\Ne 5f928d57049010fcbd2b1412b86a9205,ExtraContent\scripts\CoreScripts\CoreScripts\NotificationScript2.lua 50a59953c0b0c78a7399c75f7e1abd47,ExtraContent\scripts\CoreScripts\CoreScripts\PerformanceStatsManagerScript.lua 912132f61a2946959b7fca3761007cc9,ExtraContent\scripts\CoreScripts\CoreScripts\PlayerRagdoll.lua -b4c84aea8705ba13dad1035b3734d95a,ExtraContent\scripts\CoreScripts\CoreScripts\ProximityPrompt.lua +4dbdbfda7b830045299b4abe424863da,ExtraContent\scripts\CoreScripts\CoreScripts\ProximityPrompt.lua 1ff7d9e443c11ad865f73d53496962ed,ExtraContent\scripts\CoreScripts\CoreScripts\ScreenTimeInGame.lua 586923463977bfee30279941f346727a,ExtraContent\scripts\CoreScripts\CoreScripts\VehicleHud.lua 24f34c9800283d8396c77bc7e1961130,ExtraContent\scripts\CoreScripts\LoadingScript.lua @@ -2113,7 +2131,7 @@ ccb55ac4c548a09d596313a5ceb437d4,ExtraContent\scripts\CoreScripts\Modules\Avatar d85d7acf04b8a6b2b5130539ea3d7ef4,ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\Connection\AvatarEditorServiceConnector.lua a9fc1981e969ee70cdc8d538902a24fb,ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\Connection\ContextActionsBinder.lua 4cb72f242d9fd541ab5b3b43838d4b89,ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\Connection\init.lua -c3fb486b25456d0af7a0d207a38998f3,ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\HumanoidViewport.lua +34daa1ec9bf5b0eba2f033dbf15cbf53,ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\HumanoidViewport.lua 26201534f050013c78c63b65c14f48f5,ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\ItemsList\init.lua d74235be30077e0cfc53c1181181eedf,ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\ItemsList\ListEntry.lua 00578ea8daebc322bcb2388afc30a151,ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\ItemsList\ListSection.lua @@ -2166,7 +2184,7 @@ e32d2c113cb215a19516761100285a5c,ExtraContent\scripts\CoreScripts\Modules\Common 5aed35a1aa468d65a40645e47b38e6c8,ExtraContent\scripts\CoreScripts\Modules\Common\Flags\GetFFlagUseThumbnailUrl.lua f7db5213ce2ab9c72741039447985869,ExtraContent\scripts\CoreScripts\Modules\Common\GameRequests.lua 10404c2138a41026fdfbaec5fa1b8ec8,ExtraContent\scripts\CoreScripts\Modules\Common\GetDefaultQualityLevel.lua -8c83605b3b58b275655f053bf5d2ba57,ExtraContent\scripts\CoreScripts\Modules\Common\GetGameNameAndDescription.lua +280ef891ceb29f01b023f52122697521,ExtraContent\scripts\CoreScripts\Modules\Common\GetGameNameAndDescription.lua 29ad183ad4dbab4cc4b8723f31be9357,ExtraContent\scripts\CoreScripts\Modules\Common\HumanoidReadyUtil.lua c1a8c6bd939bf1cc2320d0976729af04,ExtraContent\scripts\CoreScripts\Modules\Common\LegacyThumbnailUrls.lua 4a076bf3bd434eddf379388e613b7896,ExtraContent\scripts\CoreScripts\Modules\Common\ObjectPool.lua @@ -3236,7 +3254,7 @@ c3689cb039ea3eb0f3295a918f011751,ExtraContent\scripts\CoreScripts\ServerCoreScri 074ec9db925e658bbc0378de8ae410cb,ExtraContent\scripts\CoreScripts\ServerCoreScripts\ServerLeaderstats.lua 6ed4e7369a019d9b64dc5872efe317d8,ExtraContent\scripts\CoreScripts\ServerCoreScripts\ServerSocialScript.lua e357ca49510dd144d4a18593d1ca7918,ExtraContent\scripts\CoreScripts\ServerStarterScript.lua -dc03ad893abed36e09bb5c2be49be4df,ExtraContent\scripts\CoreScripts\StarterScript.lua +6b4292e6e14f995f2c997876102d14a6,ExtraContent\scripts\CoreScripts\StarterScript.lua a8d5e8942f706c8d47e704d4a89716b2,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts\CameraScript.lua 93aea712f5cececd74dcdf250a05c302,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts\CameraScript\ClickToMove.lua 503abbb363bdfd94d405d0b72ac5704c,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts\CameraScript\ClickToMove\NewClickToMove.lua @@ -3268,26 +3286,26 @@ ac0c60cc3a2a6fc55667d2599f3e0d2b,ExtraContent\scripts\PlayerScripts\StarterPlaye c95f3f0cd7cf8be155fc227312faaa82,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts\ControlScript\MasterControl\VRNavigation.lua 3f29e7c32c22c99a5f2ab07fe310af43,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts\ControlScript\PathDisplay.lua 799c5ff560d5355ec6f20d696b645f13,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module.lua -b730884118b43d752f7e994451a518e9,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule.lua -5a20802a8eaddcac4ba11f8ff494419a,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\BaseCamera.lua +fd4b646bcbff7ded25599be4ca3697df,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule.lua +9af5b4a13c835cd8ff49aae73ea16bab,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\BaseCamera.lua e9c70321d250470a6d9ad1af20e1a210,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\BaseOcclusion.lua -6baa75496ce068ecf150e56bf3b99670,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\CameraInput.lua +95e9e138e26e373599357c5c6a0160b2,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\CameraInput.lua 7dd342a784d3a4143e4e6e256fbb4473,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\CameraToggleStateController.lua a088ec27c2a329c89d464069cf1ad4fe,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\CameraUI.lua 75827a07c4aae1bc0b49eda66a6899bb,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\CameraUtils.lua -1bca689daa31964cb20f99299ef0dd74,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\ClassicCamera.lua +5e63117aa5b740a4f5346d08ff2686ee,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\ClassicCamera.lua 39176038c5cb3bd3706b66429137b456,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\Invisicam.lua -d0a788d5c0eae1c28cb904354bcfaeb0,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\LegacyCamera.lua +a8abe04669838e055b1aeaff44909956,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\LegacyCamera.lua e26d1983a0087ef0d5ac32c5d95d21dd,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\MouseLockController.lua -95fd87cc761653977bff13b2bf768ab5,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\OrbitalCamera.lua +39726e8a629ce405dd40a47823132c36,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\OrbitalCamera.lua 4a418f8153af0a05de7dce56935b1e14,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\Poppercam.lua 2c2acda69064bca398f565dc57ee758b,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\TransparencyController.lua -c3d0727c8a7edb714f64f8c5f59a5c04,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\VehicleCamera.lua +3eb86a52b3e7df02f003be6f4f505bfa,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\VehicleCamera.lua 92a869b8e47502080548d6c79409278b,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\VehicleCamera\VehicleCameraConfig.lua 6f227c80f8ee5022ca740e65667e4d4b,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\VehicleCamera\VehicleCameraCore.lua df5096bc043e6455f452f67adfaf5a39,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\ZoomController.lua 19fda90cd54a89380fcdcb2d9b1fb4b6,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\ZoomController\Popper.lua -196075086367516f80c4886a387d228b,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\ControlModule.lua +da70d29a83d1bf7e69f470a341ec4909,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\ControlModule.lua de8176e39b2a9d5ac61e6a59a9182bb1,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\ControlModule\BaseCharacterController.lua 22385df2688932a83f8b97cba65f93a1,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\ControlModule\ClickToMoveController.lua 2943a95259703abd7455de8896d2292b,ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\ControlModule\ClickToMoveDisplay.lua @@ -3511,7 +3529,7 @@ dc08b6c89040b8b06ac95cd24de425e9,ExtraContent\LuaPackages\Packages\_Index\freeze 543af272adf2bdb2c4fec18b601b79a9,ExtraContent\LuaPackages\Packages\_Index\freeze\lock.toml 02efc49f84e601bf434c452269708f7d,ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\Cryo.lua 0b39885b35b1831e45b6803e033c5cfb,ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\InGameMenuDependencies\init.lua -2f4888458cfa05ef95bfaf8a0099fbef,ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\lock.toml +92c10e0e3c38d1299f04b13606034905,ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\lock.toml 5f276c095487802a612eb20c8cd67db6,ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\Otter.lua 5cce44788ad980fbf5cfd7b020b5dcb1,ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\PolicyProvider.lua 56e11e22899b878524535c78aeabc2b1,ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\Roact.lua @@ -3531,7 +3549,7 @@ daa704404ea899fbac0fc9d213cdeaa4,ExtraContent\LuaPackages\Packages\_Index\jtaylo a7ff6bb5d390cd3e59623d391b0fc962,ExtraContent\LuaPackages\Packages\_Index\jtaylor_mock\mock\symbols.lua 56a1081d6057948fa05595f7ab835b81,ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\AssetCard.lua 5ab876a85046b34dc0a6956003a656bd,ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\InfiniteScroller.lua -e0ace9a552f7792bf68d052f031c1f2c,ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\lock.toml +46d7a73fa51c79a3886e5b907960ba68,ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\lock.toml e6e8b42ef0d4cbdedc27db9bae5c7de5,ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\LuaChatDeps\init.lua 7c58e4373d5b206a83738840d0495acb,ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\RoduxNetworking.lua c48308430f0744a0d056760f846e5fef,ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\UIBlox.lua @@ -3659,7 +3677,7 @@ afe8eec0f36a01fe5dbe5fcfac1a978e,ExtraContent\LuaPackages\Packages\_Index\roact- 8df54052c5a6873ba8d3d5ba476d731d,ExtraContent\LuaPackages\Packages\_Index\roact-navigation\roact-navigation\views\withNavigationFocus.lua 1dfbfd98b3770763aedf2ba2a0ee328b,ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\asset-card\asset-card\Components\AssetCard.lua cfc3a1bfe92eb55706d4fae0d0beebad,ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\asset-card\asset-card\init.lua -9c64aeee26037dada1ceae139885a0eb,ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\lock.toml +57a12612f6b339bcf41b271c51187fcc,ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\lock.toml 56e11e22899b878524535c78aeabc2b1,ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\Roact.lua 5ae7309541413111db65c3ebcf9994b3,ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\Rodux.lua 08c7e65b5b537ec75fa622a1423d5a16,ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\t.lua @@ -3886,7 +3904,7 @@ b440627a44abead2b54c93d7cbb0584e,ExtraContent\LuaPackages\Packages\_Index\roblox 0e9b46b8c46f19f679fe833a78bd0489,ExtraContent\LuaPackages\Packages\_Index\roblox_otter\otter\validateMotor.lua 02efc49f84e601bf434c452269708f7d,ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\Cryo.lua 3ab96f2198f6b647418085e6606da162,ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\FitFrame.lua -88aa90c35b6295c3fde5d23327f287ea,ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\lock.toml +dcf0736ab56af2aeefc9f5c48f89d46c,ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\lock.toml 5f276c095487802a612eb20c8cd67db6,ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\Otter.lua 611426cdb85fadee0047039b22839dfa,ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\purchase-prompt\Actions\AccountInfoReceived.lua 94629e9391766c3b1da209b19631f8f2,ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\purchase-prompt\Actions\BundleProductInfoReceived.lua @@ -4642,7 +4660,7 @@ b7d881e59eaf509a50bd1919f4ff04ac,ExtraContent\LuaPackages\Packages\_Index\tutils 6168e36d1a0d44fd7186f1920ba11edc,ExtraContent\LuaPackages\Packages\_Index\UIBlox\enumerate.lua 3ab96f2198f6b647418085e6606da162,ExtraContent\LuaPackages\Packages\_Index\UIBlox\FitFrame.lua 22052813a44e9d2c776ddd504fe5e0f2,ExtraContent\LuaPackages\Packages\_Index\UIBlox\InfiniteScroller.lua -e978d7efb41c895dc9588304183077e6,ExtraContent\LuaPackages\Packages\_Index\UIBlox\lock.toml +2aa023d4014518a61bd3d79333dce6e0,ExtraContent\LuaPackages\Packages\_Index\UIBlox\lock.toml 5f276c095487802a612eb20c8cd67db6,ExtraContent\LuaPackages\Packages\_Index\UIBlox\Otter.lua 56e11e22899b878524535c78aeabc2b1,ExtraContent\LuaPackages\Packages\_Index\UIBlox\Roact.lua 2f4837e6c1357575d09228b1142f717b,ExtraContent\LuaPackages\Packages\_Index\UIBlox\RoactGamepad.lua @@ -4786,6 +4804,8 @@ ec98e2874ab5e9d6a86b1a8cbbf09dd6,ExtraContent\LuaPackages\Packages\_Index\UIBlox d2519afbcd6598656fcfd6f85bc667b5,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\ImageSet\ImageAtlas\img_set_3x_5.png 003eb79631a25f4e4e97f4d60ef0f461,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\ImageSet\Images.lua 7615e68f635dd572a1c4830f923f58ba,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\ImageSet\Images.spec.lua +61f3c592e45a194f6d4b6aeb91f315aa,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\ImageSet\scaleSliceToResolution.lua +c982d92649660d86978180f04bd2d6b9,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\ImageSet\scaleSliceToResolution.spec.lua 6c3da6cdda674c0bb718f931b67dd789,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\Indicator\__stories__\Badge.story.lua 0b9da2a2bb701acafc8a749e5c053ee6,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\Indicator\Badge.lua e07a19f09fd29ffaaad1eb37ff526f66,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\Indicator\Badge.spec.lua @@ -4959,7 +4979,7 @@ bc3705715d91e6d4c33807a14360c749,ExtraContent\LuaPackages\Packages\_Index\UIBlox b7b8ece03b77c56898d7b65b7b048e5c,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\Control\InteractableList.lua 2d3939b0d50e9d937b62ffd9bad24225,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\Control\InteractableList.spec.lua 9f4752da0bb6727c40839d4fd0b08ad8,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\Control\InteractableListItem.lua -8601e640d612fc6cac609a57c86c7b93,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\ImageSet\createImageSetComponent.lua +dcf4872664ed94856ace3015d9d213eb,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\ImageSet\createImageSetComponent.lua edbf9dfa6a173776250052db39cbe0c7,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\ImageSet\createImageSetComponent.spec.lua ffebe02e7f1d511bf281fd0aae06bb3b,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\ImageSet\ImageSetComponent.lua 962a359fd2d0b5c8a1ee893cda4a3519,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\ImageSet\ImageSetComponent.spec.lua @@ -4996,7 +5016,7 @@ e1acfd47368ecef882b5412f54a3c44f,ExtraContent\LuaPackages\Packages\_Index\UIBlox 74481dcc47eddd23fb294f637fb7e5ab,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\Utility\bindingValidator.spec.lua 47e4946e31331e5e6fb3ce10ad235af7,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\Utility\Symbol.lua d943048b2c2c420516d95fcb8de139ce,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\Utility\Symbol.spec.lua -ff374fe2168362085f6fec71a937b47b,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\init.lua +1de573cb63578771c95c3ebf80cc22be,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\init.lua 546cb646e8563b064b45aa859cab2016,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\ModalBottomSheet\__stories__\Option1.story.lua b396ac250a3e31c4f61c8a34a54b2e3d,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\ModalBottomSheet\__stories__\Option2.story.lua 48e05df3d6831d27477f5792a33780a5,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\ModalBottomSheet\__stories__\Option9.story.lua @@ -5024,7 +5044,7 @@ cd27d4314e9b685464510955b9213b33,ExtraContent\LuaPackages\Packages\_Index\UIBlox a654f15b60048ef43b0bdb8781438bdc,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Style\withStyle.lua 7a74cc796a8b771750b46e6359e3c208,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Style\withStyle.spec.lua cc9e46ca74518f15afa74886f0ef8a2e,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\UIBloxConfig.lua -6b1585886c21cff35ddaa05c30b61ee7,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\UIBloxDefaultConfig.lua +8d8b27d3a96fd54848da18c7c253b238,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\UIBloxDefaultConfig.lua 490229ceb43269ae37d324e81b1dabc4,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Utility\createSignal.lua e802883abd3092223edf5a4a066d9c39,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Utility\createSignal.spec.lua 2c2deba7dedd3f063740ebbb651670b2,ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Utility\divideTransparency.lua @@ -5086,7 +5106,7 @@ e8794f4e412f4bd89347d9715d42ed73,ExtraContent\LuaPackages\Roact.lua 1d532d5f8249009accbc942667cdc01c,ExtraContent\LuaPackages\RoactUtilities\ExternalEventConnection.lua 2bb3d3a808134c6f6f8f89ecf352d614,ExtraContent\LuaPackages\RoactUtilities\ExternalEventConnection.spec.lua 2eab8fc0745cb5897535af9b5032a731,ExtraContent\LuaPackages\Rodux.lua -14513e0b4f901376a5457a7a7be463ca,ExtraContent\LuaPackages\rotriever.lock +b183475d8107e74d148be0a8b77dd939,ExtraContent\LuaPackages\rotriever.lock ed7fe9b7148b3d9b46c016c160838117,ExtraContent\LuaPackages\rotriever.toml 01eadf402181a438d7e85eeb065a8015,ExtraContent\LuaPackages\Symbol.lua 852f73aa3fb72a6b10b88971297d81fe,ExtraContent\LuaPackages\SymbolImpl\init.lua @@ -5115,11 +5135,12 @@ a36f16a0eb888fe83cea53f743acfc4f,ExtraContent\LuaPackages\UIBlox.lua 5706d41fcc61e0a1a23fefd8f6c41d17,ExtraContent\LuaPackages\UIBloxFlags\GetFFlagLuaFixItemTilePremiumIcon.lua 477208a82e72c8552fc13f917ab8f201,ExtraContent\LuaPackages\UIBloxFlags\GetFFlagLuaUIBloxGamepadSupport.lua dd5400d7e8e738c812e2f5226df0c904,ExtraContent\LuaPackages\UIBloxFlags\GetFFlagLuaUIBloxModalWindowAnchorPoint.lua -3833f70e8ad26b0df221ab00b0ccb566,ExtraContent\LuaPackages\UIBloxUniversalAppConfig.lua +c021478589da903dc083f2a031f689a4,ExtraContent\LuaPackages\UIBloxFlags\GetFFlagUIBloxRefactorCreateImageSetComponent.lua +c266c859a0a0b1069d85fddbbde2c5bf,ExtraContent\LuaPackages\UIBloxUniversalAppConfig.lua cba8ce0306350491e2cd4e148bda203c,ExtraContent\LuaPackages\UniversalAppPolicy.lua -67436a1912343eb43b41fb58070af461,ExtraContent\translations\CoreScriptLocalization.csv +cfc53b4a989a80cf2e72ecc7019d15b6,ExtraContent\translations\CoreScriptLocalization.csv 09946e9ea0c1145e399c6adccede8e7f,ExtraContent\models\AvatarContextMenu\AvatarContextArrow.rbxm -d0aaae950e95afac69cb8631fb09d8f7,ExtraContent\models\DataModelPatch\DataModelPatch.rbxm +a37cecbbf48d09f548125d7996fdab18,ExtraContent\models\DataModelPatch\DataModelPatch.rbxm a96838807ab3610260919a4be87821e5,ExtraContent\textures\sky\white.png d26ef00c3c75c431aee48f66c8376a9e,ExtraContent\textures\ui\AvatarExperience\AvatarExperienceSkyboxDarkTheme.png dff449ee4d85889738099252c0febc3d,ExtraContent\textures\ui\ImageSet\AE\img_set_1x_1.png @@ -5302,27 +5323,27 @@ c9c36db4639944dc74f4aa940263fb54,ExtraContent\textures\ui\LuaApp\icons\ic-ROBUX@ 51f12487e0bb28fe5572c515945cf0f6,ExtraContent\textures\ui\LuaApp\icons\ic-view-details20x20@2x.png 0cd0a3621c9f57b080f96c3767b15b3b,ExtraContent\textures\ui\LuaApp\icons\ic-view-details20x20@3x.png a1b942815b6c9b877a13a1b4797ed549,ExtraContent\textures\ui\LuaChat\9-slice\btn-control-sm.png -f7ec00d2cbe19531d198cd5e6bc2a839,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble.png -4aa6d2f28e891bf337987ceb2ec9266f,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble@2x.png -34df777e41be254c70bbb78b1e4a2051,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble@3x.png -ee0babca74f0df2e4fb50438b4c86634,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble2.png -b733473a30b1bc86baf1ddc884e8acac,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble2@2x.png -dfdad109225e31f1f6595e02c24c0a21,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble2@3x.png +0b77c95d1f74d3401e24519e35109925,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble.png +6b188d65100125ce3a04b79e0d3042e9,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble@2x.png +fab4a88111fac6218f1be85972a8be2b,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble@3x.png +2774ef5b2d4ab1d52b9b708337a1807d,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble2.png +de7b9e1f25ebc37b62eefa43e5b4d3d7,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble2@2x.png +87a1a7518927b010de594b61860bd2b7,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble2@3x.png a05851bb37bcf2d27aca595a94ce1a92,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-right.png 63374e0948afe3e67c8b653a22e7c077,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-right@2x.png d701eb6920f913e4f9ae63be5d089930,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-right@3x.png -5d0baecb5df23b1403c3af8a404014af,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self.png -14687590e50d913de2891c4b06a4f975,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self@2x.png -7bd9d6bdce83e2c89d555d945fb66cac,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self@3x.png -e694a2f6fcf068346d3d29dc6141122b,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self2.png -1cf9683a3f5ee68ca220491db7c351a6,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self2@2x.png -cd4ef464e7bd022f54df2c62a3df56f3,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self2@3x.png -806f2c88daed2a4aa203ad8c8aa8f9e7,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self-tip.png -fdf5aaa741a16bb7d5eec76136bf1d8b,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self-tip@2x.png -128614f488b6dae407317eea1e6c807a,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self-tip@3x.png -4843aab35e6cc2ea3a1750914cabcd1b,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip.png -8dc7726558d3831afaf93195593d7a20,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip@2x.png -198ee10332e25d4d2d87cfbd2ad46b0e,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip@3x.png +e5f97d628202cb470d5abbbc8fa38116,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self.png +a9e9e24b84c7458c0eb5376284fa905d,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self@2x.png +c3a6727d879f75a6de2d46f177729171,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self@3x.png +26bcd445175e94c7b42fcf176c6ec191,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self2.png +bab44a8de6f6de55e1468dce5dc47d90,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self2@2x.png +df07187c042dbc67111026b4ad1208f7,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self2@3x.png +fe108e6f8fee0b81edab00681952ac77,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self-tip.png +8e1a152c617a7f0047a3a7ce62a27988,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self-tip@2x.png +1f84a08a667437893eaa675aecf537d9,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self-tip@3x.png +b895261f923fcf0fe2130db16324f0dc,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip.png +8af80bff1b31526d5050fd315ff141cb,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip@2x.png +0147e35904e6d47d9684d7c9880068e6,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip@3x.png c2fbe9a34d72b68334c83d4b8e4d504f,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip-right.png 0ef2fa98c238f1dea0506e8ba2d40135,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip-right@2x.png 297ae196a563bd3ec9a57fb9cbde169d,ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip-right@3x.png diff --git a/rbxManifest.txt b/rbxManifest.txt index 1d58f05f44..a38f2a634c 100644 --- a/rbxManifest.txt +++ b/rbxManifest.txt @@ -1,235 +1,235 @@ BuiltInPlugins\AlignmentTool.rbxm -d159bf3ca99b82e3800ccabddbf08a10 +ab0af4c744ad351306761ae705ce0415 BuiltInPlugins\AlignmentTool.rbxm.sig -6a7b4f6dd848062c579ba5f8fb24d6f0 +619855a3dab8d87ca7ae3403eec615a9 BuiltInPlugins\AnimationClipEditor.rbxm -f6bfbb631316eab94daf1f39dd38f540 +3a2bd719e8bcf3dabb2194345cc88abb BuiltInPlugins\AnimationClipEditor.rbxm.sig -e0a78803ce6c410a91c035ff873fb0b4 +7f597e0124186a6ca0c7dec032d88802 BuiltInPlugins\AssetConfiguration.rbxm -ce20f99c00657a22ce5692a7558fd51c +84510a2734549c8eb16d6ce606dd1f7b BuiltInPlugins\AssetConfiguration.rbxm.sig -b0c03ffdf62b4092b08308150de18af2 +af90803e644a931a191a657a3012046d BuiltInPlugins\AssetManager.rbxm -5571e7e547dec8c510ab89400bfd7cc0 +f66600e8c4a5bd94bdd0533fa1635b5f BuiltInPlugins\AssetManager.rbxm.sig -99b23accffe2b1e388392f1cee87e66f +b6fb6049706efe283e7113a0d8c12f6e BuiltInPlugins\AvatarImporter.rbxm -d8709d464fec26e850ac64d11d638c12 +fce4db14da89dd9514dfc8ddac6de77a BuiltInPlugins\AvatarImporter.rbxm.sig -567f6679e0df318742d7cfcb38e9edf7 +330071c412589c6aa216f2923450c732 BuiltInPlugins\BetaBuild\AlignmentTool.rbxm -88c12846d5e3a09601844c91f0918530 +9fb573d88dd4af3ef83a5b22083ec699 BuiltInPlugins\BetaBuild\AlignmentTool.rbxm.sig -943c67fcaec21ea69c6c3e0c3f178e6d +22945c2d220eba9d7e29cf67f057b350 BuiltInPlugins\BetaBuild\AnimationClipEditor.rbxm -29e38bc8a95f6cefed0f0e3a1c2fbe4f +34c21383b576edc6b68080b2b6bbed8f BuiltInPlugins\BetaBuild\AnimationClipEditor.rbxm.sig -c41954426cd31b493fae311506e296db +ae42b7d446eca918529e7f981784c8f1 BuiltInPlugins\BetaBuild\AssetConfiguration.rbxm -70a1cbe45fbc90bad335736e95571fdf +646079366fa5cea0a0fcf3626e6177a5 BuiltInPlugins\BetaBuild\AssetConfiguration.rbxm.sig -3a4032332f1db098b3ff78c1091374e0 +c16bb5aec6286fb90997bf918adf8441 BuiltInPlugins\BetaBuild\AssetManager.rbxm -2d7682c12fd481d4362314010390df0a +807da2f2a9e26ebf0c3d7ac5543b3e87 BuiltInPlugins\BetaBuild\AssetManager.rbxm.sig -bdc225377ba9ad7b0acea04d9a4137ad +73d53a0f4890da128980cddce2202977 BuiltInPlugins\BetaBuild\AvatarImporter.rbxm -f335dc4222faaf499d3d272b227b2e1c +e8facf42c79ab64bfdb15a8b1755c7cb BuiltInPlugins\BetaBuild\AvatarImporter.rbxm.sig -1c6908b959ef0b5886eb3d4ec8c0939c +36b2000b5558d6a4fd65347e9409473d BuiltInPlugins\BetaBuild\ConvertToPackage.rbxm -d5e39359a92d46a2745b692408bf82c7 +58404abb10df0fd37a9583b5cd2c916d BuiltInPlugins\BetaBuild\ConvertToPackage.rbxm.sig -e508ee7762a44caa657e0a927da5d85e +cb41b2fb90f459302bd9331e870e2773 BuiltInPlugins\BetaBuild\DraftsWidget.rbxm -825b6bb808529d3ed32c5b88849b35a7 +fe427593105f1c3b0828d381fd40d21d BuiltInPlugins\BetaBuild\DraftsWidget.rbxm.sig -1803c286575206149d7e86cfba8ef999 +29808a62676290b606a69f1e7626d9ea BuiltInPlugins\BetaBuild\ErrorReporterBuiltIn.rbxm -a8bb9ce3b1a37d12dacfcb915fb87ce3 +bf35c537fb6fc52d0f2a3f49304d9950 BuiltInPlugins\BetaBuild\ErrorReporterBuiltIn.rbxm.sig -b1432cd03b24ffe73a5e37ed47bb7f87 +c1de906685e068b5397e1c96ae5f525a BuiltInPlugins\BetaBuild\EventEmulator.rbxm -d93d01737d024873b8ea5c09fab4022a +af42e86d5d7cda8953cd2f025ec10bae BuiltInPlugins\BetaBuild\EventEmulator.rbxm.sig -4194bdf4a8aca20060b820dbe24a89cd +f318220a59438b1ca537178edb9bd669 BuiltInPlugins\BetaBuild\FrameworkCompanion.rbxm -d97d907a01d1b2a976e094f6836f6502 +86e6c3ed2b865973c0eb13af3698bc4d BuiltInPlugins\BetaBuild\FrameworkCompanion.rbxm.sig -03edb10db62700908a4aa5fab8182e11 +3e32c8e4f7a279b2c41530347b9df12d BuiltInPlugins\BetaBuild\GameSettings.rbxm -0b0ed8f9a621708c66ea0f5d25c1dd98 +723659c724cbcaaa3b3f2a17ceb014eb BuiltInPlugins\BetaBuild\GameSettings.rbxm.sig -8cc385f19db85c61850829f53ef44120 +8410acf8cc878604ffb124cf27af15ec BuiltInPlugins\BetaBuild\LocalizationTools.rbxm -49e4ddb523eb96ebecfed8c5ef8cc594 +87fa810b8eff6640fa4d18804a417871 BuiltInPlugins\BetaBuild\LocalizationTools.rbxm.sig -447c4d9affd4b3c89807090fa56c9ba0 +fccbe7005da53587114d75cf85c93669 BuiltInPlugins\BetaBuild\MoveDragger.rbxm -eeb5f0490898cc0bca6ed899db5dfd55 +44188c04d07dcb36c841c2e1df848026 BuiltInPlugins\BetaBuild\MoveDragger.rbxm.sig -d84fe52a20d17549acbe9e43dd5c0632 +2b13c49a3e3cf800a86f639680f0559f BuiltInPlugins\BetaBuild\PivotEditor.rbxm -90c15b6e271d9b52d8216a954ce2196e +a356b58cdf5925bf59b995921804dd2f BuiltInPlugins\BetaBuild\PivotEditor.rbxm.sig -c71eef5fec2f0237c20c0cb2d9c6dd6d +ecf921b4e125772d3a4d6ece5f03aa31 BuiltInPlugins\BetaBuild\PlayerEmulator.rbxm -60076105d9fcddbded68b04b6da1303f +61e494894f7b0886b161e7d9b1afde9b BuiltInPlugins\BetaBuild\PlayerEmulator.rbxm.sig -33e812238babd5d92133639741482460 +0a96e54a2fe819f5d901ab743b970cae BuiltInPlugins\BetaBuild\PublishPlaceAs.rbxm -bf97ade7f5c4b50a191aa139f4c940c7 +b816e37fe777c153f92c8d00956d1218 BuiltInPlugins\BetaBuild\PublishPlaceAs.rbxm.sig -81b08d37d825fe5cf367ec2c092fbfb4 +c0f32bfe4bad6adba7b19c3e8e862396 BuiltInPlugins\BetaBuild\RigBuilder.rbxm dfea3ae02cca69586fbfd28f6b03cc48 BuiltInPlugins\BetaBuild\RigBuilder.rbxm.sig -e5f44bbf3dff8b3eb2095685916e4dd7 +33aff24560f97ae864f277a1aba48ff8 BuiltInPlugins\BetaBuild\RotateDragger.rbxm -81acf62b36804d5888dfd7c81d198caa +79c0a1193d1faf196e04e9e33f6f7215 BuiltInPlugins\BetaBuild\RotateDragger.rbxm.sig -a1ec82cb7eff2e8f2c7dbe755f592cba +eb18d41bba20ee98e1de2daeaa2b74a7 BuiltInPlugins\BetaBuild\ScaleDragger.rbxm -2823424570242c2ec3df55378e45824b +e4f1f57cb2dba61cf6a42046fc5f8bba BuiltInPlugins\BetaBuild\ScaleDragger.rbxm.sig -e7988f1e3442534b401a191e74eaca17 +fc11f082ec385cb59e0567d0ffd65096 BuiltInPlugins\BetaBuild\SelectDragger.rbxm -a30298b09ad8bc5eaf62bd7b9b433995 +52fd2e5c4f5696999030320ad599cde1 BuiltInPlugins\BetaBuild\SelectDragger.rbxm.sig -46c08bd575cdaa6884476534e6663609 +3e8c2fe9282bf28b78167f2b484ae90f BuiltInPlugins\BetaBuild\TerrainToolsV2.rbxm -5befdadbe14cc754e248dd3347d293d8 +d1e2fd0ec9c58c27e0dcb1796f83bd8a BuiltInPlugins\BetaBuild\TerrainToolsV2.rbxm.sig -67c7e4d538775b1133ce64a79523201b +7ff866a5f0800c3895df512ef3028b84 BuiltInPlugins\BetaBuild\Toolbox.rbxm -d6eb01d81e3633d69fc07fe0c54f0cb8 +cc2bf81c78054f7216d9ffc347ea7a89 BuiltInPlugins\BetaBuild\Toolbox.rbxm.sig -005133f2caf4be4def3a8b4dcf9a94c4 +96689e5bb2112acc5b0b45eb8da44190 BuiltInPlugins\BetaBuild\UIEditor.rbxm de097aced26ba8e30460d901e1c745ce BuiltInPlugins\BetaBuild\UIEditor.rbxm.sig -848a114e10fc214a04fd184ceebdf426 +4b220d12d36015fa536dfa239abb5b74 BuiltInPlugins\BetaBuild\ViewSelector.rbxm fe845e6b83f896260fb32309cad30e37 BuiltInPlugins\BetaBuild\ViewSelector.rbxm.sig -fa759198e15c9a09dfa6651eaf7880ad +28a794b4a8a24d1dd3d170c8da6f26b0 BuiltInPlugins\ConvertToPackage.rbxm -2e495aea69f3250063702fe026ae1087 +4e3ac9539e41336ea37dcd6d36aae2bd BuiltInPlugins\ConvertToPackage.rbxm.sig -fa294ba4a25012267a04918345973e3b +268fa1dd4650b16f34f7d48b7ed2eeca BuiltInPlugins\DraftsWidget.rbxm -844adef00ff7dbd317c35f483213f5bb +55a6e198ccf8196634611fdac17629cc BuiltInPlugins\DraftsWidget.rbxm.sig -1fbfeb7a061397421904fb6ff2294a54 +05d3d3f5eef008edf234d4c76facb36e BuiltInPlugins\ErrorReporterBuiltIn.rbxm -4e890b6031b01ce7d1c27e7d88525ce5 +8c8d0e3aa1dd7f229777777dcbc97b20 BuiltInPlugins\ErrorReporterBuiltIn.rbxm.sig -c193d1be9cf0422aeb02db30d5aa12ed +a9eb8efa14d6ddd1b7f2330823d9388b BuiltInPlugins\EventEmulator.rbxm -bd099c4b2071eb8c4ab81377006525c0 +7f05987df638d9742e0ab41754ecf034 BuiltInPlugins\EventEmulator.rbxm.sig -83ef179c0b2f9f98f9517b76c21890b4 +ce664dbca75f0bb79985b891da591e7f BuiltInPlugins\FrameworkCompanion.rbxm -708753abc09bd1dfd61e8b3a368bdbd1 +44908d99a561845c6a9fc980c018d277 BuiltInPlugins\FrameworkCompanion.rbxm.sig -d4a67ef37323dff61bbf7f9371932d41 +94f6777ee166d0a0352d45093b157764 BuiltInPlugins\GameSettings.rbxm -9262a81911ba1a3a72761d5b75a1c075 +58dd1b55ee9c0f32f93bfd65f9da1653 BuiltInPlugins\GameSettings.rbxm.sig -b4c883d39525a050756bc9291d0c11f1 +7ee30121cddaf387a84bf259ccf97ae6 BuiltInPlugins\LocalizationTools.rbxm -58d0be7367508ba19224d86d55c7c3cb +aa856d177ec6fd6083a3943fed15eb4a BuiltInPlugins\LocalizationTools.rbxm.sig -fd14d9c7efbc23a0cd15edb4d7a1204d +495ccbcd23d92113eeceddcaa336ab23 BuiltInPlugins\MoveDragger.rbxm -f5d24d6b3b159c7db07f57b223ed06ae +bf74712ebfe4b33a02e4a1e83b64979b BuiltInPlugins\MoveDragger.rbxm.sig -7d4bd2432991c74c4cbc858aff2c4105 +24af706bdbb18ed89450f0ed1623b6f6 BuiltInPlugins\PivotEditor.rbxm -79c7dd345a16f9f4b3394081f016b5e2 +83784f665586e5c8d215f8a77baea383 BuiltInPlugins\PivotEditor.rbxm.sig -48ee41299801224c7061b1d3f8065a7c +8fbdcb556b5c2f768ec098d9dcc36664 BuiltInPlugins\PlayerEmulator.rbxm -6e16237ce3a154448f62e8e17fabb38c +d1745006ccc22234bfca45c0904d881a BuiltInPlugins\PlayerEmulator.rbxm.sig -c2afc225fa8bd04d14c9cda579253625 +2f0eeaa803f4f211f85f51930b2e4e83 BuiltInPlugins\PublishPlaceAs.rbxm -7d97d383bd636941c2981a293c21c4d3 +bb4eba1eb31231a98a97e94f0c97268b BuiltInPlugins\PublishPlaceAs.rbxm.sig -9982c25d55d3714a4274db9a009573c9 +6f15d21ca9c62de51b5dbf0acd6a6ab9 BuiltInPlugins\RigBuilder.rbxm -11f3076450d1b194c9d62e402f931742 +a83b81e5ba59f39738be89f255451fc4 BuiltInPlugins\RigBuilder.rbxm.sig -5368250ca67ee4c36b1c5e2e66de32f3 +5a9dbf44fe1409df8f448e6aa16e3ab5 BuiltInPlugins\RotateDragger.rbxm -028daca89217666f2971fb7a3899590a +7ed7b4558887aed5d17506320f24d2c1 BuiltInPlugins\RotateDragger.rbxm.sig -a7dd833426f2721dde8480d564fc7f1d +6a4ce957fadf4b5d7746846dcb2e5531 BuiltInPlugins\ScaleDragger.rbxm -32b62caa7d2cd5dd2562623918d9c2e3 +b50810fa0a7a59ba6c4eded29317417d BuiltInPlugins\ScaleDragger.rbxm.sig -256bf925109611a02146d3e7b4260d29 +6f4447340ef9bfd7e5319204913d067a BuiltInPlugins\SelectDragger.rbxm -b9a59e4a32de64fb2bbd13410c43cb5c +d0dde03ecec3b9dacbeb84868e3417ea BuiltInPlugins\SelectDragger.rbxm.sig -69a6f2cc04267516821c3ad200af4f86 +637f071a5bcd173b8e18a378c2b08479 BuiltInPlugins\TerrainToolsV2.rbxm -9db1d1d756dd04b598444af0a369ee7e +2b58f8c2235041b2b4bead13e2644329 BuiltInPlugins\TerrainToolsV2.rbxm.sig -9db2b854d9174ccce70a31e11fcb4f76 +327bef5894530fadc1c3bedd239d57da BuiltInPlugins\Toolbox.rbxm -d022ba6cedca45647ce2dd64b2e40b8f +eec33564b27352835e3da00d01e25528 BuiltInPlugins\Toolbox.rbxm.sig -891ca26cb99a82ce04fe241e2ffc118f +ae41d933fd03a38d6f11b7fbdb5cc056 BuiltInPlugins\UIEditor.rbxm -e55a139a396969941906a9b3ca6ee708 +27942dadb2765e763f244ed226afc590 BuiltInPlugins\UIEditor.rbxm.sig -89f600ed684480637264b07e1dd7e3d3 +d5564ad9f4ff6a8e76c710e706b032e4 BuiltInPlugins\ViewSelector.rbxm -77f5189bda298402bbc99e512b4252c9 +f5a13618bc1d3376cc3308f439e3f732 BuiltInPlugins\ViewSelector.rbxm.sig -e1c08a26138bcc002ce9367a0598989a +b8ea83ef4dfbd4332f4aa6461ab3e435 BuiltInStandalonePlugins\BetaBuild\CollisionGroupsEditor.rbxm -85ec99bf37712479015e518088386a62 +5babb7a413f99e0415f799007c95fb1a BuiltInStandalonePlugins\BetaBuild\CollisionGroupsEditor.rbxm.sig -28c7775720faee61db2d50c25a6f13cd +c141e6dea6e275572e5c9f5f6e045ae1 BuiltInStandalonePlugins\BetaBuild\ErrorReporter.rbxm -ca6554b90e87885ae42b829857a7e872 +046df0d52f46d0689a68593ff125047c BuiltInStandalonePlugins\BetaBuild\ErrorReporter.rbxm.sig -c853dafa5df88cb5a1106a353e92d9ad +4427150b870f5e30737695d0715cbea4 BuiltInStandalonePlugins\BetaBuild\PluginManagement.rbxm -577d1e8871b165ce6a49d0a7fb194a42 +8bbeff023d19c3a0fd6cec94c93ad403 BuiltInStandalonePlugins\BetaBuild\PluginManagement.rbxm.sig -445973766f0f26b427416b3bb5823fd3 +3405a3d1fddac3ba35aaabe78defd76f BuiltInStandalonePlugins\BetaBuild\StudioSettings.rbxm -ad4341ca98cb196e85afc307732835d4 +db2b91b530d60e4159e8c2fbd003a679 BuiltInStandalonePlugins\BetaBuild\StudioSettings.rbxm.sig -1ae23878497bcedd3fbeeb022e8c8142 +ce7d71441bf28606ed1dc31ea034958c BuiltInStandalonePlugins\BetaBuild\TransformDragger.rbxm baf7316da7f6198d1eff4f2ff48f3e25 BuiltInStandalonePlugins\BetaBuild\TransformDragger.rbxm.sig -59a1a91f27799e7f06e3da02e2a24e19 +e5ef0ad2680939ad2d35891dbc0f18f7 BuiltInStandalonePlugins\CollisionGroupsEditor.rbxm -4ec4258597fa85091f83312ee51892c3 +6d9ac86dd5467e111541a5e1380a5ef6 BuiltInStandalonePlugins\CollisionGroupsEditor.rbxm.sig -54dcc8c2ca61bb2177664583a92e0c4b +2bd588d4535076c139fe90115c818751 BuiltInStandalonePlugins\ErrorReporter.rbxm -8597fef88b67e954fdff24b368d29893 +aba5cdf30951d2bd6a6028d03eef27fb BuiltInStandalonePlugins\ErrorReporter.rbxm.sig -dcfb418adff48168e7797650bbd953d5 +83df7a793f7c5c05971fb1af19cb2bef BuiltInStandalonePlugins\PluginManagement.rbxm -b4514ecdd60fa76d5f36592d6033da73 +5a46c5b91bf4ffbe5dd0a8d0c0504411 BuiltInStandalonePlugins\PluginManagement.rbxm.sig -4ef8121233df06aa8f5a783ec8d6848f +932f1dca5cd0145f5e01e703672e7dce BuiltInStandalonePlugins\StudioSettings.rbxm -aad78d87bdadd2e487610ad843c9731a +e430cce1995e699ae9f07ae42cb938cb BuiltInStandalonePlugins\StudioSettings.rbxm.sig -563127ceb8525ca8be9139c9e2f5855d +bcdb362f095f9855026409e60ac7f0e2 BuiltInStandalonePlugins\TransformDragger.rbxm -1eac8ab8a3c427a2b7b0c5db0bc5e8f3 +66a6092965248a5128adeab22b9f665a BuiltInStandalonePlugins\TransformDragger.rbxm.sig -27011ec44a07eacb2c2f01eecc3f5275 +522063674e61fb61489777991a52e634 Qt5\imageformats\qgif.dll 91beefad538bbd6aa1478db2c068d51c Qt5\imageformats\qjpeg.dll @@ -731,11 +731,11 @@ ce2b54543fa7f0106ce87817519927b1 QtQuick\XmlListModel\qmlxmllistmodelplugin.dll 4c18474f6ceef1652e02369644a662b6 qtnribbon4.dll -76376c7f4239f596d54eb06f5584451d +cd0ab8542d241af5fea90bb59e2a60af ReflectionMetadata.xml -a964e0a2b982210cec5e9276d80fa4ca +4538d2b1626d94b64ff3be3a5c133b6d RobloxStudioBeta.exe -f66c1c4d7f074ad77e690df38bee1751 +ce648e62c8aa11af1c3340b89a467ac1 RobloxStudioRibbon.xml fdaf6d1b2a93fb3adfaf8bdf9c626c21 d3dcompiler_46.dll @@ -905,7 +905,7 @@ content\avatar\scripts\humanoidAnimateR15ScaledV3.rbxm content\avatar\scripts\humanoidHealthRegenScript.rbxmx 55ee96b3b08e4298935580d819ad2e05 content\configs\DataModelPatchConfig\DataModelPatchConfig.json -857dde82cf4d9b03f9f45642247ebdc8 +077b5058575f9b5e46f528b5e38ac8a8 content\configs\DateTimeLocaleConfigs\de-de.json 70838582dc54066f9e86b7c98237cf19 content\configs\DateTimeLocaleConfigs\en-au.json @@ -1138,8 +1138,12 @@ content\qt_translations\qtwebsockets_ru.qm c2674c393f7d2afb4efad5d153c1e881 content\qt_translations\qtwebsockets_zh_CN.qm dfa0fd96c38742f74d312133eda3d45a +content\sky\clouds.dds +0a66e4d41c5cb12a555cdf95d964142b content\sky\moon.jpg 10ece876a6e237350af036debdddebab +content\sky\noise.dds +1034802e616b1c6b92f7ea52f37b44b0 content\sky\sun.jpg 3acab22ca5aa5c85ca0f31d6fa553dc3 content\sounds\action_falling.mp3 @@ -1154,30 +1158,26 @@ content\sounds\action_jump_land.mp3 8c9cf30099e86cd65054666267991fc9 content\sounds\action_swim.mp3 debc362e53b735a39b95876ac1187732 -content\sounds\bass.wav -6953886878eef127f41c531af2c200a7 content\sounds\impact_explosion_03.mp3 882fb4dafa3a13ffbc03f1eeb300a937 content\sounds\impact_water.mp3 c5d4d91a6b8f25401055492caaa2a092 -content\sounds\snap.mp3 -55946a313778cc97c88974760b048480 content\sounds\uuhhh.mp3 45c2057aa7710a58c46073a73f83cabd shaders\shaders_d3d10.pack -abba3fe1e2513cd983e590048e126803 +f9cc082c607e9d3655437e428dbb3f7f shaders\shaders_d3d10_1.pack -41d4d9d8eaffb8d8e84a190af5282121 +9efad63edf9a82edc464840d24f48f28 shaders\shaders_d3d11.pack -99d9beefa25ff30e64ac94d511931697 +9053b735ffccd56d876c77e4367310d1 shaders\shaders_d3d9.pack -8f7a2d5eede42006b75dc75fd3616bb6 +0020ec2b85eb4926d65a9d5fffcc96bb shaders\shaders_glsl.pack -9a8f1be07882ddd386fed4cffa4d9eb3 +89822c71a055f6f8331be1b10098456f shaders\shaders_glsl3.pack -700a8baf7ffae26c28761a838aad41d3 +abbebe8a636fe6d88564805e7feb2be4 shaders\shaders_vulkan_desktop.pack -7a6d59fcb52c530e5c5edbfa4815d92f +31dc3fc67318da6c8d785211e216e8b7 ssl\cacert.pem 39d78797902a505997beacb1bafa7c75 content\textures\advancedMove.png @@ -1640,6 +1640,22 @@ content\textures\DevConsole\Sort.png a2c4f55a6b2891c9ea2e7c7d546dccf2 content\textures\DevConsole\Warning.png 2d437bff76d569b70123c60bb203ae1c +content\textures\DeveloperFramework\AssetPreview\close_button.png +d477fe1707aaae5375a4a68ba271d7f5 +content\textures\DeveloperFramework\AssetPreview\more.png +43aab57b1fd2cd1a6bbb780ccfabd67b +content\textures\DeveloperFramework\AssetRender\hierarchy.png +7c2f300d95773f2c3a27b159a4da3c76 +content\textures\DeveloperFramework\AudioPlayer\audioPlay_BG.png +2321a64952cf4a756862011968459fb3 +content\textures\DeveloperFramework\Favorites\star_filled.png +21adb66511447a9bb5c0742c3f6830e6 +content\textures\DeveloperFramework\Favorites\star_stroke.png +c55c40aacdfa18c7b8aa41b4ab1f7223 +content\textures\DeveloperFramework\MediaPlayerControls\pause_button.png +86d904eaca21d41718a1d70c6c10807b +content\textures\DeveloperFramework\MediaPlayerControls\play_button.png +682faa11af8256ffd2e18c3f600f4c00 content\textures\DeveloperFramework\slider_bg.png cf0e098253e36938314bd4cab4953fbd content\textures\DeveloperFramework\slider_knob.png @@ -1648,6 +1664,8 @@ content\textures\DeveloperFramework\slider_knob_light.png 8f9599198ac3412c1db68ebf9e2c21e9 content\textures\DeveloperFramework\slider_knob_ouline.png f8c47623df8c7f942e76435d31fd2daf +content\textures\DeveloperFramework\Votes\rating_small.png +efe814b37ecd45701803cd3f3525c7d3 content\textures\DraftsWidget\deletedSource.png 2fa8a22b3c7998ad4a41d172131b4294 content\textures\DraftsWidget\newSource.png @@ -3782,6 +3800,24 @@ content\textures\ui\Vehicle\SpeedBarEmpty.png b8227949c29a1cae398219375a89e72d content\textures\ui\Vehicle\SpeedBarEmpty@2x.png d6647c03bec7612b71a9c1731e237d5c +content\textures\ui\VirtualCursor\cursorDefault.png +a6aee4ea5754dddb470bce6ea6806e59 +content\textures\ui\VirtualCursor\cursorDefault@2x.png +29c9ee1699c4d528b39875d1d89ed927 +content\textures\ui\VirtualCursor\cursorDefault@3x.png +7cc55e9db921268ed37e5e701958de4a +content\textures\ui\VirtualCursor\cursorHover.png +8ebabc9f4e020c6831cad23cdbd3feeb +content\textures\ui\VirtualCursor\cursorHover@2x.png +a0212baee0b5bfad416444ac7b5df542 +content\textures\ui\VirtualCursor\cursorHover@3x.png +19bb2352db2f6e09b09af44a015f64ff +content\textures\ui\VirtualCursor\cursorPressed.png +3668dcf78c01e696c4702734f37088a2 +content\textures\ui\VirtualCursor\cursorPressed@2x.png +6ecda388279312579b1a5250f580330e +content\textures\ui\VirtualCursor\cursorPressed@3x.png +35acea5bca5f4b4b5aa1008f37729d5c content\textures\ui\VR\button.png 32a54088bd48b6df9f3b9dcef5afb46a content\textures\ui\VR\buttonActive.png @@ -4181,7 +4217,7 @@ ExtraContent\scripts\CoreScripts\CoreScripts\PerformanceStatsManagerScript.lua ExtraContent\scripts\CoreScripts\CoreScripts\PlayerRagdoll.lua 912132f61a2946959b7fca3761007cc9 ExtraContent\scripts\CoreScripts\CoreScripts\ProximityPrompt.lua -b4c84aea8705ba13dad1035b3734d95a +4dbdbfda7b830045299b4abe424863da ExtraContent\scripts\CoreScripts\CoreScripts\ScreenTimeInGame.lua 1ff7d9e443c11ad865f73d53496962ed ExtraContent\scripts\CoreScripts\CoreScripts\VehicleHud.lua @@ -4227,7 +4263,7 @@ a9fc1981e969ee70cdc8d538902a24fb ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\Connection\init.lua 4cb72f242d9fd541ab5b3b43838d4b89 ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\HumanoidViewport.lua -c3fb486b25456d0af7a0d207a38998f3 +34daa1ec9bf5b0eba2f033dbf15cbf53 ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\ItemsList\init.lua 26201534f050013c78c63b65c14f48f5 ExtraContent\scripts\CoreScripts\Modules\AvatarEditorPrompts\Components\ItemsList\ListEntry.lua @@ -4333,7 +4369,7 @@ f7db5213ce2ab9c72741039447985869 ExtraContent\scripts\CoreScripts\Modules\Common\GetDefaultQualityLevel.lua 10404c2138a41026fdfbaec5fa1b8ec8 ExtraContent\scripts\CoreScripts\Modules\Common\GetGameNameAndDescription.lua -8c83605b3b58b275655f053bf5d2ba57 +280ef891ceb29f01b023f52122697521 ExtraContent\scripts\CoreScripts\Modules\Common\HumanoidReadyUtil.lua 29ad183ad4dbab4cc4b8723f31be9357 ExtraContent\scripts\CoreScripts\Modules\Common\LegacyThumbnailUrls.lua @@ -6473,7 +6509,7 @@ ExtraContent\scripts\CoreScripts\ServerCoreScripts\ServerSocialScript.lua ExtraContent\scripts\CoreScripts\ServerStarterScript.lua e357ca49510dd144d4a18593d1ca7918 ExtraContent\scripts\CoreScripts\StarterScript.lua -dc03ad893abed36e09bb5c2be49be4df +6b4292e6e14f995f2c997876102d14a6 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts\CameraScript.lua a8d5e8942f706c8d47e704d4a89716b2 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts\CameraScript\ClickToMove.lua @@ -6537,13 +6573,13 @@ ExtraContent\scripts\PlayerScripts\StarterPlayerScripts\ControlScript\PathDispla ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module.lua 799c5ff560d5355ec6f20d696b645f13 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule.lua -b730884118b43d752f7e994451a518e9 +fd4b646bcbff7ded25599be4ca3697df ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\BaseCamera.lua -5a20802a8eaddcac4ba11f8ff494419a +9af5b4a13c835cd8ff49aae73ea16bab ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\BaseOcclusion.lua e9c70321d250470a6d9ad1af20e1a210 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\CameraInput.lua -6baa75496ce068ecf150e56bf3b99670 +95e9e138e26e373599357c5c6a0160b2 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\CameraToggleStateController.lua 7dd342a784d3a4143e4e6e256fbb4473 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\CameraUI.lua @@ -6551,21 +6587,21 @@ a088ec27c2a329c89d464069cf1ad4fe ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\CameraUtils.lua 75827a07c4aae1bc0b49eda66a6899bb ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\ClassicCamera.lua -1bca689daa31964cb20f99299ef0dd74 +5e63117aa5b740a4f5346d08ff2686ee ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\Invisicam.lua 39176038c5cb3bd3706b66429137b456 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\LegacyCamera.lua -d0a788d5c0eae1c28cb904354bcfaeb0 +a8abe04669838e055b1aeaff44909956 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\MouseLockController.lua e26d1983a0087ef0d5ac32c5d95d21dd ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\OrbitalCamera.lua -95fd87cc761653977bff13b2bf768ab5 +39726e8a629ce405dd40a47823132c36 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\Poppercam.lua 4a418f8153af0a05de7dce56935b1e14 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\TransparencyController.lua 2c2acda69064bca398f565dc57ee758b ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\VehicleCamera.lua -c3d0727c8a7edb714f64f8c5f59a5c04 +3eb86a52b3e7df02f003be6f4f505bfa ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\VehicleCamera\VehicleCameraConfig.lua 92a869b8e47502080548d6c79409278b ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\VehicleCamera\VehicleCameraCore.lua @@ -6575,7 +6611,7 @@ df5096bc043e6455f452f67adfaf5a39 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\CameraModule\ZoomController\Popper.lua 19fda90cd54a89380fcdcb2d9b1fb4b6 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\ControlModule.lua -196075086367516f80c4886a387d228b +da70d29a83d1bf7e69f470a341ec4909 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\ControlModule\BaseCharacterController.lua de8176e39b2a9d5ac61e6a59a9182bb1 ExtraContent\scripts\PlayerScripts\StarterPlayerScripts_NewStructure\PlayerModule.module\ControlModule\ClickToMoveController.lua @@ -7023,7 +7059,7 @@ ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\Cryo.lua ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\InGameMenuDependencies\init.lua 0b39885b35b1831e45b6803e033c5cfb ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\lock.toml -2f4888458cfa05ef95bfaf8a0099fbef +92c10e0e3c38d1299f04b13606034905 ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\Otter.lua 5f276c095487802a612eb20c8cd67db6 ExtraContent\LuaPackages\Packages\_Index\InGameMenuDependencies\PolicyProvider.lua @@ -7063,7 +7099,7 @@ ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\AssetCard.lua ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\InfiniteScroller.lua 5ab876a85046b34dc0a6956003a656bd ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\lock.toml -e0ace9a552f7792bf68d052f031c1f2c +46d7a73fa51c79a3886e5b907960ba68 ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\LuaChatDeps\init.lua e6e8b42ef0d4cbdedc27db9bae5c7de5 ExtraContent\LuaPackages\Packages\_Index\LuaChatDeps\RoduxNetworking.lua @@ -7319,7 +7355,7 @@ ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\asset-card\asset-card ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\asset-card\asset-card\init.lua cfc3a1bfe92eb55706d4fae0d0beebad ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\lock.toml -9c64aeee26037dada1ceae139885a0eb +57a12612f6b339bcf41b271c51187fcc ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\Roact.lua 56e11e22899b878524535c78aeabc2b1 ExtraContent\LuaPackages\Packages\_Index\roblox_asset-card\Rodux.lua @@ -7773,7 +7809,7 @@ ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\Cryo.lua ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\FitFrame.lua 3ab96f2198f6b647418085e6606da162 ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\lock.toml -88aa90c35b6295c3fde5d23327f287ea +dcf0736ab56af2aeefc9f5c48f89d46c ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\Otter.lua 5f276c095487802a612eb20c8cd67db6 ExtraContent\LuaPackages\Packages\_Index\roblox_purchase-prompt\purchase-prompt\Actions\AccountInfoReceived.lua @@ -9285,7 +9321,7 @@ ExtraContent\LuaPackages\Packages\_Index\UIBlox\FitFrame.lua ExtraContent\LuaPackages\Packages\_Index\UIBlox\InfiniteScroller.lua 22052813a44e9d2c776ddd504fe5e0f2 ExtraContent\LuaPackages\Packages\_Index\UIBlox\lock.toml -e978d7efb41c895dc9588304183077e6 +2aa023d4014518a61bd3d79333dce6e0 ExtraContent\LuaPackages\Packages\_Index\UIBlox\Otter.lua 5f276c095487802a612eb20c8cd67db6 ExtraContent\LuaPackages\Packages\_Index\UIBlox\Roact.lua @@ -9572,6 +9608,10 @@ ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\ImageSet\Images.lua 003eb79631a25f4e4e97f4d60ef0f461 ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\ImageSet\Images.spec.lua 7615e68f635dd572a1c4830f923f58ba +ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\ImageSet\scaleSliceToResolution.lua +61f3c592e45a194f6d4b6aeb91f315aa +ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\ImageSet\scaleSliceToResolution.spec.lua +c982d92649660d86978180f04bd2d6b9 ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\Indicator\__stories__\Badge.story.lua 6c3da6cdda674c0bb718f931b67dd789 ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\App\Indicator\Badge.lua @@ -9919,7 +9959,7 @@ ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\Control\Interactable ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\Control\InteractableListItem.lua 9f4752da0bb6727c40839d4fd0b08ad8 ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\ImageSet\createImageSetComponent.lua -8601e640d612fc6cac609a57c86c7b93 +dcf4872664ed94856ace3015d9d213eb ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\ImageSet\createImageSetComponent.spec.lua edbf9dfa6a173776250052db39cbe0c7 ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\ImageSet\ImageSetComponent.lua @@ -9993,7 +10033,7 @@ ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\Utility\Symbol.lua ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Core\Utility\Symbol.spec.lua d943048b2c2c420516d95fcb8de139ce ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\init.lua -ff374fe2168362085f6fec71a937b47b +1de573cb63578771c95c3ebf80cc22be ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\ModalBottomSheet\__stories__\Option1.story.lua 546cb646e8563b064b45aa859cab2016 ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\ModalBottomSheet\__stories__\Option2.story.lua @@ -10049,7 +10089,7 @@ ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Style\withStyle.spec.lua ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\UIBloxConfig.lua cc9e46ca74518f15afa74886f0ef8a2e ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\UIBloxDefaultConfig.lua -6b1585886c21cff35ddaa05c30b61ee7 +8d8b27d3a96fd54848da18c7c253b238 ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Utility\createSignal.lua 490229ceb43269ae37d324e81b1dabc4 ExtraContent\LuaPackages\Packages\_Index\UIBlox\UIBlox\Utility\createSignal.spec.lua @@ -10173,7 +10213,7 @@ ExtraContent\LuaPackages\RoactUtilities\ExternalEventConnection.spec.lua ExtraContent\LuaPackages\Rodux.lua 2eab8fc0745cb5897535af9b5032a731 ExtraContent\LuaPackages\rotriever.lock -14513e0b4f901376a5457a7a7be463ca +b183475d8107e74d148be0a8b77dd939 ExtraContent\LuaPackages\rotriever.toml ed7fe9b7148b3d9b46c016c160838117 ExtraContent\LuaPackages\Symbol.lua @@ -10230,16 +10270,18 @@ ExtraContent\LuaPackages\UIBloxFlags\GetFFlagLuaUIBloxGamepadSupport.lua 477208a82e72c8552fc13f917ab8f201 ExtraContent\LuaPackages\UIBloxFlags\GetFFlagLuaUIBloxModalWindowAnchorPoint.lua dd5400d7e8e738c812e2f5226df0c904 +ExtraContent\LuaPackages\UIBloxFlags\GetFFlagUIBloxRefactorCreateImageSetComponent.lua +c021478589da903dc083f2a031f689a4 ExtraContent\LuaPackages\UIBloxUniversalAppConfig.lua -3833f70e8ad26b0df221ab00b0ccb566 +c266c859a0a0b1069d85fddbbde2c5bf ExtraContent\LuaPackages\UniversalAppPolicy.lua cba8ce0306350491e2cd4e148bda203c ExtraContent\translations\CoreScriptLocalization.csv -67436a1912343eb43b41fb58070af461 +cfc53b4a989a80cf2e72ecc7019d15b6 ExtraContent\models\AvatarContextMenu\AvatarContextArrow.rbxm 09946e9ea0c1145e399c6adccede8e7f ExtraContent\models\DataModelPatch\DataModelPatch.rbxm -d0aaae950e95afac69cb8631fb09d8f7 +a37cecbbf48d09f548125d7996fdab18 ExtraContent\textures\sky\white.png a96838807ab3610260919a4be87821e5 ExtraContent\textures\ui\AvatarExperience\AvatarExperienceSkyboxDarkTheme.png @@ -10605,17 +10647,17 @@ ExtraContent\textures\ui\LuaApp\icons\ic-view-details20x20@3x.png ExtraContent\textures\ui\LuaChat\9-slice\btn-control-sm.png a1b942815b6c9b877a13a1b4797ed549 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble.png -f7ec00d2cbe19531d198cd5e6bc2a839 +0b77c95d1f74d3401e24519e35109925 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble@2x.png -4aa6d2f28e891bf337987ceb2ec9266f +6b188d65100125ce3a04b79e0d3042e9 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble@3x.png -34df777e41be254c70bbb78b1e4a2051 +fab4a88111fac6218f1be85972a8be2b ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble2.png -ee0babca74f0df2e4fb50438b4c86634 +2774ef5b2d4ab1d52b9b708337a1807d ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble2@2x.png -b733473a30b1bc86baf1ddc884e8acac +de7b9e1f25ebc37b62eefa43e5b4d3d7 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble2@3x.png -dfdad109225e31f1f6595e02c24c0a21 +87a1a7518927b010de594b61860bd2b7 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-right.png a05851bb37bcf2d27aca595a94ce1a92 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-right@2x.png @@ -10623,29 +10665,29 @@ ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-right@2x.png ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-right@3x.png d701eb6920f913e4f9ae63be5d089930 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self.png -5d0baecb5df23b1403c3af8a404014af +e5f97d628202cb470d5abbbc8fa38116 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self@2x.png -14687590e50d913de2891c4b06a4f975 +a9e9e24b84c7458c0eb5376284fa905d ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self@3x.png -7bd9d6bdce83e2c89d555d945fb66cac +c3a6727d879f75a6de2d46f177729171 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self2.png -e694a2f6fcf068346d3d29dc6141122b +26bcd445175e94c7b42fcf176c6ec191 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self2@2x.png -1cf9683a3f5ee68ca220491db7c351a6 +bab44a8de6f6de55e1468dce5dc47d90 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self2@3x.png -cd4ef464e7bd022f54df2c62a3df56f3 +df07187c042dbc67111026b4ad1208f7 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self-tip.png -806f2c88daed2a4aa203ad8c8aa8f9e7 +fe108e6f8fee0b81edab00681952ac77 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self-tip@2x.png -fdf5aaa741a16bb7d5eec76136bf1d8b +8e1a152c617a7f0047a3a7ce62a27988 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-self-tip@3x.png -128614f488b6dae407317eea1e6c807a +1f84a08a667437893eaa675aecf537d9 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip.png -4843aab35e6cc2ea3a1750914cabcd1b +b895261f923fcf0fe2130db16324f0dc ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip@2x.png -8dc7726558d3831afaf93195593d7a20 +8af80bff1b31526d5050fd315ff141cb ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip@3x.png -198ee10332e25d4d2d87cfbd2ad46b0e +0147e35904e6d47d9684d7c9880068e6 ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip-right.png c2fbe9a34d72b68334c83d4b8e4d504f ExtraContent\textures\ui\LuaChat\9-slice\chat-bubble-tip-right@2x.png diff --git a/rbxPkgManifest.csv b/rbxPkgManifest.csv index 84d819b7b1..dbad770774 100644 --- a/rbxPkgManifest.csv +++ b/rbxPkgManifest.csv @@ -1,27 +1,27 @@ File Name,MD5 Signature,Compressed Size (bytes),Size (bytes) -BuiltInPlugins.zip,63d8be4fac204a935d254910c25ce930,19245360,23251538 -BuiltInStandalonePlugins.zip,2f77a79e9d29b58069b61ee4c4dac103,3855176,4660971 +BuiltInPlugins.zip,0957049b2052f04974a2150ba70039d9,20176393,24378498 +BuiltInStandalonePlugins.zip,970431e2cabb395c01f13aeca8042429,4079751,4929038 Plugins.zip,a21e03dff91ede3102ff4186fd4b6c44,694396,1479168 Qml.zip,ae16d3bf2dac1345fedded48047f378f,1587037,4422016 -RobloxStudio.zip,be166329fc1792116d82f5aecf85fbcb,25607796,59011211 +RobloxStudio.zip,c82667d954af154809dbb2f6500da94a,25592147,58882058 Libraries.zip,142cc8d33fc1ac659ddf266d769b489a,9176818,23426624 LibrariesQt5.zip,5203eedb97fadc4c17cb47991eca3d68,31755327,79163904 content-avatar.zip,fa2d2e791842deb2afa3f3147fb78999,186533,928006 -content-configs.zip,a269873991d93a13e77b3e2681023df1,12886,39757 +content-configs.zip,3ba7e845b3c16e6e8055fbe0d6c30452,12887,39757 content-fonts.zip,75e8a6506aa8ab57581037fc8a16eb24,5686121,11635222 content-models.zip,7a874a687280fde6d0845353a4394179,164925,697120 content-qt_translations.zip,83e226e24d2a3368323959437ee4293e,247879,815789 -content-sky.zip,e1149f28db7ee8dea95d6b7ab5b94160,12315,13730 -content-sounds.zip,c6e058210724bd746b7ae9b0c43a4cac,351545,375510 -shaders.zip,788efb2eb2e94e048d4265f479157496,2344803,15294686 +content-sky.zip,f02655766e19639dde0ca4dcc2a8ddb8,30222,280266 +content-sounds.zip,f45b770af4516329ac7a06407b8fafdd,344296,363670 +shaders.zip,b611c4ed7b7d2a547e7e7119e8bb6cfb,3673282,24617691 ssl.zip,68a8e15693c31839c0d7d603f12993d6,126552,224853 -content-textures2.zip,3c2c4867157ab5717246b9bdf2259d6a,6769185,7660354 +content-textures2.zip,14fad4f41765eef916f5ed1347ae2a09,6967889,7855934 content-textures3.zip,cc0e0e98e5bf9c4401b0738e90462d3f,28258176,46537508 content-terrain.zip,1285d318f964435abb7f0cec2bf5f3c4,30850233,42654883 content-platform-fonts.zip,00b01849ef94f80c58907832d1a145c7,13681295,16427228 -extracontent-scripts.zip,6179b5b8920be3af748cc98b7baa0739,1481137,4548801 -extracontent-luapackages.zip,0a9e3783939da033097e8a9e77d5b5b5,3024310,5916881 -extracontent-translations.zip,35332e1e1f1535b4a0debfbbd5e1d650,109843,408278 -extracontent-models.zip,306c358a21d12e9e4ab1447530406fb6,1953106,2354989 -extracontent-textures.zip,5057f9934079a88b5e1cbbc354261603,6619750,6656954 +extracontent-scripts.zip,dc11d9dc4f0449f3e27a9117c288508b,1482206,4563218 +extracontent-luapackages.zip,3599d00262eedd3a48a5b65f598b9a7c,3025941,5920238 +extracontent-translations.zip,d169790f1878cc92bba90274e9767896,110253,409330 +extracontent-models.zip,4acda0084ff92e8c89e763a74c89ab2f,1956136,2358677 +extracontent-textures.zip,cd60b5d44ecfc76aeb45527296920c53,6633013,6681859 redist.zip,1b4efa233a27aa865cef90e179a0b87c,2014690,4842240 \ No newline at end of file diff --git a/rbxPkgManifest.txt b/rbxPkgManifest.txt index d8d4cb8fbc..184b3dc436 100644 --- a/rbxPkgManifest.txt +++ b/rbxPkgManifest.txt @@ -1,12 +1,12 @@ v0 BuiltInPlugins.zip -63d8be4fac204a935d254910c25ce930 -19245360 -23251538 +0957049b2052f04974a2150ba70039d9 +20176393 +24378498 BuiltInStandalonePlugins.zip -2f77a79e9d29b58069b61ee4c4dac103 -3855176 -4660971 +970431e2cabb395c01f13aeca8042429 +4079751 +4929038 Plugins.zip a21e03dff91ede3102ff4186fd4b6c44 694396 @@ -16,9 +16,9 @@ ae16d3bf2dac1345fedded48047f378f 1587037 4422016 RobloxStudio.zip -be166329fc1792116d82f5aecf85fbcb -25607796 -59011211 +c82667d954af154809dbb2f6500da94a +25592147 +58882058 Libraries.zip 142cc8d33fc1ac659ddf266d769b489a 9176818 @@ -32,8 +32,8 @@ fa2d2e791842deb2afa3f3147fb78999 186533 928006 content-configs.zip -a269873991d93a13e77b3e2681023df1 -12886 +3ba7e845b3c16e6e8055fbe0d6c30452 +12887 39757 content-fonts.zip 75e8a6506aa8ab57581037fc8a16eb24 @@ -48,25 +48,25 @@ content-qt_translations.zip 247879 815789 content-sky.zip -e1149f28db7ee8dea95d6b7ab5b94160 -12315 -13730 +f02655766e19639dde0ca4dcc2a8ddb8 +30222 +280266 content-sounds.zip -c6e058210724bd746b7ae9b0c43a4cac -351545 -375510 +f45b770af4516329ac7a06407b8fafdd +344296 +363670 shaders.zip -788efb2eb2e94e048d4265f479157496 -2344803 -15294686 +b611c4ed7b7d2a547e7e7119e8bb6cfb +3673282 +24617691 ssl.zip 68a8e15693c31839c0d7d603f12993d6 126552 224853 content-textures2.zip -3c2c4867157ab5717246b9bdf2259d6a -6769185 -7660354 +14fad4f41765eef916f5ed1347ae2a09 +6967889 +7855934 content-textures3.zip cc0e0e98e5bf9c4401b0738e90462d3f 28258176 @@ -80,25 +80,25 @@ content-platform-fonts.zip 13681295 16427228 extracontent-scripts.zip -6179b5b8920be3af748cc98b7baa0739 -1481137 -4548801 +dc11d9dc4f0449f3e27a9117c288508b +1482206 +4563218 extracontent-luapackages.zip -0a9e3783939da033097e8a9e77d5b5b5 -3024310 -5916881 +3599d00262eedd3a48a5b65f598b9a7c +3025941 +5920238 extracontent-translations.zip -35332e1e1f1535b4a0debfbbd5e1d650 -109843 -408278 +d169790f1878cc92bba90274e9767896 +110253 +409330 extracontent-models.zip -306c358a21d12e9e4ab1447530406fb6 -1953106 -2354989 +4acda0084ff92e8c89e763a74c89ab2f +1956136 +2358677 extracontent-textures.zip -5057f9934079a88b5e1cbbc354261603 -6619750 -6656954 +cd60b5d44ecfc76aeb45527296920c53 +6633013 +6681859 redist.zip 1b4efa233a27aa865cef90e179a0b87c 2014690 diff --git a/shaders/include/CloudsParams.h b/shaders/include/CloudsParams.h new file mode 100644 index 0000000000..4b116251d8 --- /dev/null +++ b/shaders/include/CloudsParams.h @@ -0,0 +1,6 @@ +struct CloudsParams +{ + vec4 DirDist; + vec4 LightColorSize; + vec4 CoverDensity; +}; \ No newline at end of file diff --git a/shaders/include/CompParams.h b/shaders/include/CompParams.h new file mode 100644 index 0000000000..b9731c4280 --- /dev/null +++ b/shaders/include/CompParams.h @@ -0,0 +1,4 @@ +struct CompParams +{ + vec4 UVConv; +}; \ No newline at end of file diff --git a/shaders/include/RayFrame.h b/shaders/include/RayFrame.h new file mode 100644 index 0000000000..4119a45723 --- /dev/null +++ b/shaders/include/RayFrame.h @@ -0,0 +1,4 @@ +struct RayFrame +{ + vec4 FoV; +}; \ No newline at end of file diff --git a/shaders/shaders_d3d10.csv b/shaders/shaders_d3d10.csv index a66e8fbb9a..c4a03cf625 100644 --- a/shaders/shaders_d3d10.csv +++ b/shaders/shaders_d3d10.csv @@ -33,6 +33,9 @@ Blur3FS,Fragment Blur5FS,Fragment Blur7FS,Fragment CheckerboardDepthFS,Fragment +CloudsCompFS,Fragment +CloudsFS,Fragment +CloudsVS,Vertex CopyGuiVS,Vertex DefaultDepthFS,Fragment DefaultDepthVS_Level0,Vertex @@ -43,6 +46,9 @@ DefaultForceFieldFS,Fragment DefaultForceFieldHQFS_Level0,Fragment DefaultForceFieldHQFS_Level8,Fragment DefaultForceFieldHQFS_Level24,Fragment +DefaultForceFieldHQFS_Level512,Fragment +DefaultForceFieldHQFS_Level520,Fragment +DefaultForceFieldHQFS_Level536,Fragment DefaultForceFieldHQVS_Level0,Vertex DefaultForceFieldHQVS_Level1,Vertex DefaultForceFieldHQVS_Level2,Vertex @@ -55,9 +61,24 @@ DefaultForceFieldHQVS_Level24,Vertex DefaultForceFieldHQVS_Level25,Vertex DefaultForceFieldHQVS_Level26,Vertex DefaultForceFieldHQVS_Level30,Vertex +DefaultForceFieldHQVS_Level512,Vertex +DefaultForceFieldHQVS_Level513,Vertex +DefaultForceFieldHQVS_Level514,Vertex +DefaultForceFieldHQVS_Level518,Vertex +DefaultForceFieldHQVS_Level520,Vertex +DefaultForceFieldHQVS_Level521,Vertex +DefaultForceFieldHQVS_Level522,Vertex +DefaultForceFieldHQVS_Level526,Vertex +DefaultForceFieldHQVS_Level536,Vertex +DefaultForceFieldHQVS_Level537,Vertex +DefaultForceFieldHQVS_Level538,Vertex +DefaultForceFieldHQVS_Level542,Vertex DefaultForceFieldSHQFS_Level0,Fragment DefaultForceFieldSHQFS_Level8,Fragment DefaultForceFieldSHQFS_Level24,Fragment +DefaultForceFieldSHQFS_Level512,Fragment +DefaultForceFieldSHQFS_Level520,Fragment +DefaultForceFieldSHQFS_Level536,Fragment DefaultForceFieldVS_Level0,Vertex DefaultForceFieldVS_Level1,Vertex DefaultForceFieldVS_Level2,Vertex @@ -65,9 +86,15 @@ DefaultForceFieldVS_Level6,Vertex DefaultGlassHQFS_Level0,Fragment DefaultGlassHQFS_Level8,Fragment DefaultGlassHQFS_Level24,Fragment +DefaultGlassHQFS_Level512,Fragment +DefaultGlassHQFS_Level520,Fragment +DefaultGlassHQFS_Level536,Fragment DefaultGlassSuperHQFS_Level0,Fragment DefaultGlassSuperHQFS_Level8,Fragment DefaultGlassSuperHQFS_Level24,Fragment +DefaultGlassSuperHQFS_Level512,Fragment +DefaultGlassSuperHQFS_Level520,Fragment +DefaultGlassSuperHQFS_Level536,Fragment DefaultHQVS_Level0,Vertex DefaultHQVS_Level1,Vertex DefaultHQVS_Level2,Vertex @@ -80,12 +107,27 @@ DefaultHQVS_Level24,Vertex DefaultHQVS_Level25,Vertex DefaultHQVS_Level26,Vertex DefaultHQVS_Level30,Vertex +DefaultHQVS_Level512,Vertex +DefaultHQVS_Level513,Vertex +DefaultHQVS_Level514,Vertex +DefaultHQVS_Level518,Vertex +DefaultHQVS_Level520,Vertex +DefaultHQVS_Level521,Vertex +DefaultHQVS_Level522,Vertex +DefaultHQVS_Level526,Vertex +DefaultHQVS_Level536,Vertex +DefaultHQVS_Level537,Vertex +DefaultHQVS_Level538,Vertex +DefaultHQVS_Level542,Vertex DefaultModelLodFS,Fragment DefaultModelLodVS,Vertex DefaultNeonFS,Fragment DefaultNeonHQFS_Level0,Fragment DefaultNeonHQFS_Level8,Fragment DefaultNeonHQFS_Level24,Fragment +DefaultNeonHQFS_Level512,Fragment +DefaultNeonHQFS_Level520,Fragment +DefaultNeonHQFS_Level536,Fragment DefaultNeonHQInGuiFS,Fragment DefaultNeonInGuiFS,Fragment DefaultNewShadowFS_Level0,Fragment @@ -104,10 +146,16 @@ DefaultOpaqueFS,Fragment DefaultOpaqueHQFS_Level0,Fragment DefaultOpaqueHQFS_Level8,Fragment DefaultOpaqueHQFS_Level24,Fragment +DefaultOpaqueHQFS_Level512,Fragment +DefaultOpaqueHQFS_Level520,Fragment +DefaultOpaqueHQFS_Level536,Fragment DefaultPlasticFS,Fragment DefaultPlasticHQFS_Level0,Fragment DefaultPlasticHQFS_Level8,Fragment DefaultPlasticHQFS_Level24,Fragment +DefaultPlasticHQFS_Level512,Fragment +DefaultPlasticHQFS_Level520,Fragment +DefaultPlasticHQFS_Level536,Fragment DefaultPlasticReflectionFS,Fragment DefaultReflectionVS_Level0,Vertex DefaultReflectionVS_Level1,Vertex @@ -121,6 +169,18 @@ DefaultReflectionVS_Level24,Vertex DefaultReflectionVS_Level25,Vertex DefaultReflectionVS_Level26,Vertex DefaultReflectionVS_Level30,Vertex +DefaultReflectionVS_Level512,Vertex +DefaultReflectionVS_Level513,Vertex +DefaultReflectionVS_Level514,Vertex +DefaultReflectionVS_Level518,Vertex +DefaultReflectionVS_Level520,Vertex +DefaultReflectionVS_Level521,Vertex +DefaultReflectionVS_Level522,Vertex +DefaultReflectionVS_Level526,Vertex +DefaultReflectionVS_Level536,Vertex +DefaultReflectionVS_Level537,Vertex +DefaultReflectionVS_Level538,Vertex +DefaultReflectionVS_Level542,Vertex DefaultShadowFS,Fragment DefaultShadowGeomVS_Level0,Vertex DefaultShadowGeomVS_Level1,Vertex @@ -135,10 +195,16 @@ DefaultSurfaceAppearanceDitheredFS,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level0,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level8,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level24,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level512,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level520,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level536,Fragment DefaultSurfaceAppearanceFS,Fragment DefaultSurfaceAppearanceHQFS_Level0,Fragment DefaultSurfaceAppearanceHQFS_Level8,Fragment DefaultSurfaceAppearanceHQFS_Level24,Fragment +DefaultSurfaceAppearanceHQFS_Level512,Fragment +DefaultSurfaceAppearanceHQFS_Level520,Fragment +DefaultSurfaceAppearanceHQFS_Level536,Fragment DefaultSurfaceHQVS_Level0,Vertex DefaultSurfaceHQVS_Level1,Vertex DefaultSurfaceHQVS_Level2,Vertex @@ -151,19 +217,43 @@ DefaultSurfaceHQVS_Level24,Vertex DefaultSurfaceHQVS_Level25,Vertex DefaultSurfaceHQVS_Level26,Vertex DefaultSurfaceHQVS_Level30,Vertex +DefaultSurfaceHQVS_Level512,Vertex +DefaultSurfaceHQVS_Level513,Vertex +DefaultSurfaceHQVS_Level514,Vertex +DefaultSurfaceHQVS_Level518,Vertex +DefaultSurfaceHQVS_Level520,Vertex +DefaultSurfaceHQVS_Level521,Vertex +DefaultSurfaceHQVS_Level522,Vertex +DefaultSurfaceHQVS_Level526,Vertex +DefaultSurfaceHQVS_Level536,Vertex +DefaultSurfaceHQVS_Level537,Vertex +DefaultSurfaceHQVS_Level538,Vertex +DefaultSurfaceHQVS_Level542,Vertex DefaultTiledHideAllRepHQFS_Level0,Fragment DefaultTiledHideAllRepHQFS_Level8,Fragment DefaultTiledHideAllRepHQFS_Level24,Fragment +DefaultTiledHideAllRepHQFS_Level512,Fragment +DefaultTiledHideAllRepHQFS_Level520,Fragment +DefaultTiledHideAllRepHQFS_Level536,Fragment DefaultTiledHideDiffuseRepHQFS_Level0,Fragment DefaultTiledHideDiffuseRepHQFS_Level8,Fragment DefaultTiledHideDiffuseRepHQFS_Level24,Fragment +DefaultTiledHideDiffuseRepHQFS_Level512,Fragment +DefaultTiledHideDiffuseRepHQFS_Level520,Fragment +DefaultTiledHideDiffuseRepHQFS_Level536,Fragment DefaultTiledHQFS_Level0,Fragment DefaultTiledHQFS_Level8,Fragment DefaultTiledHQFS_Level24,Fragment +DefaultTiledHQFS_Level512,Fragment +DefaultTiledHQFS_Level520,Fragment +DefaultTiledHQFS_Level536,Fragment DefaultTransparentFS,Fragment DefaultTransparentHQFS_Level0,Fragment DefaultTransparentHQFS_Level8,Fragment DefaultTransparentHQFS_Level24,Fragment +DefaultTransparentHQFS_Level512,Fragment +DefaultTransparentHQFS_Level520,Fragment +DefaultTransparentHQFS_Level536,Fragment DefaultVS_Level0,Vertex DefaultVS_Level1,Vertex DefaultVS_Level2,Vertex @@ -171,6 +261,9 @@ DefaultVS_Level6,Vertex DefaultWangHQFS_Level0,Fragment DefaultWangHQFS_Level8,Fragment DefaultWangHQFS_Level24,Fragment +DefaultWangHQFS_Level512,Fragment +DefaultWangHQFS_Level520,Fragment +DefaultWangHQFS_Level536,Fragment DownSample4x4AvgFS,Fragment DownSample4x4MaxFS,Fragment DownSample4x4VS,Vertex @@ -199,6 +292,9 @@ GrassVS,Vertex GridFS_Level0,Fragment GridFS_Level8,Fragment GridFS_Level24,Fragment +GridFS_Level512,Fragment +GridFS_Level520,Fragment +GridFS_Level536,Fragment IBLDebugFS,Fragment IBLDebugVS,Vertex ImageProcessAlphaFS,Fragment @@ -311,6 +407,12 @@ SmoothClusterHQFS_Level24,Fragment SmoothClusterHQFS_Level256,Fragment SmoothClusterHQFS_Level264,Fragment SmoothClusterHQFS_Level280,Fragment +SmoothClusterHQFS_Level512,Fragment +SmoothClusterHQFS_Level520,Fragment +SmoothClusterHQFS_Level536,Fragment +SmoothClusterHQFS_Level768,Fragment +SmoothClusterHQFS_Level776,Fragment +SmoothClusterHQFS_Level792,Fragment SmoothClusterHQFSShadowed,Fragment SmoothClusterHQFSShadowedFSM,Fragment SmoothClusterHQVS,Vertex @@ -320,6 +422,12 @@ SmoothClusterHQVS_Level24,Vertex SmoothClusterHQVS_Level256,Vertex SmoothClusterHQVS_Level264,Vertex SmoothClusterHQVS_Level280,Vertex +SmoothClusterHQVS_Level512,Vertex +SmoothClusterHQVS_Level520,Vertex +SmoothClusterHQVS_Level536,Vertex +SmoothClusterHQVS_Level768,Vertex +SmoothClusterHQVS_Level776,Vertex +SmoothClusterHQVS_Level792,Vertex SmoothClusterHQVSShadowed,Vertex SmoothClusterHQVSShadowedFSM,Vertex SmoothClusterNewShadowFS,Fragment @@ -337,6 +445,12 @@ SmoothClusterSuperHQFS_Level24,Fragment SmoothClusterSuperHQFS_Level256,Fragment SmoothClusterSuperHQFS_Level264,Fragment SmoothClusterSuperHQFS_Level280,Fragment +SmoothClusterSuperHQFS_Level512,Fragment +SmoothClusterSuperHQFS_Level520,Fragment +SmoothClusterSuperHQFS_Level536,Fragment +SmoothClusterSuperHQFS_Level768,Fragment +SmoothClusterSuperHQFS_Level776,Fragment +SmoothClusterSuperHQFS_Level792,Fragment SmoothClusterSuperHQFSFlagHeight,Fragment SmoothClusterSuperHQFSFlagHeight_Level0,Fragment SmoothClusterSuperHQFSFlagHeight_Level8,Fragment @@ -344,6 +458,12 @@ SmoothClusterSuperHQFSFlagHeight_Level24,Fragment SmoothClusterSuperHQFSFlagHeight_Level256,Fragment SmoothClusterSuperHQFSFlagHeight_Level264,Fragment SmoothClusterSuperHQFSFlagHeight_Level280,Fragment +SmoothClusterSuperHQFSFlagHeight_Level512,Fragment +SmoothClusterSuperHQFSFlagHeight_Level520,Fragment +SmoothClusterSuperHQFSFlagHeight_Level536,Fragment +SmoothClusterSuperHQFSFlagHeight_Level768,Fragment +SmoothClusterSuperHQFSFlagHeight_Level776,Fragment +SmoothClusterSuperHQFSFlagHeight_Level792,Fragment SmoothClusterSuperHQFSShadowed,Fragment SmoothClusterSuperHQFSShadowedFlagHeight,Fragment SmoothClusterSuperHQFSShadowedFSM,Fragment @@ -356,6 +476,12 @@ SmoothClusterSuperHQVS_Level24,Vertex SmoothClusterSuperHQVS_Level256,Vertex SmoothClusterSuperHQVS_Level264,Vertex SmoothClusterSuperHQVS_Level280,Vertex +SmoothClusterSuperHQVS_Level512,Vertex +SmoothClusterSuperHQVS_Level520,Vertex +SmoothClusterSuperHQVS_Level536,Vertex +SmoothClusterSuperHQVS_Level768,Vertex +SmoothClusterSuperHQVS_Level776,Vertex +SmoothClusterSuperHQVS_Level792,Vertex SmoothClusterSuperHQVSFlagHeight,Vertex SmoothClusterSuperHQVSFlagHeight_Level0,Vertex SmoothClusterSuperHQVSFlagHeight_Level8,Vertex @@ -363,6 +489,12 @@ SmoothClusterSuperHQVSFlagHeight_Level24,Vertex SmoothClusterSuperHQVSFlagHeight_Level256,Vertex SmoothClusterSuperHQVSFlagHeight_Level264,Vertex SmoothClusterSuperHQVSFlagHeight_Level280,Vertex +SmoothClusterSuperHQVSFlagHeight_Level512,Vertex +SmoothClusterSuperHQVSFlagHeight_Level520,Vertex +SmoothClusterSuperHQVSFlagHeight_Level536,Vertex +SmoothClusterSuperHQVSFlagHeight_Level768,Vertex +SmoothClusterSuperHQVSFlagHeight_Level776,Vertex +SmoothClusterSuperHQVSFlagHeight_Level792,Vertex SmoothClusterSuperHQVSShadowed,Vertex SmoothClusterSuperHQVSShadowedFlagHeight,Vertex SmoothClusterSuperHQVSShadowedFSM,Vertex @@ -375,18 +507,27 @@ SmoothWaterHQFS,Fragment SmoothWaterHQFS_Level0,Fragment SmoothWaterHQFS_Level8,Fragment SmoothWaterHQFS_Level24,Fragment +SmoothWaterHQFS_Level512,Fragment +SmoothWaterHQFS_Level520,Fragment +SmoothWaterHQFS_Level536,Fragment SmoothWaterHQFSShadowed,Fragment SmoothWaterHQFSShadowedFSM,Fragment SmoothWaterHQVS,Vertex SmoothWaterHQVS_Level0,Vertex SmoothWaterHQVS_Level8,Vertex SmoothWaterHQVS_Level24,Vertex +SmoothWaterHQVS_Level512,Vertex +SmoothWaterHQVS_Level520,Vertex +SmoothWaterHQVS_Level536,Vertex SmoothWaterHQVSShadowed,Vertex SmoothWaterHQVSShadowedFSM,Vertex SmoothWaterSuperHQFS,Fragment SmoothWaterSuperHQFS_Level0,Fragment SmoothWaterSuperHQFS_Level8,Fragment SmoothWaterSuperHQFS_Level24,Fragment +SmoothWaterSuperHQFS_Level512,Fragment +SmoothWaterSuperHQFS_Level520,Fragment +SmoothWaterSuperHQFS_Level536,Fragment SmoothWaterSuperHQFSShadowed,Fragment SmoothWaterSuperHQFSShadowedFSM,Fragment SmoothWaterVS,Vertex diff --git a/shaders/shaders_d3d10_1.csv b/shaders/shaders_d3d10_1.csv index 44b9a506c9..d210414943 100644 --- a/shaders/shaders_d3d10_1.csv +++ b/shaders/shaders_d3d10_1.csv @@ -36,6 +36,9 @@ BokehFarCoCFS,Fragment BokehNearCoCFS,Fragment CheapBokehFS,Fragment CheckerboardDepthFS,Fragment +CloudsCompFS,Fragment +CloudsFS,Fragment +CloudsVS,Vertex CopyGuiVS,Vertex DefaultDepthFS,Fragment DefaultDepthVS_Level0,Vertex @@ -46,6 +49,9 @@ DefaultForceFieldFS,Fragment DefaultForceFieldHQFS_Level0,Fragment DefaultForceFieldHQFS_Level8,Fragment DefaultForceFieldHQFS_Level24,Fragment +DefaultForceFieldHQFS_Level512,Fragment +DefaultForceFieldHQFS_Level520,Fragment +DefaultForceFieldHQFS_Level536,Fragment DefaultForceFieldHQVS_Level0,Vertex DefaultForceFieldHQVS_Level1,Vertex DefaultForceFieldHQVS_Level2,Vertex @@ -58,9 +64,24 @@ DefaultForceFieldHQVS_Level24,Vertex DefaultForceFieldHQVS_Level25,Vertex DefaultForceFieldHQVS_Level26,Vertex DefaultForceFieldHQVS_Level30,Vertex +DefaultForceFieldHQVS_Level512,Vertex +DefaultForceFieldHQVS_Level513,Vertex +DefaultForceFieldHQVS_Level514,Vertex +DefaultForceFieldHQVS_Level518,Vertex +DefaultForceFieldHQVS_Level520,Vertex +DefaultForceFieldHQVS_Level521,Vertex +DefaultForceFieldHQVS_Level522,Vertex +DefaultForceFieldHQVS_Level526,Vertex +DefaultForceFieldHQVS_Level536,Vertex +DefaultForceFieldHQVS_Level537,Vertex +DefaultForceFieldHQVS_Level538,Vertex +DefaultForceFieldHQVS_Level542,Vertex DefaultForceFieldSHQFS_Level0,Fragment DefaultForceFieldSHQFS_Level8,Fragment DefaultForceFieldSHQFS_Level24,Fragment +DefaultForceFieldSHQFS_Level512,Fragment +DefaultForceFieldSHQFS_Level520,Fragment +DefaultForceFieldSHQFS_Level536,Fragment DefaultForceFieldVS_Level0,Vertex DefaultForceFieldVS_Level1,Vertex DefaultForceFieldVS_Level2,Vertex @@ -68,9 +89,15 @@ DefaultForceFieldVS_Level6,Vertex DefaultGlassHQFS_Level0,Fragment DefaultGlassHQFS_Level8,Fragment DefaultGlassHQFS_Level24,Fragment +DefaultGlassHQFS_Level512,Fragment +DefaultGlassHQFS_Level520,Fragment +DefaultGlassHQFS_Level536,Fragment DefaultGlassSuperHQFS_Level0,Fragment DefaultGlassSuperHQFS_Level8,Fragment DefaultGlassSuperHQFS_Level24,Fragment +DefaultGlassSuperHQFS_Level512,Fragment +DefaultGlassSuperHQFS_Level520,Fragment +DefaultGlassSuperHQFS_Level536,Fragment DefaultHQVS_Level0,Vertex DefaultHQVS_Level1,Vertex DefaultHQVS_Level2,Vertex @@ -83,12 +110,27 @@ DefaultHQVS_Level24,Vertex DefaultHQVS_Level25,Vertex DefaultHQVS_Level26,Vertex DefaultHQVS_Level30,Vertex +DefaultHQVS_Level512,Vertex +DefaultHQVS_Level513,Vertex +DefaultHQVS_Level514,Vertex +DefaultHQVS_Level518,Vertex +DefaultHQVS_Level520,Vertex +DefaultHQVS_Level521,Vertex +DefaultHQVS_Level522,Vertex +DefaultHQVS_Level526,Vertex +DefaultHQVS_Level536,Vertex +DefaultHQVS_Level537,Vertex +DefaultHQVS_Level538,Vertex +DefaultHQVS_Level542,Vertex DefaultModelLodFS,Fragment DefaultModelLodVS,Vertex DefaultNeonFS,Fragment DefaultNeonHQFS_Level0,Fragment DefaultNeonHQFS_Level8,Fragment DefaultNeonHQFS_Level24,Fragment +DefaultNeonHQFS_Level512,Fragment +DefaultNeonHQFS_Level520,Fragment +DefaultNeonHQFS_Level536,Fragment DefaultNeonHQInGuiFS,Fragment DefaultNeonInGuiFS,Fragment DefaultNewShadowFS_Level0,Fragment @@ -107,10 +149,16 @@ DefaultOpaqueFS,Fragment DefaultOpaqueHQFS_Level0,Fragment DefaultOpaqueHQFS_Level8,Fragment DefaultOpaqueHQFS_Level24,Fragment +DefaultOpaqueHQFS_Level512,Fragment +DefaultOpaqueHQFS_Level520,Fragment +DefaultOpaqueHQFS_Level536,Fragment DefaultPlasticFS,Fragment DefaultPlasticHQFS_Level0,Fragment DefaultPlasticHQFS_Level8,Fragment DefaultPlasticHQFS_Level24,Fragment +DefaultPlasticHQFS_Level512,Fragment +DefaultPlasticHQFS_Level520,Fragment +DefaultPlasticHQFS_Level536,Fragment DefaultPlasticReflectionFS,Fragment DefaultReflectionVS_Level0,Vertex DefaultReflectionVS_Level1,Vertex @@ -124,6 +172,18 @@ DefaultReflectionVS_Level24,Vertex DefaultReflectionVS_Level25,Vertex DefaultReflectionVS_Level26,Vertex DefaultReflectionVS_Level30,Vertex +DefaultReflectionVS_Level512,Vertex +DefaultReflectionVS_Level513,Vertex +DefaultReflectionVS_Level514,Vertex +DefaultReflectionVS_Level518,Vertex +DefaultReflectionVS_Level520,Vertex +DefaultReflectionVS_Level521,Vertex +DefaultReflectionVS_Level522,Vertex +DefaultReflectionVS_Level526,Vertex +DefaultReflectionVS_Level536,Vertex +DefaultReflectionVS_Level537,Vertex +DefaultReflectionVS_Level538,Vertex +DefaultReflectionVS_Level542,Vertex DefaultShadowFS,Fragment DefaultShadowGeomVS_Level0,Vertex DefaultShadowGeomVS_Level1,Vertex @@ -138,10 +198,16 @@ DefaultSurfaceAppearanceDitheredFS,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level0,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level8,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level24,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level512,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level520,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level536,Fragment DefaultSurfaceAppearanceFS,Fragment DefaultSurfaceAppearanceHQFS_Level0,Fragment DefaultSurfaceAppearanceHQFS_Level8,Fragment DefaultSurfaceAppearanceHQFS_Level24,Fragment +DefaultSurfaceAppearanceHQFS_Level512,Fragment +DefaultSurfaceAppearanceHQFS_Level520,Fragment +DefaultSurfaceAppearanceHQFS_Level536,Fragment DefaultSurfaceHQVS_Level0,Vertex DefaultSurfaceHQVS_Level1,Vertex DefaultSurfaceHQVS_Level2,Vertex @@ -154,19 +220,43 @@ DefaultSurfaceHQVS_Level24,Vertex DefaultSurfaceHQVS_Level25,Vertex DefaultSurfaceHQVS_Level26,Vertex DefaultSurfaceHQVS_Level30,Vertex +DefaultSurfaceHQVS_Level512,Vertex +DefaultSurfaceHQVS_Level513,Vertex +DefaultSurfaceHQVS_Level514,Vertex +DefaultSurfaceHQVS_Level518,Vertex +DefaultSurfaceHQVS_Level520,Vertex +DefaultSurfaceHQVS_Level521,Vertex +DefaultSurfaceHQVS_Level522,Vertex +DefaultSurfaceHQVS_Level526,Vertex +DefaultSurfaceHQVS_Level536,Vertex +DefaultSurfaceHQVS_Level537,Vertex +DefaultSurfaceHQVS_Level538,Vertex +DefaultSurfaceHQVS_Level542,Vertex DefaultTiledHideAllRepHQFS_Level0,Fragment DefaultTiledHideAllRepHQFS_Level8,Fragment DefaultTiledHideAllRepHQFS_Level24,Fragment +DefaultTiledHideAllRepHQFS_Level512,Fragment +DefaultTiledHideAllRepHQFS_Level520,Fragment +DefaultTiledHideAllRepHQFS_Level536,Fragment DefaultTiledHideDiffuseRepHQFS_Level0,Fragment DefaultTiledHideDiffuseRepHQFS_Level8,Fragment DefaultTiledHideDiffuseRepHQFS_Level24,Fragment +DefaultTiledHideDiffuseRepHQFS_Level512,Fragment +DefaultTiledHideDiffuseRepHQFS_Level520,Fragment +DefaultTiledHideDiffuseRepHQFS_Level536,Fragment DefaultTiledHQFS_Level0,Fragment DefaultTiledHQFS_Level8,Fragment DefaultTiledHQFS_Level24,Fragment +DefaultTiledHQFS_Level512,Fragment +DefaultTiledHQFS_Level520,Fragment +DefaultTiledHQFS_Level536,Fragment DefaultTransparentFS,Fragment DefaultTransparentHQFS_Level0,Fragment DefaultTransparentHQFS_Level8,Fragment DefaultTransparentHQFS_Level24,Fragment +DefaultTransparentHQFS_Level512,Fragment +DefaultTransparentHQFS_Level520,Fragment +DefaultTransparentHQFS_Level536,Fragment DefaultVS_Level0,Vertex DefaultVS_Level1,Vertex DefaultVS_Level2,Vertex @@ -174,6 +264,9 @@ DefaultVS_Level6,Vertex DefaultWangHQFS_Level0,Fragment DefaultWangHQFS_Level8,Fragment DefaultWangHQFS_Level24,Fragment +DefaultWangHQFS_Level512,Fragment +DefaultWangHQFS_Level520,Fragment +DefaultWangHQFS_Level536,Fragment DepthResolveMax2FS,Fragment DepthResolveMax4FS,Fragment DepthResolveMin2FS,Fragment @@ -221,6 +314,9 @@ GrassVS,Vertex GridFS_Level0,Fragment GridFS_Level8,Fragment GridFS_Level24,Fragment +GridFS_Level512,Fragment +GridFS_Level520,Fragment +GridFS_Level536,Fragment IBLDebugFS,Fragment IBLDebugVS,Vertex ImageProcessAlphaFS,Fragment @@ -334,6 +430,12 @@ SmoothClusterHQFS_Level24,Fragment SmoothClusterHQFS_Level256,Fragment SmoothClusterHQFS_Level264,Fragment SmoothClusterHQFS_Level280,Fragment +SmoothClusterHQFS_Level512,Fragment +SmoothClusterHQFS_Level520,Fragment +SmoothClusterHQFS_Level536,Fragment +SmoothClusterHQFS_Level768,Fragment +SmoothClusterHQFS_Level776,Fragment +SmoothClusterHQFS_Level792,Fragment SmoothClusterHQFSShadowed,Fragment SmoothClusterHQFSShadowedFSM,Fragment SmoothClusterHQVS,Vertex @@ -343,6 +445,12 @@ SmoothClusterHQVS_Level24,Vertex SmoothClusterHQVS_Level256,Vertex SmoothClusterHQVS_Level264,Vertex SmoothClusterHQVS_Level280,Vertex +SmoothClusterHQVS_Level512,Vertex +SmoothClusterHQVS_Level520,Vertex +SmoothClusterHQVS_Level536,Vertex +SmoothClusterHQVS_Level768,Vertex +SmoothClusterHQVS_Level776,Vertex +SmoothClusterHQVS_Level792,Vertex SmoothClusterHQVSShadowed,Vertex SmoothClusterHQVSShadowedFSM,Vertex SmoothClusterNewShadowFS,Fragment @@ -360,6 +468,12 @@ SmoothClusterSuperHQFS_Level24,Fragment SmoothClusterSuperHQFS_Level256,Fragment SmoothClusterSuperHQFS_Level264,Fragment SmoothClusterSuperHQFS_Level280,Fragment +SmoothClusterSuperHQFS_Level512,Fragment +SmoothClusterSuperHQFS_Level520,Fragment +SmoothClusterSuperHQFS_Level536,Fragment +SmoothClusterSuperHQFS_Level768,Fragment +SmoothClusterSuperHQFS_Level776,Fragment +SmoothClusterSuperHQFS_Level792,Fragment SmoothClusterSuperHQFSFlagHeight,Fragment SmoothClusterSuperHQFSFlagHeight_Level0,Fragment SmoothClusterSuperHQFSFlagHeight_Level8,Fragment @@ -367,6 +481,12 @@ SmoothClusterSuperHQFSFlagHeight_Level24,Fragment SmoothClusterSuperHQFSFlagHeight_Level256,Fragment SmoothClusterSuperHQFSFlagHeight_Level264,Fragment SmoothClusterSuperHQFSFlagHeight_Level280,Fragment +SmoothClusterSuperHQFSFlagHeight_Level512,Fragment +SmoothClusterSuperHQFSFlagHeight_Level520,Fragment +SmoothClusterSuperHQFSFlagHeight_Level536,Fragment +SmoothClusterSuperHQFSFlagHeight_Level768,Fragment +SmoothClusterSuperHQFSFlagHeight_Level776,Fragment +SmoothClusterSuperHQFSFlagHeight_Level792,Fragment SmoothClusterSuperHQFSShadowed,Fragment SmoothClusterSuperHQFSShadowedFlagHeight,Fragment SmoothClusterSuperHQFSShadowedFSM,Fragment @@ -379,6 +499,12 @@ SmoothClusterSuperHQVS_Level24,Vertex SmoothClusterSuperHQVS_Level256,Vertex SmoothClusterSuperHQVS_Level264,Vertex SmoothClusterSuperHQVS_Level280,Vertex +SmoothClusterSuperHQVS_Level512,Vertex +SmoothClusterSuperHQVS_Level520,Vertex +SmoothClusterSuperHQVS_Level536,Vertex +SmoothClusterSuperHQVS_Level768,Vertex +SmoothClusterSuperHQVS_Level776,Vertex +SmoothClusterSuperHQVS_Level792,Vertex SmoothClusterSuperHQVSFlagHeight,Vertex SmoothClusterSuperHQVSFlagHeight_Level0,Vertex SmoothClusterSuperHQVSFlagHeight_Level8,Vertex @@ -386,6 +512,12 @@ SmoothClusterSuperHQVSFlagHeight_Level24,Vertex SmoothClusterSuperHQVSFlagHeight_Level256,Vertex SmoothClusterSuperHQVSFlagHeight_Level264,Vertex SmoothClusterSuperHQVSFlagHeight_Level280,Vertex +SmoothClusterSuperHQVSFlagHeight_Level512,Vertex +SmoothClusterSuperHQVSFlagHeight_Level520,Vertex +SmoothClusterSuperHQVSFlagHeight_Level536,Vertex +SmoothClusterSuperHQVSFlagHeight_Level768,Vertex +SmoothClusterSuperHQVSFlagHeight_Level776,Vertex +SmoothClusterSuperHQVSFlagHeight_Level792,Vertex SmoothClusterSuperHQVSShadowed,Vertex SmoothClusterSuperHQVSShadowedFlagHeight,Vertex SmoothClusterSuperHQVSShadowedFSM,Vertex @@ -398,18 +530,27 @@ SmoothWaterHQFS,Fragment SmoothWaterHQFS_Level0,Fragment SmoothWaterHQFS_Level8,Fragment SmoothWaterHQFS_Level24,Fragment +SmoothWaterHQFS_Level512,Fragment +SmoothWaterHQFS_Level520,Fragment +SmoothWaterHQFS_Level536,Fragment SmoothWaterHQFSShadowed,Fragment SmoothWaterHQFSShadowedFSM,Fragment SmoothWaterHQVS,Vertex SmoothWaterHQVS_Level0,Vertex SmoothWaterHQVS_Level8,Vertex SmoothWaterHQVS_Level24,Vertex +SmoothWaterHQVS_Level512,Vertex +SmoothWaterHQVS_Level520,Vertex +SmoothWaterHQVS_Level536,Vertex SmoothWaterHQVSShadowed,Vertex SmoothWaterHQVSShadowedFSM,Vertex SmoothWaterSuperHQFS,Fragment SmoothWaterSuperHQFS_Level0,Fragment SmoothWaterSuperHQFS_Level8,Fragment SmoothWaterSuperHQFS_Level24,Fragment +SmoothWaterSuperHQFS_Level512,Fragment +SmoothWaterSuperHQFS_Level520,Fragment +SmoothWaterSuperHQFS_Level536,Fragment SmoothWaterSuperHQFSShadowed,Fragment SmoothWaterSuperHQFSShadowedFSM,Fragment SmoothWaterVS,Vertex diff --git a/shaders/shaders_d3d11.csv b/shaders/shaders_d3d11.csv index 9dfe22efb7..8a1fa44fd8 100644 --- a/shaders/shaders_d3d11.csv +++ b/shaders/shaders_d3d11.csv @@ -36,6 +36,9 @@ BokehFarCoCFS,Fragment BokehNearCoCFS,Fragment CheapBokehFS,Fragment CheckerboardDepthFS,Fragment +CloudsCompFS,Fragment +CloudsFS,Fragment +CloudsVS,Vertex CopyGuiVS,Vertex DefaultDepthFS,Fragment DefaultDepthVS_Level0,Vertex @@ -46,6 +49,9 @@ DefaultForceFieldFS,Fragment DefaultForceFieldHQFS_Level0,Fragment DefaultForceFieldHQFS_Level8,Fragment DefaultForceFieldHQFS_Level24,Fragment +DefaultForceFieldHQFS_Level512,Fragment +DefaultForceFieldHQFS_Level520,Fragment +DefaultForceFieldHQFS_Level536,Fragment DefaultForceFieldHQVS_Level0,Vertex DefaultForceFieldHQVS_Level1,Vertex DefaultForceFieldHQVS_Level2,Vertex @@ -58,9 +64,24 @@ DefaultForceFieldHQVS_Level24,Vertex DefaultForceFieldHQVS_Level25,Vertex DefaultForceFieldHQVS_Level26,Vertex DefaultForceFieldHQVS_Level30,Vertex +DefaultForceFieldHQVS_Level512,Vertex +DefaultForceFieldHQVS_Level513,Vertex +DefaultForceFieldHQVS_Level514,Vertex +DefaultForceFieldHQVS_Level518,Vertex +DefaultForceFieldHQVS_Level520,Vertex +DefaultForceFieldHQVS_Level521,Vertex +DefaultForceFieldHQVS_Level522,Vertex +DefaultForceFieldHQVS_Level526,Vertex +DefaultForceFieldHQVS_Level536,Vertex +DefaultForceFieldHQVS_Level537,Vertex +DefaultForceFieldHQVS_Level538,Vertex +DefaultForceFieldHQVS_Level542,Vertex DefaultForceFieldSHQFS_Level0,Fragment DefaultForceFieldSHQFS_Level8,Fragment DefaultForceFieldSHQFS_Level24,Fragment +DefaultForceFieldSHQFS_Level512,Fragment +DefaultForceFieldSHQFS_Level520,Fragment +DefaultForceFieldSHQFS_Level536,Fragment DefaultForceFieldVS_Level0,Vertex DefaultForceFieldVS_Level1,Vertex DefaultForceFieldVS_Level2,Vertex @@ -68,9 +89,15 @@ DefaultForceFieldVS_Level6,Vertex DefaultGlassHQFS_Level0,Fragment DefaultGlassHQFS_Level8,Fragment DefaultGlassHQFS_Level24,Fragment +DefaultGlassHQFS_Level512,Fragment +DefaultGlassHQFS_Level520,Fragment +DefaultGlassHQFS_Level536,Fragment DefaultGlassSuperHQFS_Level0,Fragment DefaultGlassSuperHQFS_Level8,Fragment DefaultGlassSuperHQFS_Level24,Fragment +DefaultGlassSuperHQFS_Level512,Fragment +DefaultGlassSuperHQFS_Level520,Fragment +DefaultGlassSuperHQFS_Level536,Fragment DefaultHQVS_Level0,Vertex DefaultHQVS_Level1,Vertex DefaultHQVS_Level2,Vertex @@ -83,12 +110,27 @@ DefaultHQVS_Level24,Vertex DefaultHQVS_Level25,Vertex DefaultHQVS_Level26,Vertex DefaultHQVS_Level30,Vertex +DefaultHQVS_Level512,Vertex +DefaultHQVS_Level513,Vertex +DefaultHQVS_Level514,Vertex +DefaultHQVS_Level518,Vertex +DefaultHQVS_Level520,Vertex +DefaultHQVS_Level521,Vertex +DefaultHQVS_Level522,Vertex +DefaultHQVS_Level526,Vertex +DefaultHQVS_Level536,Vertex +DefaultHQVS_Level537,Vertex +DefaultHQVS_Level538,Vertex +DefaultHQVS_Level542,Vertex DefaultModelLodFS,Fragment DefaultModelLodVS,Vertex DefaultNeonFS,Fragment DefaultNeonHQFS_Level0,Fragment DefaultNeonHQFS_Level8,Fragment DefaultNeonHQFS_Level24,Fragment +DefaultNeonHQFS_Level512,Fragment +DefaultNeonHQFS_Level520,Fragment +DefaultNeonHQFS_Level536,Fragment DefaultNeonHQInGuiFS,Fragment DefaultNeonInGuiFS,Fragment DefaultNewShadowFS_Level0,Fragment @@ -107,10 +149,16 @@ DefaultOpaqueFS,Fragment DefaultOpaqueHQFS_Level0,Fragment DefaultOpaqueHQFS_Level8,Fragment DefaultOpaqueHQFS_Level24,Fragment +DefaultOpaqueHQFS_Level512,Fragment +DefaultOpaqueHQFS_Level520,Fragment +DefaultOpaqueHQFS_Level536,Fragment DefaultPlasticFS,Fragment DefaultPlasticHQFS_Level0,Fragment DefaultPlasticHQFS_Level8,Fragment DefaultPlasticHQFS_Level24,Fragment +DefaultPlasticHQFS_Level512,Fragment +DefaultPlasticHQFS_Level520,Fragment +DefaultPlasticHQFS_Level536,Fragment DefaultPlasticReflectionFS,Fragment DefaultReflectionVS_Level0,Vertex DefaultReflectionVS_Level1,Vertex @@ -124,6 +172,18 @@ DefaultReflectionVS_Level24,Vertex DefaultReflectionVS_Level25,Vertex DefaultReflectionVS_Level26,Vertex DefaultReflectionVS_Level30,Vertex +DefaultReflectionVS_Level512,Vertex +DefaultReflectionVS_Level513,Vertex +DefaultReflectionVS_Level514,Vertex +DefaultReflectionVS_Level518,Vertex +DefaultReflectionVS_Level520,Vertex +DefaultReflectionVS_Level521,Vertex +DefaultReflectionVS_Level522,Vertex +DefaultReflectionVS_Level526,Vertex +DefaultReflectionVS_Level536,Vertex +DefaultReflectionVS_Level537,Vertex +DefaultReflectionVS_Level538,Vertex +DefaultReflectionVS_Level542,Vertex DefaultShadowFS,Fragment DefaultShadowGeomVS_Level0,Vertex DefaultShadowGeomVS_Level1,Vertex @@ -138,10 +198,16 @@ DefaultSurfaceAppearanceDitheredFS,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level0,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level8,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level24,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level512,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level520,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level536,Fragment DefaultSurfaceAppearanceFS,Fragment DefaultSurfaceAppearanceHQFS_Level0,Fragment DefaultSurfaceAppearanceHQFS_Level8,Fragment DefaultSurfaceAppearanceHQFS_Level24,Fragment +DefaultSurfaceAppearanceHQFS_Level512,Fragment +DefaultSurfaceAppearanceHQFS_Level520,Fragment +DefaultSurfaceAppearanceHQFS_Level536,Fragment DefaultSurfaceHQVS_Level0,Vertex DefaultSurfaceHQVS_Level1,Vertex DefaultSurfaceHQVS_Level2,Vertex @@ -154,19 +220,43 @@ DefaultSurfaceHQVS_Level24,Vertex DefaultSurfaceHQVS_Level25,Vertex DefaultSurfaceHQVS_Level26,Vertex DefaultSurfaceHQVS_Level30,Vertex +DefaultSurfaceHQVS_Level512,Vertex +DefaultSurfaceHQVS_Level513,Vertex +DefaultSurfaceHQVS_Level514,Vertex +DefaultSurfaceHQVS_Level518,Vertex +DefaultSurfaceHQVS_Level520,Vertex +DefaultSurfaceHQVS_Level521,Vertex +DefaultSurfaceHQVS_Level522,Vertex +DefaultSurfaceHQVS_Level526,Vertex +DefaultSurfaceHQVS_Level536,Vertex +DefaultSurfaceHQVS_Level537,Vertex +DefaultSurfaceHQVS_Level538,Vertex +DefaultSurfaceHQVS_Level542,Vertex DefaultTiledHideAllRepHQFS_Level0,Fragment DefaultTiledHideAllRepHQFS_Level8,Fragment DefaultTiledHideAllRepHQFS_Level24,Fragment +DefaultTiledHideAllRepHQFS_Level512,Fragment +DefaultTiledHideAllRepHQFS_Level520,Fragment +DefaultTiledHideAllRepHQFS_Level536,Fragment DefaultTiledHideDiffuseRepHQFS_Level0,Fragment DefaultTiledHideDiffuseRepHQFS_Level8,Fragment DefaultTiledHideDiffuseRepHQFS_Level24,Fragment +DefaultTiledHideDiffuseRepHQFS_Level512,Fragment +DefaultTiledHideDiffuseRepHQFS_Level520,Fragment +DefaultTiledHideDiffuseRepHQFS_Level536,Fragment DefaultTiledHQFS_Level0,Fragment DefaultTiledHQFS_Level8,Fragment DefaultTiledHQFS_Level24,Fragment +DefaultTiledHQFS_Level512,Fragment +DefaultTiledHQFS_Level520,Fragment +DefaultTiledHQFS_Level536,Fragment DefaultTransparentFS,Fragment DefaultTransparentHQFS_Level0,Fragment DefaultTransparentHQFS_Level8,Fragment DefaultTransparentHQFS_Level24,Fragment +DefaultTransparentHQFS_Level512,Fragment +DefaultTransparentHQFS_Level520,Fragment +DefaultTransparentHQFS_Level536,Fragment DefaultVS_Level0,Vertex DefaultVS_Level1,Vertex DefaultVS_Level2,Vertex @@ -174,6 +264,9 @@ DefaultVS_Level6,Vertex DefaultWangHQFS_Level0,Fragment DefaultWangHQFS_Level8,Fragment DefaultWangHQFS_Level24,Fragment +DefaultWangHQFS_Level512,Fragment +DefaultWangHQFS_Level520,Fragment +DefaultWangHQFS_Level536,Fragment DepthResolveMax2FS,Fragment DepthResolveMax4FS,Fragment DepthResolveMin2FS,Fragment @@ -221,6 +314,9 @@ GrassVS,Vertex GridFS_Level0,Fragment GridFS_Level8,Fragment GridFS_Level24,Fragment +GridFS_Level512,Fragment +GridFS_Level520,Fragment +GridFS_Level536,Fragment IBLDebugFS,Fragment IBLDebugVS,Vertex ImageProcessAlphaFS,Fragment @@ -335,6 +431,12 @@ SmoothClusterHQFS_Level24,Fragment SmoothClusterHQFS_Level256,Fragment SmoothClusterHQFS_Level264,Fragment SmoothClusterHQFS_Level280,Fragment +SmoothClusterHQFS_Level512,Fragment +SmoothClusterHQFS_Level520,Fragment +SmoothClusterHQFS_Level536,Fragment +SmoothClusterHQFS_Level768,Fragment +SmoothClusterHQFS_Level776,Fragment +SmoothClusterHQFS_Level792,Fragment SmoothClusterHQFSShadowed,Fragment SmoothClusterHQFSShadowedFSM,Fragment SmoothClusterHQVS,Vertex @@ -344,6 +446,12 @@ SmoothClusterHQVS_Level24,Vertex SmoothClusterHQVS_Level256,Vertex SmoothClusterHQVS_Level264,Vertex SmoothClusterHQVS_Level280,Vertex +SmoothClusterHQVS_Level512,Vertex +SmoothClusterHQVS_Level520,Vertex +SmoothClusterHQVS_Level536,Vertex +SmoothClusterHQVS_Level768,Vertex +SmoothClusterHQVS_Level776,Vertex +SmoothClusterHQVS_Level792,Vertex SmoothClusterHQVSShadowed,Vertex SmoothClusterHQVSShadowedFSM,Vertex SmoothClusterNewShadowFS,Fragment @@ -361,6 +469,12 @@ SmoothClusterSuperHQFS_Level24,Fragment SmoothClusterSuperHQFS_Level256,Fragment SmoothClusterSuperHQFS_Level264,Fragment SmoothClusterSuperHQFS_Level280,Fragment +SmoothClusterSuperHQFS_Level512,Fragment +SmoothClusterSuperHQFS_Level520,Fragment +SmoothClusterSuperHQFS_Level536,Fragment +SmoothClusterSuperHQFS_Level768,Fragment +SmoothClusterSuperHQFS_Level776,Fragment +SmoothClusterSuperHQFS_Level792,Fragment SmoothClusterSuperHQFSFlagHeight,Fragment SmoothClusterSuperHQFSFlagHeight_Level0,Fragment SmoothClusterSuperHQFSFlagHeight_Level8,Fragment @@ -368,6 +482,12 @@ SmoothClusterSuperHQFSFlagHeight_Level24,Fragment SmoothClusterSuperHQFSFlagHeight_Level256,Fragment SmoothClusterSuperHQFSFlagHeight_Level264,Fragment SmoothClusterSuperHQFSFlagHeight_Level280,Fragment +SmoothClusterSuperHQFSFlagHeight_Level512,Fragment +SmoothClusterSuperHQFSFlagHeight_Level520,Fragment +SmoothClusterSuperHQFSFlagHeight_Level536,Fragment +SmoothClusterSuperHQFSFlagHeight_Level768,Fragment +SmoothClusterSuperHQFSFlagHeight_Level776,Fragment +SmoothClusterSuperHQFSFlagHeight_Level792,Fragment SmoothClusterSuperHQFSShadowed,Fragment SmoothClusterSuperHQFSShadowedFlagHeight,Fragment SmoothClusterSuperHQFSShadowedFSM,Fragment @@ -380,6 +500,12 @@ SmoothClusterSuperHQVS_Level24,Vertex SmoothClusterSuperHQVS_Level256,Vertex SmoothClusterSuperHQVS_Level264,Vertex SmoothClusterSuperHQVS_Level280,Vertex +SmoothClusterSuperHQVS_Level512,Vertex +SmoothClusterSuperHQVS_Level520,Vertex +SmoothClusterSuperHQVS_Level536,Vertex +SmoothClusterSuperHQVS_Level768,Vertex +SmoothClusterSuperHQVS_Level776,Vertex +SmoothClusterSuperHQVS_Level792,Vertex SmoothClusterSuperHQVSFlagHeight,Vertex SmoothClusterSuperHQVSFlagHeight_Level0,Vertex SmoothClusterSuperHQVSFlagHeight_Level8,Vertex @@ -387,6 +513,12 @@ SmoothClusterSuperHQVSFlagHeight_Level24,Vertex SmoothClusterSuperHQVSFlagHeight_Level256,Vertex SmoothClusterSuperHQVSFlagHeight_Level264,Vertex SmoothClusterSuperHQVSFlagHeight_Level280,Vertex +SmoothClusterSuperHQVSFlagHeight_Level512,Vertex +SmoothClusterSuperHQVSFlagHeight_Level520,Vertex +SmoothClusterSuperHQVSFlagHeight_Level536,Vertex +SmoothClusterSuperHQVSFlagHeight_Level768,Vertex +SmoothClusterSuperHQVSFlagHeight_Level776,Vertex +SmoothClusterSuperHQVSFlagHeight_Level792,Vertex SmoothClusterSuperHQVSShadowed,Vertex SmoothClusterSuperHQVSShadowedFlagHeight,Vertex SmoothClusterSuperHQVSShadowedFSM,Vertex @@ -399,18 +531,27 @@ SmoothWaterHQFS,Fragment SmoothWaterHQFS_Level0,Fragment SmoothWaterHQFS_Level8,Fragment SmoothWaterHQFS_Level24,Fragment +SmoothWaterHQFS_Level512,Fragment +SmoothWaterHQFS_Level520,Fragment +SmoothWaterHQFS_Level536,Fragment SmoothWaterHQFSShadowed,Fragment SmoothWaterHQFSShadowedFSM,Fragment SmoothWaterHQVS,Vertex SmoothWaterHQVS_Level0,Vertex SmoothWaterHQVS_Level8,Vertex SmoothWaterHQVS_Level24,Vertex +SmoothWaterHQVS_Level512,Vertex +SmoothWaterHQVS_Level520,Vertex +SmoothWaterHQVS_Level536,Vertex SmoothWaterHQVSShadowed,Vertex SmoothWaterHQVSShadowedFSM,Vertex SmoothWaterSuperHQFS,Fragment SmoothWaterSuperHQFS_Level0,Fragment SmoothWaterSuperHQFS_Level8,Fragment SmoothWaterSuperHQFS_Level24,Fragment +SmoothWaterSuperHQFS_Level512,Fragment +SmoothWaterSuperHQFS_Level520,Fragment +SmoothWaterSuperHQFS_Level536,Fragment SmoothWaterSuperHQFSShadowed,Fragment SmoothWaterSuperHQFSShadowedFSM,Fragment SmoothWaterVS,Vertex diff --git a/shaders/shaders_d3d9.csv b/shaders/shaders_d3d9.csv index 2d847c850f..6e294cc172 100644 --- a/shaders/shaders_d3d9.csv +++ b/shaders/shaders_d3d9.csv @@ -32,6 +32,9 @@ Blur1FS,Fragment Blur3FS,Fragment Blur5FS,Fragment Blur7FS,Fragment +CloudsCompFS,Fragment +CloudsFS,Fragment +CloudsVS,Vertex CopyGuiVS,Vertex DefaultDepthFS,Fragment DefaultDepthVS_Level0,Vertex @@ -49,6 +52,9 @@ DefaultPlasticReflectionFS,Fragment DefaultReflectionVS_Level0,Vertex DefaultReflectionVS_Level2,Vertex DefaultReflectionVS_Level6,Vertex +DefaultReflectionVS_Level512,Vertex +DefaultReflectionVS_Level514,Vertex +DefaultReflectionVS_Level518,Vertex DefaultShadowFS,Fragment DefaultShadowGeomVS_Level0,Vertex DefaultShadowGeomVS_Level2,Vertex @@ -81,6 +87,7 @@ GlassVS_Level6,Vertex GrassFS,Fragment GrassVS,Vertex GridFS_Level0,Fragment +GridFS_Level512,Fragment ImageProcessAlphaFS,Fragment ImageProcessBloomFS,Fragment ImageProcessBloomLinearFS,Fragment diff --git a/shaders/shaders_glsl.csv b/shaders/shaders_glsl.csv index 639b560564..060889eca2 100644 --- a/shaders/shaders_glsl.csv +++ b/shaders/shaders_glsl.csv @@ -35,6 +35,9 @@ Blur7FS,Fragment BokehFarCoCFS,Fragment BokehNearCoCFS,Fragment CheapBokehFS,Fragment +CloudsCompFS,Fragment +CloudsFS,Fragment +CloudsVS,Vertex CopyGuiVS,Vertex DefaultDepthFS,Fragment DefaultDepthVS_Level0,Vertex @@ -42,30 +45,46 @@ DefaultDepthVS_Level2,Vertex DefaultDepthVS_Level6,Vertex DefaultForceFieldFS,Fragment DefaultForceFieldHQFS_Level0,Fragment +DefaultForceFieldHQFS_Level512,Fragment DefaultForceFieldHQVS_Level0,Vertex DefaultForceFieldHQVS_Level2,Vertex DefaultForceFieldHQVS_Level6,Vertex +DefaultForceFieldHQVS_Level512,Vertex +DefaultForceFieldHQVS_Level514,Vertex +DefaultForceFieldHQVS_Level518,Vertex DefaultForceFieldSHQFS_Level0,Fragment +DefaultForceFieldSHQFS_Level512,Fragment DefaultForceFieldVS_Level0,Vertex DefaultForceFieldVS_Level2,Vertex DefaultForceFieldVS_Level6,Vertex DefaultGlassHQFS_Level0,Fragment +DefaultGlassHQFS_Level512,Fragment DefaultGlassSuperHQFS_Level0,Fragment +DefaultGlassSuperHQFS_Level512,Fragment DefaultHQVS_Level0,Vertex DefaultHQVS_Level2,Vertex DefaultHQVS_Level6,Vertex +DefaultHQVS_Level512,Vertex +DefaultHQVS_Level514,Vertex +DefaultHQVS_Level518,Vertex DefaultNeonFS,Fragment DefaultNeonHQFS_Level0,Fragment +DefaultNeonHQFS_Level512,Fragment DefaultNeonHQInGuiFS,Fragment DefaultNeonInGuiFS,Fragment DefaultOpaqueFS,Fragment DefaultOpaqueHQFS_Level0,Fragment +DefaultOpaqueHQFS_Level512,Fragment DefaultPlasticFS,Fragment DefaultPlasticHQFS_Level0,Fragment +DefaultPlasticHQFS_Level512,Fragment DefaultPlasticReflectionFS,Fragment DefaultReflectionVS_Level0,Vertex DefaultReflectionVS_Level2,Vertex DefaultReflectionVS_Level6,Vertex +DefaultReflectionVS_Level512,Vertex +DefaultReflectionVS_Level514,Vertex +DefaultReflectionVS_Level518,Vertex DefaultShadowFS,Fragment DefaultShadowGeomVS_Level0,Vertex DefaultShadowGeomVS_Level2,Vertex @@ -76,20 +95,30 @@ DefaultSurfaceAppearanceDitheredDepthVS_Level2,Vertex DefaultSurfaceAppearanceDitheredDepthVS_Level6,Vertex DefaultSurfaceAppearanceDitheredFS,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level0,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level512,Fragment DefaultSurfaceAppearanceFS,Fragment DefaultSurfaceAppearanceHQFS_Level0,Fragment +DefaultSurfaceAppearanceHQFS_Level512,Fragment DefaultSurfaceHQVS_Level0,Vertex DefaultSurfaceHQVS_Level2,Vertex DefaultSurfaceHQVS_Level6,Vertex +DefaultSurfaceHQVS_Level512,Vertex +DefaultSurfaceHQVS_Level514,Vertex +DefaultSurfaceHQVS_Level518,Vertex DefaultTiledHideAllRepHQFS_Level0,Fragment +DefaultTiledHideAllRepHQFS_Level512,Fragment DefaultTiledHideDiffuseRepHQFS_Level0,Fragment +DefaultTiledHideDiffuseRepHQFS_Level512,Fragment DefaultTiledHQFS_Level0,Fragment +DefaultTiledHQFS_Level512,Fragment DefaultTransparentFS,Fragment DefaultTransparentHQFS_Level0,Fragment +DefaultTransparentHQFS_Level512,Fragment DefaultVS_Level0,Vertex DefaultVS_Level2,Vertex DefaultVS_Level6,Vertex DefaultWangHQFS_Level0,Fragment +DefaultWangHQFS_Level512,Fragment DOFDownSampleAndComputeFarCoCHorizontal4xFS,Fragment DOFDownSampleAndMaskFarFieldColorHorizontal2xFS,Fragment DOFDownSampleAndMaskNearFieldColorHorizontal2xFS,Fragment @@ -125,6 +154,7 @@ GrassHQFS,Fragment GrassHQVS,Vertex GrassVS,Vertex GridFS_Level0,Fragment +GridFS_Level512,Fragment ImageProcessAlphaFS,Fragment ImageProcessBloomFS,Fragment ImageProcessBloomLinearFS,Fragment @@ -195,31 +225,46 @@ SmoothClusterFS_Level256,Fragment SmoothClusterHQFS,Fragment SmoothClusterHQFS_Level0,Fragment SmoothClusterHQFS_Level256,Fragment +SmoothClusterHQFS_Level512,Fragment +SmoothClusterHQFS_Level768,Fragment SmoothClusterHQVS,Vertex SmoothClusterHQVS_Level0,Vertex SmoothClusterHQVS_Level256,Vertex +SmoothClusterHQVS_Level512,Vertex +SmoothClusterHQVS_Level768,Vertex SmoothClusterSuperHQFS,Fragment SmoothClusterSuperHQFS_Level0,Fragment SmoothClusterSuperHQFS_Level256,Fragment +SmoothClusterSuperHQFS_Level512,Fragment +SmoothClusterSuperHQFS_Level768,Fragment SmoothClusterSuperHQFSFlagHeight,Fragment SmoothClusterSuperHQFSFlagHeight_Level0,Fragment SmoothClusterSuperHQFSFlagHeight_Level256,Fragment +SmoothClusterSuperHQFSFlagHeight_Level512,Fragment +SmoothClusterSuperHQFSFlagHeight_Level768,Fragment SmoothClusterSuperHQVS,Vertex SmoothClusterSuperHQVS_Level0,Vertex SmoothClusterSuperHQVS_Level256,Vertex +SmoothClusterSuperHQVS_Level512,Vertex +SmoothClusterSuperHQVS_Level768,Vertex SmoothClusterSuperHQVSFlagHeight,Vertex SmoothClusterSuperHQVSFlagHeight_Level0,Vertex SmoothClusterSuperHQVSFlagHeight_Level256,Vertex +SmoothClusterSuperHQVSFlagHeight_Level512,Vertex +SmoothClusterSuperHQVSFlagHeight_Level768,Vertex SmoothClusterVS,Vertex SmoothClusterVS_Level0,Vertex SmoothClusterVS_Level256,Vertex SmoothWaterFS,Fragment SmoothWaterHQFS,Fragment SmoothWaterHQFS_Level0,Fragment +SmoothWaterHQFS_Level512,Fragment SmoothWaterHQVS,Vertex SmoothWaterHQVS_Level0,Vertex +SmoothWaterHQVS_Level512,Vertex SmoothWaterSuperHQFS,Fragment SmoothWaterSuperHQFS_Level0,Fragment +SmoothWaterSuperHQFS_Level512,Fragment SmoothWaterVS,Vertex SRGBToLinearFS,Fragment SSAOBlurXFS,Fragment diff --git a/shaders/shaders_glsl/CloudsCompFS.frag b/shaders/shaders_glsl/CloudsCompFS.frag new file mode 100644 index 0000000000..e0e3e8e312 --- /dev/null +++ b/shaders/shaders_glsl/CloudsCompFS.frag @@ -0,0 +1,27 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[1]; +uniform sampler2D CloudsTexture; + +void main() +{ + vec2 f0 = gl_FragCoord.xy * CB2[0].xy; + vec4 f1 = texture2D(CloudsTexture, f0); + if (!(f1.w >= 0.039999999105930328369140625)) + { + discard; + } + vec4 f2 = vec4(2.0, 2.0, -2.0, 0.0) * CB2[0].xyxy; + vec2 f3 = f2.xy; + vec2 f4 = f2.wy; + vec2 f5 = f2.zy; + vec3 f6 = sqrt(clamp(((((((((((f1 * 4.0) + texture2D(CloudsTexture, f0 - f3)) + (texture2D(CloudsTexture, f0 - f4) * 2.0)) + texture2D(CloudsTexture, f0 - f5)) + (texture2D(CloudsTexture, f0 + f2.zw) * 2.0)) + (texture2D(CloudsTexture, f0 + f2.xw) * 2.0)) + texture2D(CloudsTexture, f0 + f5)) + (texture2D(CloudsTexture, f0 + f4) * 2.0)) + texture2D(CloudsTexture, f0 + f3)) * 0.0625).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f6.x, f6.y, f6.z, f1.w); + gl_FragDepth = 1.0000000116860974230803549289703e-07; +} + +//$$CloudsTexture=s0 diff --git a/shaders/shaders_glsl/CloudsFS.frag b/shaders/shaders_glsl/CloudsFS.frag new file mode 100644 index 0000000000..39d1fc7e52 --- /dev/null +++ b/shaders/shaders_glsl/CloudsFS.frag @@ -0,0 +1,177 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[1]; +uniform vec4 CB2[3]; +uniform sampler3D CloudsDistanceFieldTexture; + +void main() +{ + vec2 f0 = (gl_FragCoord.xy * CB1[0].xy) + CB1[0].zw; + vec3 f1 = -normalize(((CB0[4].xyz * f0.x) - (CB0[5].xyz * f0.y)) + CB0[6].xyz); + float f2 = f1.y; + if (f2 < 0.0) + { + discard; + } + vec3 f3 = CB0[7].xyz * 0.00028000000747852027416229248046875; + vec3 f4 = f3; + f4.y = f3.y + 6371.0; + float f5 = dot(f1, f4); + float f6 = 2.0 * f5; + vec2 f7 = (vec2(f5 * (-2.0)) + sqrt(vec2(f6 * f6) - ((vec2(dot(f4, f4)) - vec2(40615128.0, 40647000.0)) * 4.0))) * 0.5; + float f8 = f7.x; + float f9 = f7.y - f8; + vec3 f10 = f1; + f10.y = 0.0375653542578220367431640625 + (0.96243464946746826171875 * f2); + vec3 f11 = f3 + (f10 * f8); + f11.y = 0.0; + float f12 = 0.0625 + (CB2[2].x * 0.5); + float f13 = (f12 * 0.3333333432674407958984375) * f9; + float f14 = 0.3333333432674407958984375 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))); + float f15 = f12 * f9; + vec3 f16; + vec4 f17; + f17 = vec4(0.0); + f16 = (f11 + ((f10 * f15) * f14)) + ((CB2[0].xyz * CB2[0].w) * 64.0); + float f18; + vec3 f19; + bool f20; + bool f21; + float f22; + float f23; + float f24; + vec4 f25; + vec4 f26; + int f27 = 0; + float f28 = 1.0; + float f29 = f8 + (f15 * f14); + bool f30 = false; + for (;;) + { + if (f27 < 3) + { + vec4 f31 = texture3D(CloudsDistanceFieldTexture, (f16 * vec3(0.03125, 1.0, 0.03125)).xzy); + float f32 = f31.x; + bool f33 = f32 < CB2[2].x; + if (f33) + { + float f34 = ((2.5 / f9) * (exp2(8.0 * CB2[2].y) - 1.0)) * (CB2[2].x - f32); + vec3 f35 = normalize(-CB0[11].xyz); + float f36; + float f37; + int f38 = 0; + float f39 = 0.0; + for (;;) + { + if (f38 < 3) + { + float f40 = float(f38); + vec3 f41 = (f16 + ((f35 * 5.333333492279052734375) * fract(52.98291778564453125 * fract(dot(vec2(0.300000011920928955078125) + gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))) + ((f35 * f40) * 5.333333492279052734375); + float f42 = f41.y; + if ((f42 < 0.0) || (f42 > 1.0)) + { + f36 = f39; + break; + } + vec4 f43 = texture3D(CloudsDistanceFieldTexture, (f41 * vec3(0.03125, 1.0, 0.03125)).xzy); + float f44 = f43.x; + if (f44 > 0.5) + { + f37 = f39; + int f45 = f38 + 1; + f39 = f37; + f38 = f45; + continue; + } + float f46 = f39 + (0.125 * (1.0 - (2.0 * f44))); + if (f46 >= 1.0) + { + f36 = f46; + break; + } + f37 = f46; + int f45 = f38 + 1; + f39 = f37; + f38 = f45; + continue; + } + else + { + f36 = f39; + break; + } + } + float f47; + if (f36 > 1.0) + { + f47 = 0.0; + } + else + { + f47 = 2.5 * exp2((-5.333333492279052734375) * f36); + } + vec3 f48 = mix(vec3(0.1500000059604644775390625 + (0.300000011920928955078125 * f16.y)), mix(CB0[26].xyz, CB0[25].xyz, vec3(f16.y)), vec3(clamp(exp2(CB0[11].y * 32.0), 0.0, 1.0))) + ((CB0[10].xyz * f47) * 2.099999904632568359375); + float f49 = exp2((-0.4808983504772186279296875) * f34); + vec3 f50 = f17.xyz + (((f48 - (f48 * f49)) * f28) / vec3(f34)); + vec4 f51 = vec4(f50.x, f50.y, f50.z, f17.w); + float f52 = f28 * f49; + if (f52 < 0.001000000047497451305389404296875) + { + f25 = f51; + f23 = f52; + f22 = f29; + f21 = true; + break; + } + f26 = f51; + f24 = f52; + } + else + { + f26 = f17; + f24 = f28; + } + f20 = f33 ? true : f30; + f18 = f29 + f13; + f19 = f16 + (f10 * vec3(f13, 0.3333333432674407958984375, f13)); + if (f19.y >= 1.0) + { + f25 = f26; + f23 = f24; + f22 = f18; + f21 = f20; + break; + } + f17 = f26; + f16 = f19; + f29 = f18; + f28 = f24; + f27++; + f30 = f20; + continue; + } + else + { + f25 = f17; + f23 = f28; + f22 = f29; + f21 = f30; + break; + } + } + if (!f21) + { + discard; + } + vec3 f53 = mix(CB0[14].xyz, f25.xyz, vec3(exp2((CB0[13].z * 3.5714285373687744140625) * (f22 * f22)))); + vec4 f54 = vec4(f53.x, f53.y, f53.z, f25.w); + f54.w = 1.0 - f23; + gl_FragData[0] = f54; +} + +//$$CloudsDistanceFieldTexture=s0 diff --git a/shaders/shaders_glsl/CloudsVS.vert b/shaders/shaders_glsl/CloudsVS.vert new file mode 100644 index 0000000000..c849975223 --- /dev/null +++ b/shaders/shaders_glsl/CloudsVS.vert @@ -0,0 +1,9 @@ +#version 110 + +attribute vec4 POSITION; + +void main() +{ + gl_Position = POSITION; +} + diff --git a/shaders/shaders_glsl/DefaultForceFieldHQFS_Level512.frag b/shaders/shaders_glsl/DefaultForceFieldHQFS_Level512.frag new file mode 100644 index 0000000000..b9a0abb10c --- /dev/null +++ b/shaders/shaders_glsl/DefaultForceFieldHQFS_Level512.frag @@ -0,0 +1,34 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D DiffuseMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING4; +varying vec4 VARYING5; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec4 f1 = texture2D(DiffuseMapTexture, VARYING0); + float f2 = f1.x; + float f3 = (f2 > 0.0) ? ((1.0 - clamp(abs(f2 - CB0[14].w) * 13.0, 0.0, 1.0)) * f1.w) : 0.0; + float f4 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f0))) * 2.0, 0.0, 1.0), 0.0), f3); + float f5 = VARYING2.w * max(mix(f3, 1.0, f4) * f4, VARYING1.x); + vec4 f6 = vec4(VARYING2.xyz * VARYING2.xyz, f5); + float f7 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f8 = mix(CB0[14].xyz, f6.xyz, vec3(f7)); + float f9 = f7 * f5; + vec4 f10 = vec4(f8.x, f8.y, f8.z, f6.w); + f10.w = f9; + vec3 f11 = sqrt(clamp(f10.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f12 = vec4(f11.x, f11.y, f11.z, f10.w); + f12.w = f9; + gl_FragData[0] = f12; +} + +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl/DefaultForceFieldHQVS_Level512.vert b/shaders/shaders_glsl/DefaultForceFieldHQVS_Level512.vert new file mode 100644 index 0000000000..d8017c8b9d --- /dev/null +++ b/shaders/shaders_glsl/DefaultForceFieldHQVS_Level512.vert @@ -0,0 +1,45 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0); + vec4 v2 = v1 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v3 = TEXCOORD1; + v3.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v4 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, vec4(0.0).w); + v5.w = 0.0; + vec4 v6 = vec4(dot(CB0[20], v1), dot(CB0[21], v1), dot(CB0[22], v1), 0.0); + v6.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v7 = vec4(v0, 0.0); + v7.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v2; + VARYING0 = TEXCOORD0; + VARYING1 = v3; + VARYING2 = COLOR0; + VARYING3 = v5; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v2.w); + VARYING5 = v7; + VARYING6 = v6; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultForceFieldHQVS_Level514.vert b/shaders/shaders_glsl/DefaultForceFieldHQVS_Level514.vert new file mode 100644 index 0000000000..ebebd740c4 --- /dev/null +++ b/shaders/shaders_glsl/DefaultForceFieldHQVS_Level514.vert @@ -0,0 +1,56 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0); + vec4 v12 = v11 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v13 = TEXCOORD1; + v13.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v14 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v15 = vec4(v14.x, v14.y, v14.z, vec4(0.0).w); + v15.w = 0.0; + vec4 v16 = vec4(dot(CB0[20], v11), dot(CB0[21], v11), dot(CB0[22], v11), 0.0); + v16.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v17 = vec4(v8, v9, v10, 0.0); + v17.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v12; + VARYING0 = TEXCOORD0; + VARYING1 = v13; + VARYING2 = COLOR0; + VARYING3 = v15; + VARYING4 = vec4(CB0[7].xyz - v7, v12.w); + VARYING5 = v17; + VARYING6 = v16; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultForceFieldHQVS_Level518.vert b/shaders/shaders_glsl/DefaultForceFieldHQVS_Level518.vert new file mode 100644 index 0000000000..9a08eb622d --- /dev/null +++ b/shaders/shaders_glsl/DefaultForceFieldHQVS_Level518.vert @@ -0,0 +1,66 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD4; +attribute vec4 TEXCOORD5; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0); + vec4 v20 = v19 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v21 = TEXCOORD1; + v21.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v22 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v23 = vec4(v22.x, v22.y, v22.z, vec4(0.0).w); + v23.w = 0.0; + vec4 v24 = vec4(dot(CB0[20], v19), dot(CB0[21], v19), dot(CB0[22], v19), 0.0); + v24.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v25 = vec4(v16, v17, v18, 0.0); + v25.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v20; + VARYING0 = TEXCOORD0; + VARYING1 = v21; + VARYING2 = COLOR0; + VARYING3 = v23; + VARYING4 = vec4(CB0[7].xyz - v15, v20.w); + VARYING5 = v25; + VARYING6 = v24; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultForceFieldSHQFS_Level512.frag b/shaders/shaders_glsl/DefaultForceFieldSHQFS_Level512.frag new file mode 100644 index 0000000000..6d6b5db8d2 --- /dev/null +++ b/shaders/shaders_glsl/DefaultForceFieldSHQFS_Level512.frag @@ -0,0 +1,39 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D DiffuseMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING4; +varying vec4 VARYING5; + +void main() +{ + vec4 f0 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + float f1 = f0.w; + float f2 = texture2D(GBufferDepthTexture, ((f0.xy * 0.5) + vec2(0.5 * f1)).xy / vec2(f1)).x * 500.0; + float f3 = length(VARYING4.xyz); + vec4 f4 = texture2D(DiffuseMapTexture, VARYING0); + float f5 = f4.x; + float f6 = (f5 > 0.0) ? ((1.0 - clamp(abs(f5 - CB0[14].w) * 13.0, 0.0, 1.0)) * f4.w) : 0.0; + float f7 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f3))) * 2.0, 0.0, 1.0), (f2 > 499.0) ? 0.0 : (1.0 - clamp((f2 - f1) * 3.0, 0.0, 1.0))), f6); + float f8 = VARYING2.w * max(mix(f6, 1.0, f7) * f7, VARYING1.x); + vec4 f9 = vec4(VARYING2.xyz * VARYING2.xyz, f8); + float f10 = clamp(exp2((CB0[13].z * f3) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f11 = mix(CB0[14].xyz, f9.xyz, vec3(f10)); + float f12 = f10 * f8; + vec4 f13 = vec4(f11.x, f11.y, f11.z, f9.w); + f13.w = f12; + vec3 f14 = sqrt(clamp(f13.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f15 = vec4(f14.x, f14.y, f14.z, f13.w); + f15.w = f12; + gl_FragData[0] = f15; +} + +//$$GBufferDepthTexture=s10 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl/DefaultGlassHQFS_Level512.frag b/shaders/shaders_glsl/DefaultGlassHQFS_Level512.frag new file mode 100644 index 0000000000..66812244a9 --- /dev/null +++ b/shaders/shaders_glsl/DefaultGlassHQFS_Level512.frag @@ -0,0 +1,92 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; +uniform samplerCube EnvironmentMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture2D(DiffuseMapTexture, f2); + vec2 f4 = texture2D(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture2D(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture2D(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture2D(SpecularMapTexture, f2 * CB2[1].w), texture2D(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + vec3 f14 = normalize(((VARYING6.xyz * f7.x) + (cross(VARYING5.xyz, VARYING6.xyz) * f7.y)) + (VARYING5.xyz * (f6 * 10.0))); + vec3 f15 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f16 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f17 = VARYING3.yzx - (VARYING3.yzx * f16); + vec4 f18 = vec4(clamp(f16, 0.0, 1.0)); + vec4 f19 = mix(texture3D(LightMapTexture, f17), vec4(0.0), f18); + vec4 f20 = mix(texture3D(LightGridSkylightTexture, f17), vec4(1.0), f18); + vec3 f21 = (f19.xyz * (f19.w * 120.0)).xyz; + float f22 = f20.x; + vec4 f23 = texture2D(ShadowMapTexture, f15.xy); + float f24 = f15.z; + vec3 f25 = f9 * f9; + float f26 = length(VARYING4.xyz); + vec3 f27 = VARYING4.xyz / vec3(f26); + vec3 f28 = textureCube(EnvironmentMapTexture, reflect(-VARYING4.xyz, f14)).xyz; + vec3 f29 = -CB0[11].xyz; + float f30 = dot(f14, f29) * ((1.0 - ((step(f23.x, f24) * clamp(CB0[24].z + (CB0[24].w * abs(f24 - 0.5)), 0.0, 1.0)) * f23.y)) * f20.y); + vec3 f31 = normalize(f29 + f27); + float f32 = clamp(f30, 0.0, 1.0); + float f33 = f11 * f11; + float f34 = max(0.001000000047497451305389404296875, dot(f14, f31)); + float f35 = dot(f29, f31); + float f36 = 1.0 - f35; + float f37 = f36 * f36; + float f38 = (f37 * f37) * f36; + vec3 f39 = vec3(f38) + (vec3(0.039999999105930328369140625) * (1.0 - f38)); + float f40 = f33 * f33; + float f41 = (((f34 * f40) - f34) * f34) + 1.0; + vec3 f42 = mix(f21, (f28 * f28) * CB0[15].x, vec3(f22)) * mix(vec3(1.0), f25, vec3(0.5)); + float f43 = 1.0 - max(9.9999997473787516355514526367188e-05, dot(f14, f27)); + vec4 f44 = mix(vec4(mix((((((vec3(1.0) - (f39 * (CB0[26].w * f1))) * CB0[10].xyz) * f32) + (CB0[12].xyz * clamp(-f30, 0.0, 1.0))) + min(f21 + (CB0[8].xyz + (CB0[9].xyz * f22)), vec3(CB0[16].w))) * (f25 * f13), f42, vec3(VARYING7.w)) * f13, f13), vec4(f42, 1.0), vec4(((f43 * f43) * 0.800000011920928955078125) * clamp(f12, 0.0, 1.0))) + vec4((f39 * (((f40 + (f40 * f40)) / (((f41 * f41) * ((f35 * 3.0) + 0.5)) * ((f34 * 0.75) + 0.25))) * f32)) * CB0[10].xyz, 0.0); + float f45 = clamp(exp2((CB0[13].z * f26) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f46 = mix(CB0[14].xyz, f44.xyz, vec3(f45)); + vec4 f47 = vec4(f46.x, f46.y, f46.z, f44.w); + f47.w = 1.0 - ((1.0 - f44.w) * f45); + vec3 f48 = sqrt(clamp(f47.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f48.x, f48.y, f48.z, f47.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 +//$$EnvironmentMapTexture=s2 diff --git a/shaders/shaders_glsl/DefaultGlassSuperHQFS_Level512.frag b/shaders/shaders_glsl/DefaultGlassSuperHQFS_Level512.frag new file mode 100644 index 0000000000..a5a6cf9132 --- /dev/null +++ b/shaders/shaders_glsl/DefaultGlassSuperHQFS_Level512.frag @@ -0,0 +1,115 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D GBufferColorTexture; +uniform samplerCube EnvironmentMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture2D(DiffuseMapTexture, f2); + vec2 f4 = texture2D(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture2D(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture2D(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture2D(SpecularMapTexture, f2 * CB2[1].w), texture2D(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + float f14 = clamp(f12, 0.0, 1.0); + vec3 f15 = normalize(((VARYING6.xyz * f7.x) + (cross(VARYING5.xyz, VARYING6.xyz) * f7.y)) + (VARYING5.xyz * (f6 * 10.0))); + vec3 f16 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING3.yzx - (VARYING3.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture3D(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture3D(LightGridSkylightTexture, f18), vec4(1.0), f19); + vec3 f22 = (f20.xyz * (f20.w * 120.0)).xyz; + float f23 = f21.x; + vec4 f24 = texture2D(ShadowMapTexture, f16.xy); + float f25 = f16.z; + vec3 f26 = f9 * f9; + float f27 = length(VARYING4.xyz); + vec3 f28 = VARYING4.xyz / vec3(f27); + vec3 f29 = textureCube(EnvironmentMapTexture, reflect(-VARYING4.xyz, f15)).xyz; + vec3 f30 = -CB0[11].xyz; + float f31 = dot(f15, f30) * ((1.0 - ((step(f24.x, f25) * clamp(CB0[24].z + (CB0[24].w * abs(f25 - 0.5)), 0.0, 1.0)) * f24.y)) * f21.y); + vec3 f32 = normalize(f30 + f28); + float f33 = clamp(f31, 0.0, 1.0); + float f34 = f11 * f11; + float f35 = max(0.001000000047497451305389404296875, dot(f15, f32)); + float f36 = dot(f30, f32); + float f37 = 1.0 - f36; + float f38 = f37 * f37; + float f39 = (f38 * f38) * f37; + vec3 f40 = vec3(f39) + (vec3(0.039999999105930328369140625) * (1.0 - f39)); + float f41 = f34 * f34; + float f42 = (((f35 * f41) - f35) * f35) + 1.0; + vec3 f43 = mix(f22, (f29 * f29) * CB0[15].x, vec3(f23)) * mix(vec3(1.0), f26, vec3(0.5)); + float f44 = 1.0 - max(9.9999997473787516355514526367188e-05, dot(f15, f28)); + float f45 = 1.0 - VARYING2.w; + float f46 = mix(0.660000026226043701171875, 1.0, f45 * f45); + mat4 f47 = mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 f48 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * f47; + vec4 f49 = vec4(CB0[7].xyz - ((VARYING4.xyz * (1.0 + ((3.0 * f46) / max(dot(VARYING4.xyz, f15), 0.00999999977648258209228515625)))) + (f15 * (3.0 * (1.0 - f46)))), 1.0) * f47; + float f50 = f48.w; + vec2 f51 = ((f48.xy * 0.5) + vec2(0.5 * f50)).xy / vec2(f50); + float f52 = f49.w; + vec2 f53 = ((f49.xy * 0.5) + vec2(0.5 * f52)).xy / vec2(f52); + vec2 f54 = f53 - vec2(0.5); + vec2 f55 = (f53 - f51) * clamp(vec2(1.0) - ((f54 * f54) * 4.0), vec2(0.0), vec2(1.0)); + vec2 f56 = normalize(f55) * CB0[23].x; + vec4 f57 = texture2D(GBufferColorTexture, f51 + (f55 * clamp(min(texture2D(GBufferDepthTexture, f53 + f56).x * 500.0, texture2D(GBufferDepthTexture, f53 - f56).x * 500.0) - f50, 0.0, 1.0))); + vec3 f58 = f57.xyz; + vec3 f59 = ((f58 * f58) * CB0[15].x).xyz; + vec3 f60 = f59 * mix(vec3(1.0), VARYING2.xyz, vec3(f14)); + vec4 f61 = vec4(f60.x, f60.y, f60.z, vec4(0.0).w); + f61.w = mix(1.0, f57.w, dot(f60.xyz, vec3(1.0)) / (dot(f59, vec3(1.0)) + 0.00999999977648258209228515625)); + vec4 f62 = mix(mix(f61, vec4(mix((((((vec3(1.0) - (f40 * (CB0[26].w * f1))) * CB0[10].xyz) * f33) + (CB0[12].xyz * clamp(-f31, 0.0, 1.0))) + min(f22 + (CB0[8].xyz + (CB0[9].xyz * f23)), vec3(CB0[16].w))) * (f26 * f13), f43, vec3(VARYING7.w)), 1.0), vec4(f13)), vec4(f43, 1.0), vec4(((f44 * f44) * 0.800000011920928955078125) * f14)) + vec4((f40 * (((f41 + (f41 * f41)) / (((f42 * f42) * ((f36 * 3.0) + 0.5)) * ((f35 * 0.75) + 0.25))) * f33)) * CB0[10].xyz, 0.0); + float f63 = clamp(exp2((CB0[13].z * f27) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f64 = mix(CB0[14].xyz, f62.xyz, vec3(f63)); + vec4 f65 = vec4(f64.x, f64.y, f64.z, f62.w); + f65.w = f63 * f62.w; + vec3 f66 = sqrt(clamp(f65.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f66.x, f66.y, f66.z, f65.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 +//$$GBufferDepthTexture=s10 +//$$GBufferColorTexture=s9 +//$$EnvironmentMapTexture=s2 diff --git a/shaders/shaders_glsl/DefaultHQVS_Level512.vert b/shaders/shaders_glsl/DefaultHQVS_Level512.vert new file mode 100644 index 0000000000..1adb429a90 --- /dev/null +++ b/shaders/shaders_glsl/DefaultHQVS_Level512.vert @@ -0,0 +1,43 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0); + vec4 v2 = v1 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v3 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v4 = vec4(v3.x, v3.y, v3.z, vec4(0.0).w); + v4.w = 0.0; + vec4 v5 = vec4(dot(CB0[20], v1), dot(CB0[21], v1), dot(CB0[22], v1), 0.0); + v5.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v6 = vec4(v0, 0.0); + v6.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v2; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v4; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v2.w); + VARYING5 = v6; + VARYING6 = v5; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultHQVS_Level514.vert b/shaders/shaders_glsl/DefaultHQVS_Level514.vert new file mode 100644 index 0000000000..f223a7bc21 --- /dev/null +++ b/shaders/shaders_glsl/DefaultHQVS_Level514.vert @@ -0,0 +1,54 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0); + vec4 v12 = v11 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v13 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v14 = vec4(v13.x, v13.y, v13.z, vec4(0.0).w); + v14.w = 0.0; + vec4 v15 = vec4(dot(CB0[20], v11), dot(CB0[21], v11), dot(CB0[22], v11), 0.0); + v15.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v16 = vec4(v8, v9, v10, 0.0); + v16.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v12; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v14; + VARYING4 = vec4(CB0[7].xyz - v7, v12.w); + VARYING5 = v16; + VARYING6 = v15; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultHQVS_Level518.vert b/shaders/shaders_glsl/DefaultHQVS_Level518.vert new file mode 100644 index 0000000000..f4abeaff88 --- /dev/null +++ b/shaders/shaders_glsl/DefaultHQVS_Level518.vert @@ -0,0 +1,64 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD4; +attribute vec4 TEXCOORD5; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0); + vec4 v20 = v19 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v21 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = 0.0; + vec4 v23 = vec4(dot(CB0[20], v19), dot(CB0[21], v19), dot(CB0[22], v19), 0.0); + v23.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v24 = vec4(v16, v17, v18, 0.0); + v24.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v20; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v22; + VARYING4 = vec4(CB0[7].xyz - v15, v20.w); + VARYING5 = v24; + VARYING6 = v23; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultNeonHQFS_Level512.frag b/shaders/shaders_glsl/DefaultNeonHQFS_Level512.frag new file mode 100644 index 0000000000..1be1fd3216 --- /dev/null +++ b/shaders/shaders_glsl/DefaultNeonHQFS_Level512.frag @@ -0,0 +1,17 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +varying vec4 VARYING2; +varying vec4 VARYING4; + +void main() +{ + float f0 = clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f1 = sqrt(clamp(mix(CB0[14].xyz, (pow(VARYING2.xyz * 1.35000002384185791015625, vec3(4.0)) * 4.0).xyz, vec3(f0)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f2 = vec4(f1.x, f1.y, f1.z, vec4(0.0).w); + f2.w = 1.0 - (clamp(f0, 0.0, 1.0) * VARYING2.w); + gl_FragData[0] = f2; +} + diff --git a/shaders/shaders_glsl/DefaultOpaqueHQFS_Level512.frag b/shaders/shaders_glsl/DefaultOpaqueHQFS_Level512.frag new file mode 100644 index 0000000000..a6bfbc9e7e --- /dev/null +++ b/shaders/shaders_glsl/DefaultOpaqueHQFS_Level512.frag @@ -0,0 +1,61 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; + +varying vec2 VARYING0; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = (texture2D(DiffuseMapTexture, VARYING0) * VARYING2).xyz; + vec3 f2 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f3 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f4 = VARYING3.yzx - (VARYING3.yzx * f3); + vec4 f5 = vec4(clamp(f3, 0.0, 1.0)); + vec4 f6 = mix(texture3D(LightMapTexture, f4), vec4(0.0), f5); + vec4 f7 = mix(texture3D(LightGridSkylightTexture, f4), vec4(1.0), f5); + vec4 f8 = texture2D(ShadowMapTexture, f2.xy); + float f9 = f2.z; + vec3 f10 = (f1 * f1).xyz; + float f11 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec3 f12 = normalize(VARYING5.xyz); + float f13 = max(VARYING5.w, 0.04500000178813934326171875); + float f14 = VARYING6.w * f11; + vec3 f15 = -CB0[11].xyz; + float f16 = dot(f12, f15) * ((1.0 - ((step(f8.x, f9) * clamp(CB0[24].z + (CB0[24].w * abs(f9 - 0.5)), 0.0, 1.0)) * f8.y)) * f7.y); + vec3 f17 = normalize(f15 + (VARYING4.xyz / vec3(f0))); + float f18 = clamp(f16, 0.0, 1.0); + float f19 = f13 * f13; + float f20 = max(0.001000000047497451305389404296875, dot(f12, f17)); + float f21 = dot(f15, f17); + float f22 = 1.0 - f21; + float f23 = f22 * f22; + float f24 = (f23 * f23) * f22; + vec3 f25 = vec3(f24) + (mix(vec3(0.039999999105930328369140625), f10, vec3(f14)) * (1.0 - f24)); + float f26 = f19 * f19; + float f27 = (((f20 * f26) - f20) * f20) + 1.0; + float f28 = 1.0 - f14; + vec3 f29 = ((((((vec3(f28) - (f25 * (f11 * f28))) * CB0[10].xyz) * f18) + (CB0[12].xyz * (f28 * clamp(-f16, 0.0, 1.0)))) + min((f6.xyz * (f6.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f7.x)), vec3(CB0[16].w))) * f10) + ((f25 * (((f26 + (f26 * f26)) / (((f27 * f27) * ((f21 * 3.0) + 0.5)) * ((f20 * 0.75) + 0.25))) * f18)) * CB0[10].xyz); + vec4 f30 = vec4(f29.x, f29.y, f29.z, vec4(0.0).w); + f30.w = 1.0; + vec3 f31 = sqrt(clamp(mix(CB0[14].xyz, f30.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f32 = vec4(f31.x, f31.y, f31.z, f30.w); + f32.w = 1.0; + gl_FragData[0] = f32; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl/DefaultPlasticHQFS_Level512.frag b/shaders/shaders_glsl/DefaultPlasticHQFS_Level512.frag new file mode 100644 index 0000000000..ce58ac20fd --- /dev/null +++ b/shaders/shaders_glsl/DefaultPlasticHQFS_Level512.frag @@ -0,0 +1,77 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube EnvironmentMapTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = texture2D(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = ((vec3(f5, f6).xy + (vec3((texture2D(NormalDetailMapTexture, VARYING0 * CB2[0].x).wy * 2.0) - vec2(1.0), 0.0).xy * (clamp(VARYING2.w - 0.5, 0.0, 1.0) * clamp(1.0 - (2.0 * VARYING7.w), 0.0, 1.0)))).xy * f3).xy * CB2[3].w; + vec3 f8 = normalize(((VARYING6.xyz * f7.x) + (cross(VARYING5.xyz, VARYING6.xyz) * f7.y)) + (VARYING5.xyz * f6)); + vec3 f9 = vec4(VARYING2.xyz * (texture2D(DiffuseMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f10 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f11 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f12 = VARYING3.yzx - (VARYING3.yzx * f11); + vec4 f13 = vec4(clamp(f11, 0.0, 1.0)); + vec4 f14 = mix(texture3D(LightMapTexture, f12), vec4(0.0), f13); + vec4 f15 = mix(texture3D(LightGridSkylightTexture, f12), vec4(1.0), f13); + vec4 f16 = texture2D(ShadowMapTexture, f10.xy); + float f17 = f10.z; + float f18 = max(CB2[0].y, 0.04500000178813934326171875); + vec3 f19 = textureCube(EnvironmentMapTexture, reflect(-f1, f8)).xyz; + vec3 f20 = -CB0[11].xyz; + float f21 = dot(f8, f20) * ((1.0 - ((step(f16.x, f17) * clamp(CB0[24].z + (CB0[24].w * abs(f17 - 0.5)), 0.0, 1.0)) * f16.y)) * f15.y); + vec3 f22 = normalize(f20 + f1); + float f23 = clamp(f21, 0.0, 1.0); + float f24 = f18 * f18; + float f25 = max(0.001000000047497451305389404296875, dot(f8, f22)); + float f26 = dot(f20, f22); + float f27 = 1.0 - f26; + float f28 = f27 * f27; + float f29 = (f28 * f28) * f27; + vec3 f30 = vec3(f29) + (vec3(0.039999999105930328369140625) * (1.0 - f29)); + float f31 = f24 * f24; + float f32 = (((f25 * f31) - f25) * f25) + 1.0; + vec3 f33 = ((((((vec3(1.0) - (f30 * (CB0[26].w * f3))) * CB0[10].xyz) * f23) + (CB0[12].xyz * clamp(-f21, 0.0, 1.0))) + min((f14.xyz * (f14.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f15.x)), vec3(CB0[16].w))) * mix((f9 * f9).xyz, (f19 * f19) * CB0[15].x, vec3(VARYING7.w))) + ((f30 * (((f31 + (f31 * f31)) / (((f32 * f32) * ((f26 * 3.0) + 0.5)) * ((f25 * 0.75) + 0.25))) * f23)) * CB0[10].xyz); + vec4 f34 = vec4(f33.x, f33.y, f33.z, vec4(0.0).w); + f34.w = VARYING2.w; + vec3 f35 = sqrt(clamp(mix(CB0[14].xyz, f34.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f36 = vec4(f35.x, f35.y, f35.z, f34.w); + f36.w = VARYING2.w; + gl_FragData[0] = f36; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$EnvironmentMapTexture=s2 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 diff --git a/shaders/shaders_glsl/DefaultReflectionVS_Level512.vert b/shaders/shaders_glsl/DefaultReflectionVS_Level512.vert new file mode 100644 index 0000000000..4cbe55f3be --- /dev/null +++ b/shaders/shaders_glsl/DefaultReflectionVS_Level512.vert @@ -0,0 +1,51 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = CB0[7].xyz - POSITION.xyz; + vec3 v2 = -CB0[11].xyz; + float v3 = dot(v0, v2); + vec4 v4 = vec4(POSITION.xyz, 1.0); + vec4 v5 = v4 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v6 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v7 = vec4(v6.x, v6.y, v6.z, vec4(0.0).w); + v7.w = 0.0; + vec4 v8 = vec4(dot(CB0[20], v4), dot(CB0[21], v4), dot(CB0[22], v4), 0.0); + v8.w = COLOR1.w * 0.0039215688593685626983642578125; + float v9 = COLOR1.y * 0.50359570980072021484375; + float v10 = clamp(v3, 0.0, 1.0); + vec3 v11 = (CB0[10].xyz * v10) + (CB0[12].xyz * clamp(-v3, 0.0, 1.0)); + vec4 v12 = vec4(v11.x, v11.y, v11.z, vec4(0.0).w); + v12.w = (v10 * CB0[23].w) * (COLOR1.y * exp2((v9 * dot(v0, normalize(v2 + normalize(v1)))) - v9)); + gl_Position = v5; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v7; + VARYING4 = vec4(v1, v5.w); + VARYING5 = vec4(v0, COLOR1.z); + VARYING6 = v12; + VARYING7 = v8; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultReflectionVS_Level514.vert b/shaders/shaders_glsl/DefaultReflectionVS_Level514.vert new file mode 100644 index 0000000000..96189f4a6e --- /dev/null +++ b/shaders/shaders_glsl/DefaultReflectionVS_Level514.vert @@ -0,0 +1,63 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec3 v11 = vec3(v8, v9, v10); + vec3 v12 = CB0[7].xyz - v7; + vec3 v13 = -CB0[11].xyz; + float v14 = dot(v11, v13); + vec4 v15 = vec4(v4, v5, v6, 1.0); + vec4 v16 = v15 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v17 = ((v7 + (v11 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v18 = vec4(v17.x, v17.y, v17.z, vec4(0.0).w); + v18.w = 0.0; + vec4 v19 = vec4(dot(CB0[20], v15), dot(CB0[21], v15), dot(CB0[22], v15), 0.0); + v19.w = COLOR1.w * 0.0039215688593685626983642578125; + float v20 = COLOR1.y * 0.50359570980072021484375; + float v21 = clamp(v14, 0.0, 1.0); + vec3 v22 = (CB0[10].xyz * v21) + (CB0[12].xyz * clamp(-v14, 0.0, 1.0)); + vec4 v23 = vec4(v22.x, v22.y, v22.z, vec4(0.0).w); + v23.w = (v21 * CB0[23].w) * (COLOR1.y * exp2((v20 * dot(v11, normalize(v13 + normalize(v12)))) - v20)); + gl_Position = v16; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v18; + VARYING4 = vec4(v12, v16.w); + VARYING5 = vec4(v8, v9, v10, COLOR1.z); + VARYING6 = v23; + VARYING7 = v19; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultReflectionVS_Level518.vert b/shaders/shaders_glsl/DefaultReflectionVS_Level518.vert new file mode 100644 index 0000000000..7b3aa9c9d4 --- /dev/null +++ b/shaders/shaders_glsl/DefaultReflectionVS_Level518.vert @@ -0,0 +1,73 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD4; +attribute vec4 TEXCOORD5; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec3 v19 = vec3(v16, v17, v18); + vec3 v20 = CB0[7].xyz - v15; + vec3 v21 = -CB0[11].xyz; + float v22 = dot(v19, v21); + vec4 v23 = vec4(v12, v13, v14, 1.0); + vec4 v24 = v23 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v25 = ((v15 + (v19 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v26 = vec4(v25.x, v25.y, v25.z, vec4(0.0).w); + v26.w = 0.0; + vec4 v27 = vec4(dot(CB0[20], v23), dot(CB0[21], v23), dot(CB0[22], v23), 0.0); + v27.w = COLOR1.w * 0.0039215688593685626983642578125; + float v28 = COLOR1.y * 0.50359570980072021484375; + float v29 = clamp(v22, 0.0, 1.0); + vec3 v30 = (CB0[10].xyz * v29) + (CB0[12].xyz * clamp(-v22, 0.0, 1.0)); + vec4 v31 = vec4(v30.x, v30.y, v30.z, vec4(0.0).w); + v31.w = (v29 * CB0[23].w) * (COLOR1.y * exp2((v28 * dot(v19, normalize(v21 + normalize(v20)))) - v28)); + gl_Position = v24; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v26; + VARYING4 = vec4(v20, v24.w); + VARYING5 = vec4(v16, v17, v18, COLOR1.z); + VARYING6 = v31; + VARYING7 = v27; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag b/shaders/shaders_glsl/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag new file mode 100644 index 0000000000..1b06106f89 --- /dev/null +++ b/shaders/shaders_glsl/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag @@ -0,0 +1,86 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; + +void main() +{ + float f0 = length(VARYING4.xyz); + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f2 = texture2D(DiffuseMapTexture, VARYING0); + float f3 = f2.w; + float f4 = fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))); + if (smoothstep(0.0, 1.0, f3) < (f4 + ((fract(CB0[46].z) - f4) * clamp((0.001000000047497451305389404296875 * floor(CB0[46].z)) * VARYING4.w, 0.0, 1.0)))) + { + discard; + } + vec4 f5 = vec4(mix(VARYING2.xyz, f2.xyz, vec3(f3)), VARYING2.w); + vec4 f6 = vec4(f2.xyz, VARYING2.w * f3); + bvec4 f7 = bvec4(CB3[0].x != 0.0); + vec4 f8 = vec4(f7.x ? f5.x : f6.x, f7.y ? f5.y : f6.y, f7.z ? f5.z : f6.z, f7.w ? f5.w : f6.w); + vec2 f9 = texture2D(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f10 = f9 - vec2(1.0); + float f11 = sqrt(clamp(1.0 + dot(vec2(1.0) - f9, f10), 0.0, 1.0)); + vec2 f12 = vec3(f10, f11).xy * f1; + vec4 f13 = texture2D(SpecularMapTexture, VARYING0); + vec3 f14 = normalize(((VARYING6.xyz * f12.x) + ((cross(VARYING5.xyz, VARYING6.xyz) * VARYING6.w) * f12.y)) + (VARYING5.xyz * f11)); + vec3 f15 = f8.xyz; + vec3 f16 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING3.yzx - (VARYING3.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture3D(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture3D(LightGridSkylightTexture, f18), vec4(1.0), f19); + vec4 f22 = texture2D(ShadowMapTexture, f16.xy); + float f23 = f16.z; + vec3 f24 = (f15 * f15).xyz; + float f25 = CB0[26].w * f1; + float f26 = max(f13.y, 0.04500000178813934326171875); + float f27 = f13.x * f25; + vec3 f28 = -CB0[11].xyz; + float f29 = dot(f14, f28) * ((1.0 - ((step(f22.x, f23) * clamp(CB0[24].z + (CB0[24].w * abs(f23 - 0.5)), 0.0, 1.0)) * f22.y)) * f21.y); + vec3 f30 = normalize(f28 + (VARYING4.xyz / vec3(f0))); + float f31 = clamp(f29, 0.0, 1.0); + float f32 = f26 * f26; + float f33 = max(0.001000000047497451305389404296875, dot(f14, f30)); + float f34 = dot(f28, f30); + float f35 = 1.0 - f34; + float f36 = f35 * f35; + float f37 = (f36 * f36) * f35; + vec3 f38 = vec3(f37) + (mix(vec3(0.039999999105930328369140625), f24, vec3(f27)) * (1.0 - f37)); + float f39 = f32 * f32; + float f40 = (((f33 * f39) - f33) * f33) + 1.0; + float f41 = 1.0 - f27; + vec3 f42 = ((((((vec3(f41) - (f38 * (f25 * f41))) * CB0[10].xyz) * f31) + (CB0[12].xyz * (f41 * clamp(-f29, 0.0, 1.0)))) + min((f20.xyz * (f20.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f21.x)), vec3(CB0[16].w))) * f24) + ((f38 * (((f39 + (f39 * f39)) / (((f40 * f40) * ((f34 * 3.0) + 0.5)) * ((f33 * 0.75) + 0.25))) * f31)) * CB0[10].xyz); + float f43 = f8.w; + vec4 f44 = vec4(f42.x, f42.y, f42.z, vec4(0.0).w); + f44.w = f43; + vec3 f45 = sqrt(clamp(mix(CB0[14].xyz, f44.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * f4)); + vec4 f46 = vec4(f45.x, f45.y, f45.z, f44.w); + f46.w = f43; + gl_FragData[0] = f46; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/DefaultSurfaceAppearanceHQFS_Level512.frag b/shaders/shaders_glsl/DefaultSurfaceAppearanceHQFS_Level512.frag new file mode 100644 index 0000000000..f14e5f157a --- /dev/null +++ b/shaders/shaders_glsl/DefaultSurfaceAppearanceHQFS_Level512.frag @@ -0,0 +1,81 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; + +void main() +{ + float f0 = length(VARYING4.xyz); + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f2 = texture2D(DiffuseMapTexture, VARYING0); + float f3 = f2.w; + vec4 f4 = vec4(mix(VARYING2.xyz, f2.xyz, vec3(f3)), VARYING2.w); + vec4 f5 = vec4(f2.xyz, VARYING2.w * f3); + bvec4 f6 = bvec4(CB3[0].x != 0.0); + vec4 f7 = vec4(f6.x ? f4.x : f5.x, f6.y ? f4.y : f5.y, f6.z ? f4.z : f5.z, f6.w ? f4.w : f5.w); + vec2 f8 = texture2D(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f9 = f8 - vec2(1.0); + float f10 = sqrt(clamp(1.0 + dot(vec2(1.0) - f8, f9), 0.0, 1.0)); + vec2 f11 = vec3(f9, f10).xy * f1; + vec4 f12 = texture2D(SpecularMapTexture, VARYING0); + vec3 f13 = normalize(((VARYING6.xyz * f11.x) + ((cross(VARYING5.xyz, VARYING6.xyz) * VARYING6.w) * f11.y)) + (VARYING5.xyz * f10)); + vec3 f14 = f7.xyz; + vec3 f15 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f16 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f17 = VARYING3.yzx - (VARYING3.yzx * f16); + vec4 f18 = vec4(clamp(f16, 0.0, 1.0)); + vec4 f19 = mix(texture3D(LightMapTexture, f17), vec4(0.0), f18); + vec4 f20 = mix(texture3D(LightGridSkylightTexture, f17), vec4(1.0), f18); + vec4 f21 = texture2D(ShadowMapTexture, f15.xy); + float f22 = f15.z; + vec3 f23 = (f14 * f14).xyz; + float f24 = CB0[26].w * f1; + float f25 = max(f12.y, 0.04500000178813934326171875); + float f26 = f12.x * f24; + vec3 f27 = -CB0[11].xyz; + float f28 = dot(f13, f27) * ((1.0 - ((step(f21.x, f22) * clamp(CB0[24].z + (CB0[24].w * abs(f22 - 0.5)), 0.0, 1.0)) * f21.y)) * f20.y); + vec3 f29 = normalize(f27 + (VARYING4.xyz / vec3(f0))); + float f30 = clamp(f28, 0.0, 1.0); + float f31 = f25 * f25; + float f32 = max(0.001000000047497451305389404296875, dot(f13, f29)); + float f33 = dot(f27, f29); + float f34 = 1.0 - f33; + float f35 = f34 * f34; + float f36 = (f35 * f35) * f34; + vec3 f37 = vec3(f36) + (mix(vec3(0.039999999105930328369140625), f23, vec3(f26)) * (1.0 - f36)); + float f38 = f31 * f31; + float f39 = (((f32 * f38) - f32) * f32) + 1.0; + float f40 = 1.0 - f26; + vec3 f41 = ((((((vec3(f40) - (f37 * (f24 * f40))) * CB0[10].xyz) * f30) + (CB0[12].xyz * (f40 * clamp(-f28, 0.0, 1.0)))) + min((f19.xyz * (f19.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f20.x)), vec3(CB0[16].w))) * f23) + ((f37 * (((f38 + (f38 * f38)) / (((f39 * f39) * ((f33 * 3.0) + 0.5)) * ((f32 * 0.75) + 0.25))) * f30)) * CB0[10].xyz); + float f42 = f7.w; + vec4 f43 = vec4(f41.x, f41.y, f41.z, vec4(0.0).w); + f43.w = f42; + vec3 f44 = sqrt(clamp(mix(CB0[14].xyz, f43.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f45 = vec4(f44.x, f44.y, f44.z, f43.w); + f45.w = f42; + gl_FragData[0] = f45; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/DefaultSurfaceHQVS_Level512.vert b/shaders/shaders_glsl/DefaultSurfaceHQVS_Level512.vert new file mode 100644 index 0000000000..037b11d4fd --- /dev/null +++ b/shaders/shaders_glsl/DefaultSurfaceHQVS_Level512.vert @@ -0,0 +1,49 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD2; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(0.0); + v2.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v3 = vec4(POSITION.xyz, 1.0); + vec4 v4 = v3 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v5 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v6 = vec4(v5.x, v5.y, v5.z, vec4(0.0).w); + v6.w = 0.0; + vec4 v7 = vec4(dot(CB0[20], v3), dot(CB0[21], v3), dot(CB0[22], v3), 0.0); + v7.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v8 = vec4(v0, 0.0); + v8.w = 0.0; + gl_Position = v4; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v6; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v4.w); + VARYING5 = v8; + VARYING6 = vec4(v1.x, v1.y, v1.z, v2.w); + VARYING7 = v7; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultSurfaceHQVS_Level514.vert b/shaders/shaders_glsl/DefaultSurfaceHQVS_Level514.vert new file mode 100644 index 0000000000..052f1248ad --- /dev/null +++ b/shaders/shaders_glsl/DefaultSurfaceHQVS_Level514.vert @@ -0,0 +1,61 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD2; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v2 = int(COLOR1.x) * 3; + int v3 = v2 + 1; + int v4 = v2 + 2; + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + float v7 = dot(CB1[v4 * 1 + 0], POSITION); + vec3 v8 = vec3(v5, v6, v7); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + float v11 = dot(CB1[v4 * 1 + 0].xyz, v0); + vec3 v12 = vec3(dot(CB1[v2 * 1 + 0].xyz, v1), dot(CB1[v3 * 1 + 0].xyz, v1), dot(CB1[v4 * 1 + 0].xyz, v1)); + vec4 v13 = vec4(0.0); + v13.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v14 = vec4(v5, v6, v7, 1.0); + vec4 v15 = v14 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v16 = ((v8 + (vec3(v9, v10, v11) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v17 = vec4(v16.x, v16.y, v16.z, vec4(0.0).w); + v17.w = 0.0; + vec4 v18 = vec4(dot(CB0[20], v14), dot(CB0[21], v14), dot(CB0[22], v14), 0.0); + v18.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v19 = vec4(v9, v10, v11, 0.0); + v19.w = 0.0; + gl_Position = v15; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v17; + VARYING4 = vec4(CB0[7].xyz - v8, v15.w); + VARYING5 = v19; + VARYING6 = vec4(v12.x, v12.y, v12.z, v13.w); + VARYING7 = v18; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultSurfaceHQVS_Level518.vert b/shaders/shaders_glsl/DefaultSurfaceHQVS_Level518.vert new file mode 100644 index 0000000000..c5a0c719ca --- /dev/null +++ b/shaders/shaders_glsl/DefaultSurfaceHQVS_Level518.vert @@ -0,0 +1,74 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD4; +attribute vec4 TEXCOORD5; +attribute vec4 TEXCOORD2; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v3 = ivec4(TEXCOORD4) * ivec4(3); + float v4 = v2.x; + float v5 = v2.y; + float v6 = v2.z; + float v7 = v2.w; + vec4 v8 = (((CB1[v3.x * 1 + 0] * v4) + (CB1[v3.y * 1 + 0] * v5)) + (CB1[v3.z * 1 + 0] * v6)) + (CB1[v3.w * 1 + 0] * v7); + ivec4 v9 = v3 + ivec4(1); + vec4 v10 = (((CB1[v9.x * 1 + 0] * v4) + (CB1[v9.y * 1 + 0] * v5)) + (CB1[v9.z * 1 + 0] * v6)) + (CB1[v9.w * 1 + 0] * v7); + ivec4 v11 = v3 + ivec4(2); + vec4 v12 = (((CB1[v11.x * 1 + 0] * v4) + (CB1[v11.y * 1 + 0] * v5)) + (CB1[v11.z * 1 + 0] * v6)) + (CB1[v11.w * 1 + 0] * v7); + float v13 = dot(v8, POSITION); + float v14 = dot(v10, POSITION); + float v15 = dot(v12, POSITION); + vec3 v16 = vec3(v13, v14, v15); + vec3 v17 = v8.xyz; + float v18 = dot(v17, v0); + vec3 v19 = v10.xyz; + float v20 = dot(v19, v0); + vec3 v21 = v12.xyz; + float v22 = dot(v21, v0); + vec3 v23 = vec3(dot(v17, v1), dot(v19, v1), dot(v21, v1)); + vec4 v24 = vec4(0.0); + v24.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v25 = vec4(v13, v14, v15, 1.0); + vec4 v26 = v25 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v27 = ((v16 + (vec3(v18, v20, v22) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v28 = vec4(v27.x, v27.y, v27.z, vec4(0.0).w); + v28.w = 0.0; + vec4 v29 = vec4(dot(CB0[20], v25), dot(CB0[21], v25), dot(CB0[22], v25), 0.0); + v29.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v30 = vec4(v18, v20, v22, 0.0); + v30.w = 0.0; + gl_Position = v26; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v28; + VARYING4 = vec4(CB0[7].xyz - v16, v26.w); + VARYING5 = v30; + VARYING6 = vec4(v23.x, v23.y, v23.z, v24.w); + VARYING7 = v29; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/DefaultTiledHQFS_Level512.frag b/shaders/shaders_glsl/DefaultTiledHQFS_Level512.frag new file mode 100644 index 0000000000..599b744f13 --- /dev/null +++ b/shaders/shaders_glsl/DefaultTiledHQFS_Level512.frag @@ -0,0 +1,85 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec2 f1 = VARYING1; + f1.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f3 = VARYING0 * CB2[0].x; + vec4 f4 = texture2D(DiffuseMapTexture, f3); + vec2 f5 = texture2D(NormalMapTexture, f3).wy * 2.0; + vec2 f6 = f5 - vec2(1.0); + float f7 = sqrt(clamp(1.0 + dot(vec2(1.0) - f5, f6), 0.0, 1.0)); + vec2 f8 = (vec3(f6, f7).xy + (vec3((texture2D(NormalDetailMapTexture, f3 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f2; + float f9 = f8.x; + vec4 f10 = texture2D(SpecularMapTexture, f3); + vec3 f11 = normalize(((VARYING6.xyz * f9) + (cross(VARYING5.xyz, VARYING6.xyz) * f8.y)) + (VARYING5.xyz * f7)); + vec3 f12 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f4.w + CB2[2].w, 0.0, 1.0))) * f4.xyz) * (1.0 + (f9 * CB2[0].z))) * (texture2D(StudsMapTexture, f1).x * 2.0), VARYING2.w).xyz; + vec3 f13 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f14 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f15 = VARYING3.yzx - (VARYING3.yzx * f14); + vec4 f16 = vec4(clamp(f14, 0.0, 1.0)); + vec4 f17 = mix(texture3D(LightMapTexture, f15), vec4(0.0), f16); + vec4 f18 = mix(texture3D(LightGridSkylightTexture, f15), vec4(1.0), f16); + vec4 f19 = texture2D(ShadowMapTexture, f13.xy); + float f20 = f13.z; + vec3 f21 = (f12 * f12).xyz; + float f22 = CB0[26].w * f2; + float f23 = max(f10.y, 0.04500000178813934326171875); + float f24 = f10.x * f22; + vec3 f25 = -CB0[11].xyz; + float f26 = dot(f11, f25) * ((1.0 - ((step(f19.x, f20) * clamp(CB0[24].z + (CB0[24].w * abs(f20 - 0.5)), 0.0, 1.0)) * f19.y)) * f18.y); + vec3 f27 = normalize(f25 + (VARYING4.xyz / vec3(f0))); + float f28 = clamp(f26, 0.0, 1.0); + float f29 = f23 * f23; + float f30 = max(0.001000000047497451305389404296875, dot(f11, f27)); + float f31 = dot(f25, f27); + float f32 = 1.0 - f31; + float f33 = f32 * f32; + float f34 = (f33 * f33) * f32; + vec3 f35 = vec3(f34) + (mix(vec3(0.039999999105930328369140625), f21, vec3(f24)) * (1.0 - f34)); + float f36 = f29 * f29; + float f37 = (((f30 * f36) - f30) * f30) + 1.0; + float f38 = 1.0 - f24; + vec3 f39 = ((((((vec3(f38) - (f35 * (f22 * f38))) * CB0[10].xyz) * f28) + (CB0[12].xyz * (f38 * clamp(-f26, 0.0, 1.0)))) + min((f17.xyz * (f17.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f18.x)), vec3(CB0[16].w))) * f21) + ((f35 * (((f36 + (f36 * f36)) / (((f37 * f37) * ((f31 * 3.0) + 0.5)) * ((f30 * 0.75) + 0.25))) * f28)) * CB0[10].xyz); + vec4 f40 = vec4(f39.x, f39.y, f39.z, vec4(0.0).w); + f40.w = VARYING2.w; + vec3 f41 = sqrt(clamp(mix(CB0[14].xyz, f40.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f42 = vec4(f41.x, f41.y, f41.z, f40.w); + f42.w = VARYING2.w; + gl_FragData[0] = f42; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/DefaultTiledHideAllRepHQFS_Level512.frag b/shaders/shaders_glsl/DefaultTiledHideAllRepHQFS_Level512.frag new file mode 100644 index 0000000000..7f79ea5beb --- /dev/null +++ b/shaders/shaders_glsl/DefaultTiledHideAllRepHQFS_Level512.frag @@ -0,0 +1,85 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec2 f1 = VARYING1; + f1.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f3 = VARYING0 * CB2[0].x; + vec4 f4 = mix(texture2D(DiffuseMapTexture, f3 * CB2[1].y), texture2D(DiffuseMapTexture, f3), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f5 = mix(texture2D(NormalMapTexture, f3 * CB2[1].z), texture2D(NormalMapTexture, f3), vec4(clamp((f2 * CB2[3].y) - (CB2[2].y * CB2[3].y), 0.0, 1.0))).wy * 2.0; + vec2 f6 = f5 - vec2(1.0); + float f7 = sqrt(clamp(1.0 + dot(vec2(1.0) - f5, f6), 0.0, 1.0)); + vec2 f8 = (vec3(f6, f7).xy + (vec3((texture2D(NormalDetailMapTexture, f3 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f2; + float f9 = f8.x; + vec4 f10 = mix(texture2D(SpecularMapTexture, f3 * CB2[1].w), texture2D(SpecularMapTexture, f3), vec4(clamp((f2 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + vec3 f11 = normalize(((VARYING6.xyz * f9) + (cross(VARYING5.xyz, VARYING6.xyz) * f8.y)) + (VARYING5.xyz * f7)); + vec3 f12 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f4.w + CB2[2].w, 0.0, 1.0))) * f4.xyz) * (1.0 + (f9 * CB2[0].z))) * (texture2D(StudsMapTexture, f1).x * 2.0), VARYING2.w).xyz; + vec3 f13 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f14 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f15 = VARYING3.yzx - (VARYING3.yzx * f14); + vec4 f16 = vec4(clamp(f14, 0.0, 1.0)); + vec4 f17 = mix(texture3D(LightMapTexture, f15), vec4(0.0), f16); + vec4 f18 = mix(texture3D(LightGridSkylightTexture, f15), vec4(1.0), f16); + vec4 f19 = texture2D(ShadowMapTexture, f13.xy); + float f20 = f13.z; + vec3 f21 = (f12 * f12).xyz; + float f22 = CB0[26].w * f2; + float f23 = max(f10.y, 0.04500000178813934326171875); + float f24 = f10.x * f22; + vec3 f25 = -CB0[11].xyz; + float f26 = dot(f11, f25) * ((1.0 - ((step(f19.x, f20) * clamp(CB0[24].z + (CB0[24].w * abs(f20 - 0.5)), 0.0, 1.0)) * f19.y)) * f18.y); + vec3 f27 = normalize(f25 + (VARYING4.xyz / vec3(f0))); + float f28 = clamp(f26, 0.0, 1.0); + float f29 = f23 * f23; + float f30 = max(0.001000000047497451305389404296875, dot(f11, f27)); + float f31 = dot(f25, f27); + float f32 = 1.0 - f31; + float f33 = f32 * f32; + float f34 = (f33 * f33) * f32; + vec3 f35 = vec3(f34) + (mix(vec3(0.039999999105930328369140625), f21, vec3(f24)) * (1.0 - f34)); + float f36 = f29 * f29; + float f37 = (((f30 * f36) - f30) * f30) + 1.0; + float f38 = 1.0 - f24; + vec3 f39 = ((((((vec3(f38) - (f35 * (f22 * f38))) * CB0[10].xyz) * f28) + (CB0[12].xyz * (f38 * clamp(-f26, 0.0, 1.0)))) + min((f17.xyz * (f17.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f18.x)), vec3(CB0[16].w))) * f21) + ((f35 * (((f36 + (f36 * f36)) / (((f37 * f37) * ((f31 * 3.0) + 0.5)) * ((f30 * 0.75) + 0.25))) * f28)) * CB0[10].xyz); + vec4 f40 = vec4(f39.x, f39.y, f39.z, vec4(0.0).w); + f40.w = VARYING2.w; + vec3 f41 = sqrt(clamp(mix(CB0[14].xyz, f40.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f42 = vec4(f41.x, f41.y, f41.z, f40.w); + f42.w = VARYING2.w; + gl_FragData[0] = f42; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/DefaultTiledHideDiffuseRepHQFS_Level512.frag b/shaders/shaders_glsl/DefaultTiledHideDiffuseRepHQFS_Level512.frag new file mode 100644 index 0000000000..510b3e6ca9 --- /dev/null +++ b/shaders/shaders_glsl/DefaultTiledHideDiffuseRepHQFS_Level512.frag @@ -0,0 +1,85 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec2 f1 = VARYING1; + f1.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f3 = VARYING0 * CB2[0].x; + vec4 f4 = mix(texture2D(DiffuseMapTexture, f3 * CB2[1].y), texture2D(DiffuseMapTexture, f3), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f5 = texture2D(NormalMapTexture, f3).wy * 2.0; + vec2 f6 = f5 - vec2(1.0); + float f7 = sqrt(clamp(1.0 + dot(vec2(1.0) - f5, f6), 0.0, 1.0)); + vec2 f8 = (vec3(f6, f7).xy + (vec3((texture2D(NormalDetailMapTexture, f3 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f2; + float f9 = f8.x; + vec4 f10 = texture2D(SpecularMapTexture, f3); + vec3 f11 = normalize(((VARYING6.xyz * f9) + (cross(VARYING5.xyz, VARYING6.xyz) * f8.y)) + (VARYING5.xyz * f7)); + vec3 f12 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f4.w + CB2[2].w, 0.0, 1.0))) * f4.xyz) * (1.0 + (f9 * CB2[0].z))) * (texture2D(StudsMapTexture, f1).x * 2.0), VARYING2.w).xyz; + vec3 f13 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f14 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f15 = VARYING3.yzx - (VARYING3.yzx * f14); + vec4 f16 = vec4(clamp(f14, 0.0, 1.0)); + vec4 f17 = mix(texture3D(LightMapTexture, f15), vec4(0.0), f16); + vec4 f18 = mix(texture3D(LightGridSkylightTexture, f15), vec4(1.0), f16); + vec4 f19 = texture2D(ShadowMapTexture, f13.xy); + float f20 = f13.z; + vec3 f21 = (f12 * f12).xyz; + float f22 = CB0[26].w * f2; + float f23 = max(f10.y, 0.04500000178813934326171875); + float f24 = f10.x * f22; + vec3 f25 = -CB0[11].xyz; + float f26 = dot(f11, f25) * ((1.0 - ((step(f19.x, f20) * clamp(CB0[24].z + (CB0[24].w * abs(f20 - 0.5)), 0.0, 1.0)) * f19.y)) * f18.y); + vec3 f27 = normalize(f25 + (VARYING4.xyz / vec3(f0))); + float f28 = clamp(f26, 0.0, 1.0); + float f29 = f23 * f23; + float f30 = max(0.001000000047497451305389404296875, dot(f11, f27)); + float f31 = dot(f25, f27); + float f32 = 1.0 - f31; + float f33 = f32 * f32; + float f34 = (f33 * f33) * f32; + vec3 f35 = vec3(f34) + (mix(vec3(0.039999999105930328369140625), f21, vec3(f24)) * (1.0 - f34)); + float f36 = f29 * f29; + float f37 = (((f30 * f36) - f30) * f30) + 1.0; + float f38 = 1.0 - f24; + vec3 f39 = ((((((vec3(f38) - (f35 * (f22 * f38))) * CB0[10].xyz) * f28) + (CB0[12].xyz * (f38 * clamp(-f26, 0.0, 1.0)))) + min((f17.xyz * (f17.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f18.x)), vec3(CB0[16].w))) * f21) + ((f35 * (((f36 + (f36 * f36)) / (((f37 * f37) * ((f31 * 3.0) + 0.5)) * ((f30 * 0.75) + 0.25))) * f28)) * CB0[10].xyz); + vec4 f40 = vec4(f39.x, f39.y, f39.z, vec4(0.0).w); + f40.w = VARYING2.w; + vec3 f41 = sqrt(clamp(mix(CB0[14].xyz, f40.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f42 = vec4(f41.x, f41.y, f41.z, f40.w); + f42.w = VARYING2.w; + gl_FragData[0] = f42; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/DefaultTransparentHQFS_Level512.frag b/shaders/shaders_glsl/DefaultTransparentHQFS_Level512.frag new file mode 100644 index 0000000000..73817ed194 --- /dev/null +++ b/shaders/shaders_glsl/DefaultTransparentHQFS_Level512.frag @@ -0,0 +1,63 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; + +varying vec2 VARYING0; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec4 f1 = texture2D(DiffuseMapTexture, VARYING0) * VARYING2; + vec3 f2 = f1.xyz; + vec3 f3 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f4 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f5 = VARYING3.yzx - (VARYING3.yzx * f4); + vec4 f6 = vec4(clamp(f4, 0.0, 1.0)); + vec4 f7 = mix(texture3D(LightMapTexture, f5), vec4(0.0), f6); + vec4 f8 = mix(texture3D(LightGridSkylightTexture, f5), vec4(1.0), f6); + vec4 f9 = texture2D(ShadowMapTexture, f3.xy); + float f10 = f3.z; + vec3 f11 = (f2 * f2).xyz; + float f12 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec3 f13 = normalize(VARYING5.xyz); + float f14 = max(VARYING5.w, 0.04500000178813934326171875); + float f15 = VARYING6.w * f12; + vec3 f16 = -CB0[11].xyz; + float f17 = dot(f13, f16) * ((1.0 - ((step(f9.x, f10) * clamp(CB0[24].z + (CB0[24].w * abs(f10 - 0.5)), 0.0, 1.0)) * f9.y)) * f8.y); + vec3 f18 = normalize(f16 + (VARYING4.xyz / vec3(f0))); + float f19 = clamp(f17, 0.0, 1.0); + float f20 = f14 * f14; + float f21 = max(0.001000000047497451305389404296875, dot(f13, f18)); + float f22 = dot(f16, f18); + float f23 = 1.0 - f22; + float f24 = f23 * f23; + float f25 = (f24 * f24) * f23; + vec3 f26 = vec3(f25) + (mix(vec3(0.039999999105930328369140625), f11, vec3(f15)) * (1.0 - f25)); + float f27 = f20 * f20; + float f28 = (((f21 * f27) - f21) * f21) + 1.0; + float f29 = 1.0 - f15; + vec3 f30 = ((((((vec3(f29) - (f26 * (f12 * f29))) * CB0[10].xyz) * f19) + (CB0[12].xyz * (f29 * clamp(-f17, 0.0, 1.0)))) + min((f7.xyz * (f7.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f8.x)), vec3(CB0[16].w))) * f11) + ((f26 * (((f27 + (f27 * f27)) / (((f28 * f28) * ((f22 * 3.0) + 0.5)) * ((f21 * 0.75) + 0.25))) * f19)) * CB0[10].xyz); + float f31 = f1.w; + vec4 f32 = vec4(f30.x, f30.y, f30.z, vec4(0.0).w); + f32.w = f31; + vec3 f33 = sqrt(clamp(mix(CB0[14].xyz, f32.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f34 = vec4(f33.x, f33.y, f33.z, f32.w); + f34.w = f31; + gl_FragData[0] = f34; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl/DefaultWangHQFS_Level512.frag b/shaders/shaders_glsl/DefaultWangHQFS_Level512.frag new file mode 100644 index 0000000000..a6f56af6be --- /dev/null +++ b/shaders/shaders_glsl/DefaultWangHQFS_Level512.frag @@ -0,0 +1,94 @@ +#version 110 +#extension GL_ARB_shader_texture_lod : require + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D WangTileMapTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec2 f1 = VARYING1; + f1.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f3 = VARYING0 * CB2[0].x; + vec2 f4 = f3 * 4.0; + vec2 f5 = f4 * 0.25; + vec4 f6 = vec4(dFdx(f5), dFdy(f5)); + vec2 f7 = (texture2D(WangTileMapTexture, f4 * vec2(0.0078125)).zw * 0.99609375) + (fract(f4) * 0.25); + vec2 f8 = f6.xy; + vec2 f9 = f6.zw; + vec4 f10 = texture2DGradARB(DiffuseMapTexture, f7, f8, f9); + vec2 f11 = texture2DGradARB(NormalMapTexture, f7, f8, f9).wy * 2.0; + vec2 f12 = f11 - vec2(1.0); + float f13 = sqrt(clamp(1.0 + dot(vec2(1.0) - f11, f12), 0.0, 1.0)); + vec2 f14 = (vec3(f12, f13).xy + (vec3((texture2D(NormalDetailMapTexture, f3 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f2; + float f15 = f14.x; + vec4 f16 = texture2DGradARB(SpecularMapTexture, f7, f8, f9); + vec3 f17 = normalize(((VARYING6.xyz * f15) + (cross(VARYING5.xyz, VARYING6.xyz) * f14.y)) + (VARYING5.xyz * f13)); + vec3 f18 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f10.w + CB2[2].w, 0.0, 1.0))) * f10.xyz) * (1.0 + (f15 * CB2[0].z))) * (texture2D(StudsMapTexture, f1).x * 2.0), VARYING2.w).xyz; + vec3 f19 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f20 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f21 = VARYING3.yzx - (VARYING3.yzx * f20); + vec4 f22 = vec4(clamp(f20, 0.0, 1.0)); + vec4 f23 = mix(texture3D(LightMapTexture, f21), vec4(0.0), f22); + vec4 f24 = mix(texture3D(LightGridSkylightTexture, f21), vec4(1.0), f22); + vec4 f25 = texture2D(ShadowMapTexture, f19.xy); + float f26 = f19.z; + vec3 f27 = (f18 * f18).xyz; + float f28 = CB0[26].w * f2; + float f29 = max(f16.y, 0.04500000178813934326171875); + float f30 = f16.x * f28; + vec3 f31 = -CB0[11].xyz; + float f32 = dot(f17, f31) * ((1.0 - ((step(f25.x, f26) * clamp(CB0[24].z + (CB0[24].w * abs(f26 - 0.5)), 0.0, 1.0)) * f25.y)) * f24.y); + vec3 f33 = normalize(f31 + (VARYING4.xyz / vec3(f0))); + float f34 = clamp(f32, 0.0, 1.0); + float f35 = f29 * f29; + float f36 = max(0.001000000047497451305389404296875, dot(f17, f33)); + float f37 = dot(f31, f33); + float f38 = 1.0 - f37; + float f39 = f38 * f38; + float f40 = (f39 * f39) * f38; + vec3 f41 = vec3(f40) + (mix(vec3(0.039999999105930328369140625), f27, vec3(f30)) * (1.0 - f40)); + float f42 = f35 * f35; + float f43 = (((f36 * f42) - f36) * f36) + 1.0; + float f44 = 1.0 - f30; + vec3 f45 = ((((((vec3(f44) - (f41 * (f28 * f44))) * CB0[10].xyz) * f34) + (CB0[12].xyz * (f44 * clamp(-f32, 0.0, 1.0)))) + min((f23.xyz * (f23.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f24.x)), vec3(CB0[16].w))) * f27) + ((f41 * (((f42 + (f42 * f42)) / (((f43 * f43) * ((f37 * 3.0) + 0.5)) * ((f36 * 0.75) + 0.25))) * f34)) * CB0[10].xyz); + vec4 f46 = vec4(f45.x, f45.y, f45.z, vec4(0.0).w); + f46.w = VARYING2.w; + vec3 f47 = sqrt(clamp(mix(CB0[14].xyz, f46.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f48 = vec4(f47.x, f47.y, f47.z, f46.w); + f48.w = VARYING2.w; + gl_FragData[0] = f48; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$WangTileMapTexture=s9 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/GridFS_Level512.frag b/shaders/shaders_glsl/GridFS_Level512.frag new file mode 100644 index 0000000000..082e1161d0 --- /dev/null +++ b/shaders/shaders_glsl/GridFS_Level512.frag @@ -0,0 +1,69 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; + +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; + +void main() +{ + vec3 f0 = (CB0[7].xyz - VARYING4.xyz) * CB3[0].x; + vec3 f1 = abs(VARYING5.xyz); + float f2 = f1.x; + float f3 = f1.y; + float f4 = f1.z; + vec2 f5; + if ((f2 >= f3) && (f2 >= f4)) + { + f5 = f0.yz; + } + else + { + vec2 f6; + if ((f3 >= f2) && (f3 >= f4)) + { + f6 = f0.xz; + } + else + { + f6 = f0.xy; + } + f5 = f6; + } + vec4 f7 = texture2D(DiffuseMapTexture, f5) * VARYING2; + vec3 f8 = f7.xyz; + vec3 f9 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f10 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f11 = VARYING3.yzx - (VARYING3.yzx * f10); + vec4 f12 = vec4(clamp(f10, 0.0, 1.0)); + vec4 f13 = mix(texture3D(LightMapTexture, f11), vec4(0.0), f12); + vec4 f14 = mix(texture3D(LightGridSkylightTexture, f11), vec4(1.0), f12); + vec4 f15 = texture2D(ShadowMapTexture, f9.xy); + float f16 = f9.z; + float f17 = (1.0 - ((step(f15.x, f16) * clamp(CB0[24].z + (CB0[24].w * abs(f16 - 0.5)), 0.0, 1.0)) * f15.y)) * f14.y; + vec3 f18 = (((VARYING6.xyz * f17) + min((f13.xyz * (f13.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f14.x)), vec3(CB0[16].w))) * (f8 * f8).xyz) + (CB0[10].xyz * ((VARYING6.w * f17) * 0.100000001490116119384765625)); + float f19 = f7.w; + vec4 f20 = vec4(f18.x, f18.y, f18.z, vec4(0.0).w); + f20.w = f19; + vec3 f21 = sqrt(clamp(mix(CB0[14].xyz, f20.xyz, vec3(clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f22 = vec4(f21.x, f21.y, f21.z, f20.w); + f22.w = f19; + gl_FragData[0] = f22; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl/SmoothClusterHQFS_Level512.frag b/shaders/shaders_glsl/SmoothClusterHQFS_Level512.frag new file mode 100644 index 0000000000..6c4247b732 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterHQFS_Level512.frag @@ -0,0 +1,74 @@ +#version 110 +#extension GL_ARB_shader_texture_lod : require + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D AlbedoMapTexture; + +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING8; + +void main() +{ + vec4 f0 = (fract(VARYING1) * CB3[0].xyxy) + VARYING2; + vec2 f1 = (fract(VARYING3.xy) * CB3[0].xy) + VARYING3.zw; + vec4 f2 = VARYING1 * CB3[0].xyxy; + vec2 f3 = VARYING3.xy * CB3[0].xy; + vec2 f4 = f0.xy; + vec2 f5 = f2.xy; + vec2 f6 = f0.zw; + vec2 f7 = f2.zw; + vec4 f8 = ((texture2DGradARB(SpecularMapTexture, f4, dFdx(f5), dFdy(f5)) * VARYING0.x) + (texture2DGradARB(SpecularMapTexture, f6, dFdx(f7), dFdy(f7)) * VARYING0.y)) + (texture2DGradARB(SpecularMapTexture, f1, dFdx(f3), dFdy(f3)) * VARYING0.z); + vec4 f9 = ((texture2DGradARB(AlbedoMapTexture, f4, dFdx(f5), dFdy(f5)).yxzw * VARYING0.x) + (texture2DGradARB(AlbedoMapTexture, f6, dFdx(f7), dFdy(f7)).yxzw * VARYING0.y)) + (texture2DGradARB(AlbedoMapTexture, f1, dFdx(f3), dFdy(f3)).yxzw * VARYING0.z); + vec2 f10 = f9.yz - vec2(0.5); + float f11 = f9.x; + float f12 = f11 - f10.y; + vec3 f13 = vec4(vec3(f12, f11, f12) + (vec3(f10.xyx) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f14 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + vec3 f15 = normalize(VARYING6); + vec3 f16 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING4.yzx - (VARYING4.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture3D(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture3D(LightGridSkylightTexture, f18), vec4(1.0), f19); + vec4 f22 = texture2D(ShadowMapTexture, f16.xy); + float f23 = f16.z; + float f24 = f8.y; + vec3 f25 = -CB0[11].xyz; + float f26 = dot(f15, f25) * ((1.0 - ((step(f22.x, f23) * clamp(CB0[24].z + (CB0[24].w * abs(f23 - 0.5)), 0.0, 1.0)) * f22.y)) * f21.y); + vec3 f27 = normalize(f25 + normalize(VARYING8)); + float f28 = clamp(f26, 0.0, 1.0); + float f29 = f24 * f24; + float f30 = max(0.001000000047497451305389404296875, dot(f15, f27)); + float f31 = dot(f25, f27); + float f32 = 1.0 - f31; + float f33 = f32 * f32; + float f34 = (f33 * f33) * f32; + vec3 f35 = vec3(f34) + (vec3(0.039999999105930328369140625) * (1.0 - f34)); + float f36 = f29 * f29; + float f37 = (((f30 * f36) - f30) * f30) + 1.0; + vec3 f38 = (((((((vec3(1.0) - (f35 * (CB0[26].w * f14))) * CB0[10].xyz) * f28) + (CB0[12].xyz * clamp(-f26, 0.0, 1.0))) + min((f20.xyz * (f20.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f21.x)), vec3(CB0[16].w))) + vec3((f8.z * 2.0) * f14)) * (f13 * f13).xyz) + ((((f35 * (((f36 + (f36 * f36)) / (((f37 * f37) * ((f31 * 3.0) + 0.5)) * ((f30 * 0.75) + 0.25))) * f28)) * CB0[10].xyz) * f14) * VARYING0.w); + vec4 f39 = vec4(f38.x, f38.y, f38.z, vec4(0.0).w); + f39.w = 1.0; + vec3 f40 = sqrt(clamp(mix(CB0[14].xyz, f39.xyz, vec3(clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f40.x, f40.y, f40.z, f39.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 diff --git a/shaders/shaders_glsl/SmoothClusterHQFS_Level768.frag b/shaders/shaders_glsl/SmoothClusterHQFS_Level768.frag new file mode 100644 index 0000000000..16e862f20e --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterHQFS_Level768.frag @@ -0,0 +1,79 @@ +#version 110 +#extension GL_ARB_shader_texture_lod : require + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D AlbedoMapTexture; + +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING8; +varying vec4 VARYING9; + +void main() +{ + vec4 f0 = (fract(VARYING1) * CB3[0].xyxy) + VARYING2; + vec2 f1 = (fract(VARYING3.xy) * CB3[0].xy) + VARYING3.zw; + vec4 f2 = VARYING1 * CB3[0].xyxy; + vec2 f3 = VARYING3.xy * CB3[0].xy; + vec2 f4 = f0.xy; + vec2 f5 = f2.xy; + vec2 f6 = f0.zw; + vec2 f7 = f2.zw; + vec4 f8 = ((texture2DGradARB(SpecularMapTexture, f4, dFdx(f5), dFdy(f5)) * VARYING0.x) + (texture2DGradARB(SpecularMapTexture, f6, dFdx(f7), dFdy(f7)) * VARYING0.y)) + (texture2DGradARB(SpecularMapTexture, f1, dFdx(f3), dFdy(f3)) * VARYING0.z); + vec4 f9 = ((texture2DGradARB(AlbedoMapTexture, f4, dFdx(f5), dFdy(f5)).yxzw * VARYING0.x) + (texture2DGradARB(AlbedoMapTexture, f6, dFdx(f7), dFdy(f7)).yxzw * VARYING0.y)) + (texture2DGradARB(AlbedoMapTexture, f1, dFdx(f3), dFdy(f3)).yxzw * VARYING0.z); + vec2 f10 = f9.yz - vec2(0.5); + float f11 = VARYING9.x * f9.x; + float f12 = f10.x; + float f13 = f10.y; + float f14 = (VARYING9.y * f12) - (VARYING9.z * f13); + float f15 = (VARYING9.z * f12) + (VARYING9.y * f13); + float f16 = f11 - f15; + vec3 f17 = vec4(vec3(f16, f11, f16) + (vec3(f14, f15, f14) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f18 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + vec3 f19 = normalize(VARYING6); + vec3 f20 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f21 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f22 = VARYING4.yzx - (VARYING4.yzx * f21); + vec4 f23 = vec4(clamp(f21, 0.0, 1.0)); + vec4 f24 = mix(texture3D(LightMapTexture, f22), vec4(0.0), f23); + vec4 f25 = mix(texture3D(LightGridSkylightTexture, f22), vec4(1.0), f23); + vec4 f26 = texture2D(ShadowMapTexture, f20.xy); + float f27 = f20.z; + float f28 = f8.y; + vec3 f29 = -CB0[11].xyz; + float f30 = dot(f19, f29) * ((1.0 - ((step(f26.x, f27) * clamp(CB0[24].z + (CB0[24].w * abs(f27 - 0.5)), 0.0, 1.0)) * f26.y)) * f25.y); + vec3 f31 = normalize(f29 + normalize(VARYING8)); + float f32 = clamp(f30, 0.0, 1.0); + float f33 = f28 * f28; + float f34 = max(0.001000000047497451305389404296875, dot(f19, f31)); + float f35 = dot(f29, f31); + float f36 = 1.0 - f35; + float f37 = f36 * f36; + float f38 = (f37 * f37) * f36; + vec3 f39 = vec3(f38) + (vec3(0.039999999105930328369140625) * (1.0 - f38)); + float f40 = f33 * f33; + float f41 = (((f34 * f40) - f34) * f34) + 1.0; + vec3 f42 = (((((((vec3(1.0) - (f39 * (CB0[26].w * f18))) * CB0[10].xyz) * f32) + (CB0[12].xyz * clamp(-f30, 0.0, 1.0))) + min((f24.xyz * (f24.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f25.x)), vec3(CB0[16].w))) + vec3((f8.z * 2.0) * f18)) * (f17 * f17).xyz) + ((((f39 * (((f40 + (f40 * f40)) / (((f41 * f41) * ((f35 * 3.0) + 0.5)) * ((f34 * 0.75) + 0.25))) * f32)) * CB0[10].xyz) * f18) * VARYING0.w); + vec4 f43 = vec4(f42.x, f42.y, f42.z, vec4(0.0).w); + f43.w = 1.0; + vec3 f44 = sqrt(clamp(mix(CB0[14].xyz, f43.xyz, vec3(clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f44.x, f44.y, f44.z, f43.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 diff --git a/shaders/shaders_glsl/SmoothClusterHQVS_Level512.vert b/shaders/shaders_glsl/SmoothClusterHQVS_Level512.vert new file mode 100644 index 0000000000..8c08fb9f97 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterHQVS_Level512.vert @@ -0,0 +1,53 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec4 TEXCOORD0; +attribute vec4 TEXCOORD1; +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING7; +varying vec3 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + int v8 = int(TEXCOORD1.y); + int v9 = 36 + int(TEXCOORD0.y); + int v10 = int(TEXCOORD1.z); + int v11 = 36 + int(TEXCOORD0.z); + vec4 v12 = vec4(0.0); + v12.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v13 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v14 = vec3(v13.x ? vec3(1.0).x : vec3(0.0).x, v13.y ? vec3(1.0).y : vec3(0.0).y, v13.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v15 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v14.x, v14.y, v14.z, v12.w); + VARYING1 = vec4((vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), (vec2(dot(v0, CB2[v8 * 1 + 0].xyz), dot(v0, CB2[(18 + v8) * 1 + 0].xyz)) * CB2[v9 * 1 + 0].x) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v9 * 1 + 0].y)); + VARYING2 = vec4(CB2[v7 * 1 + 0].zw, CB2[v9 * 1 + 0].zw); + VARYING3 = vec4((vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y), CB2[v11 * 1 + 0].zw); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v15.x ? vec3(1.0).x : vec3(0.0).x, v15.y ? vec3(1.0).y : vec3(0.0).y, v15.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = v5; +} + diff --git a/shaders/shaders_glsl/SmoothClusterHQVS_Level768.vert b/shaders/shaders_glsl/SmoothClusterHQVS_Level768.vert new file mode 100644 index 0000000000..5e9c27ac62 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterHQVS_Level768.vert @@ -0,0 +1,56 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +uniform vec4 CB4[36]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec4 TEXCOORD0; +attribute vec4 TEXCOORD1; +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING7; +varying vec3 VARYING8; +varying vec4 VARYING9; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + int v8 = int(TEXCOORD1.y); + int v9 = 36 + int(TEXCOORD0.y); + int v10 = int(TEXCOORD1.z); + int v11 = 36 + int(TEXCOORD0.z); + vec4 v12 = vec4(0.0); + v12.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v13 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v14 = vec3(v13.x ? vec3(1.0).x : vec3(0.0).x, v13.y ? vec3(1.0).y : vec3(0.0).y, v13.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v15 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v14.x, v14.y, v14.z, v12.w); + VARYING1 = vec4((vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), (vec2(dot(v0, CB2[v8 * 1 + 0].xyz), dot(v0, CB2[(18 + v8) * 1 + 0].xyz)) * CB2[v9 * 1 + 0].x) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v9 * 1 + 0].y)); + VARYING2 = vec4(CB2[v7 * 1 + 0].zw, CB2[v9 * 1 + 0].zw); + VARYING3 = vec4((vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y), CB2[v11 * 1 + 0].zw); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v15.x ? vec3(1.0).x : vec3(0.0).x, v15.y ? vec3(1.0).y : vec3(0.0).y, v15.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = v5; + VARYING9 = ((CB4[int(TEXCOORD0.x + 0.5) * 1 + 0] * v14.x) + (CB4[int(TEXCOORD0.y + 0.5) * 1 + 0] * v14.y)) + (CB4[int(TEXCOORD0.z + 0.5) * 1 + 0] * v14.z); +} + diff --git a/shaders/shaders_glsl/SmoothClusterSuperHQFSFlagHeight_Level512.frag b/shaders/shaders_glsl/SmoothClusterSuperHQFSFlagHeight_Level512.frag new file mode 100644 index 0000000000..e0714796b4 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterSuperHQFSFlagHeight_Level512.frag @@ -0,0 +1,81 @@ +#version 110 +#extension GL_ARB_shader_texture_lod : require + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D AlbedoMapTexture; +uniform sampler2D NormalMapTexture; + +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING7; +varying vec3 VARYING8; + +void main() +{ + vec4 f0 = (fract(VARYING1) * CB3[0].xyxy) + VARYING2; + vec2 f1 = (fract(VARYING3.xy) * CB3[0].xy) + VARYING3.zw; + vec4 f2 = VARYING1 * CB3[0].xyxy; + vec2 f3 = VARYING3.xy * CB3[0].xy; + vec2 f4 = f0.xy; + vec2 f5 = f2.xy; + vec2 f6 = f0.zw; + vec2 f7 = f2.zw; + vec4 f8 = ((texture2DGradARB(SpecularMapTexture, f4, dFdx(f5), dFdy(f5)) * VARYING0.x) + (texture2DGradARB(SpecularMapTexture, f6, dFdx(f7), dFdy(f7)) * VARYING0.y)) + (texture2DGradARB(SpecularMapTexture, f1, dFdx(f3), dFdy(f3)) * VARYING0.z); + vec4 f9 = ((texture2DGradARB(AlbedoMapTexture, f4, dFdx(f5), dFdy(f5)).yxzw * VARYING0.x) + (texture2DGradARB(AlbedoMapTexture, f6, dFdx(f7), dFdy(f7)).yxzw * VARYING0.y)) + (texture2DGradARB(AlbedoMapTexture, f1, dFdx(f3), dFdy(f3)).yxzw * VARYING0.z); + vec2 f10 = f9.yz - vec2(0.5); + float f11 = f9.x; + float f12 = f11 - f10.y; + vec3 f13 = vec4(vec3(f12, f11, f12) + (vec3(f10.xyx) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f14 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f15 = -VARYING6.x; + vec2 f16 = (((texture2DGradARB(NormalMapTexture, f4, dFdx(f5), dFdy(f5)) * VARYING0.x) + (texture2DGradARB(NormalMapTexture, f6, dFdx(f7), dFdy(f7)) * VARYING0.y)) + (texture2DGradARB(NormalMapTexture, f1, dFdx(f3), dFdy(f3)) * VARYING0.z)).wy * 2.0; + vec2 f17 = f16 - vec2(1.0); + vec3 f18 = vec3(dot(VARYING7, VARYING0.xyz)); + vec3 f19 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f15), vec3(VARYING6.y, f15, 0.0), f18) * f17.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f18) * f17.y)) + (VARYING6 * sqrt(clamp(1.0 + dot(vec2(1.0) - f16, f17), 0.0, 1.0)))), 0.0).xyz; + vec3 f20 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f21 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f22 = VARYING4.yzx - (VARYING4.yzx * f21); + vec4 f23 = vec4(clamp(f21, 0.0, 1.0)); + vec4 f24 = mix(texture3D(LightMapTexture, f22), vec4(0.0), f23); + vec4 f25 = mix(texture3D(LightGridSkylightTexture, f22), vec4(1.0), f23); + vec4 f26 = texture2D(ShadowMapTexture, f20.xy); + float f27 = f20.z; + float f28 = f8.y; + vec3 f29 = -CB0[11].xyz; + float f30 = dot(f19, f29) * ((1.0 - ((step(f26.x, f27) * clamp(CB0[24].z + (CB0[24].w * abs(f27 - 0.5)), 0.0, 1.0)) * f26.y)) * f25.y); + vec3 f31 = normalize(f29 + normalize(VARYING8)); + float f32 = clamp(f30, 0.0, 1.0); + float f33 = f28 * f28; + float f34 = max(0.001000000047497451305389404296875, dot(f19, f31)); + float f35 = dot(f29, f31); + float f36 = 1.0 - f35; + float f37 = f36 * f36; + float f38 = (f37 * f37) * f36; + vec3 f39 = vec3(f38) + (vec3(0.039999999105930328369140625) * (1.0 - f38)); + float f40 = f33 * f33; + float f41 = (((f34 * f40) - f34) * f34) + 1.0; + vec3 f42 = (((((((vec3(1.0) - (f39 * (CB0[26].w * f14))) * CB0[10].xyz) * f32) + (CB0[12].xyz * clamp(-f30, 0.0, 1.0))) + min((f24.xyz * (f24.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f25.x)), vec3(CB0[16].w))) + vec3((f8.z * 2.0) * f14)) * (f13 * f13).xyz) + ((((f39 * (((f40 + (f40 * f40)) / (((f41 * f41) * ((f35 * 3.0) + 0.5)) * ((f34 * 0.75) + 0.25))) * f32)) * CB0[10].xyz) * f14) * VARYING0.w); + vec4 f43 = vec4(f42.x, f42.y, f42.z, vec4(0.0).w); + f43.w = 1.0; + vec3 f44 = sqrt(clamp(mix(CB0[14].xyz, f43.xyz, vec3(clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f44.x, f44.y, f44.z, f43.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl/SmoothClusterSuperHQFSFlagHeight_Level768.frag b/shaders/shaders_glsl/SmoothClusterSuperHQFSFlagHeight_Level768.frag new file mode 100644 index 0000000000..34a20c2782 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterSuperHQFSFlagHeight_Level768.frag @@ -0,0 +1,115 @@ +#version 110 +#extension GL_ARB_shader_texture_lod : require + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform vec4 CB4[36]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D AlbedoMapTexture; +uniform sampler2D NormalMapTexture; + +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING7; +varying vec3 VARYING8; +varying vec4 VARYING9; + +void main() +{ + vec4 f0 = (fract(VARYING1) * CB3[0].xyxy) + VARYING2; + vec2 f1 = (fract(VARYING3.xy) * CB3[0].xy) + VARYING3.zw; + vec4 f2 = VARYING1 * CB3[0].xyxy; + vec2 f3 = VARYING3.xy * CB3[0].xy; + vec2 f4 = f0.xy; + vec2 f5 = f2.xy; + vec2 f6 = f0.zw; + vec2 f7 = f2.zw; + vec4 f8 = ((texture2DGradARB(SpecularMapTexture, f4, dFdx(f5), dFdy(f5)) * VARYING0.x) + (texture2DGradARB(SpecularMapTexture, f6, dFdx(f7), dFdy(f7)) * VARYING0.y)) + (texture2DGradARB(SpecularMapTexture, f1, dFdx(f3), dFdy(f3)) * VARYING0.z); + vec4 f9 = texture2DGradARB(AlbedoMapTexture, f4, dFdx(f5), dFdy(f5)); + vec4 f10 = texture2DGradARB(AlbedoMapTexture, f6, dFdx(f7), dFdy(f7)); + vec4 f11 = texture2DGradARB(AlbedoMapTexture, f1, dFdx(f3), dFdy(f3)); + int f12 = int(VARYING9.x + 0.5); + int f13 = int(VARYING9.y + 0.5); + int f14 = int(VARYING9.z + 0.5); + vec2 f15 = f9.xz - vec2(0.5); + vec2 f16 = f10.xz - vec2(0.5); + vec2 f17 = f11.xz - vec2(0.5); + vec3 f18 = vec3(0.0); + f18.x = CB4[f12 * 1 + 0].x * f9.y; + float f19 = f15.x; + float f20 = f15.y; + vec3 f21 = f18; + f21.y = (CB4[f12 * 1 + 0].y * f19) - (CB4[f12 * 1 + 0].z * f20); + vec3 f22 = f21; + f22.z = (CB4[f12 * 1 + 0].z * f19) + (CB4[f12 * 1 + 0].y * f20); + vec3 f23 = vec3(0.0); + f23.x = CB4[f13 * 1 + 0].x * f10.y; + float f24 = f16.x; + float f25 = f16.y; + vec3 f26 = f23; + f26.y = (CB4[f13 * 1 + 0].y * f24) - (CB4[f13 * 1 + 0].z * f25); + vec3 f27 = f26; + f27.z = (CB4[f13 * 1 + 0].z * f24) + (CB4[f13 * 1 + 0].y * f25); + vec3 f28 = vec3(0.0); + f28.x = CB4[f14 * 1 + 0].x * f11.y; + float f29 = f17.x; + float f30 = f17.y; + vec3 f31 = f28; + f31.y = (CB4[f14 * 1 + 0].y * f29) - (CB4[f14 * 1 + 0].z * f30); + vec3 f32 = f31; + f32.z = (CB4[f14 * 1 + 0].z * f29) + (CB4[f14 * 1 + 0].y * f30); + vec4 f33 = ((vec4(f22.x, f22.y, f22.z, f9.w) * VARYING0.x) + (vec4(f27.x, f27.y, f27.z, f10.w) * VARYING0.y)) + (vec4(f32.x, f32.y, f32.z, f11.w) * VARYING0.z); + float f34 = f33.x; + float f35 = f34 - f33.z; + vec3 f36 = vec4(vec3(f35, f34, f35) + (vec3(f33.yzy) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f37 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f38 = -VARYING6.x; + vec2 f39 = (((texture2DGradARB(NormalMapTexture, f4, dFdx(f5), dFdy(f5)) * VARYING0.x) + (texture2DGradARB(NormalMapTexture, f6, dFdx(f7), dFdy(f7)) * VARYING0.y)) + (texture2DGradARB(NormalMapTexture, f1, dFdx(f3), dFdy(f3)) * VARYING0.z)).wy * 2.0; + vec2 f40 = f39 - vec2(1.0); + vec3 f41 = vec3(dot(VARYING7, VARYING0.xyz)); + vec3 f42 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f38), vec3(VARYING6.y, f38, 0.0), f41) * f40.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f41) * f40.y)) + (VARYING6 * sqrt(clamp(1.0 + dot(vec2(1.0) - f39, f40), 0.0, 1.0)))), 0.0).xyz; + vec3 f43 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f44 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f45 = VARYING4.yzx - (VARYING4.yzx * f44); + vec4 f46 = vec4(clamp(f44, 0.0, 1.0)); + vec4 f47 = mix(texture3D(LightMapTexture, f45), vec4(0.0), f46); + vec4 f48 = mix(texture3D(LightGridSkylightTexture, f45), vec4(1.0), f46); + vec4 f49 = texture2D(ShadowMapTexture, f43.xy); + float f50 = f43.z; + float f51 = f8.y; + vec3 f52 = -CB0[11].xyz; + float f53 = dot(f42, f52) * ((1.0 - ((step(f49.x, f50) * clamp(CB0[24].z + (CB0[24].w * abs(f50 - 0.5)), 0.0, 1.0)) * f49.y)) * f48.y); + vec3 f54 = normalize(f52 + normalize(VARYING8)); + float f55 = clamp(f53, 0.0, 1.0); + float f56 = f51 * f51; + float f57 = max(0.001000000047497451305389404296875, dot(f42, f54)); + float f58 = dot(f52, f54); + float f59 = 1.0 - f58; + float f60 = f59 * f59; + float f61 = (f60 * f60) * f59; + vec3 f62 = vec3(f61) + (vec3(0.039999999105930328369140625) * (1.0 - f61)); + float f63 = f56 * f56; + float f64 = (((f57 * f63) - f57) * f57) + 1.0; + vec3 f65 = (((((((vec3(1.0) - (f62 * (CB0[26].w * f37))) * CB0[10].xyz) * f55) + (CB0[12].xyz * clamp(-f53, 0.0, 1.0))) + min((f47.xyz * (f47.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f48.x)), vec3(CB0[16].w))) + vec3((f8.z * 2.0) * f37)) * (f36 * f36).xyz) + ((((f62 * (((f63 + (f63 * f63)) / (((f64 * f64) * ((f58 * 3.0) + 0.5)) * ((f57 * 0.75) + 0.25))) * f55)) * CB0[10].xyz) * f37) * VARYING0.w); + vec4 f66 = vec4(f65.x, f65.y, f65.z, vec4(0.0).w); + f66.w = 1.0; + vec3 f67 = sqrt(clamp(mix(CB0[14].xyz, f66.xyz, vec3(clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f67.x, f67.y, f67.z, f66.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl/SmoothClusterSuperHQFS_Level512.frag b/shaders/shaders_glsl/SmoothClusterSuperHQFS_Level512.frag new file mode 100644 index 0000000000..e0714796b4 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterSuperHQFS_Level512.frag @@ -0,0 +1,81 @@ +#version 110 +#extension GL_ARB_shader_texture_lod : require + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D AlbedoMapTexture; +uniform sampler2D NormalMapTexture; + +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING7; +varying vec3 VARYING8; + +void main() +{ + vec4 f0 = (fract(VARYING1) * CB3[0].xyxy) + VARYING2; + vec2 f1 = (fract(VARYING3.xy) * CB3[0].xy) + VARYING3.zw; + vec4 f2 = VARYING1 * CB3[0].xyxy; + vec2 f3 = VARYING3.xy * CB3[0].xy; + vec2 f4 = f0.xy; + vec2 f5 = f2.xy; + vec2 f6 = f0.zw; + vec2 f7 = f2.zw; + vec4 f8 = ((texture2DGradARB(SpecularMapTexture, f4, dFdx(f5), dFdy(f5)) * VARYING0.x) + (texture2DGradARB(SpecularMapTexture, f6, dFdx(f7), dFdy(f7)) * VARYING0.y)) + (texture2DGradARB(SpecularMapTexture, f1, dFdx(f3), dFdy(f3)) * VARYING0.z); + vec4 f9 = ((texture2DGradARB(AlbedoMapTexture, f4, dFdx(f5), dFdy(f5)).yxzw * VARYING0.x) + (texture2DGradARB(AlbedoMapTexture, f6, dFdx(f7), dFdy(f7)).yxzw * VARYING0.y)) + (texture2DGradARB(AlbedoMapTexture, f1, dFdx(f3), dFdy(f3)).yxzw * VARYING0.z); + vec2 f10 = f9.yz - vec2(0.5); + float f11 = f9.x; + float f12 = f11 - f10.y; + vec3 f13 = vec4(vec3(f12, f11, f12) + (vec3(f10.xyx) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f14 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f15 = -VARYING6.x; + vec2 f16 = (((texture2DGradARB(NormalMapTexture, f4, dFdx(f5), dFdy(f5)) * VARYING0.x) + (texture2DGradARB(NormalMapTexture, f6, dFdx(f7), dFdy(f7)) * VARYING0.y)) + (texture2DGradARB(NormalMapTexture, f1, dFdx(f3), dFdy(f3)) * VARYING0.z)).wy * 2.0; + vec2 f17 = f16 - vec2(1.0); + vec3 f18 = vec3(dot(VARYING7, VARYING0.xyz)); + vec3 f19 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f15), vec3(VARYING6.y, f15, 0.0), f18) * f17.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f18) * f17.y)) + (VARYING6 * sqrt(clamp(1.0 + dot(vec2(1.0) - f16, f17), 0.0, 1.0)))), 0.0).xyz; + vec3 f20 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f21 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f22 = VARYING4.yzx - (VARYING4.yzx * f21); + vec4 f23 = vec4(clamp(f21, 0.0, 1.0)); + vec4 f24 = mix(texture3D(LightMapTexture, f22), vec4(0.0), f23); + vec4 f25 = mix(texture3D(LightGridSkylightTexture, f22), vec4(1.0), f23); + vec4 f26 = texture2D(ShadowMapTexture, f20.xy); + float f27 = f20.z; + float f28 = f8.y; + vec3 f29 = -CB0[11].xyz; + float f30 = dot(f19, f29) * ((1.0 - ((step(f26.x, f27) * clamp(CB0[24].z + (CB0[24].w * abs(f27 - 0.5)), 0.0, 1.0)) * f26.y)) * f25.y); + vec3 f31 = normalize(f29 + normalize(VARYING8)); + float f32 = clamp(f30, 0.0, 1.0); + float f33 = f28 * f28; + float f34 = max(0.001000000047497451305389404296875, dot(f19, f31)); + float f35 = dot(f29, f31); + float f36 = 1.0 - f35; + float f37 = f36 * f36; + float f38 = (f37 * f37) * f36; + vec3 f39 = vec3(f38) + (vec3(0.039999999105930328369140625) * (1.0 - f38)); + float f40 = f33 * f33; + float f41 = (((f34 * f40) - f34) * f34) + 1.0; + vec3 f42 = (((((((vec3(1.0) - (f39 * (CB0[26].w * f14))) * CB0[10].xyz) * f32) + (CB0[12].xyz * clamp(-f30, 0.0, 1.0))) + min((f24.xyz * (f24.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f25.x)), vec3(CB0[16].w))) + vec3((f8.z * 2.0) * f14)) * (f13 * f13).xyz) + ((((f39 * (((f40 + (f40 * f40)) / (((f41 * f41) * ((f35 * 3.0) + 0.5)) * ((f34 * 0.75) + 0.25))) * f32)) * CB0[10].xyz) * f14) * VARYING0.w); + vec4 f43 = vec4(f42.x, f42.y, f42.z, vec4(0.0).w); + f43.w = 1.0; + vec3 f44 = sqrt(clamp(mix(CB0[14].xyz, f43.xyz, vec3(clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f44.x, f44.y, f44.z, f43.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl/SmoothClusterSuperHQFS_Level768.frag b/shaders/shaders_glsl/SmoothClusterSuperHQFS_Level768.frag new file mode 100644 index 0000000000..34a20c2782 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterSuperHQFS_Level768.frag @@ -0,0 +1,115 @@ +#version 110 +#extension GL_ARB_shader_texture_lod : require + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform vec4 CB4[36]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D AlbedoMapTexture; +uniform sampler2D NormalMapTexture; + +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING7; +varying vec3 VARYING8; +varying vec4 VARYING9; + +void main() +{ + vec4 f0 = (fract(VARYING1) * CB3[0].xyxy) + VARYING2; + vec2 f1 = (fract(VARYING3.xy) * CB3[0].xy) + VARYING3.zw; + vec4 f2 = VARYING1 * CB3[0].xyxy; + vec2 f3 = VARYING3.xy * CB3[0].xy; + vec2 f4 = f0.xy; + vec2 f5 = f2.xy; + vec2 f6 = f0.zw; + vec2 f7 = f2.zw; + vec4 f8 = ((texture2DGradARB(SpecularMapTexture, f4, dFdx(f5), dFdy(f5)) * VARYING0.x) + (texture2DGradARB(SpecularMapTexture, f6, dFdx(f7), dFdy(f7)) * VARYING0.y)) + (texture2DGradARB(SpecularMapTexture, f1, dFdx(f3), dFdy(f3)) * VARYING0.z); + vec4 f9 = texture2DGradARB(AlbedoMapTexture, f4, dFdx(f5), dFdy(f5)); + vec4 f10 = texture2DGradARB(AlbedoMapTexture, f6, dFdx(f7), dFdy(f7)); + vec4 f11 = texture2DGradARB(AlbedoMapTexture, f1, dFdx(f3), dFdy(f3)); + int f12 = int(VARYING9.x + 0.5); + int f13 = int(VARYING9.y + 0.5); + int f14 = int(VARYING9.z + 0.5); + vec2 f15 = f9.xz - vec2(0.5); + vec2 f16 = f10.xz - vec2(0.5); + vec2 f17 = f11.xz - vec2(0.5); + vec3 f18 = vec3(0.0); + f18.x = CB4[f12 * 1 + 0].x * f9.y; + float f19 = f15.x; + float f20 = f15.y; + vec3 f21 = f18; + f21.y = (CB4[f12 * 1 + 0].y * f19) - (CB4[f12 * 1 + 0].z * f20); + vec3 f22 = f21; + f22.z = (CB4[f12 * 1 + 0].z * f19) + (CB4[f12 * 1 + 0].y * f20); + vec3 f23 = vec3(0.0); + f23.x = CB4[f13 * 1 + 0].x * f10.y; + float f24 = f16.x; + float f25 = f16.y; + vec3 f26 = f23; + f26.y = (CB4[f13 * 1 + 0].y * f24) - (CB4[f13 * 1 + 0].z * f25); + vec3 f27 = f26; + f27.z = (CB4[f13 * 1 + 0].z * f24) + (CB4[f13 * 1 + 0].y * f25); + vec3 f28 = vec3(0.0); + f28.x = CB4[f14 * 1 + 0].x * f11.y; + float f29 = f17.x; + float f30 = f17.y; + vec3 f31 = f28; + f31.y = (CB4[f14 * 1 + 0].y * f29) - (CB4[f14 * 1 + 0].z * f30); + vec3 f32 = f31; + f32.z = (CB4[f14 * 1 + 0].z * f29) + (CB4[f14 * 1 + 0].y * f30); + vec4 f33 = ((vec4(f22.x, f22.y, f22.z, f9.w) * VARYING0.x) + (vec4(f27.x, f27.y, f27.z, f10.w) * VARYING0.y)) + (vec4(f32.x, f32.y, f32.z, f11.w) * VARYING0.z); + float f34 = f33.x; + float f35 = f34 - f33.z; + vec3 f36 = vec4(vec3(f35, f34, f35) + (vec3(f33.yzy) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f37 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f38 = -VARYING6.x; + vec2 f39 = (((texture2DGradARB(NormalMapTexture, f4, dFdx(f5), dFdy(f5)) * VARYING0.x) + (texture2DGradARB(NormalMapTexture, f6, dFdx(f7), dFdy(f7)) * VARYING0.y)) + (texture2DGradARB(NormalMapTexture, f1, dFdx(f3), dFdy(f3)) * VARYING0.z)).wy * 2.0; + vec2 f40 = f39 - vec2(1.0); + vec3 f41 = vec3(dot(VARYING7, VARYING0.xyz)); + vec3 f42 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f38), vec3(VARYING6.y, f38, 0.0), f41) * f40.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f41) * f40.y)) + (VARYING6 * sqrt(clamp(1.0 + dot(vec2(1.0) - f39, f40), 0.0, 1.0)))), 0.0).xyz; + vec3 f43 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f44 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f45 = VARYING4.yzx - (VARYING4.yzx * f44); + vec4 f46 = vec4(clamp(f44, 0.0, 1.0)); + vec4 f47 = mix(texture3D(LightMapTexture, f45), vec4(0.0), f46); + vec4 f48 = mix(texture3D(LightGridSkylightTexture, f45), vec4(1.0), f46); + vec4 f49 = texture2D(ShadowMapTexture, f43.xy); + float f50 = f43.z; + float f51 = f8.y; + vec3 f52 = -CB0[11].xyz; + float f53 = dot(f42, f52) * ((1.0 - ((step(f49.x, f50) * clamp(CB0[24].z + (CB0[24].w * abs(f50 - 0.5)), 0.0, 1.0)) * f49.y)) * f48.y); + vec3 f54 = normalize(f52 + normalize(VARYING8)); + float f55 = clamp(f53, 0.0, 1.0); + float f56 = f51 * f51; + float f57 = max(0.001000000047497451305389404296875, dot(f42, f54)); + float f58 = dot(f52, f54); + float f59 = 1.0 - f58; + float f60 = f59 * f59; + float f61 = (f60 * f60) * f59; + vec3 f62 = vec3(f61) + (vec3(0.039999999105930328369140625) * (1.0 - f61)); + float f63 = f56 * f56; + float f64 = (((f57 * f63) - f57) * f57) + 1.0; + vec3 f65 = (((((((vec3(1.0) - (f62 * (CB0[26].w * f37))) * CB0[10].xyz) * f55) + (CB0[12].xyz * clamp(-f53, 0.0, 1.0))) + min((f47.xyz * (f47.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f48.x)), vec3(CB0[16].w))) + vec3((f8.z * 2.0) * f37)) * (f36 * f36).xyz) + ((((f62 * (((f63 + (f63 * f63)) / (((f64 * f64) * ((f58 * 3.0) + 0.5)) * ((f57 * 0.75) + 0.25))) * f55)) * CB0[10].xyz) * f37) * VARYING0.w); + vec4 f66 = vec4(f65.x, f65.y, f65.z, vec4(0.0).w); + f66.w = 1.0; + vec3 f67 = sqrt(clamp(mix(CB0[14].xyz, f66.xyz, vec3(clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f67.x, f67.y, f67.z, f66.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl/SmoothClusterSuperHQVSFlagHeight_Level512.vert b/shaders/shaders_glsl/SmoothClusterSuperHQVSFlagHeight_Level512.vert new file mode 100644 index 0000000000..8c08fb9f97 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterSuperHQVSFlagHeight_Level512.vert @@ -0,0 +1,53 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec4 TEXCOORD0; +attribute vec4 TEXCOORD1; +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING7; +varying vec3 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + int v8 = int(TEXCOORD1.y); + int v9 = 36 + int(TEXCOORD0.y); + int v10 = int(TEXCOORD1.z); + int v11 = 36 + int(TEXCOORD0.z); + vec4 v12 = vec4(0.0); + v12.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v13 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v14 = vec3(v13.x ? vec3(1.0).x : vec3(0.0).x, v13.y ? vec3(1.0).y : vec3(0.0).y, v13.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v15 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v14.x, v14.y, v14.z, v12.w); + VARYING1 = vec4((vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), (vec2(dot(v0, CB2[v8 * 1 + 0].xyz), dot(v0, CB2[(18 + v8) * 1 + 0].xyz)) * CB2[v9 * 1 + 0].x) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v9 * 1 + 0].y)); + VARYING2 = vec4(CB2[v7 * 1 + 0].zw, CB2[v9 * 1 + 0].zw); + VARYING3 = vec4((vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y), CB2[v11 * 1 + 0].zw); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v15.x ? vec3(1.0).x : vec3(0.0).x, v15.y ? vec3(1.0).y : vec3(0.0).y, v15.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = v5; +} + diff --git a/shaders/shaders_glsl/SmoothClusterSuperHQVSFlagHeight_Level768.vert b/shaders/shaders_glsl/SmoothClusterSuperHQVSFlagHeight_Level768.vert new file mode 100644 index 0000000000..a19d3479e4 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterSuperHQVSFlagHeight_Level768.vert @@ -0,0 +1,55 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec4 TEXCOORD0; +attribute vec4 TEXCOORD1; +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING7; +varying vec3 VARYING8; +varying vec4 VARYING9; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + int v8 = int(TEXCOORD1.y); + int v9 = 36 + int(TEXCOORD0.y); + int v10 = int(TEXCOORD1.z); + int v11 = 36 + int(TEXCOORD0.z); + vec4 v12 = vec4(0.0); + v12.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v13 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v14 = vec3(v13.x ? vec3(1.0).x : vec3(0.0).x, v13.y ? vec3(1.0).y : vec3(0.0).y, v13.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v15 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v14.x, v14.y, v14.z, v12.w); + VARYING1 = vec4((vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), (vec2(dot(v0, CB2[v8 * 1 + 0].xyz), dot(v0, CB2[(18 + v8) * 1 + 0].xyz)) * CB2[v9 * 1 + 0].x) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v9 * 1 + 0].y)); + VARYING2 = vec4(CB2[v7 * 1 + 0].zw, CB2[v9 * 1 + 0].zw); + VARYING3 = vec4((vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y), CB2[v11 * 1 + 0].zw); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v15.x ? vec3(1.0).x : vec3(0.0).x, v15.y ? vec3(1.0).y : vec3(0.0).y, v15.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = v5; + VARYING9 = vec4(TEXCOORD0.xyz, 0.0); +} + diff --git a/shaders/shaders_glsl/SmoothClusterSuperHQVS_Level512.vert b/shaders/shaders_glsl/SmoothClusterSuperHQVS_Level512.vert new file mode 100644 index 0000000000..8c08fb9f97 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterSuperHQVS_Level512.vert @@ -0,0 +1,53 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec4 TEXCOORD0; +attribute vec4 TEXCOORD1; +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING7; +varying vec3 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + int v8 = int(TEXCOORD1.y); + int v9 = 36 + int(TEXCOORD0.y); + int v10 = int(TEXCOORD1.z); + int v11 = 36 + int(TEXCOORD0.z); + vec4 v12 = vec4(0.0); + v12.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v13 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v14 = vec3(v13.x ? vec3(1.0).x : vec3(0.0).x, v13.y ? vec3(1.0).y : vec3(0.0).y, v13.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v15 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v14.x, v14.y, v14.z, v12.w); + VARYING1 = vec4((vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), (vec2(dot(v0, CB2[v8 * 1 + 0].xyz), dot(v0, CB2[(18 + v8) * 1 + 0].xyz)) * CB2[v9 * 1 + 0].x) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v9 * 1 + 0].y)); + VARYING2 = vec4(CB2[v7 * 1 + 0].zw, CB2[v9 * 1 + 0].zw); + VARYING3 = vec4((vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y), CB2[v11 * 1 + 0].zw); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v15.x ? vec3(1.0).x : vec3(0.0).x, v15.y ? vec3(1.0).y : vec3(0.0).y, v15.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = v5; +} + diff --git a/shaders/shaders_glsl/SmoothClusterSuperHQVS_Level768.vert b/shaders/shaders_glsl/SmoothClusterSuperHQVS_Level768.vert new file mode 100644 index 0000000000..a19d3479e4 --- /dev/null +++ b/shaders/shaders_glsl/SmoothClusterSuperHQVS_Level768.vert @@ -0,0 +1,55 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec4 TEXCOORD0; +attribute vec4 TEXCOORD1; +varying vec4 VARYING0; +varying vec4 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec3 VARYING4; +varying vec4 VARYING5; +varying vec3 VARYING6; +varying vec3 VARYING7; +varying vec3 VARYING8; +varying vec4 VARYING9; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + int v8 = int(TEXCOORD1.y); + int v9 = 36 + int(TEXCOORD0.y); + int v10 = int(TEXCOORD1.z); + int v11 = 36 + int(TEXCOORD0.z); + vec4 v12 = vec4(0.0); + v12.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v13 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v14 = vec3(v13.x ? vec3(1.0).x : vec3(0.0).x, v13.y ? vec3(1.0).y : vec3(0.0).y, v13.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v15 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v14.x, v14.y, v14.z, v12.w); + VARYING1 = vec4((vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), (vec2(dot(v0, CB2[v8 * 1 + 0].xyz), dot(v0, CB2[(18 + v8) * 1 + 0].xyz)) * CB2[v9 * 1 + 0].x) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v9 * 1 + 0].y)); + VARYING2 = vec4(CB2[v7 * 1 + 0].zw, CB2[v9 * 1 + 0].zw); + VARYING3 = vec4((vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y), CB2[v11 * 1 + 0].zw); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v15.x ? vec3(1.0).x : vec3(0.0).x, v15.y ? vec3(1.0).y : vec3(0.0).y, v15.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = v5; + VARYING9 = vec4(TEXCOORD0.xyz, 0.0); +} + diff --git a/shaders/shaders_glsl/SmoothWaterHQFS_Level512.frag b/shaders/shaders_glsl/SmoothWaterHQFS_Level512.frag new file mode 100644 index 0000000000..5f65fe550c --- /dev/null +++ b/shaders/shaders_glsl/SmoothWaterHQFS_Level512.frag @@ -0,0 +1,75 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[3]; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D NormalMap1Texture; +uniform sampler2D NormalMap2Texture; +uniform samplerCube EnvMapTexture; + +varying vec4 VARYING0; +varying vec3 VARYING1; +varying vec2 VARYING2; +varying vec2 VARYING3; +varying vec2 VARYING4; +varying vec3 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; + +void main() +{ + float f0 = clamp(dot(step(CB0[19].xyz, abs(VARYING5 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f1 = VARYING5.yzx - (VARYING5.yzx * f0); + vec4 f2 = vec4(clamp(f0, 0.0, 1.0)); + vec4 f3 = mix(texture3D(LightMapTexture, f1), vec4(0.0), f2); + vec4 f4 = mix(texture3D(LightGridSkylightTexture, f1), vec4(1.0), f2); + vec3 f5 = (f3.xyz * (f3.w * 120.0)).xyz; + float f6 = f4.x; + float f7 = f4.y; + vec4 f8 = vec4(CB3[0].w); + float f9 = -VARYING6.x; + vec4 f10 = ((mix(texture2D(NormalMap1Texture, VARYING2), texture2D(NormalMap2Texture, VARYING2), f8) * VARYING0.x) + (mix(texture2D(NormalMap1Texture, VARYING3), texture2D(NormalMap2Texture, VARYING3), f8) * VARYING0.y)) + (mix(texture2D(NormalMap1Texture, VARYING4), texture2D(NormalMap2Texture, VARYING4), f8) * VARYING0.z); + vec2 f11 = f10.wy * 2.0; + vec2 f12 = f11 - vec2(1.0); + float f13 = f10.x; + vec3 f14 = vec3(dot(VARYING1, VARYING0.xyz)); + vec3 f15 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f9), vec3(VARYING6.y, f9, 0.0), f14) * f12.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f14) * f12.y)) + (VARYING6.xyz * sqrt(clamp(1.0 + dot(vec2(1.0) - f11, f12), 0.0, 1.0)))), f13).xyz; + vec3 f16 = mix(VARYING6.xyz, f15, vec3(0.25)); + vec3 f17 = normalize(VARYING7.xyz); + vec3 f18 = f15 * f15; + bvec3 f19 = lessThan(f15, vec3(0.0)); + vec3 f20 = vec3(f19.x ? f18.x : vec3(0.0).x, f19.y ? f18.y : vec3(0.0).y, f19.z ? f18.z : vec3(0.0).z); + vec3 f21 = f18 - f20; + float f22 = f21.x; + float f23 = f21.y; + float f24 = f21.z; + float f25 = f20.x; + float f26 = f20.y; + float f27 = f20.z; + vec3 f28 = textureCube(EnvMapTexture, reflect(-f17, f16)).xyz; + vec3 f29 = -CB0[11].xyz; + vec3 f30 = normalize(f29 + f17); + float f31 = f13 * f13; + float f32 = max(0.001000000047497451305389404296875, dot(f15, f30)); + float f33 = dot(f29, f30); + float f34 = 1.0 - f33; + float f35 = f34 * f34; + float f36 = (f35 * f35) * f34; + float f37 = f31 * f31; + float f38 = (((f32 * f37) - f32) * f32) + 1.0; + vec3 f39 = mix(((min(f5 + (CB0[27].xyz + (CB0[28].xyz * f6)), vec3(CB0[16].w)) + (((((((CB0[35].xyz * f22) + (CB0[37].xyz * f23)) + (CB0[39].xyz * f24)) + (CB0[36].xyz * f25)) + (CB0[38].xyz * f26)) + (CB0[40].xyz * f27)) + (((((((CB0[29].xyz * f22) + (CB0[31].xyz * f23)) + (CB0[33].xyz * f24)) + (CB0[30].xyz * f25)) + (CB0[32].xyz * f26)) + (CB0[34].xyz * f27)) * f6))) + (CB0[10].xyz * f7)) * CB3[1].xyz, (((f28 * f28) * CB0[15].x) * f6) + (f5 * 0.100000001490116119384765625), vec3(((clamp(0.7799999713897705078125 - (2.5 * abs(dot(f16, f17))), 0.0, 1.0) + 0.300000011920928955078125) * VARYING0.w) * CB3[2].z)) + ((((vec3(f36) + (vec3(0.0199999995529651641845703125) * (1.0 - f36))) * (((f37 + (f37 * f37)) / (((f38 * f38) * ((f33 * 3.0) + 0.5)) * ((f32 * 0.75) + 0.25))) * clamp(dot(f15, f29) * f7, 0.0, 1.0))) * CB0[10].xyz) * clamp(1.0 - (VARYING7.w * CB0[23].y), 0.0, 1.0)); + vec4 f40 = vec4(f39.x, f39.y, f39.z, vec4(0.0).w); + f40.w = 1.0; + vec3 f41 = sqrt(clamp(mix(CB0[14].xyz, f40.xyz, vec3(VARYING6.w)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f41.x, f41.y, f41.z, f40.w); +} + +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$NormalMap1Texture=s0 +//$$NormalMap2Texture=s2 +//$$EnvMapTexture=s3 diff --git a/shaders/shaders_glsl/SmoothWaterHQVS_Level512.vert b/shaders/shaders_glsl/SmoothWaterHQVS_Level512.vert new file mode 100644 index 0000000000..d703ade866 --- /dev/null +++ b/shaders/shaders_glsl/SmoothWaterHQVS_Level512.vert @@ -0,0 +1,59 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[3]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec4 TEXCOORD0; +attribute vec4 TEXCOORD1; +varying vec4 VARYING0; +varying vec3 VARYING1; +varying vec2 VARYING2; +varying vec2 VARYING3; +varying vec2 VARYING4; +varying vec3 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying vec4 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + bvec3 v2 = equal(abs(POSITION.www), vec3(1.0, 2.0, 3.0)); + vec3 v3 = vec3(v2.x ? vec3(1.0).x : vec3(0.0).x, v2.y ? vec3(1.0).y : vec3(0.0).y, v2.z ? vec3(1.0).z : vec3(0.0).z); + float v4 = dot(v3, TEXCOORD0.xyz) * 0.0039215688593685626983642578125; + float v5 = v0.z; + float v6 = v0.x; + float v7 = v0.y + (((sin(((v5 - v6) * CB3[0].x) - CB3[0].y) + sin(((v5 + v6) * CB3[0].x) + CB3[0].y)) * CB3[0].z) * (v4 * clamp(1.0 - (dot(v0 - CB0[7].xyz, -CB0[6].xyz) * CB0[23].y), 0.0, 1.0))); + vec3 v8 = v0; + v8.y = v7; + vec4 v9 = vec4(v0.x, v7, v0.z, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v10 = v9; + v10.z = v9.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v11 = CB0[7].xyz - v8; + int v12 = int(TEXCOORD1.x); + int v13 = int(TEXCOORD1.y); + int v14 = int(TEXCOORD1.z); + vec4 v15 = vec4(v3.x, v3.y, v3.z, vec4(0.0).w); + v15.w = v4; + float v16 = v9.w; + bvec3 v17 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + vec2 v18 = (v10.xy * 0.5) + vec2(0.5 * v16); + gl_Position = v10; + VARYING0 = v15; + VARYING1 = vec3(v17.x ? vec3(1.0).x : vec3(0.0).x, v17.y ? vec3(1.0).y : vec3(0.0).y, v17.z ? vec3(1.0).z : vec3(0.0).z); + VARYING2 = (vec2(dot(v8, CB2[v12 * 1 + 0].xyz), dot(v8, CB2[(18 + v12) * 1 + 0].xyz)) * 0.0500000007450580596923828125) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * 0.100000001490116119384765625); + VARYING3 = (vec2(dot(v8, CB2[v13 * 1 + 0].xyz), dot(v8, CB2[(18 + v13) * 1 + 0].xyz)) * 0.0500000007450580596923828125) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * 0.100000001490116119384765625); + VARYING4 = (vec2(dot(v8, CB2[v14 * 1 + 0].xyz), dot(v8, CB2[(18 + v14) * 1 + 0].xyz)) * 0.0500000007450580596923828125) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * 0.100000001490116119384765625); + VARYING5 = ((v8 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING6 = vec4(v1, clamp(exp2((CB0[13].z * length(v11)) + CB0[13].x) - CB0[13].w, 0.0, 1.0)); + VARYING7 = vec4(v11, v16); + VARYING8 = vec4(v18.x, v18.y, v10.z, v10.w); +} + diff --git a/shaders/shaders_glsl/SmoothWaterSuperHQFS_Level512.frag b/shaders/shaders_glsl/SmoothWaterSuperHQFS_Level512.frag new file mode 100644 index 0000000000..f272a2e0fe --- /dev/null +++ b/shaders/shaders_glsl/SmoothWaterSuperHQFS_Level512.frag @@ -0,0 +1,121 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[3]; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D NormalMap1Texture; +uniform sampler2D NormalMap2Texture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D GBufferColorTexture; +uniform samplerCube EnvMapTexture; + +varying vec4 VARYING0; +varying vec3 VARYING1; +varying vec2 VARYING2; +varying vec2 VARYING3; +varying vec2 VARYING4; +varying vec3 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying vec4 VARYING8; + +void main() +{ + float f0 = clamp(dot(step(CB0[19].xyz, abs(VARYING5 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f1 = VARYING5.yzx - (VARYING5.yzx * f0); + vec4 f2 = vec4(clamp(f0, 0.0, 1.0)); + vec4 f3 = mix(texture3D(LightMapTexture, f1), vec4(0.0), f2); + vec4 f4 = mix(texture3D(LightGridSkylightTexture, f1), vec4(1.0), f2); + vec3 f5 = (f3.xyz * (f3.w * 120.0)).xyz; + float f6 = f4.x; + float f7 = f4.y; + vec4 f8 = vec4(CB3[0].w); + float f9 = -VARYING6.x; + vec4 f10 = ((mix(texture2D(NormalMap1Texture, VARYING2), texture2D(NormalMap2Texture, VARYING2), f8) * VARYING0.x) + (mix(texture2D(NormalMap1Texture, VARYING3), texture2D(NormalMap2Texture, VARYING3), f8) * VARYING0.y)) + (mix(texture2D(NormalMap1Texture, VARYING4), texture2D(NormalMap2Texture, VARYING4), f8) * VARYING0.z); + vec2 f11 = f10.wy * 2.0; + vec2 f12 = f11 - vec2(1.0); + float f13 = f10.x; + vec3 f14 = vec3(dot(VARYING1, VARYING0.xyz)); + vec4 f15 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f9), vec3(VARYING6.y, f9, 0.0), f14) * f12.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f14) * f12.y)) + (VARYING6.xyz * sqrt(clamp(1.0 + dot(vec2(1.0) - f11, f12), 0.0, 1.0)))), f13); + vec3 f16 = f15.xyz; + vec3 f17 = mix(VARYING6.xyz, f16, vec3(0.25)); + vec3 f18 = normalize(VARYING7.xyz); + vec3 f19 = f16 * f16; + bvec3 f20 = lessThan(f16, vec3(0.0)); + vec3 f21 = vec3(f20.x ? f19.x : vec3(0.0).x, f20.y ? f19.y : vec3(0.0).y, f20.z ? f19.z : vec3(0.0).z); + vec3 f22 = f19 - f21; + float f23 = f22.x; + float f24 = f22.y; + float f25 = f22.z; + float f26 = f21.x; + float f27 = f21.y; + float f28 = f21.z; + vec2 f29 = VARYING8.xy / vec2(VARYING8.w); + vec2 f30 = f29 + (f15.xz * 0.0500000007450580596923828125); + vec4 f31 = texture2D(GBufferColorTexture, f29); + f31.w = texture2D(GBufferDepthTexture, f29).x * 500.0; + float f32 = texture2D(GBufferDepthTexture, f30).x * 500.0; + vec4 f33 = texture2D(GBufferColorTexture, f30); + f33.w = f32; + vec4 f34 = mix(f31, f33, vec4(clamp(f32 - VARYING8.w, 0.0, 1.0))); + vec3 f35 = f34.xyz; + vec3 f36 = reflect(-f18, f17); + float f37 = VARYING8.w * 0.20000000298023223876953125; + vec4 f38 = vec4(f36, 0.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 f39 = (f38.xy * 0.5) + vec2(0.5 * f38.w); + vec4 f40 = vec4(f39.x, f39.y, f38.z, f38.w); + float f41 = VARYING8.w * (-0.20000000298023223876953125); + float f42 = 1.0 + clamp(0.0, f41, f37); + vec4 f43 = VARYING8 + (f40 * f42); + float f44 = f43.w; + float f45 = f42 + clamp((texture2D(GBufferDepthTexture, f43.xy / vec2(f44)).x * 500.0) - f44, f41, f37); + vec4 f46 = VARYING8 + (f40 * f45); + float f47 = f46.w; + float f48 = f45 + clamp((texture2D(GBufferDepthTexture, f46.xy / vec2(f47)).x * 500.0) - f47, f41, f37); + vec4 f49 = VARYING8 + (f40 * f48); + float f50 = f49.w; + float f51 = f48 + clamp((texture2D(GBufferDepthTexture, f49.xy / vec2(f50)).x * 500.0) - f50, f41, f37); + vec4 f52 = VARYING8 + (f40 * f51); + float f53 = f52.w; + float f54 = f51 + clamp((texture2D(GBufferDepthTexture, f52.xy / vec2(f53)).x * 500.0) - f53, f41, f37); + vec4 f55 = VARYING8 + (f40 * f54); + float f56 = f55.w; + float f57 = f54 + clamp((texture2D(GBufferDepthTexture, f55.xy / vec2(f56)).x * 500.0) - f56, f41, f37); + vec4 f58 = VARYING8 + (f40 * f57); + float f59 = f58.w; + float f60 = f57 + clamp((texture2D(GBufferDepthTexture, f58.xy / vec2(f59)).x * 500.0) - f59, f41, f37); + vec4 f61 = VARYING8 + (f40 * f60); + float f62 = f61.w; + vec4 f63 = VARYING8 + (f40 * (f60 + clamp((texture2D(GBufferDepthTexture, f61.xy / vec2(f62)).x * 500.0) - f62, f41, f37))); + float f64 = f63.w; + vec2 f65 = f63.xy / vec2(f64); + vec3 f66 = textureCube(EnvMapTexture, f36).xyz; + vec3 f67 = texture2D(GBufferColorTexture, f65).xyz; + vec3 f68 = -CB0[11].xyz; + vec3 f69 = normalize(f68 + f18); + float f70 = f13 * f13; + float f71 = max(0.001000000047497451305389404296875, dot(f16, f69)); + float f72 = dot(f68, f69); + float f73 = 1.0 - f72; + float f74 = f73 * f73; + float f75 = (f74 * f74) * f73; + float f76 = f70 * f70; + float f77 = (((f71 * f76) - f71) * f71) + 1.0; + vec3 f78 = mix(mix(((f35 * f35) * CB0[15].x).xyz, ((min(f5 + (CB0[27].xyz + (CB0[28].xyz * f6)), vec3(CB0[16].w)) + (((((((CB0[35].xyz * f23) + (CB0[37].xyz * f24)) + (CB0[39].xyz * f25)) + (CB0[36].xyz * f26)) + (CB0[38].xyz * f27)) + (CB0[40].xyz * f28)) + (((((((CB0[29].xyz * f23) + (CB0[31].xyz * f24)) + (CB0[33].xyz * f25)) + (CB0[30].xyz * f26)) + (CB0[32].xyz * f27)) + (CB0[34].xyz * f28)) * f6))) + (CB0[10].xyz * f7)) * CB3[1].xyz, vec3(clamp(clamp(((f34.w - VARYING8.w) * CB3[2].x) + CB3[2].y, 0.0, 1.0) + clamp((VARYING8.w * 0.0040000001899898052215576171875) - 1.0, 0.0, 1.0), 0.0, 1.0))), mix(((f66 * f66) * CB0[15].x) * f6, (f67 * f67) * CB0[15].x, vec3((((float(abs(f65.x - 0.5) < 0.550000011920928955078125) * float(abs(f65.y - 0.5) < 0.5)) * clamp(3.900000095367431640625 - (max(VARYING8.w, f64) * 0.008000000379979610443115234375), 0.0, 1.0)) * float(abs((texture2D(GBufferDepthTexture, f65).x * 500.0) - f64) < 10.0)) * float(f38.w > 0.0))) + (f5 * 0.100000001490116119384765625), vec3(((clamp(0.7799999713897705078125 - (2.5 * abs(dot(f17, f18))), 0.0, 1.0) + 0.300000011920928955078125) * VARYING0.w) * CB3[2].z)) + ((((vec3(f75) + (vec3(0.0199999995529651641845703125) * (1.0 - f75))) * (((f76 + (f76 * f76)) / (((f77 * f77) * ((f72 * 3.0) + 0.5)) * ((f71 * 0.75) + 0.25))) * clamp(dot(f16, f68) * f7, 0.0, 1.0))) * CB0[10].xyz) * clamp(1.0 - (VARYING7.w * CB0[23].y), 0.0, 1.0)); + vec4 f79 = vec4(f78.x, f78.y, f78.z, vec4(0.0).w); + f79.w = 1.0; + vec3 f80 = sqrt(clamp(mix(CB0[14].xyz, f79.xyz, vec3(VARYING6.w)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f80.x, f80.y, f80.z, f79.w); +} + +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$NormalMap1Texture=s0 +//$$NormalMap2Texture=s2 +//$$GBufferDepthTexture=s5 +//$$GBufferColorTexture=s4 +//$$EnvMapTexture=s3 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQFS_Level512.frag new file mode 100644 index 0000000000..b9a0abb10c --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQFS_Level512.frag @@ -0,0 +1,34 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D DiffuseMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING4; +varying vec4 VARYING5; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec4 f1 = texture2D(DiffuseMapTexture, VARYING0); + float f2 = f1.x; + float f3 = (f2 > 0.0) ? ((1.0 - clamp(abs(f2 - CB0[14].w) * 13.0, 0.0, 1.0)) * f1.w) : 0.0; + float f4 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f0))) * 2.0, 0.0, 1.0), 0.0), f3); + float f5 = VARYING2.w * max(mix(f3, 1.0, f4) * f4, VARYING1.x); + vec4 f6 = vec4(VARYING2.xyz * VARYING2.xyz, f5); + float f7 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f8 = mix(CB0[14].xyz, f6.xyz, vec3(f7)); + float f9 = f7 * f5; + vec4 f10 = vec4(f8.x, f8.y, f8.z, f6.w); + f10.w = f9; + vec3 f11 = sqrt(clamp(f10.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f12 = vec4(f11.x, f11.y, f11.z, f10.w); + f12.w = f9; + gl_FragData[0] = f12; +} + +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQVS_Level512.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQVS_Level512.vert new file mode 100644 index 0000000000..d8017c8b9d --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQVS_Level512.vert @@ -0,0 +1,45 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0); + vec4 v2 = v1 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v3 = TEXCOORD1; + v3.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v4 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, vec4(0.0).w); + v5.w = 0.0; + vec4 v6 = vec4(dot(CB0[20], v1), dot(CB0[21], v1), dot(CB0[22], v1), 0.0); + v6.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v7 = vec4(v0, 0.0); + v7.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v2; + VARYING0 = TEXCOORD0; + VARYING1 = v3; + VARYING2 = COLOR0; + VARYING3 = v5; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v2.w); + VARYING5 = v7; + VARYING6 = v6; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQVS_Level514.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQVS_Level514.vert new file mode 100644 index 0000000000..ebebd740c4 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQVS_Level514.vert @@ -0,0 +1,56 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0); + vec4 v12 = v11 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v13 = TEXCOORD1; + v13.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v14 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v15 = vec4(v14.x, v14.y, v14.z, vec4(0.0).w); + v15.w = 0.0; + vec4 v16 = vec4(dot(CB0[20], v11), dot(CB0[21], v11), dot(CB0[22], v11), 0.0); + v16.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v17 = vec4(v8, v9, v10, 0.0); + v17.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v12; + VARYING0 = TEXCOORD0; + VARYING1 = v13; + VARYING2 = COLOR0; + VARYING3 = v15; + VARYING4 = vec4(CB0[7].xyz - v7, v12.w); + VARYING5 = v17; + VARYING6 = v16; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQVS_Level518.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQVS_Level518.vert new file mode 100644 index 0000000000..9a08eb622d --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldHQVS_Level518.vert @@ -0,0 +1,66 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD4; +attribute vec4 TEXCOORD5; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0); + vec4 v20 = v19 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v21 = TEXCOORD1; + v21.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v22 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v23 = vec4(v22.x, v22.y, v22.z, vec4(0.0).w); + v23.w = 0.0; + vec4 v24 = vec4(dot(CB0[20], v19), dot(CB0[21], v19), dot(CB0[22], v19), 0.0); + v24.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v25 = vec4(v16, v17, v18, 0.0); + v25.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v20; + VARYING0 = TEXCOORD0; + VARYING1 = v21; + VARYING2 = COLOR0; + VARYING3 = v23; + VARYING4 = vec4(CB0[7].xyz - v15, v20.w); + VARYING5 = v25; + VARYING6 = v24; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldSHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldSHQFS_Level512.frag new file mode 100644 index 0000000000..6d6b5db8d2 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultForceFieldSHQFS_Level512.frag @@ -0,0 +1,39 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D DiffuseMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING4; +varying vec4 VARYING5; + +void main() +{ + vec4 f0 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + float f1 = f0.w; + float f2 = texture2D(GBufferDepthTexture, ((f0.xy * 0.5) + vec2(0.5 * f1)).xy / vec2(f1)).x * 500.0; + float f3 = length(VARYING4.xyz); + vec4 f4 = texture2D(DiffuseMapTexture, VARYING0); + float f5 = f4.x; + float f6 = (f5 > 0.0) ? ((1.0 - clamp(abs(f5 - CB0[14].w) * 13.0, 0.0, 1.0)) * f4.w) : 0.0; + float f7 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f3))) * 2.0, 0.0, 1.0), (f2 > 499.0) ? 0.0 : (1.0 - clamp((f2 - f1) * 3.0, 0.0, 1.0))), f6); + float f8 = VARYING2.w * max(mix(f6, 1.0, f7) * f7, VARYING1.x); + vec4 f9 = vec4(VARYING2.xyz * VARYING2.xyz, f8); + float f10 = clamp(exp2((CB0[13].z * f3) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f11 = mix(CB0[14].xyz, f9.xyz, vec3(f10)); + float f12 = f10 * f8; + vec4 f13 = vec4(f11.x, f11.y, f11.z, f9.w); + f13.w = f12; + vec3 f14 = sqrt(clamp(f13.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f15 = vec4(f14.x, f14.y, f14.z, f13.w); + f15.w = f12; + gl_FragData[0] = f15; +} + +//$$GBufferDepthTexture=s10 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultGlassHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultGlassHQFS_Level512.frag new file mode 100644 index 0000000000..90478edbf4 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultGlassHQFS_Level512.frag @@ -0,0 +1,95 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; +uniform samplerCube EnvironmentMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture2D(DiffuseMapTexture, f2); + vec2 f4 = texture2D(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture2D(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture2D(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture2D(SpecularMapTexture, f2 * CB2[1].w), texture2D(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + float f14 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f15 = VARYING6.xyz * f14; + vec3 f16 = VARYING5.xyz * f14; + vec3 f17 = normalize(((f15 * f7.x) + (cross(f16, f15) * f7.y)) + (f16 * (f6 * 10.0))); + vec3 f18 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f19 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f20 = VARYING3.yzx - (VARYING3.yzx * f19); + vec4 f21 = vec4(clamp(f19, 0.0, 1.0)); + vec4 f22 = mix(texture3D(LightMapTexture, f20), vec4(0.0), f21); + vec4 f23 = mix(texture3D(LightGridSkylightTexture, f20), vec4(1.0), f21); + vec3 f24 = (f22.xyz * (f22.w * 120.0)).xyz; + float f25 = f23.x; + vec4 f26 = texture2D(ShadowMapTexture, f18.xy); + float f27 = f18.z; + vec3 f28 = f9 * f9; + float f29 = length(VARYING4.xyz); + vec3 f30 = VARYING4.xyz / vec3(f29); + vec3 f31 = textureCube(EnvironmentMapTexture, reflect(-VARYING4.xyz, f17)).xyz; + vec3 f32 = -CB0[11].xyz; + float f33 = dot(f17, f32) * ((1.0 - ((step(f26.x, f27) * clamp(CB0[24].z + (CB0[24].w * abs(f27 - 0.5)), 0.0, 1.0)) * f26.y)) * f23.y); + vec3 f34 = normalize(f32 + f30); + float f35 = clamp(f33, 0.0, 1.0); + float f36 = f11 * f11; + float f37 = max(0.001000000047497451305389404296875, dot(f17, f34)); + float f38 = dot(f32, f34); + float f39 = 1.0 - f38; + float f40 = f39 * f39; + float f41 = (f40 * f40) * f39; + vec3 f42 = vec3(f41) + (vec3(0.039999999105930328369140625) * (1.0 - f41)); + float f43 = f36 * f36; + float f44 = (((f37 * f43) - f37) * f37) + 1.0; + vec3 f45 = mix(f24, (f31 * f31) * CB0[15].x, vec3(f25)) * mix(vec3(1.0), f28, vec3(0.5)); + float f46 = 1.0 - max(9.9999997473787516355514526367188e-05, dot(f17, f30)); + vec4 f47 = mix(vec4(mix((((((vec3(1.0) - (f42 * (CB0[26].w * f1))) * CB0[10].xyz) * f35) + (CB0[12].xyz * clamp(-f33, 0.0, 1.0))) + min(f24 + (CB0[8].xyz + (CB0[9].xyz * f25)), vec3(CB0[16].w))) * (f28 * f13), f45, vec3(VARYING7.w)) * f13, f13), vec4(f45, 1.0), vec4(((f46 * f46) * 0.800000011920928955078125) * clamp(f12, 0.0, 1.0))) + vec4((f42 * (((f43 + (f43 * f43)) / (((f44 * f44) * ((f38 * 3.0) + 0.5)) * ((f37 * 0.75) + 0.25))) * f35)) * CB0[10].xyz, 0.0); + float f48 = clamp(exp2((CB0[13].z * f29) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f49 = mix(CB0[14].xyz, f47.xyz, vec3(f48)); + vec4 f50 = vec4(f49.x, f49.y, f49.z, f47.w); + f50.w = 1.0 - ((1.0 - f47.w) * f48); + vec3 f51 = sqrt(clamp(f50.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f51.x, f51.y, f51.z, f50.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 +//$$EnvironmentMapTexture=s2 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultGlassSuperHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultGlassSuperHQFS_Level512.frag new file mode 100644 index 0000000000..4ea9334033 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultGlassSuperHQFS_Level512.frag @@ -0,0 +1,118 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D GBufferColorTexture; +uniform samplerCube EnvironmentMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture2D(DiffuseMapTexture, f2); + vec2 f4 = texture2D(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture2D(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture2D(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture2D(SpecularMapTexture, f2 * CB2[1].w), texture2D(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + float f14 = clamp(f12, 0.0, 1.0); + float f15 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f16 = VARYING6.xyz * f15; + vec3 f17 = VARYING5.xyz * f15; + vec3 f18 = normalize(((f16 * f7.x) + (cross(f17, f16) * f7.y)) + (f17 * (f6 * 10.0))); + vec3 f19 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f20 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f21 = VARYING3.yzx - (VARYING3.yzx * f20); + vec4 f22 = vec4(clamp(f20, 0.0, 1.0)); + vec4 f23 = mix(texture3D(LightMapTexture, f21), vec4(0.0), f22); + vec4 f24 = mix(texture3D(LightGridSkylightTexture, f21), vec4(1.0), f22); + vec3 f25 = (f23.xyz * (f23.w * 120.0)).xyz; + float f26 = f24.x; + vec4 f27 = texture2D(ShadowMapTexture, f19.xy); + float f28 = f19.z; + vec3 f29 = f9 * f9; + float f30 = length(VARYING4.xyz); + vec3 f31 = VARYING4.xyz / vec3(f30); + vec3 f32 = textureCube(EnvironmentMapTexture, reflect(-VARYING4.xyz, f18)).xyz; + vec3 f33 = -CB0[11].xyz; + float f34 = dot(f18, f33) * ((1.0 - ((step(f27.x, f28) * clamp(CB0[24].z + (CB0[24].w * abs(f28 - 0.5)), 0.0, 1.0)) * f27.y)) * f24.y); + vec3 f35 = normalize(f33 + f31); + float f36 = clamp(f34, 0.0, 1.0); + float f37 = f11 * f11; + float f38 = max(0.001000000047497451305389404296875, dot(f18, f35)); + float f39 = dot(f33, f35); + float f40 = 1.0 - f39; + float f41 = f40 * f40; + float f42 = (f41 * f41) * f40; + vec3 f43 = vec3(f42) + (vec3(0.039999999105930328369140625) * (1.0 - f42)); + float f44 = f37 * f37; + float f45 = (((f38 * f44) - f38) * f38) + 1.0; + vec3 f46 = mix(f25, (f32 * f32) * CB0[15].x, vec3(f26)) * mix(vec3(1.0), f29, vec3(0.5)); + float f47 = 1.0 - max(9.9999997473787516355514526367188e-05, dot(f18, f31)); + float f48 = 1.0 - VARYING2.w; + float f49 = mix(0.660000026226043701171875, 1.0, f48 * f48); + mat4 f50 = mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 f51 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * f50; + vec4 f52 = vec4(CB0[7].xyz - ((VARYING4.xyz * (1.0 + ((3.0 * f49) / max(dot(VARYING4.xyz, f18), 0.00999999977648258209228515625)))) + (f18 * (3.0 * (1.0 - f49)))), 1.0) * f50; + float f53 = f51.w; + vec2 f54 = ((f51.xy * 0.5) + vec2(0.5 * f53)).xy / vec2(f53); + float f55 = f52.w; + vec2 f56 = ((f52.xy * 0.5) + vec2(0.5 * f55)).xy / vec2(f55); + vec2 f57 = f56 - vec2(0.5); + vec2 f58 = (f56 - f54) * clamp(vec2(1.0) - ((f57 * f57) * 4.0), vec2(0.0), vec2(1.0)); + vec2 f59 = normalize(f58) * CB0[23].x; + vec4 f60 = texture2D(GBufferColorTexture, f54 + (f58 * clamp(min(texture2D(GBufferDepthTexture, f56 + f59).x * 500.0, texture2D(GBufferDepthTexture, f56 - f59).x * 500.0) - f53, 0.0, 1.0))); + vec3 f61 = f60.xyz; + vec3 f62 = ((f61 * f61) * CB0[15].x).xyz; + vec3 f63 = f62 * mix(vec3(1.0), VARYING2.xyz, vec3(f14)); + vec4 f64 = vec4(f63.x, f63.y, f63.z, vec4(0.0).w); + f64.w = mix(1.0, f60.w, dot(f63.xyz, vec3(1.0)) / (dot(f62, vec3(1.0)) + 0.00999999977648258209228515625)); + vec4 f65 = mix(mix(f64, vec4(mix((((((vec3(1.0) - (f43 * (CB0[26].w * f1))) * CB0[10].xyz) * f36) + (CB0[12].xyz * clamp(-f34, 0.0, 1.0))) + min(f25 + (CB0[8].xyz + (CB0[9].xyz * f26)), vec3(CB0[16].w))) * (f29 * f13), f46, vec3(VARYING7.w)), 1.0), vec4(f13)), vec4(f46, 1.0), vec4(((f47 * f47) * 0.800000011920928955078125) * f14)) + vec4((f43 * (((f44 + (f44 * f44)) / (((f45 * f45) * ((f39 * 3.0) + 0.5)) * ((f38 * 0.75) + 0.25))) * f36)) * CB0[10].xyz, 0.0); + float f66 = clamp(exp2((CB0[13].z * f30) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f67 = mix(CB0[14].xyz, f65.xyz, vec3(f66)); + vec4 f68 = vec4(f67.x, f67.y, f67.z, f65.w); + f68.w = f66 * f65.w; + vec3 f69 = sqrt(clamp(f68.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + gl_FragData[0] = vec4(f69.x, f69.y, f69.z, f68.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 +//$$GBufferDepthTexture=s10 +//$$GBufferColorTexture=s9 +//$$EnvironmentMapTexture=s2 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultHQVS_Level512.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultHQVS_Level512.vert new file mode 100644 index 0000000000..1adb429a90 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultHQVS_Level512.vert @@ -0,0 +1,43 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0); + vec4 v2 = v1 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v3 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v4 = vec4(v3.x, v3.y, v3.z, vec4(0.0).w); + v4.w = 0.0; + vec4 v5 = vec4(dot(CB0[20], v1), dot(CB0[21], v1), dot(CB0[22], v1), 0.0); + v5.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v6 = vec4(v0, 0.0); + v6.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v2; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v4; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v2.w); + VARYING5 = v6; + VARYING6 = v5; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultHQVS_Level514.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultHQVS_Level514.vert new file mode 100644 index 0000000000..f223a7bc21 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultHQVS_Level514.vert @@ -0,0 +1,54 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0); + vec4 v12 = v11 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v13 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v14 = vec4(v13.x, v13.y, v13.z, vec4(0.0).w); + v14.w = 0.0; + vec4 v15 = vec4(dot(CB0[20], v11), dot(CB0[21], v11), dot(CB0[22], v11), 0.0); + v15.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v16 = vec4(v8, v9, v10, 0.0); + v16.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v12; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v14; + VARYING4 = vec4(CB0[7].xyz - v7, v12.w); + VARYING5 = v16; + VARYING6 = v15; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultHQVS_Level518.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultHQVS_Level518.vert new file mode 100644 index 0000000000..f4abeaff88 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultHQVS_Level518.vert @@ -0,0 +1,64 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD4; +attribute vec4 TEXCOORD5; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0); + vec4 v20 = v19 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v21 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = 0.0; + vec4 v23 = vec4(dot(CB0[20], v19), dot(CB0[21], v19), dot(CB0[22], v19), 0.0); + v23.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v24 = vec4(v16, v17, v18, 0.0); + v24.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v20; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v22; + VARYING4 = vec4(CB0[7].xyz - v15, v20.w); + VARYING5 = v24; + VARYING6 = v23; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultNeonHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultNeonHQFS_Level512.frag new file mode 100644 index 0000000000..1be1fd3216 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultNeonHQFS_Level512.frag @@ -0,0 +1,17 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +varying vec4 VARYING2; +varying vec4 VARYING4; + +void main() +{ + float f0 = clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f1 = sqrt(clamp(mix(CB0[14].xyz, (pow(VARYING2.xyz * 1.35000002384185791015625, vec3(4.0)) * 4.0).xyz, vec3(f0)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f2 = vec4(f1.x, f1.y, f1.z, vec4(0.0).w); + f2.w = 1.0 - (clamp(f0, 0.0, 1.0) * VARYING2.w); + gl_FragData[0] = f2; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultOpaqueHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultOpaqueHQFS_Level512.frag new file mode 100644 index 0000000000..874f9df96d --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultOpaqueHQFS_Level512.frag @@ -0,0 +1,61 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; + +varying vec2 VARYING0; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = normalize(VARYING5.xyz) * (gl_FrontFacing ? 1.0 : (-1.0)); + vec3 f2 = (texture2D(DiffuseMapTexture, VARYING0) * VARYING2).xyz; + vec3 f3 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f4 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f5 = VARYING3.yzx - (VARYING3.yzx * f4); + vec4 f6 = vec4(clamp(f4, 0.0, 1.0)); + vec4 f7 = mix(texture3D(LightMapTexture, f5), vec4(0.0), f6); + vec4 f8 = mix(texture3D(LightGridSkylightTexture, f5), vec4(1.0), f6); + vec4 f9 = texture2D(ShadowMapTexture, f3.xy); + float f10 = f3.z; + vec3 f11 = (f2 * f2).xyz; + float f12 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + float f13 = max(VARYING5.w, 0.04500000178813934326171875); + float f14 = VARYING6.w * f12; + vec3 f15 = -CB0[11].xyz; + float f16 = dot(f1, f15) * ((1.0 - ((step(f9.x, f10) * clamp(CB0[24].z + (CB0[24].w * abs(f10 - 0.5)), 0.0, 1.0)) * f9.y)) * f8.y); + vec3 f17 = normalize(f15 + (VARYING4.xyz / vec3(f0))); + float f18 = clamp(f16, 0.0, 1.0); + float f19 = f13 * f13; + float f20 = max(0.001000000047497451305389404296875, dot(f1, f17)); + float f21 = dot(f15, f17); + float f22 = 1.0 - f21; + float f23 = f22 * f22; + float f24 = (f23 * f23) * f22; + vec3 f25 = vec3(f24) + (mix(vec3(0.039999999105930328369140625), f11, vec3(f14)) * (1.0 - f24)); + float f26 = f19 * f19; + float f27 = (((f20 * f26) - f20) * f20) + 1.0; + float f28 = 1.0 - f14; + vec3 f29 = ((((((vec3(f28) - (f25 * (f12 * f28))) * CB0[10].xyz) * f18) + (CB0[12].xyz * (f28 * clamp(-f16, 0.0, 1.0)))) + min((f7.xyz * (f7.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f8.x)), vec3(CB0[16].w))) * f11) + ((f25 * (((f26 + (f26 * f26)) / (((f27 * f27) * ((f21 * 3.0) + 0.5)) * ((f20 * 0.75) + 0.25))) * f18)) * CB0[10].xyz); + vec4 f30 = vec4(f29.x, f29.y, f29.z, vec4(0.0).w); + f30.w = 1.0; + vec3 f31 = sqrt(clamp(mix(CB0[14].xyz, f30.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f32 = vec4(f31.x, f31.y, f31.z, f30.w); + f32.w = 1.0; + gl_FragData[0] = f32; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultPlasticHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultPlasticHQFS_Level512.frag new file mode 100644 index 0000000000..ee9d59c0dc --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultPlasticHQFS_Level512.frag @@ -0,0 +1,80 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube EnvironmentMapTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = texture2D(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = ((vec3(f5, f6).xy + (vec3((texture2D(NormalDetailMapTexture, VARYING0 * CB2[0].x).wy * 2.0) - vec2(1.0), 0.0).xy * (clamp(VARYING2.w - 0.5, 0.0, 1.0) * clamp(1.0 - (2.0 * VARYING7.w), 0.0, 1.0)))).xy * f3).xy * CB2[3].w; + float f8 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f9 = VARYING6.xyz * f8; + vec3 f10 = VARYING5.xyz * f8; + vec3 f11 = normalize(((f9 * f7.x) + (cross(f10, f9) * f7.y)) + (f10 * f6)); + vec3 f12 = vec4(VARYING2.xyz * (texture2D(DiffuseMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f13 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f14 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f15 = VARYING3.yzx - (VARYING3.yzx * f14); + vec4 f16 = vec4(clamp(f14, 0.0, 1.0)); + vec4 f17 = mix(texture3D(LightMapTexture, f15), vec4(0.0), f16); + vec4 f18 = mix(texture3D(LightGridSkylightTexture, f15), vec4(1.0), f16); + vec4 f19 = texture2D(ShadowMapTexture, f13.xy); + float f20 = f13.z; + float f21 = max(CB2[0].y, 0.04500000178813934326171875); + vec3 f22 = textureCube(EnvironmentMapTexture, reflect(-f1, f11)).xyz; + vec3 f23 = -CB0[11].xyz; + float f24 = dot(f11, f23) * ((1.0 - ((step(f19.x, f20) * clamp(CB0[24].z + (CB0[24].w * abs(f20 - 0.5)), 0.0, 1.0)) * f19.y)) * f18.y); + vec3 f25 = normalize(f23 + f1); + float f26 = clamp(f24, 0.0, 1.0); + float f27 = f21 * f21; + float f28 = max(0.001000000047497451305389404296875, dot(f11, f25)); + float f29 = dot(f23, f25); + float f30 = 1.0 - f29; + float f31 = f30 * f30; + float f32 = (f31 * f31) * f30; + vec3 f33 = vec3(f32) + (vec3(0.039999999105930328369140625) * (1.0 - f32)); + float f34 = f27 * f27; + float f35 = (((f28 * f34) - f28) * f28) + 1.0; + vec3 f36 = ((((((vec3(1.0) - (f33 * (CB0[26].w * f3))) * CB0[10].xyz) * f26) + (CB0[12].xyz * clamp(-f24, 0.0, 1.0))) + min((f17.xyz * (f17.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f18.x)), vec3(CB0[16].w))) * mix((f12 * f12).xyz, (f22 * f22) * CB0[15].x, vec3(VARYING7.w))) + ((f33 * (((f34 + (f34 * f34)) / (((f35 * f35) * ((f29 * 3.0) + 0.5)) * ((f28 * 0.75) + 0.25))) * f26)) * CB0[10].xyz); + vec4 f37 = vec4(f36.x, f36.y, f36.z, vec4(0.0).w); + f37.w = VARYING2.w; + vec3 f38 = sqrt(clamp(mix(CB0[14].xyz, f37.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f39 = vec4(f38.x, f38.y, f38.z, f37.w); + f39.w = VARYING2.w; + gl_FragData[0] = f39; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$EnvironmentMapTexture=s2 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultReflectionVS_Level512.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultReflectionVS_Level512.vert new file mode 100644 index 0000000000..204ca2a9e7 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultReflectionVS_Level512.vert @@ -0,0 +1,53 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = CB0[7].xyz - POSITION.xyz; + vec3 v2 = normalize(v1); + vec3 v3 = v0 * ((dot(v0, v2) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v4 = -CB0[11].xyz; + float v5 = dot(v3, v4); + vec4 v6 = vec4(POSITION.xyz, 1.0); + vec4 v7 = v6 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v8 = ((POSITION.xyz + (v3 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v9 = vec4(v8.x, v8.y, v8.z, vec4(0.0).w); + v9.w = 0.0; + vec4 v10 = vec4(dot(CB0[20], v6), dot(CB0[21], v6), dot(CB0[22], v6), 0.0); + v10.w = COLOR1.w * 0.0039215688593685626983642578125; + float v11 = COLOR1.y * 0.50359570980072021484375; + float v12 = clamp(v5, 0.0, 1.0); + vec3 v13 = (CB0[10].xyz * v12) + (CB0[12].xyz * clamp(-v5, 0.0, 1.0)); + vec4 v14 = vec4(v13.x, v13.y, v13.z, vec4(0.0).w); + v14.w = (v12 * CB0[23].w) * (COLOR1.y * exp2((v11 * dot(v3, normalize(v4 + v2))) - v11)); + gl_Position = v7; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v9; + VARYING4 = vec4(v1, v7.w); + VARYING5 = vec4(v3, COLOR1.z); + VARYING6 = v14; + VARYING7 = v10; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultReflectionVS_Level514.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultReflectionVS_Level514.vert new file mode 100644 index 0000000000..4e61524745 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultReflectionVS_Level514.vert @@ -0,0 +1,62 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + vec3 v8 = vec3(dot(CB1[v1 * 1 + 0].xyz, v0), dot(CB1[v2 * 1 + 0].xyz, v0), dot(CB1[v3 * 1 + 0].xyz, v0)); + vec3 v9 = CB0[7].xyz - v7; + vec3 v10 = normalize(v9); + vec3 v11 = v8 * ((dot(v8, v10) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v12 = -CB0[11].xyz; + float v13 = dot(v11, v12); + vec4 v14 = vec4(v4, v5, v6, 1.0); + vec4 v15 = v14 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v16 = ((v7 + (v11 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v17 = vec4(v16.x, v16.y, v16.z, vec4(0.0).w); + v17.w = 0.0; + vec4 v18 = vec4(dot(CB0[20], v14), dot(CB0[21], v14), dot(CB0[22], v14), 0.0); + v18.w = COLOR1.w * 0.0039215688593685626983642578125; + float v19 = COLOR1.y * 0.50359570980072021484375; + float v20 = clamp(v13, 0.0, 1.0); + vec3 v21 = (CB0[10].xyz * v20) + (CB0[12].xyz * clamp(-v13, 0.0, 1.0)); + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = (v20 * CB0[23].w) * (COLOR1.y * exp2((v19 * dot(v11, normalize(v12 + v10))) - v19)); + gl_Position = v15; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v17; + VARYING4 = vec4(v9, v15.w); + VARYING5 = vec4(v11, COLOR1.z); + VARYING6 = v22; + VARYING7 = v18; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultReflectionVS_Level518.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultReflectionVS_Level518.vert new file mode 100644 index 0000000000..27e80f27ad --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultReflectionVS_Level518.vert @@ -0,0 +1,72 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD4; +attribute vec4 TEXCOORD5; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + vec3 v16 = vec3(dot(v7.xyz, v0), dot(v9.xyz, v0), dot(v11.xyz, v0)); + vec3 v17 = CB0[7].xyz - v15; + vec3 v18 = normalize(v17); + vec3 v19 = v16 * ((dot(v16, v18) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v20 = -CB0[11].xyz; + float v21 = dot(v19, v20); + vec4 v22 = vec4(v12, v13, v14, 1.0); + vec4 v23 = v22 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v24 = ((v15 + (v19 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v25 = vec4(v24.x, v24.y, v24.z, vec4(0.0).w); + v25.w = 0.0; + vec4 v26 = vec4(dot(CB0[20], v22), dot(CB0[21], v22), dot(CB0[22], v22), 0.0); + v26.w = COLOR1.w * 0.0039215688593685626983642578125; + float v27 = COLOR1.y * 0.50359570980072021484375; + float v28 = clamp(v21, 0.0, 1.0); + vec3 v29 = (CB0[10].xyz * v28) + (CB0[12].xyz * clamp(-v21, 0.0, 1.0)); + vec4 v30 = vec4(v29.x, v29.y, v29.z, vec4(0.0).w); + v30.w = (v28 * CB0[23].w) * (COLOR1.y * exp2((v27 * dot(v19, normalize(v20 + v18))) - v27)); + gl_Position = v23; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v25; + VARYING4 = vec4(v17, v23.w); + VARYING5 = vec4(v19, COLOR1.z); + VARYING6 = v30; + VARYING7 = v26; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag new file mode 100644 index 0000000000..4d2957bdd2 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag @@ -0,0 +1,89 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; + +void main() +{ + float f0 = length(VARYING4.xyz); + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f2 = texture2D(DiffuseMapTexture, VARYING0); + float f3 = f2.w; + float f4 = fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))); + if (smoothstep(0.0, 1.0, f3) < (f4 + ((fract(CB0[46].z) - f4) * clamp((0.001000000047497451305389404296875 * floor(CB0[46].z)) * VARYING4.w, 0.0, 1.0)))) + { + discard; + } + vec4 f5 = vec4(mix(VARYING2.xyz, f2.xyz, vec3(f3)), VARYING2.w); + vec4 f6 = vec4(f2.xyz, VARYING2.w * f3); + bvec4 f7 = bvec4(CB3[0].x != 0.0); + vec4 f8 = vec4(f7.x ? f5.x : f6.x, f7.y ? f5.y : f6.y, f7.z ? f5.z : f6.z, f7.w ? f5.w : f6.w); + vec2 f9 = texture2D(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f10 = f9 - vec2(1.0); + float f11 = sqrt(clamp(1.0 + dot(vec2(1.0) - f9, f10), 0.0, 1.0)); + vec2 f12 = vec3(f10, f11).xy * f1; + vec4 f13 = texture2D(SpecularMapTexture, VARYING0); + float f14 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f15 = VARYING6.xyz * f14; + vec3 f16 = VARYING5.xyz * f14; + vec3 f17 = normalize(((f15 * f12.x) + ((cross(f16, f15) * VARYING6.w) * f12.y)) + (f16 * f11)); + vec3 f18 = f8.xyz; + vec3 f19 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f20 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f21 = VARYING3.yzx - (VARYING3.yzx * f20); + vec4 f22 = vec4(clamp(f20, 0.0, 1.0)); + vec4 f23 = mix(texture3D(LightMapTexture, f21), vec4(0.0), f22); + vec4 f24 = mix(texture3D(LightGridSkylightTexture, f21), vec4(1.0), f22); + vec4 f25 = texture2D(ShadowMapTexture, f19.xy); + float f26 = f19.z; + vec3 f27 = (f18 * f18).xyz; + float f28 = CB0[26].w * f1; + float f29 = max(f13.y, 0.04500000178813934326171875); + float f30 = f13.x * f28; + vec3 f31 = -CB0[11].xyz; + float f32 = dot(f17, f31) * ((1.0 - ((step(f25.x, f26) * clamp(CB0[24].z + (CB0[24].w * abs(f26 - 0.5)), 0.0, 1.0)) * f25.y)) * f24.y); + vec3 f33 = normalize(f31 + (VARYING4.xyz / vec3(f0))); + float f34 = clamp(f32, 0.0, 1.0); + float f35 = f29 * f29; + float f36 = max(0.001000000047497451305389404296875, dot(f17, f33)); + float f37 = dot(f31, f33); + float f38 = 1.0 - f37; + float f39 = f38 * f38; + float f40 = (f39 * f39) * f38; + vec3 f41 = vec3(f40) + (mix(vec3(0.039999999105930328369140625), f27, vec3(f30)) * (1.0 - f40)); + float f42 = f35 * f35; + float f43 = (((f36 * f42) - f36) * f36) + 1.0; + float f44 = 1.0 - f30; + vec3 f45 = ((((((vec3(f44) - (f41 * (f28 * f44))) * CB0[10].xyz) * f34) + (CB0[12].xyz * (f44 * clamp(-f32, 0.0, 1.0)))) + min((f23.xyz * (f23.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f24.x)), vec3(CB0[16].w))) * f27) + ((f41 * (((f42 + (f42 * f42)) / (((f43 * f43) * ((f37 * 3.0) + 0.5)) * ((f36 * 0.75) + 0.25))) * f34)) * CB0[10].xyz); + float f46 = f8.w; + vec4 f47 = vec4(f45.x, f45.y, f45.z, vec4(0.0).w); + f47.w = f46; + vec3 f48 = sqrt(clamp(mix(CB0[14].xyz, f47.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * f4)); + vec4 f49 = vec4(f48.x, f48.y, f48.z, f47.w); + f49.w = f46; + gl_FragData[0] = f49; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceAppearanceHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceAppearanceHQFS_Level512.frag new file mode 100644 index 0000000000..0a21612b8a --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceAppearanceHQFS_Level512.frag @@ -0,0 +1,84 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; + +void main() +{ + float f0 = length(VARYING4.xyz); + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f2 = texture2D(DiffuseMapTexture, VARYING0); + float f3 = f2.w; + vec4 f4 = vec4(mix(VARYING2.xyz, f2.xyz, vec3(f3)), VARYING2.w); + vec4 f5 = vec4(f2.xyz, VARYING2.w * f3); + bvec4 f6 = bvec4(CB3[0].x != 0.0); + vec4 f7 = vec4(f6.x ? f4.x : f5.x, f6.y ? f4.y : f5.y, f6.z ? f4.z : f5.z, f6.w ? f4.w : f5.w); + vec2 f8 = texture2D(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f9 = f8 - vec2(1.0); + float f10 = sqrt(clamp(1.0 + dot(vec2(1.0) - f8, f9), 0.0, 1.0)); + vec2 f11 = vec3(f9, f10).xy * f1; + vec4 f12 = texture2D(SpecularMapTexture, VARYING0); + float f13 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f14 = VARYING6.xyz * f13; + vec3 f15 = VARYING5.xyz * f13; + vec3 f16 = normalize(((f14 * f11.x) + ((cross(f15, f14) * VARYING6.w) * f11.y)) + (f15 * f10)); + vec3 f17 = f7.xyz; + vec3 f18 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f19 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f20 = VARYING3.yzx - (VARYING3.yzx * f19); + vec4 f21 = vec4(clamp(f19, 0.0, 1.0)); + vec4 f22 = mix(texture3D(LightMapTexture, f20), vec4(0.0), f21); + vec4 f23 = mix(texture3D(LightGridSkylightTexture, f20), vec4(1.0), f21); + vec4 f24 = texture2D(ShadowMapTexture, f18.xy); + float f25 = f18.z; + vec3 f26 = (f17 * f17).xyz; + float f27 = CB0[26].w * f1; + float f28 = max(f12.y, 0.04500000178813934326171875); + float f29 = f12.x * f27; + vec3 f30 = -CB0[11].xyz; + float f31 = dot(f16, f30) * ((1.0 - ((step(f24.x, f25) * clamp(CB0[24].z + (CB0[24].w * abs(f25 - 0.5)), 0.0, 1.0)) * f24.y)) * f23.y); + vec3 f32 = normalize(f30 + (VARYING4.xyz / vec3(f0))); + float f33 = clamp(f31, 0.0, 1.0); + float f34 = f28 * f28; + float f35 = max(0.001000000047497451305389404296875, dot(f16, f32)); + float f36 = dot(f30, f32); + float f37 = 1.0 - f36; + float f38 = f37 * f37; + float f39 = (f38 * f38) * f37; + vec3 f40 = vec3(f39) + (mix(vec3(0.039999999105930328369140625), f26, vec3(f29)) * (1.0 - f39)); + float f41 = f34 * f34; + float f42 = (((f35 * f41) - f35) * f35) + 1.0; + float f43 = 1.0 - f29; + vec3 f44 = ((((((vec3(f43) - (f40 * (f27 * f43))) * CB0[10].xyz) * f33) + (CB0[12].xyz * (f43 * clamp(-f31, 0.0, 1.0)))) + min((f22.xyz * (f22.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f23.x)), vec3(CB0[16].w))) * f26) + ((f40 * (((f41 + (f41 * f41)) / (((f42 * f42) * ((f36 * 3.0) + 0.5)) * ((f35 * 0.75) + 0.25))) * f33)) * CB0[10].xyz); + float f45 = f7.w; + vec4 f46 = vec4(f44.x, f44.y, f44.z, vec4(0.0).w); + f46.w = f45; + vec3 f47 = sqrt(clamp(mix(CB0[14].xyz, f46.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f48 = vec4(f47.x, f47.y, f47.z, f46.w); + f48.w = f45; + gl_FragData[0] = f48; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceHQVS_Level512.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceHQVS_Level512.vert new file mode 100644 index 0000000000..037b11d4fd --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceHQVS_Level512.vert @@ -0,0 +1,49 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD2; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(0.0); + v2.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v3 = vec4(POSITION.xyz, 1.0); + vec4 v4 = v3 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v5 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v6 = vec4(v5.x, v5.y, v5.z, vec4(0.0).w); + v6.w = 0.0; + vec4 v7 = vec4(dot(CB0[20], v3), dot(CB0[21], v3), dot(CB0[22], v3), 0.0); + v7.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v8 = vec4(v0, 0.0); + v8.w = 0.0; + gl_Position = v4; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v6; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v4.w); + VARYING5 = v8; + VARYING6 = vec4(v1.x, v1.y, v1.z, v2.w); + VARYING7 = v7; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceHQVS_Level514.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceHQVS_Level514.vert new file mode 100644 index 0000000000..052f1248ad --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceHQVS_Level514.vert @@ -0,0 +1,61 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD2; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v2 = int(COLOR1.x) * 3; + int v3 = v2 + 1; + int v4 = v2 + 2; + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + float v7 = dot(CB1[v4 * 1 + 0], POSITION); + vec3 v8 = vec3(v5, v6, v7); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + float v11 = dot(CB1[v4 * 1 + 0].xyz, v0); + vec3 v12 = vec3(dot(CB1[v2 * 1 + 0].xyz, v1), dot(CB1[v3 * 1 + 0].xyz, v1), dot(CB1[v4 * 1 + 0].xyz, v1)); + vec4 v13 = vec4(0.0); + v13.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v14 = vec4(v5, v6, v7, 1.0); + vec4 v15 = v14 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v16 = ((v8 + (vec3(v9, v10, v11) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v17 = vec4(v16.x, v16.y, v16.z, vec4(0.0).w); + v17.w = 0.0; + vec4 v18 = vec4(dot(CB0[20], v14), dot(CB0[21], v14), dot(CB0[22], v14), 0.0); + v18.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v19 = vec4(v9, v10, v11, 0.0); + v19.w = 0.0; + gl_Position = v15; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v17; + VARYING4 = vec4(CB0[7].xyz - v8, v15.w); + VARYING5 = v19; + VARYING6 = vec4(v12.x, v12.y, v12.z, v13.w); + VARYING7 = v18; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceHQVS_Level518.vert b/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceHQVS_Level518.vert new file mode 100644 index 0000000000..c5a0c719ca --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultSurfaceHQVS_Level518.vert @@ -0,0 +1,74 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +attribute vec4 POSITION; +attribute vec4 NORMAL; +attribute vec2 TEXCOORD0; +attribute vec2 TEXCOORD1; +attribute vec4 COLOR0; +attribute vec4 COLOR1; +attribute vec4 TEXCOORD4; +attribute vec4 TEXCOORD5; +attribute vec4 TEXCOORD2; +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v3 = ivec4(TEXCOORD4) * ivec4(3); + float v4 = v2.x; + float v5 = v2.y; + float v6 = v2.z; + float v7 = v2.w; + vec4 v8 = (((CB1[v3.x * 1 + 0] * v4) + (CB1[v3.y * 1 + 0] * v5)) + (CB1[v3.z * 1 + 0] * v6)) + (CB1[v3.w * 1 + 0] * v7); + ivec4 v9 = v3 + ivec4(1); + vec4 v10 = (((CB1[v9.x * 1 + 0] * v4) + (CB1[v9.y * 1 + 0] * v5)) + (CB1[v9.z * 1 + 0] * v6)) + (CB1[v9.w * 1 + 0] * v7); + ivec4 v11 = v3 + ivec4(2); + vec4 v12 = (((CB1[v11.x * 1 + 0] * v4) + (CB1[v11.y * 1 + 0] * v5)) + (CB1[v11.z * 1 + 0] * v6)) + (CB1[v11.w * 1 + 0] * v7); + float v13 = dot(v8, POSITION); + float v14 = dot(v10, POSITION); + float v15 = dot(v12, POSITION); + vec3 v16 = vec3(v13, v14, v15); + vec3 v17 = v8.xyz; + float v18 = dot(v17, v0); + vec3 v19 = v10.xyz; + float v20 = dot(v19, v0); + vec3 v21 = v12.xyz; + float v22 = dot(v21, v0); + vec3 v23 = vec3(dot(v17, v1), dot(v19, v1), dot(v21, v1)); + vec4 v24 = vec4(0.0); + v24.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v25 = vec4(v13, v14, v15, 1.0); + vec4 v26 = v25 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v27 = ((v16 + (vec3(v18, v20, v22) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v28 = vec4(v27.x, v27.y, v27.z, vec4(0.0).w); + v28.w = 0.0; + vec4 v29 = vec4(dot(CB0[20], v25), dot(CB0[21], v25), dot(CB0[22], v25), 0.0); + v29.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v30 = vec4(v18, v20, v22, 0.0); + v30.w = 0.0; + gl_Position = v26; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v28; + VARYING4 = vec4(CB0[7].xyz - v16, v26.w); + VARYING5 = v30; + VARYING6 = vec4(v23.x, v23.y, v23.z, v24.w); + VARYING7 = v29; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultTiledHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultTiledHQFS_Level512.frag new file mode 100644 index 0000000000..29782816d9 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultTiledHQFS_Level512.frag @@ -0,0 +1,88 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec2 f1 = VARYING1; + f1.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f3 = VARYING0 * CB2[0].x; + vec4 f4 = texture2D(DiffuseMapTexture, f3); + vec2 f5 = texture2D(NormalMapTexture, f3).wy * 2.0; + vec2 f6 = f5 - vec2(1.0); + float f7 = sqrt(clamp(1.0 + dot(vec2(1.0) - f5, f6), 0.0, 1.0)); + vec2 f8 = (vec3(f6, f7).xy + (vec3((texture2D(NormalDetailMapTexture, f3 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f2; + float f9 = f8.x; + vec4 f10 = texture2D(SpecularMapTexture, f3); + float f11 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f12 = VARYING6.xyz * f11; + vec3 f13 = VARYING5.xyz * f11; + vec3 f14 = normalize(((f12 * f9) + (cross(f13, f12) * f8.y)) + (f13 * f7)); + vec3 f15 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f4.w + CB2[2].w, 0.0, 1.0))) * f4.xyz) * (1.0 + (f9 * CB2[0].z))) * (texture2D(StudsMapTexture, f1).x * 2.0), VARYING2.w).xyz; + vec3 f16 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING3.yzx - (VARYING3.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture3D(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture3D(LightGridSkylightTexture, f18), vec4(1.0), f19); + vec4 f22 = texture2D(ShadowMapTexture, f16.xy); + float f23 = f16.z; + vec3 f24 = (f15 * f15).xyz; + float f25 = CB0[26].w * f2; + float f26 = max(f10.y, 0.04500000178813934326171875); + float f27 = f10.x * f25; + vec3 f28 = -CB0[11].xyz; + float f29 = dot(f14, f28) * ((1.0 - ((step(f22.x, f23) * clamp(CB0[24].z + (CB0[24].w * abs(f23 - 0.5)), 0.0, 1.0)) * f22.y)) * f21.y); + vec3 f30 = normalize(f28 + (VARYING4.xyz / vec3(f0))); + float f31 = clamp(f29, 0.0, 1.0); + float f32 = f26 * f26; + float f33 = max(0.001000000047497451305389404296875, dot(f14, f30)); + float f34 = dot(f28, f30); + float f35 = 1.0 - f34; + float f36 = f35 * f35; + float f37 = (f36 * f36) * f35; + vec3 f38 = vec3(f37) + (mix(vec3(0.039999999105930328369140625), f24, vec3(f27)) * (1.0 - f37)); + float f39 = f32 * f32; + float f40 = (((f33 * f39) - f33) * f33) + 1.0; + float f41 = 1.0 - f27; + vec3 f42 = ((((((vec3(f41) - (f38 * (f25 * f41))) * CB0[10].xyz) * f31) + (CB0[12].xyz * (f41 * clamp(-f29, 0.0, 1.0)))) + min((f20.xyz * (f20.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f21.x)), vec3(CB0[16].w))) * f24) + ((f38 * (((f39 + (f39 * f39)) / (((f40 * f40) * ((f34 * 3.0) + 0.5)) * ((f33 * 0.75) + 0.25))) * f31)) * CB0[10].xyz); + vec4 f43 = vec4(f42.x, f42.y, f42.z, vec4(0.0).w); + f43.w = VARYING2.w; + vec3 f44 = sqrt(clamp(mix(CB0[14].xyz, f43.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f45 = vec4(f44.x, f44.y, f44.z, f43.w); + f45.w = VARYING2.w; + gl_FragData[0] = f45; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultTiledHideAllRepHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultTiledHideAllRepHQFS_Level512.frag new file mode 100644 index 0000000000..8e8ab91e09 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultTiledHideAllRepHQFS_Level512.frag @@ -0,0 +1,88 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec2 f1 = VARYING1; + f1.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f3 = VARYING0 * CB2[0].x; + vec4 f4 = mix(texture2D(DiffuseMapTexture, f3 * CB2[1].y), texture2D(DiffuseMapTexture, f3), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f5 = mix(texture2D(NormalMapTexture, f3 * CB2[1].z), texture2D(NormalMapTexture, f3), vec4(clamp((f2 * CB2[3].y) - (CB2[2].y * CB2[3].y), 0.0, 1.0))).wy * 2.0; + vec2 f6 = f5 - vec2(1.0); + float f7 = sqrt(clamp(1.0 + dot(vec2(1.0) - f5, f6), 0.0, 1.0)); + vec2 f8 = (vec3(f6, f7).xy + (vec3((texture2D(NormalDetailMapTexture, f3 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f2; + float f9 = f8.x; + vec4 f10 = mix(texture2D(SpecularMapTexture, f3 * CB2[1].w), texture2D(SpecularMapTexture, f3), vec4(clamp((f2 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f12 = VARYING6.xyz * f11; + vec3 f13 = VARYING5.xyz * f11; + vec3 f14 = normalize(((f12 * f9) + (cross(f13, f12) * f8.y)) + (f13 * f7)); + vec3 f15 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f4.w + CB2[2].w, 0.0, 1.0))) * f4.xyz) * (1.0 + (f9 * CB2[0].z))) * (texture2D(StudsMapTexture, f1).x * 2.0), VARYING2.w).xyz; + vec3 f16 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING3.yzx - (VARYING3.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture3D(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture3D(LightGridSkylightTexture, f18), vec4(1.0), f19); + vec4 f22 = texture2D(ShadowMapTexture, f16.xy); + float f23 = f16.z; + vec3 f24 = (f15 * f15).xyz; + float f25 = CB0[26].w * f2; + float f26 = max(f10.y, 0.04500000178813934326171875); + float f27 = f10.x * f25; + vec3 f28 = -CB0[11].xyz; + float f29 = dot(f14, f28) * ((1.0 - ((step(f22.x, f23) * clamp(CB0[24].z + (CB0[24].w * abs(f23 - 0.5)), 0.0, 1.0)) * f22.y)) * f21.y); + vec3 f30 = normalize(f28 + (VARYING4.xyz / vec3(f0))); + float f31 = clamp(f29, 0.0, 1.0); + float f32 = f26 * f26; + float f33 = max(0.001000000047497451305389404296875, dot(f14, f30)); + float f34 = dot(f28, f30); + float f35 = 1.0 - f34; + float f36 = f35 * f35; + float f37 = (f36 * f36) * f35; + vec3 f38 = vec3(f37) + (mix(vec3(0.039999999105930328369140625), f24, vec3(f27)) * (1.0 - f37)); + float f39 = f32 * f32; + float f40 = (((f33 * f39) - f33) * f33) + 1.0; + float f41 = 1.0 - f27; + vec3 f42 = ((((((vec3(f41) - (f38 * (f25 * f41))) * CB0[10].xyz) * f31) + (CB0[12].xyz * (f41 * clamp(-f29, 0.0, 1.0)))) + min((f20.xyz * (f20.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f21.x)), vec3(CB0[16].w))) * f24) + ((f38 * (((f39 + (f39 * f39)) / (((f40 * f40) * ((f34 * 3.0) + 0.5)) * ((f33 * 0.75) + 0.25))) * f31)) * CB0[10].xyz); + vec4 f43 = vec4(f42.x, f42.y, f42.z, vec4(0.0).w); + f43.w = VARYING2.w; + vec3 f44 = sqrt(clamp(mix(CB0[14].xyz, f43.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f45 = vec4(f44.x, f44.y, f44.z, f43.w); + f45.w = VARYING2.w; + gl_FragData[0] = f45; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultTiledHideDiffuseRepHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultTiledHideDiffuseRepHQFS_Level512.frag new file mode 100644 index 0000000000..2f75a9818b --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultTiledHideDiffuseRepHQFS_Level512.frag @@ -0,0 +1,88 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec2 f1 = VARYING1; + f1.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f3 = VARYING0 * CB2[0].x; + vec4 f4 = mix(texture2D(DiffuseMapTexture, f3 * CB2[1].y), texture2D(DiffuseMapTexture, f3), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f5 = texture2D(NormalMapTexture, f3).wy * 2.0; + vec2 f6 = f5 - vec2(1.0); + float f7 = sqrt(clamp(1.0 + dot(vec2(1.0) - f5, f6), 0.0, 1.0)); + vec2 f8 = (vec3(f6, f7).xy + (vec3((texture2D(NormalDetailMapTexture, f3 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f2; + float f9 = f8.x; + vec4 f10 = texture2D(SpecularMapTexture, f3); + float f11 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f12 = VARYING6.xyz * f11; + vec3 f13 = VARYING5.xyz * f11; + vec3 f14 = normalize(((f12 * f9) + (cross(f13, f12) * f8.y)) + (f13 * f7)); + vec3 f15 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f4.w + CB2[2].w, 0.0, 1.0))) * f4.xyz) * (1.0 + (f9 * CB2[0].z))) * (texture2D(StudsMapTexture, f1).x * 2.0), VARYING2.w).xyz; + vec3 f16 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING3.yzx - (VARYING3.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture3D(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture3D(LightGridSkylightTexture, f18), vec4(1.0), f19); + vec4 f22 = texture2D(ShadowMapTexture, f16.xy); + float f23 = f16.z; + vec3 f24 = (f15 * f15).xyz; + float f25 = CB0[26].w * f2; + float f26 = max(f10.y, 0.04500000178813934326171875); + float f27 = f10.x * f25; + vec3 f28 = -CB0[11].xyz; + float f29 = dot(f14, f28) * ((1.0 - ((step(f22.x, f23) * clamp(CB0[24].z + (CB0[24].w * abs(f23 - 0.5)), 0.0, 1.0)) * f22.y)) * f21.y); + vec3 f30 = normalize(f28 + (VARYING4.xyz / vec3(f0))); + float f31 = clamp(f29, 0.0, 1.0); + float f32 = f26 * f26; + float f33 = max(0.001000000047497451305389404296875, dot(f14, f30)); + float f34 = dot(f28, f30); + float f35 = 1.0 - f34; + float f36 = f35 * f35; + float f37 = (f36 * f36) * f35; + vec3 f38 = vec3(f37) + (mix(vec3(0.039999999105930328369140625), f24, vec3(f27)) * (1.0 - f37)); + float f39 = f32 * f32; + float f40 = (((f33 * f39) - f33) * f33) + 1.0; + float f41 = 1.0 - f27; + vec3 f42 = ((((((vec3(f41) - (f38 * (f25 * f41))) * CB0[10].xyz) * f31) + (CB0[12].xyz * (f41 * clamp(-f29, 0.0, 1.0)))) + min((f20.xyz * (f20.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f21.x)), vec3(CB0[16].w))) * f24) + ((f38 * (((f39 + (f39 * f39)) / (((f40 * f40) * ((f34 * 3.0) + 0.5)) * ((f33 * 0.75) + 0.25))) * f31)) * CB0[10].xyz); + vec4 f43 = vec4(f42.x, f42.y, f42.z, vec4(0.0).w); + f43.w = VARYING2.w; + vec3 f44 = sqrt(clamp(mix(CB0[14].xyz, f43.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f45 = vec4(f44.x, f44.y, f44.z, f43.w); + f45.w = VARYING2.w; + gl_FragData[0] = f45; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultTransparentHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultTransparentHQFS_Level512.frag new file mode 100644 index 0000000000..f33047958c --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultTransparentHQFS_Level512.frag @@ -0,0 +1,63 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; + +varying vec2 VARYING0; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec4 f1 = texture2D(DiffuseMapTexture, VARYING0) * VARYING2; + vec3 f2 = normalize(VARYING5.xyz) * (gl_FrontFacing ? 1.0 : (-1.0)); + vec3 f3 = f1.xyz; + vec3 f4 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f5 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f6 = VARYING3.yzx - (VARYING3.yzx * f5); + vec4 f7 = vec4(clamp(f5, 0.0, 1.0)); + vec4 f8 = mix(texture3D(LightMapTexture, f6), vec4(0.0), f7); + vec4 f9 = mix(texture3D(LightGridSkylightTexture, f6), vec4(1.0), f7); + vec4 f10 = texture2D(ShadowMapTexture, f4.xy); + float f11 = f4.z; + vec3 f12 = (f3 * f3).xyz; + float f13 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + float f14 = max(VARYING5.w, 0.04500000178813934326171875); + float f15 = VARYING6.w * f13; + vec3 f16 = -CB0[11].xyz; + float f17 = dot(f2, f16) * ((1.0 - ((step(f10.x, f11) * clamp(CB0[24].z + (CB0[24].w * abs(f11 - 0.5)), 0.0, 1.0)) * f10.y)) * f9.y); + vec3 f18 = normalize(f16 + (VARYING4.xyz / vec3(f0))); + float f19 = clamp(f17, 0.0, 1.0); + float f20 = f14 * f14; + float f21 = max(0.001000000047497451305389404296875, dot(f2, f18)); + float f22 = dot(f16, f18); + float f23 = 1.0 - f22; + float f24 = f23 * f23; + float f25 = (f24 * f24) * f23; + vec3 f26 = vec3(f25) + (mix(vec3(0.039999999105930328369140625), f12, vec3(f15)) * (1.0 - f25)); + float f27 = f20 * f20; + float f28 = (((f21 * f27) - f21) * f21) + 1.0; + float f29 = 1.0 - f15; + vec3 f30 = ((((((vec3(f29) - (f26 * (f13 * f29))) * CB0[10].xyz) * f19) + (CB0[12].xyz * (f29 * clamp(-f17, 0.0, 1.0)))) + min((f8.xyz * (f8.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f9.x)), vec3(CB0[16].w))) * f12) + ((f26 * (((f27 + (f27 * f27)) / (((f28 * f28) * ((f22 * 3.0) + 0.5)) * ((f21 * 0.75) + 0.25))) * f19)) * CB0[10].xyz); + float f31 = f1.w; + vec4 f32 = vec4(f30.x, f30.y, f30.z, vec4(0.0).w); + f32.w = f31; + vec3 f33 = sqrt(clamp(mix(CB0[14].xyz, f32.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f34 = vec4(f33.x, f33.y, f33.z, f32.w); + f34.w = f31; + gl_FragData[0] = f34; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl/defaultDoubleSided/DefaultWangHQFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/DefaultWangHQFS_Level512.frag new file mode 100644 index 0000000000..ca4adaf0c0 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/DefaultWangHQFS_Level512.frag @@ -0,0 +1,97 @@ +#version 110 +#extension GL_ARB_shader_texture_lod : require + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D WangTileMapTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +varying vec2 VARYING0; +varying vec2 VARYING1; +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; +varying float VARYING8; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec2 f1 = VARYING1; + f1.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f3 = VARYING0 * CB2[0].x; + vec2 f4 = f3 * 4.0; + vec2 f5 = f4 * 0.25; + vec4 f6 = vec4(dFdx(f5), dFdy(f5)); + vec2 f7 = (texture2D(WangTileMapTexture, f4 * vec2(0.0078125)).zw * 0.99609375) + (fract(f4) * 0.25); + vec2 f8 = f6.xy; + vec2 f9 = f6.zw; + vec4 f10 = texture2DGradARB(DiffuseMapTexture, f7, f8, f9); + vec2 f11 = texture2DGradARB(NormalMapTexture, f7, f8, f9).wy * 2.0; + vec2 f12 = f11 - vec2(1.0); + float f13 = sqrt(clamp(1.0 + dot(vec2(1.0) - f11, f12), 0.0, 1.0)); + vec2 f14 = (vec3(f12, f13).xy + (vec3((texture2D(NormalDetailMapTexture, f3 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f2; + float f15 = f14.x; + vec4 f16 = texture2DGradARB(SpecularMapTexture, f7, f8, f9); + float f17 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f18 = VARYING6.xyz * f17; + vec3 f19 = VARYING5.xyz * f17; + vec3 f20 = normalize(((f18 * f15) + (cross(f19, f18) * f14.y)) + (f19 * f13)); + vec3 f21 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f10.w + CB2[2].w, 0.0, 1.0))) * f10.xyz) * (1.0 + (f15 * CB2[0].z))) * (texture2D(StudsMapTexture, f1).x * 2.0), VARYING2.w).xyz; + vec3 f22 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f23 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f24 = VARYING3.yzx - (VARYING3.yzx * f23); + vec4 f25 = vec4(clamp(f23, 0.0, 1.0)); + vec4 f26 = mix(texture3D(LightMapTexture, f24), vec4(0.0), f25); + vec4 f27 = mix(texture3D(LightGridSkylightTexture, f24), vec4(1.0), f25); + vec4 f28 = texture2D(ShadowMapTexture, f22.xy); + float f29 = f22.z; + vec3 f30 = (f21 * f21).xyz; + float f31 = CB0[26].w * f2; + float f32 = max(f16.y, 0.04500000178813934326171875); + float f33 = f16.x * f31; + vec3 f34 = -CB0[11].xyz; + float f35 = dot(f20, f34) * ((1.0 - ((step(f28.x, f29) * clamp(CB0[24].z + (CB0[24].w * abs(f29 - 0.5)), 0.0, 1.0)) * f28.y)) * f27.y); + vec3 f36 = normalize(f34 + (VARYING4.xyz / vec3(f0))); + float f37 = clamp(f35, 0.0, 1.0); + float f38 = f32 * f32; + float f39 = max(0.001000000047497451305389404296875, dot(f20, f36)); + float f40 = dot(f34, f36); + float f41 = 1.0 - f40; + float f42 = f41 * f41; + float f43 = (f42 * f42) * f41; + vec3 f44 = vec3(f43) + (mix(vec3(0.039999999105930328369140625), f30, vec3(f33)) * (1.0 - f43)); + float f45 = f38 * f38; + float f46 = (((f39 * f45) - f39) * f39) + 1.0; + float f47 = 1.0 - f33; + vec3 f48 = ((((((vec3(f47) - (f44 * (f31 * f47))) * CB0[10].xyz) * f37) + (CB0[12].xyz * (f47 * clamp(-f35, 0.0, 1.0)))) + min((f26.xyz * (f26.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f27.x)), vec3(CB0[16].w))) * f30) + ((f44 * (((f45 + (f45 * f45)) / (((f46 * f46) * ((f40 * 3.0) + 0.5)) * ((f39 * 0.75) + 0.25))) * f37)) * CB0[10].xyz); + vec4 f49 = vec4(f48.x, f48.y, f48.z, vec4(0.0).w); + f49.w = VARYING2.w; + vec3 f50 = sqrt(clamp(mix(CB0[14].xyz, f49.xyz, vec3(clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f51 = vec4(f50.x, f50.y, f50.z, f49.w); + f51.w = VARYING2.w; + gl_FragData[0] = f51; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$WangTileMapTexture=s9 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl/defaultDoubleSided/GridFS_Level512.frag b/shaders/shaders_glsl/defaultDoubleSided/GridFS_Level512.frag new file mode 100644 index 0000000000..082e1161d0 --- /dev/null +++ b/shaders/shaders_glsl/defaultDoubleSided/GridFS_Level512.frag @@ -0,0 +1,69 @@ +#version 110 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform sampler2D DiffuseMapTexture; + +varying vec4 VARYING2; +varying vec4 VARYING3; +varying vec4 VARYING4; +varying vec4 VARYING5; +varying vec4 VARYING6; +varying vec4 VARYING7; + +void main() +{ + vec3 f0 = (CB0[7].xyz - VARYING4.xyz) * CB3[0].x; + vec3 f1 = abs(VARYING5.xyz); + float f2 = f1.x; + float f3 = f1.y; + float f4 = f1.z; + vec2 f5; + if ((f2 >= f3) && (f2 >= f4)) + { + f5 = f0.yz; + } + else + { + vec2 f6; + if ((f3 >= f2) && (f3 >= f4)) + { + f6 = f0.xz; + } + else + { + f6 = f0.xy; + } + f5 = f6; + } + vec4 f7 = texture2D(DiffuseMapTexture, f5) * VARYING2; + vec3 f8 = f7.xyz; + vec3 f9 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f10 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f11 = VARYING3.yzx - (VARYING3.yzx * f10); + vec4 f12 = vec4(clamp(f10, 0.0, 1.0)); + vec4 f13 = mix(texture3D(LightMapTexture, f11), vec4(0.0), f12); + vec4 f14 = mix(texture3D(LightGridSkylightTexture, f11), vec4(1.0), f12); + vec4 f15 = texture2D(ShadowMapTexture, f9.xy); + float f16 = f9.z; + float f17 = (1.0 - ((step(f15.x, f16) * clamp(CB0[24].z + (CB0[24].w * abs(f16 - 0.5)), 0.0, 1.0)) * f15.y)) * f14.y; + vec3 f18 = (((VARYING6.xyz * f17) + min((f13.xyz * (f13.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f14.x)), vec3(CB0[16].w))) * (f8 * f8).xyz) + (CB0[10].xyz * ((VARYING6.w * f17) * 0.100000001490116119384765625)); + float f19 = f7.w; + vec4 f20 = vec4(f18.x, f18.y, f18.z, vec4(0.0).w); + f20.w = f19; + vec3 f21 = sqrt(clamp(mix(CB0[14].xyz, f20.xyz, vec3(clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0))).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f22 = vec4(f21.x, f21.y, f21.z, f20.w); + f22.w = f19; + gl_FragData[0] = f22; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3.csv b/shaders/shaders_glsl3.csv index c3fa0d9c8a..7ff3b633ab 100644 --- a/shaders/shaders_glsl3.csv +++ b/shaders/shaders_glsl3.csv @@ -36,6 +36,9 @@ BokehFarCoCFS,Fragment BokehNearCoCFS,Fragment CheapBokehFS,Fragment CheckerboardDepthFS,Fragment +CloudsCompFS,Fragment +CloudsFS,Fragment +CloudsVS,Vertex CopyGuiVS,Vertex DefaultDepthFS,Fragment DefaultDepthVS_Level0,Vertex @@ -45,6 +48,8 @@ DefaultDepthVS_Level6,Vertex DefaultForceFieldFS,Fragment DefaultForceFieldHQFS_Level0,Fragment DefaultForceFieldHQFS_Level8,Fragment +DefaultForceFieldHQFS_Level512,Fragment +DefaultForceFieldHQFS_Level520,Fragment DefaultForceFieldHQVS_Level0,Vertex DefaultForceFieldHQVS_Level1,Vertex DefaultForceFieldHQVS_Level2,Vertex @@ -53,16 +58,30 @@ DefaultForceFieldHQVS_Level8,Vertex DefaultForceFieldHQVS_Level9,Vertex DefaultForceFieldHQVS_Level10,Vertex DefaultForceFieldHQVS_Level14,Vertex +DefaultForceFieldHQVS_Level512,Vertex +DefaultForceFieldHQVS_Level513,Vertex +DefaultForceFieldHQVS_Level514,Vertex +DefaultForceFieldHQVS_Level518,Vertex +DefaultForceFieldHQVS_Level520,Vertex +DefaultForceFieldHQVS_Level521,Vertex +DefaultForceFieldHQVS_Level522,Vertex +DefaultForceFieldHQVS_Level526,Vertex DefaultForceFieldSHQFS_Level0,Fragment DefaultForceFieldSHQFS_Level8,Fragment +DefaultForceFieldSHQFS_Level512,Fragment +DefaultForceFieldSHQFS_Level520,Fragment DefaultForceFieldVS_Level0,Vertex DefaultForceFieldVS_Level1,Vertex DefaultForceFieldVS_Level2,Vertex DefaultForceFieldVS_Level6,Vertex DefaultGlassHQFS_Level0,Fragment DefaultGlassHQFS_Level8,Fragment +DefaultGlassHQFS_Level512,Fragment +DefaultGlassHQFS_Level520,Fragment DefaultGlassSuperHQFS_Level0,Fragment DefaultGlassSuperHQFS_Level8,Fragment +DefaultGlassSuperHQFS_Level512,Fragment +DefaultGlassSuperHQFS_Level520,Fragment DefaultHQVS_Level0,Vertex DefaultHQVS_Level1,Vertex DefaultHQVS_Level2,Vertex @@ -71,11 +90,21 @@ DefaultHQVS_Level8,Vertex DefaultHQVS_Level9,Vertex DefaultHQVS_Level10,Vertex DefaultHQVS_Level14,Vertex +DefaultHQVS_Level512,Vertex +DefaultHQVS_Level513,Vertex +DefaultHQVS_Level514,Vertex +DefaultHQVS_Level518,Vertex +DefaultHQVS_Level520,Vertex +DefaultHQVS_Level521,Vertex +DefaultHQVS_Level522,Vertex +DefaultHQVS_Level526,Vertex DefaultModelLodFS,Fragment DefaultModelLodVS,Vertex DefaultNeonFS,Fragment DefaultNeonHQFS_Level0,Fragment DefaultNeonHQFS_Level8,Fragment +DefaultNeonHQFS_Level512,Fragment +DefaultNeonHQFS_Level520,Fragment DefaultNeonHQInGuiFS,Fragment DefaultNeonInGuiFS,Fragment DefaultNewShadowFS_Level0,Fragment @@ -93,9 +122,13 @@ DefaultNewShadowVS_Level70,Vertex DefaultOpaqueFS,Fragment DefaultOpaqueHQFS_Level0,Fragment DefaultOpaqueHQFS_Level8,Fragment +DefaultOpaqueHQFS_Level512,Fragment +DefaultOpaqueHQFS_Level520,Fragment DefaultPlasticFS,Fragment DefaultPlasticHQFS_Level0,Fragment DefaultPlasticHQFS_Level8,Fragment +DefaultPlasticHQFS_Level512,Fragment +DefaultPlasticHQFS_Level520,Fragment DefaultPlasticReflectionFS,Fragment DefaultReflectionVS_Level0,Vertex DefaultReflectionVS_Level1,Vertex @@ -105,6 +138,14 @@ DefaultReflectionVS_Level8,Vertex DefaultReflectionVS_Level9,Vertex DefaultReflectionVS_Level10,Vertex DefaultReflectionVS_Level14,Vertex +DefaultReflectionVS_Level512,Vertex +DefaultReflectionVS_Level513,Vertex +DefaultReflectionVS_Level514,Vertex +DefaultReflectionVS_Level518,Vertex +DefaultReflectionVS_Level520,Vertex +DefaultReflectionVS_Level521,Vertex +DefaultReflectionVS_Level522,Vertex +DefaultReflectionVS_Level526,Vertex DefaultShadowFS,Fragment DefaultShadowGeomVS_Level0,Vertex DefaultShadowGeomVS_Level1,Vertex @@ -118,9 +159,13 @@ DefaultSurfaceAppearanceDitheredDepthVS_Level6,Vertex DefaultSurfaceAppearanceDitheredFS,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level0,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level8,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level512,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level520,Fragment DefaultSurfaceAppearanceFS,Fragment DefaultSurfaceAppearanceHQFS_Level0,Fragment DefaultSurfaceAppearanceHQFS_Level8,Fragment +DefaultSurfaceAppearanceHQFS_Level512,Fragment +DefaultSurfaceAppearanceHQFS_Level520,Fragment DefaultSurfaceHQVS_Level0,Vertex DefaultSurfaceHQVS_Level1,Vertex DefaultSurfaceHQVS_Level2,Vertex @@ -129,21 +174,39 @@ DefaultSurfaceHQVS_Level8,Vertex DefaultSurfaceHQVS_Level9,Vertex DefaultSurfaceHQVS_Level10,Vertex DefaultSurfaceHQVS_Level14,Vertex +DefaultSurfaceHQVS_Level512,Vertex +DefaultSurfaceHQVS_Level513,Vertex +DefaultSurfaceHQVS_Level514,Vertex +DefaultSurfaceHQVS_Level518,Vertex +DefaultSurfaceHQVS_Level520,Vertex +DefaultSurfaceHQVS_Level521,Vertex +DefaultSurfaceHQVS_Level522,Vertex +DefaultSurfaceHQVS_Level526,Vertex DefaultTiledHideAllRepHQFS_Level0,Fragment DefaultTiledHideAllRepHQFS_Level8,Fragment +DefaultTiledHideAllRepHQFS_Level512,Fragment +DefaultTiledHideAllRepHQFS_Level520,Fragment DefaultTiledHideDiffuseRepHQFS_Level0,Fragment DefaultTiledHideDiffuseRepHQFS_Level8,Fragment +DefaultTiledHideDiffuseRepHQFS_Level512,Fragment +DefaultTiledHideDiffuseRepHQFS_Level520,Fragment DefaultTiledHQFS_Level0,Fragment DefaultTiledHQFS_Level8,Fragment +DefaultTiledHQFS_Level512,Fragment +DefaultTiledHQFS_Level520,Fragment DefaultTransparentFS,Fragment DefaultTransparentHQFS_Level0,Fragment DefaultTransparentHQFS_Level8,Fragment +DefaultTransparentHQFS_Level512,Fragment +DefaultTransparentHQFS_Level520,Fragment DefaultVS_Level0,Vertex DefaultVS_Level1,Vertex DefaultVS_Level2,Vertex DefaultVS_Level6,Vertex DefaultWangHQFS_Level0,Fragment DefaultWangHQFS_Level8,Fragment +DefaultWangHQFS_Level512,Fragment +DefaultWangHQFS_Level520,Fragment DepthResolveMax2FS,Fragment DepthResolveMax4FS,Fragment DepthResolveMin2FS,Fragment @@ -187,6 +250,8 @@ GrassHQVSShadowed,Vertex GrassVS,Vertex GridFS_Level0,Fragment GridFS_Level8,Fragment +GridFS_Level512,Fragment +GridFS_Level520,Fragment IBLDebugFS,Fragment IBLDebugVS,Vertex ImageProcessAlphaFS,Fragment @@ -290,12 +355,20 @@ SmoothClusterHQFS_Level0,Fragment SmoothClusterHQFS_Level8,Fragment SmoothClusterHQFS_Level256,Fragment SmoothClusterHQFS_Level264,Fragment +SmoothClusterHQFS_Level512,Fragment +SmoothClusterHQFS_Level520,Fragment +SmoothClusterHQFS_Level768,Fragment +SmoothClusterHQFS_Level776,Fragment SmoothClusterHQFSShadowed,Fragment SmoothClusterHQVS,Vertex SmoothClusterHQVS_Level0,Vertex SmoothClusterHQVS_Level8,Vertex SmoothClusterHQVS_Level256,Vertex SmoothClusterHQVS_Level264,Vertex +SmoothClusterHQVS_Level512,Vertex +SmoothClusterHQVS_Level520,Vertex +SmoothClusterHQVS_Level768,Vertex +SmoothClusterHQVS_Level776,Vertex SmoothClusterHQVSShadowed,Vertex SmoothClusterNewShadowFS,Fragment SmoothClusterNewShadowFS_Level0,Fragment @@ -310,11 +383,19 @@ SmoothClusterSuperHQFS_Level0,Fragment SmoothClusterSuperHQFS_Level8,Fragment SmoothClusterSuperHQFS_Level256,Fragment SmoothClusterSuperHQFS_Level264,Fragment +SmoothClusterSuperHQFS_Level512,Fragment +SmoothClusterSuperHQFS_Level520,Fragment +SmoothClusterSuperHQFS_Level768,Fragment +SmoothClusterSuperHQFS_Level776,Fragment SmoothClusterSuperHQFSFlagHeight,Fragment SmoothClusterSuperHQFSFlagHeight_Level0,Fragment SmoothClusterSuperHQFSFlagHeight_Level8,Fragment SmoothClusterSuperHQFSFlagHeight_Level256,Fragment SmoothClusterSuperHQFSFlagHeight_Level264,Fragment +SmoothClusterSuperHQFSFlagHeight_Level512,Fragment +SmoothClusterSuperHQFSFlagHeight_Level520,Fragment +SmoothClusterSuperHQFSFlagHeight_Level768,Fragment +SmoothClusterSuperHQFSFlagHeight_Level776,Fragment SmoothClusterSuperHQFSShadowed,Fragment SmoothClusterSuperHQFSShadowedFlagHeight,Fragment SmoothClusterSuperHQVS,Vertex @@ -322,11 +403,19 @@ SmoothClusterSuperHQVS_Level0,Vertex SmoothClusterSuperHQVS_Level8,Vertex SmoothClusterSuperHQVS_Level256,Vertex SmoothClusterSuperHQVS_Level264,Vertex +SmoothClusterSuperHQVS_Level512,Vertex +SmoothClusterSuperHQVS_Level520,Vertex +SmoothClusterSuperHQVS_Level768,Vertex +SmoothClusterSuperHQVS_Level776,Vertex SmoothClusterSuperHQVSFlagHeight,Vertex SmoothClusterSuperHQVSFlagHeight_Level0,Vertex SmoothClusterSuperHQVSFlagHeight_Level8,Vertex SmoothClusterSuperHQVSFlagHeight_Level256,Vertex SmoothClusterSuperHQVSFlagHeight_Level264,Vertex +SmoothClusterSuperHQVSFlagHeight_Level512,Vertex +SmoothClusterSuperHQVSFlagHeight_Level520,Vertex +SmoothClusterSuperHQVSFlagHeight_Level768,Vertex +SmoothClusterSuperHQVSFlagHeight_Level776,Vertex SmoothClusterSuperHQVSShadowed,Vertex SmoothClusterSuperHQVSShadowedFlagHeight,Vertex SmoothClusterVS,Vertex @@ -336,14 +425,20 @@ SmoothWaterFS,Fragment SmoothWaterHQFS,Fragment SmoothWaterHQFS_Level0,Fragment SmoothWaterHQFS_Level8,Fragment +SmoothWaterHQFS_Level512,Fragment +SmoothWaterHQFS_Level520,Fragment SmoothWaterHQFSShadowed,Fragment SmoothWaterHQVS,Vertex SmoothWaterHQVS_Level0,Vertex SmoothWaterHQVS_Level8,Vertex +SmoothWaterHQVS_Level512,Vertex +SmoothWaterHQVS_Level520,Vertex SmoothWaterHQVSShadowed,Vertex SmoothWaterSuperHQFS,Fragment SmoothWaterSuperHQFS_Level0,Fragment SmoothWaterSuperHQFS_Level8,Fragment +SmoothWaterSuperHQFS_Level512,Fragment +SmoothWaterSuperHQFS_Level520,Fragment SmoothWaterSuperHQFSShadowed,Fragment SmoothWaterVS,Vertex SpecularConvFS,Fragment diff --git a/shaders/shaders_glsl3/CloudsCompFS.frag b/shaders/shaders_glsl3/CloudsCompFS.frag new file mode 100644 index 0000000000..83fd9b0afa --- /dev/null +++ b/shaders/shaders_glsl3/CloudsCompFS.frag @@ -0,0 +1,29 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[1]; +uniform sampler2D CloudsTexture; + +out vec4 _entryPointOutput_color; + +void main() +{ + vec2 f0 = gl_FragCoord.xy * CB2[0].xy; + vec4 f1 = texture(CloudsTexture, f0); + if (!(f1.w >= 0.039999999105930328369140625)) + { + discard; + } + vec4 f2 = vec4(2.0, 2.0, -2.0, 0.0) * CB2[0].xyxy; + vec2 f3 = f2.xy; + vec2 f4 = f2.wy; + vec2 f5 = f2.zy; + vec3 f6 = sqrt(clamp(((((((((((f1 * 4.0) + texture(CloudsTexture, f0 - f3)) + (texture(CloudsTexture, f0 - f4) * 2.0)) + texture(CloudsTexture, f0 - f5)) + (texture(CloudsTexture, f0 + f2.zw) * 2.0)) + (texture(CloudsTexture, f0 + f2.xw) * 2.0)) + texture(CloudsTexture, f0 + f5)) + (texture(CloudsTexture, f0 + f4) * 2.0)) + texture(CloudsTexture, f0 + f3)) * 0.0625).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput_color = vec4(f6.x, f6.y, f6.z, f1.w); + gl_FragDepth = 0.50000011920928955078125; +} + +//$$CloudsTexture=s0 diff --git a/shaders/shaders_glsl3/CloudsFS.frag b/shaders/shaders_glsl3/CloudsFS.frag new file mode 100644 index 0000000000..047ea96710 --- /dev/null +++ b/shaders/shaders_glsl3/CloudsFS.frag @@ -0,0 +1,209 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[1]; +uniform vec4 CB2[3]; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler3D NoiseTexTexture; +uniform sampler3D CloudsDistanceFieldTexture; + +out vec4 _entryPointOutput_color; + +void main() +{ + vec2 f0 = (gl_FragCoord.xy * CB1[0].xy) + CB1[0].zw; + vec3 f1 = normalize(((CB0[4].xyz * f0.x) - (CB0[5].xyz * f0.y)) + CB0[6].xyz); + vec3 f2 = -f1; + float f3 = f2.y; + if (f3 < 0.0) + { + discard; + } + vec3 f4 = CB0[7].xyz * 0.00028000000747852027416229248046875; + vec3 f5 = f4; + f5.y = f4.y + 6371.0; + float f6 = dot(f2, f5); + float f7 = 2.0 * f6; + vec2 f8 = (vec2(f6 * (-2.0)) + sqrt(vec2(f7 * f7) - ((vec2(dot(f5, f5)) - vec2(40615128.0, 40647000.0)) * 4.0))) * 0.5; + float f9 = f8.x; + float f10 = f8.y - f9; + float f11 = dot(CB0[11].xyz, f1); + float f12 = f11 + 0.819406807422637939453125; + vec3 f13 = f2; + f13.y = 0.0375653542578220367431640625 + (0.96243464946746826171875 * f3); + vec3 f14 = f4 + (f13 * f9); + f14.y = 0.0; + float f15 = 0.0625 + (CB2[2].x * 0.5); + float f16 = (f15 * 0.125) * f10; + float f17 = 0.125 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))); + float f18 = f15 * f10; + vec3 f19 = f14 + ((f13 * f18) * f17); + vec3 f20; + vec3 f21; + vec4 f22; + f22 = vec4(0.0); + f21 = f19 + ((CB2[0].xyz * CB2[0].w) * 64.0); + f20 = f19; + float f23; + vec3 f24; + vec3 f25; + bool f26; + bool f27; + float f28; + float f29; + float f30; + vec4 f31; + vec4 f32; + int f33 = 0; + float f34 = 1.0; + float f35 = f9 + (f18 * f17); + bool f36 = false; + for (;;) + { + if (f33 < 8) + { + vec4 f37 = texture(CloudsDistanceFieldTexture, (f21 * vec3(0.03125, 1.0, 0.03125)).xzy); + float f38 = CB2[0].w * 2.0; + vec3 f39 = f20; + f39.x = f20.x + f38; + vec3 f40 = f39 * vec3(0.5, 2.0, 0.5); + vec4 f41 = texture(NoiseTexTexture, fract(f40)); + vec4 f42 = texture(NoiseTexTexture, fract((f40 * mat3(vec3(0.0, 0.800000011920928955078125, 0.60000002384185791015625), vec3(-0.800000011920928955078125, 0.36000001430511474609375, -0.4799999892711639404296875), vec3(-0.60000002384185791015625, -0.4799999892711639404296875, 0.63999998569488525390625))) * 2.019999980926513671875)); + float f43 = 0.03125 + (CB2[2].x * 0.125); + float f44 = f37.x - (f43 * (f41.x + (0.25 * f42.x))); + bool f45 = f44 < CB2[2].x; + if (f45) + { + float f46 = ((2.5 / f10) * (exp2(8.0 * CB2[2].y) - 1.0)) * (CB2[2].x - f44); + vec3 f47 = normalize(-CB0[11].xyz); + float f48; + float f49; + int f50 = 0; + float f51 = 0.0; + for (;;) + { + if (f50 < 7) + { + float f52 = float(f50); + vec3 f53 = (f21 + ((f47 * 2.2857143878936767578125) * fract(52.98291778564453125 * fract(dot(vec2(0.300000011920928955078125) + gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))) + ((f47 * f52) * 2.2857143878936767578125); + float f54 = f53.y; + if ((f54 < 0.0) || (f54 > 1.0)) + { + f48 = f51; + break; + } + vec4 f55 = texture(CloudsDistanceFieldTexture, (f53 * vec3(0.03125, 1.0, 0.03125)).xzy); + vec3 f56 = f53; + f56.x = f53.x + f38; + vec3 f57 = f56 * vec3(0.5, 2.0, 0.5); + vec4 f58 = texture(NoiseTexTexture, fract(f57)); + vec4 f59 = texture(NoiseTexTexture, fract((f57 * mat3(vec3(0.0, 0.800000011920928955078125, 0.60000002384185791015625), vec3(-0.800000011920928955078125, 0.36000001430511474609375, -0.4799999892711639404296875), vec3(-0.60000002384185791015625, -0.4799999892711639404296875, 0.63999998569488525390625))) * 2.019999980926513671875)); + float f60 = f55.x - (f43 * (f58.x + (0.25 * f59.x))); + if (f60 > 0.5) + { + f49 = f51; + int f61 = f50 + 1; + f51 = f49; + f50 = f61; + continue; + } + float f62 = f51 + (0.125 * (1.0 - (2.0 * f60))); + if (f62 >= 1.0) + { + f48 = f62; + break; + } + f49 = f62; + int f61 = f50 + 1; + f51 = f49; + f50 = f61; + continue; + } + else + { + f48 = f51; + break; + } + } + float f63; + if (f48 > 1.0) + { + f63 = 0.0; + } + else + { + float f64 = mix(0.008000000379979610443115234375, 1.0, smoothstep(0.959999978542327880859375, 0.0, 8.0 * f11)); + f63 = (((exp2((-2.2857143878936767578125) * f48) + ((0.5 * f64) * exp2((-0.2285714447498321533203125) * f48))) + ((f64 * 0.4000000059604644775390625) * exp2((-0.0457142852246761322021484375) * f48))) * dot(exp2(vec4(((-93.775177001953125) * f11) + (-79.34822845458984375), ((-83.703338623046875) * f12) * f12, 7.810082912445068359375 * f11, (-4.5521251698654729977988608879969e-12) * f11)), vec4(9.8052332759834825992584228515625e-06, 0.13881979882717132568359375, 0.00205474696122109889984130859375, 0.0260056294500827789306640625))) * mix(0.0500000007450580596923828125 + (1.5 * pow(clamp(f46 * 8.5, 0.0, 1.0), 0.300000011920928955078125 + (5.5 * f21.y))), 1.0, clamp(f48 * 0.100000001490116119384765625, 0.0, 1.0)); + } + vec3 f65 = mix(vec3(0.1500000059604644775390625 + (0.300000011920928955078125 * f21.y)), mix(CB0[26].xyz, CB0[25].xyz, vec3(f21.y)), vec3(clamp(exp2(CB0[11].y * 32.0), 0.0, 1.0))) + ((CB0[10].xyz * f63) * 2.099999904632568359375); + float f66 = exp2((-0.18033687770366668701171875) * f46); + vec3 f67 = f22.xyz + (((f65 - (f65 * f66)) * f34) / vec3(f46)); + vec4 f68 = vec4(f67.x, f67.y, f67.z, f22.w); + float f69 = f34 * f66; + if (f69 < 0.001000000047497451305389404296875) + { + f31 = f68; + f29 = f69; + f28 = f35; + f27 = true; + break; + } + f32 = f68; + f30 = f69; + } + else + { + f32 = f22; + f30 = f34; + } + f26 = f45 ? true : f36; + f23 = f35 + f16; + vec3 f70 = f13 * vec3(f16, 0.125, f16); + f24 = f21 + f70; + f25 = f20 + f70; + if (f24.y >= 1.0) + { + f31 = f32; + f29 = f30; + f28 = f23; + f27 = f26; + break; + } + f22 = f32; + f21 = f24; + f35 = f23; + f34 = f30; + f20 = f25; + f33++; + f36 = f26; + continue; + } + else + { + f31 = f22; + f29 = f34; + f28 = f35; + f27 = f36; + break; + } + } + if (!f27) + { + discard; + } + float f71 = exp2((CB0[13].z * 3.5714285373687744140625) * (f28 * f28)); + vec3 f72 = textureLod(PrefilteredEnvTexture, vec4(f2.x, f3, f2.z, 0.0).xyz, max(CB0[13].y, f71) * 5.0).xyz; + bvec3 f73 = bvec3(CB0[13].w != 0.0); + vec3 f74 = mix(vec3(f73.x ? CB0[14].xyz.x : f72.x, f73.y ? CB0[14].xyz.y : f72.y, f73.z ? CB0[14].xyz.z : f72.z), f31.xyz, vec3(f71)); + vec4 f75 = vec4(f74.x, f74.y, f74.z, f31.w); + f75.w = 1.0 - f29; + _entryPointOutput_color = f75; +} + +//$$PrefilteredEnvTexture=s15 +//$$NoiseTexTexture=s1 +//$$CloudsDistanceFieldTexture=s0 diff --git a/shaders/shaders_glsl3/CloudsVS.vert b/shaders/shaders_glsl3/CloudsVS.vert new file mode 100644 index 0000000000..e8f9676f50 --- /dev/null +++ b/shaders/shaders_glsl3/CloudsVS.vert @@ -0,0 +1,9 @@ +#version 150 + +in vec4 POSITION; + +void main() +{ + gl_Position = POSITION; +} + diff --git a/shaders/shaders_glsl3/DefaultForceFieldHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultForceFieldHQFS_Level512.frag new file mode 100644 index 0000000000..5f6fc18a70 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldHQFS_Level512.frag @@ -0,0 +1,39 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING4; +in vec4 VARYING5; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec4 f1 = texture(DiffuseMapTexture, VARYING0); + float f2 = f1.x; + float f3 = (f2 > 0.0) ? ((1.0 - clamp(abs(f2 - CB0[14].w) * 13.0, 0.0, 1.0)) * f1.w) : 0.0; + float f4 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f0))) * 2.0, 0.0, 1.0), 0.0), f3); + float f5 = VARYING2.w * max(mix(f3, 1.0, f4) * f4, VARYING1.x); + vec4 f6 = vec4(VARYING2.xyz * VARYING2.xyz, f5); + float f7 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f8 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f7) * 5.0).xyz; + bvec3 f9 = bvec3(CB0[13].w != 0.0); + vec3 f10 = mix(vec3(f9.x ? CB0[14].xyz.x : f8.x, f9.y ? CB0[14].xyz.y : f8.y, f9.z ? CB0[14].xyz.z : f8.z), f6.xyz, vec3(f7)); + float f11 = f7 * f5; + vec4 f12 = vec4(f10.x, f10.y, f10.z, f6.w); + f12.w = f11; + vec3 f13 = sqrt(clamp(f12.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f14 = vec4(f13.x, f13.y, f13.z, f12.w); + f14.w = f11; + _entryPointOutput = f14; +} + +//$$PrefilteredEnvTexture=s15 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/DefaultForceFieldHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultForceFieldHQFS_Level520.frag new file mode 100644 index 0000000000..5f6fc18a70 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldHQFS_Level520.frag @@ -0,0 +1,39 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING4; +in vec4 VARYING5; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec4 f1 = texture(DiffuseMapTexture, VARYING0); + float f2 = f1.x; + float f3 = (f2 > 0.0) ? ((1.0 - clamp(abs(f2 - CB0[14].w) * 13.0, 0.0, 1.0)) * f1.w) : 0.0; + float f4 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f0))) * 2.0, 0.0, 1.0), 0.0), f3); + float f5 = VARYING2.w * max(mix(f3, 1.0, f4) * f4, VARYING1.x); + vec4 f6 = vec4(VARYING2.xyz * VARYING2.xyz, f5); + float f7 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f8 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f7) * 5.0).xyz; + bvec3 f9 = bvec3(CB0[13].w != 0.0); + vec3 f10 = mix(vec3(f9.x ? CB0[14].xyz.x : f8.x, f9.y ? CB0[14].xyz.y : f8.y, f9.z ? CB0[14].xyz.z : f8.z), f6.xyz, vec3(f7)); + float f11 = f7 * f5; + vec4 f12 = vec4(f10.x, f10.y, f10.z, f6.w); + f12.w = f11; + vec3 f13 = sqrt(clamp(f12.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f14 = vec4(f13.x, f13.y, f13.z, f12.w); + f14.w = f11; + _entryPointOutput = f14; +} + +//$$PrefilteredEnvTexture=s15 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level512.vert b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level512.vert new file mode 100644 index 0000000000..a40719f230 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level512.vert @@ -0,0 +1,45 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0); + vec4 v2 = v1 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v3 = TEXCOORD1; + v3.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v4 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, vec4(0.0).w); + v5.w = 0.0; + vec4 v6 = vec4(dot(CB0[20], v1), dot(CB0[21], v1), dot(CB0[22], v1), 0.0); + v6.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v7 = vec4(v0, 0.0); + v7.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v2; + VARYING0 = TEXCOORD0; + VARYING1 = v3; + VARYING2 = COLOR0; + VARYING3 = v5; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v2.w); + VARYING5 = v7; + VARYING6 = v6; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level513.vert b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level513.vert new file mode 100644 index 0000000000..01049530f8 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level513.vert @@ -0,0 +1,72 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + int v2 = int(NORMAL.w); + vec4 v3 = COLOR0 * 0.0039215688593685626983642578125; + float v4 = float(CB1[gl_InstanceID * 7 + 3].w > 0.0); + vec3 v5 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v6 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v7 = vec4(v6.x, v6.y, v6.z, POSITION.w); + float v8 = dot(CB1[gl_InstanceID * 7 + 0], v7); + float v9 = dot(CB1[gl_InstanceID * 7 + 1], v7); + float v10 = dot(CB1[gl_InstanceID * 7 + 2], v7); + vec3 v11 = vec3(v8, v9, v10); + float v12 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v5); + float v13 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v5); + float v14 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v5); + vec2 v15 = vec2(0.0); + v15.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v17 = v16; + v17.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v18 = v17; + v18.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec3 v19 = CB1[gl_InstanceID * 7 + 4].xyz * mix(v3.xyz, vec3(1.0), vec3(v4)); + vec4 v20 = vec4(v19.x, v19.y, v19.z, v3.w); + v20.w = CB1[gl_InstanceID * 7 + 4].w; + vec4 v21 = vec4(v8, v9, v10, 1.0); + vec4 v22 = v21 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v23 = TEXCOORD0.zw * v18; + v23.x = max(0.0500000007450580596923828125, mix(1.0 - v3.w, 0.0, v4)); + vec3 v24 = ((v11 + (vec3(v12, v13, v14) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v25 = vec4(v24.x, v24.y, v24.z, vec4(0.0).w); + v25.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v26 = vec4(dot(CB0[20], v21), dot(CB0[21], v21), dot(CB0[22], v21), 0.0); + v26.w = CB1[gl_InstanceID * 7 + 6].w; + vec4 v27 = vec4(v12, v13, v14, 0.0); + v27.w = inversesqrt(0.1745329201221466064453125 * CB1[gl_InstanceID * 7 + 6].z); + gl_Position = v22; + VARYING0 = (TEXCOORD0.xy * v16) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = v23; + VARYING2 = v20; + VARYING3 = v25; + VARYING4 = vec4(CB0[7].xyz - v11, v22.w); + VARYING5 = v27; + VARYING6 = v26; + VARYING7 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level514.vert b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level514.vert new file mode 100644 index 0000000000..9955f00104 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level514.vert @@ -0,0 +1,56 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0); + vec4 v12 = v11 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v13 = TEXCOORD1; + v13.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v14 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v15 = vec4(v14.x, v14.y, v14.z, vec4(0.0).w); + v15.w = 0.0; + vec4 v16 = vec4(dot(CB0[20], v11), dot(CB0[21], v11), dot(CB0[22], v11), 0.0); + v16.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v17 = vec4(v8, v9, v10, 0.0); + v17.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v12; + VARYING0 = TEXCOORD0; + VARYING1 = v13; + VARYING2 = COLOR0; + VARYING3 = v15; + VARYING4 = vec4(CB0[7].xyz - v7, v12.w); + VARYING5 = v17; + VARYING6 = v16; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level518.vert b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level518.vert new file mode 100644 index 0000000000..3ec3b2fdc1 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level518.vert @@ -0,0 +1,66 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0); + vec4 v20 = v19 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v21 = TEXCOORD1; + v21.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v22 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v23 = vec4(v22.x, v22.y, v22.z, vec4(0.0).w); + v23.w = 0.0; + vec4 v24 = vec4(dot(CB0[20], v19), dot(CB0[21], v19), dot(CB0[22], v19), 0.0); + v24.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v25 = vec4(v16, v17, v18, 0.0); + v25.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v20; + VARYING0 = TEXCOORD0; + VARYING1 = v21; + VARYING2 = COLOR0; + VARYING3 = v23; + VARYING4 = vec4(CB0[7].xyz - v15, v20.w); + VARYING5 = v25; + VARYING6 = v24; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level520.vert b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level520.vert new file mode 100644 index 0000000000..90f7f72488 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level520.vert @@ -0,0 +1,44 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v2 = TEXCOORD1; + v2.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v3 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v4 = vec4(v3.x, v3.y, v3.z, vec4(0.0).w); + v4.w = 0.0; + vec4 v5 = vec4(POSITION.xyz, 0.0); + v5.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v6 = vec4(v0, 0.0); + v6.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v1; + VARYING0 = TEXCOORD0; + VARYING1 = v2; + VARYING2 = COLOR0; + VARYING3 = v4; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v1.w); + VARYING5 = v6; + VARYING6 = v5; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level521.vert b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level521.vert new file mode 100644 index 0000000000..0869e36389 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level521.vert @@ -0,0 +1,71 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + int v2 = int(NORMAL.w); + vec4 v3 = COLOR0 * 0.0039215688593685626983642578125; + float v4 = float(CB1[gl_InstanceID * 7 + 3].w > 0.0); + vec3 v5 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v6 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v7 = vec4(v6.x, v6.y, v6.z, POSITION.w); + float v8 = dot(CB1[gl_InstanceID * 7 + 0], v7); + float v9 = dot(CB1[gl_InstanceID * 7 + 1], v7); + float v10 = dot(CB1[gl_InstanceID * 7 + 2], v7); + vec3 v11 = vec3(v8, v9, v10); + float v12 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v5); + float v13 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v5); + float v14 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v5); + vec2 v15 = vec2(0.0); + v15.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v17 = v16; + v17.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v18 = v17; + v18.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec3 v19 = CB1[gl_InstanceID * 7 + 4].xyz * mix(v3.xyz, vec3(1.0), vec3(v4)); + vec4 v20 = vec4(v19.x, v19.y, v19.z, v3.w); + v20.w = CB1[gl_InstanceID * 7 + 4].w; + vec4 v21 = vec4(v8, v9, v10, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v22 = TEXCOORD0.zw * v18; + v22.x = max(0.0500000007450580596923828125, mix(1.0 - v3.w, 0.0, v4)); + vec3 v23 = ((v11 + (vec3(v12, v13, v14) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v24 = vec4(v23.x, v23.y, v23.z, vec4(0.0).w); + v24.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v25 = vec4(v8, v9, v10, 0.0); + v25.w = CB1[gl_InstanceID * 7 + 6].w; + vec4 v26 = vec4(v12, v13, v14, 0.0); + v26.w = inversesqrt(0.1745329201221466064453125 * CB1[gl_InstanceID * 7 + 6].z); + gl_Position = v21; + VARYING0 = (TEXCOORD0.xy * v16) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = v22; + VARYING2 = v20; + VARYING3 = v24; + VARYING4 = vec4(CB0[7].xyz - v11, v21.w); + VARYING5 = v26; + VARYING6 = v25; + VARYING7 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level522.vert b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level522.vert new file mode 100644 index 0000000000..0f12758a0f --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level522.vert @@ -0,0 +1,55 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v12 = TEXCOORD1; + v12.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v13 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v14 = vec4(v13.x, v13.y, v13.z, vec4(0.0).w); + v14.w = 0.0; + vec4 v15 = vec4(v4, v5, v6, 0.0); + v15.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v16 = vec4(v8, v9, v10, 0.0); + v16.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v11; + VARYING0 = TEXCOORD0; + VARYING1 = v12; + VARYING2 = COLOR0; + VARYING3 = v14; + VARYING4 = vec4(CB0[7].xyz - v7, v11.w); + VARYING5 = v16; + VARYING6 = v15; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level526.vert b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level526.vert new file mode 100644 index 0000000000..393524e2ba --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldHQVS_Level526.vert @@ -0,0 +1,65 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v20 = TEXCOORD1; + v20.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v21 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = 0.0; + vec4 v23 = vec4(v12, v13, v14, 0.0); + v23.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v24 = vec4(v16, v17, v18, 0.0); + v24.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v19; + VARYING0 = TEXCOORD0; + VARYING1 = v20; + VARYING2 = COLOR0; + VARYING3 = v22; + VARYING4 = vec4(CB0[7].xyz - v15, v19.w); + VARYING5 = v24; + VARYING6 = v23; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultForceFieldSHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultForceFieldSHQFS_Level512.frag new file mode 100644 index 0000000000..32017f3f04 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldSHQFS_Level512.frag @@ -0,0 +1,44 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING4; +in vec4 VARYING5; +out vec4 _entryPointOutput; + +void main() +{ + vec4 f0 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + float f1 = f0.w; + float f2 = texture(GBufferDepthTexture, ((f0.xy * 0.5) + vec2(0.5 * f1)).xy / vec2(f1)).x * 500.0; + float f3 = length(VARYING4.xyz); + vec4 f4 = texture(DiffuseMapTexture, VARYING0); + float f5 = f4.x; + float f6 = (f5 > 0.0) ? ((1.0 - clamp(abs(f5 - CB0[14].w) * 13.0, 0.0, 1.0)) * f4.w) : 0.0; + float f7 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f3))) * 2.0, 0.0, 1.0), (f2 > 499.0) ? 0.0 : (1.0 - clamp((f2 - f1) * 3.0, 0.0, 1.0))), f6); + float f8 = VARYING2.w * max(mix(f6, 1.0, f7) * f7, VARYING1.x); + vec4 f9 = vec4(VARYING2.xyz * VARYING2.xyz, f8); + float f10 = clamp(exp2((CB0[13].z * f3) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f11 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f10) * 5.0).xyz; + bvec3 f12 = bvec3(CB0[13].w != 0.0); + vec3 f13 = mix(vec3(f12.x ? CB0[14].xyz.x : f11.x, f12.y ? CB0[14].xyz.y : f11.y, f12.z ? CB0[14].xyz.z : f11.z), f9.xyz, vec3(f10)); + float f14 = f10 * f8; + vec4 f15 = vec4(f13.x, f13.y, f13.z, f9.w); + f15.w = f14; + vec3 f16 = sqrt(clamp(f15.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f17 = vec4(f16.x, f16.y, f16.z, f15.w); + f17.w = f14; + _entryPointOutput = f17; +} + +//$$PrefilteredEnvTexture=s15 +//$$GBufferDepthTexture=s10 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/DefaultForceFieldSHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultForceFieldSHQFS_Level520.frag new file mode 100644 index 0000000000..32017f3f04 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultForceFieldSHQFS_Level520.frag @@ -0,0 +1,44 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING4; +in vec4 VARYING5; +out vec4 _entryPointOutput; + +void main() +{ + vec4 f0 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + float f1 = f0.w; + float f2 = texture(GBufferDepthTexture, ((f0.xy * 0.5) + vec2(0.5 * f1)).xy / vec2(f1)).x * 500.0; + float f3 = length(VARYING4.xyz); + vec4 f4 = texture(DiffuseMapTexture, VARYING0); + float f5 = f4.x; + float f6 = (f5 > 0.0) ? ((1.0 - clamp(abs(f5 - CB0[14].w) * 13.0, 0.0, 1.0)) * f4.w) : 0.0; + float f7 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f3))) * 2.0, 0.0, 1.0), (f2 > 499.0) ? 0.0 : (1.0 - clamp((f2 - f1) * 3.0, 0.0, 1.0))), f6); + float f8 = VARYING2.w * max(mix(f6, 1.0, f7) * f7, VARYING1.x); + vec4 f9 = vec4(VARYING2.xyz * VARYING2.xyz, f8); + float f10 = clamp(exp2((CB0[13].z * f3) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f11 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f10) * 5.0).xyz; + bvec3 f12 = bvec3(CB0[13].w != 0.0); + vec3 f13 = mix(vec3(f12.x ? CB0[14].xyz.x : f11.x, f12.y ? CB0[14].xyz.y : f11.y, f12.z ? CB0[14].xyz.z : f11.z), f9.xyz, vec3(f10)); + float f14 = f10 * f8; + vec4 f15 = vec4(f13.x, f13.y, f13.z, f9.w); + f15.w = f14; + vec3 f16 = sqrt(clamp(f15.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f17 = vec4(f16.x, f16.y, f16.z, f15.w); + f17.w = f14; + _entryPointOutput = f17; +} + +//$$PrefilteredEnvTexture=s15 +//$$GBufferDepthTexture=s10 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/DefaultGlassHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultGlassHQFS_Level512.frag new file mode 100644 index 0000000000..55c75eb061 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultGlassHQFS_Level512.frag @@ -0,0 +1,123 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture(DiffuseMapTexture, f2); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture(SpecularMapTexture, f2 * CB2[1].w), texture(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + vec3 f14 = normalize(((VARYING6.xyz * f7.x) + (cross(VARYING5.xyz, VARYING6.xyz) * f7.y)) + (VARYING5.xyz * (f6 * 10.0))); + vec3 f15 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f16 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f17 = VARYING3.yzx - (VARYING3.yzx * f16); + vec4 f18 = vec4(clamp(f16, 0.0, 1.0)); + vec4 f19 = mix(texture(LightMapTexture, f17), vec4(0.0), f18); + vec4 f20 = mix(texture(LightGridSkylightTexture, f17), vec4(1.0), f18); + vec3 f21 = (f19.xyz * (f19.w * 120.0)).xyz; + float f22 = f20.x; + vec4 f23 = texture(ShadowMapTexture, f15.xy); + float f24 = f15.z; + vec3 f25 = f9 * f9; + float f26 = length(VARYING4.xyz); + vec3 f27 = VARYING4.xyz / vec3(f26); + vec3 f28 = f25 * f13; + float f29 = CB0[26].w * f1; + float f30 = max(9.9999997473787516355514526367188e-05, dot(f14, f27)); + vec3 f31 = reflect(-f27, f14); + float f32 = f11 * 5.0; + vec3 f33 = vec4(f31, f32).xyz; + vec3 f34 = textureLod(PrefilteredEnvTexture, f33, f32).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f31.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f35 = texture(PrecomputedBRDFTexture, vec2(f11, f30)); + vec3 f36 = -CB0[11].xyz; + float f37 = dot(f14, f36) * ((1.0 - ((step(f23.x, f24) * clamp(CB0[24].z + (CB0[24].w * abs(f24 - 0.5)), 0.0, 1.0)) * f23.y)) * f20.y); + vec3 f38 = normalize(f36 + f27); + float f39 = clamp(f37, 0.0, 1.0); + float f40 = f11 * f11; + float f41 = max(0.001000000047497451305389404296875, dot(f14, f38)); + float f42 = dot(f36, f38); + float f43 = 1.0 - f42; + float f44 = f43 * f43; + float f45 = (f44 * f44) * f43; + vec3 f46 = vec3(f45) + (vec3(0.039999999105930328369140625) * (1.0 - f45)); + float f47 = f40 * f40; + float f48 = (((f41 * f47) - f41) * f41) + 1.0; + vec3 f49 = vec3(f22); + vec3 f50 = mix(f21, f34, f49) * mix(vec3(1.0), f25, vec3(0.5)); + float f51 = f35.x; + float f52 = f35.y; + vec3 f53 = ((vec3(0.039999999105930328369140625) * f51) + vec3(f52)) / vec3(f51 + f52); + vec3 f54 = f53 * f29; + vec3 f55 = f14 * f14; + bvec3 f56 = lessThan(f14, vec3(0.0)); + vec3 f57 = vec3(f56.x ? f55.x : vec3(0.0).x, f56.y ? f55.y : vec3(0.0).y, f56.z ? f55.z : vec3(0.0).z); + vec3 f58 = f55 - f57; + float f59 = f58.x; + float f60 = f58.y; + float f61 = f58.z; + float f62 = f57.x; + float f63 = f57.y; + float f64 = f57.z; + vec3 f65 = ((((((CB0[35].xyz * f59) + (CB0[37].xyz * f60)) + (CB0[39].xyz * f61)) + (CB0[36].xyz * f62)) + (CB0[38].xyz * f63)) + (CB0[40].xyz * f64)) + (((((((CB0[29].xyz * f59) + (CB0[31].xyz * f60)) + (CB0[33].xyz * f61)) + (CB0[30].xyz * f62)) + (CB0[32].xyz * f63)) + (CB0[34].xyz * f64)) * f22); + vec3 f66 = (mix(textureLod(PrefilteredEnvIndoorTexture, f33, f32).xyz, f34, f49) * f53) * f29; + float f67 = 1.0 - f30; + vec4 f68 = mix(vec4(mix((((((((vec3(1.0) - (f46 * f29)) * CB0[10].xyz) * f39) + (CB0[12].xyz * clamp(-f37, 0.0, 1.0))) + ((((vec3(1.0) - f54) * f65) * CB0[25].w) * f13)) + (CB0[27].xyz + (CB0[28].xyz * f22))) * f28) + ((f21 * mix(f28, f66 * (1.0 / (max(max(f65.x, f65.y), f65.z) + 0.00999999977648258209228515625)), f54 * (f29 * (1.0 - f22)))) * f13), f50, vec3(VARYING7.w)) * f13, f13), vec4(f50, 1.0), vec4(((f67 * f67) * 0.800000011920928955078125) * clamp(f12, 0.0, 1.0))) + vec4(((f46 * (((f47 + (f47 * f47)) / (((f48 * f48) * ((f42 * 3.0) + 0.5)) * ((f41 * 0.75) + 0.25))) * f39)) * CB0[10].xyz) + (f66 * f13), 0.0); + float f69 = clamp(exp2((CB0[13].z * f26) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f70 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f69) * 5.0).xyz; + bvec3 f71 = bvec3(CB0[13].w != 0.0); + vec3 f72 = mix(vec3(f71.x ? CB0[14].xyz.x : f70.x, f71.y ? CB0[14].xyz.y : f70.y, f71.z ? CB0[14].xyz.z : f70.z), f68.xyz, vec3(f69)); + vec4 f73 = vec4(f72.x, f72.y, f72.z, f68.w); + f73.w = 1.0 - ((1.0 - f68.w) * f69); + vec3 f74 = sqrt(clamp(f73.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f74.x, f74.y, f74.z, f73.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultGlassHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultGlassHQFS_Level520.frag new file mode 100644 index 0000000000..a51c0208b9 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultGlassHQFS_Level520.frag @@ -0,0 +1,144 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture(DiffuseMapTexture, f2); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture(SpecularMapTexture, f2 * CB2[1].w), texture(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + vec3 f14 = normalize(((VARYING6.xyz * f7.x) + (cross(VARYING5.xyz, VARYING6.xyz) * f7.y)) + (VARYING5.xyz * (f6 * 10.0))); + vec3 f15 = -CB0[11].xyz; + float f16 = dot(f14, f15); + vec3 f17 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f18 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f19 = VARYING3.yzx - (VARYING3.yzx * f18); + vec4 f20 = vec4(clamp(f18, 0.0, 1.0)); + vec4 f21 = mix(texture(LightMapTexture, f19), vec4(0.0), f20); + vec4 f22 = mix(texture(LightGridSkylightTexture, f19), vec4(1.0), f20); + vec3 f23 = (f21.xyz * (f21.w * 120.0)).xyz; + float f24 = f22.x; + float f25 = f22.y; + vec3 f26 = f17 - CB0[41].xyz; + vec3 f27 = f17 - CB0[42].xyz; + vec3 f28 = f17 - CB0[43].xyz; + vec4 f29 = vec4(f17, 1.0) * mat4(CB8[((dot(f26, f26) < CB0[41].w) ? 0 : ((dot(f27, f27) < CB0[42].w) ? 1 : ((dot(f28, f28) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f26, f26) < CB0[41].w) ? 0 : ((dot(f27, f27) < CB0[42].w) ? 1 : ((dot(f28, f28) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f26, f26) < CB0[41].w) ? 0 : ((dot(f27, f27) < CB0[42].w) ? 1 : ((dot(f28, f28) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f26, f26) < CB0[41].w) ? 0 : ((dot(f27, f27) < CB0[42].w) ? 1 : ((dot(f28, f28) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f30 = textureLod(ShadowAtlasTexture, f29.xy, 0.0); + vec2 f31 = vec2(0.0); + f31.x = CB0[45].z; + vec2 f32 = f31; + f32.y = CB0[45].w; + float f33 = (2.0 * f29.z) - 1.0; + float f34 = exp(CB0[45].z * f33); + float f35 = -exp((-CB0[45].w) * f33); + vec2 f36 = (f32 * CB0[46].y) * vec2(f34, f35); + vec2 f37 = f36 * f36; + float f38 = f30.x; + float f39 = max(f30.y - (f38 * f38), f37.x); + float f40 = f34 - f38; + float f41 = f30.z; + float f42 = max(f30.w - (f41 * f41), f37.y); + float f43 = f35 - f41; + vec3 f44 = f9 * f9; + float f45 = length(VARYING4.xyz); + vec3 f46 = VARYING4.xyz / vec3(f45); + vec3 f47 = f44 * f13; + float f48 = CB0[26].w * f1; + float f49 = max(9.9999997473787516355514526367188e-05, dot(f14, f46)); + vec3 f50 = reflect(-f46, f14); + float f51 = f11 * 5.0; + vec3 f52 = vec4(f50, f51).xyz; + vec3 f53 = textureLod(PrefilteredEnvTexture, f52, f51).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f50.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f54 = texture(PrecomputedBRDFTexture, vec2(f11, f49)); + vec3 f55 = normalize(f15 + f46); + float f56 = clamp(f16 * ((f16 > 0.0) ? mix(f25, mix(min((f34 <= f38) ? 1.0 : clamp(((f39 / (f39 + (f40 * f40))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f35 <= f41) ? 1.0 : clamp(((f42 / (f42 + (f43 * f43))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f25, clamp((length(f17 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f57 = f11 * f11; + float f58 = max(0.001000000047497451305389404296875, dot(f14, f55)); + float f59 = dot(f15, f55); + float f60 = 1.0 - f59; + float f61 = f60 * f60; + float f62 = (f61 * f61) * f60; + vec3 f63 = vec3(f62) + (vec3(0.039999999105930328369140625) * (1.0 - f62)); + float f64 = f57 * f57; + float f65 = (((f58 * f64) - f58) * f58) + 1.0; + vec3 f66 = vec3(f24); + vec3 f67 = mix(f23, f53, f66) * mix(vec3(1.0), f44, vec3(0.5)); + float f68 = f54.x; + float f69 = f54.y; + vec3 f70 = ((vec3(0.039999999105930328369140625) * f68) + vec3(f69)) / vec3(f68 + f69); + vec3 f71 = f70 * f48; + vec3 f72 = f14 * f14; + bvec3 f73 = lessThan(f14, vec3(0.0)); + vec3 f74 = vec3(f73.x ? f72.x : vec3(0.0).x, f73.y ? f72.y : vec3(0.0).y, f73.z ? f72.z : vec3(0.0).z); + vec3 f75 = f72 - f74; + float f76 = f75.x; + float f77 = f75.y; + float f78 = f75.z; + float f79 = f74.x; + float f80 = f74.y; + float f81 = f74.z; + vec3 f82 = ((((((CB0[35].xyz * f76) + (CB0[37].xyz * f77)) + (CB0[39].xyz * f78)) + (CB0[36].xyz * f79)) + (CB0[38].xyz * f80)) + (CB0[40].xyz * f81)) + (((((((CB0[29].xyz * f76) + (CB0[31].xyz * f77)) + (CB0[33].xyz * f78)) + (CB0[30].xyz * f79)) + (CB0[32].xyz * f80)) + (CB0[34].xyz * f81)) * f24); + vec3 f83 = (mix(textureLod(PrefilteredEnvIndoorTexture, f52, f51).xyz, f53, f66) * f70) * f48; + float f84 = 1.0 - f49; + vec4 f85 = mix(vec4(mix(((((((vec3(1.0) - (f63 * f48)) * CB0[10].xyz) * f56) + ((((vec3(1.0) - f71) * f82) * CB0[25].w) * f13)) + (CB0[27].xyz + (CB0[28].xyz * f24))) * f47) + ((f23 * mix(f47, f83 * (1.0 / (max(max(f82.x, f82.y), f82.z) + 0.00999999977648258209228515625)), f71 * (f48 * (1.0 - f24)))) * f13), f67, vec3(VARYING7.w)) * f13, f13), vec4(f67, 1.0), vec4(((f84 * f84) * 0.800000011920928955078125) * clamp(f12, 0.0, 1.0))) + vec4(((f63 * (((f64 + (f64 * f64)) / (((f65 * f65) * ((f59 * 3.0) + 0.5)) * ((f58 * 0.75) + 0.25))) * f56)) * CB0[10].xyz) + (f83 * f13), 0.0); + float f86 = clamp(exp2((CB0[13].z * f45) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f87 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f86) * 5.0).xyz; + bvec3 f88 = bvec3(CB0[13].w != 0.0); + vec3 f89 = mix(vec3(f88.x ? CB0[14].xyz.x : f87.x, f88.y ? CB0[14].xyz.y : f87.y, f88.z ? CB0[14].xyz.z : f87.z), f85.xyz, vec3(f86)); + vec4 f90 = vec4(f89.x, f89.y, f89.z, f85.w); + f90.w = 1.0 - ((1.0 - f85.w) * f86); + vec3 f91 = sqrt(clamp(f90.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f91.x, f91.y, f91.z, f90.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultGlassSuperHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultGlassSuperHQFS_Level512.frag new file mode 100644 index 0000000000..5f319a3999 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultGlassSuperHQFS_Level512.frag @@ -0,0 +1,146 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D GBufferColorTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture(DiffuseMapTexture, f2); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture(SpecularMapTexture, f2 * CB2[1].w), texture(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + float f14 = clamp(f12, 0.0, 1.0); + vec3 f15 = normalize(((VARYING6.xyz * f7.x) + (cross(VARYING5.xyz, VARYING6.xyz) * f7.y)) + (VARYING5.xyz * (f6 * 10.0))); + vec3 f16 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING3.yzx - (VARYING3.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture(LightGridSkylightTexture, f18), vec4(1.0), f19); + vec3 f22 = (f20.xyz * (f20.w * 120.0)).xyz; + float f23 = f21.x; + vec4 f24 = texture(ShadowMapTexture, f16.xy); + float f25 = f16.z; + vec3 f26 = f9 * f9; + float f27 = length(VARYING4.xyz); + vec3 f28 = VARYING4.xyz / vec3(f27); + vec3 f29 = f26 * f13; + float f30 = CB0[26].w * f1; + float f31 = max(9.9999997473787516355514526367188e-05, dot(f15, f28)); + vec3 f32 = reflect(-f28, f15); + float f33 = f11 * 5.0; + vec3 f34 = vec4(f32, f33).xyz; + vec3 f35 = textureLod(PrefilteredEnvTexture, f34, f33).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f32.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f36 = texture(PrecomputedBRDFTexture, vec2(f11, f31)); + vec3 f37 = -CB0[11].xyz; + float f38 = dot(f15, f37) * ((1.0 - ((step(f24.x, f25) * clamp(CB0[24].z + (CB0[24].w * abs(f25 - 0.5)), 0.0, 1.0)) * f24.y)) * f21.y); + vec3 f39 = normalize(f37 + f28); + float f40 = clamp(f38, 0.0, 1.0); + float f41 = f11 * f11; + float f42 = max(0.001000000047497451305389404296875, dot(f15, f39)); + float f43 = dot(f37, f39); + float f44 = 1.0 - f43; + float f45 = f44 * f44; + float f46 = (f45 * f45) * f44; + vec3 f47 = vec3(f46) + (vec3(0.039999999105930328369140625) * (1.0 - f46)); + float f48 = f41 * f41; + float f49 = (((f42 * f48) - f42) * f42) + 1.0; + vec3 f50 = vec3(f23); + vec3 f51 = mix(f22, f35, f50) * mix(vec3(1.0), f26, vec3(0.5)); + float f52 = f36.x; + float f53 = f36.y; + vec3 f54 = ((vec3(0.039999999105930328369140625) * f52) + vec3(f53)) / vec3(f52 + f53); + vec3 f55 = f54 * f30; + vec3 f56 = f15 * f15; + bvec3 f57 = lessThan(f15, vec3(0.0)); + vec3 f58 = vec3(f57.x ? f56.x : vec3(0.0).x, f57.y ? f56.y : vec3(0.0).y, f57.z ? f56.z : vec3(0.0).z); + vec3 f59 = f56 - f58; + float f60 = f59.x; + float f61 = f59.y; + float f62 = f59.z; + float f63 = f58.x; + float f64 = f58.y; + float f65 = f58.z; + vec3 f66 = ((((((CB0[35].xyz * f60) + (CB0[37].xyz * f61)) + (CB0[39].xyz * f62)) + (CB0[36].xyz * f63)) + (CB0[38].xyz * f64)) + (CB0[40].xyz * f65)) + (((((((CB0[29].xyz * f60) + (CB0[31].xyz * f61)) + (CB0[33].xyz * f62)) + (CB0[30].xyz * f63)) + (CB0[32].xyz * f64)) + (CB0[34].xyz * f65)) * f23); + vec3 f67 = (mix(textureLod(PrefilteredEnvIndoorTexture, f34, f33).xyz, f35, f50) * f54) * f30; + float f68 = 1.0 - f31; + float f69 = 1.0 - VARYING2.w; + float f70 = mix(0.660000026226043701171875, 1.0, f69 * f69); + mat4 f71 = mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 f72 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * f71; + vec4 f73 = vec4(CB0[7].xyz - ((VARYING4.xyz * (1.0 + ((3.0 * f70) / max(dot(VARYING4.xyz, f15), 0.00999999977648258209228515625)))) + (f15 * (3.0 * (1.0 - f70)))), 1.0) * f71; + float f74 = f72.w; + vec2 f75 = ((f72.xy * 0.5) + vec2(0.5 * f74)).xy / vec2(f74); + float f76 = f73.w; + vec2 f77 = ((f73.xy * 0.5) + vec2(0.5 * f76)).xy / vec2(f76); + vec2 f78 = f77 - vec2(0.5); + vec2 f79 = (f77 - f75) * clamp(vec2(1.0) - ((f78 * f78) * 4.0), vec2(0.0), vec2(1.0)); + vec2 f80 = normalize(f79) * CB0[23].x; + vec4 f81 = texture(GBufferColorTexture, f75 + (f79 * clamp(min(texture(GBufferDepthTexture, f77 + f80).x * 500.0, texture(GBufferDepthTexture, f77 - f80).x * 500.0) - f74, 0.0, 1.0))); + vec3 f82 = f81.xyz; + vec3 f83 = ((f82 * f82) * CB0[15].x).xyz; + vec3 f84 = f83 * mix(vec3(1.0), VARYING2.xyz, vec3(f14)); + vec4 f85 = vec4(f84.x, f84.y, f84.z, vec4(0.0).w); + f85.w = mix(1.0, f81.w, dot(f84.xyz, vec3(1.0)) / (dot(f83, vec3(1.0)) + 0.00999999977648258209228515625)); + vec4 f86 = mix(mix(f85, vec4(mix((((((((vec3(1.0) - (f47 * f30)) * CB0[10].xyz) * f40) + (CB0[12].xyz * clamp(-f38, 0.0, 1.0))) + ((((vec3(1.0) - f55) * f66) * CB0[25].w) * f13)) + (CB0[27].xyz + (CB0[28].xyz * f23))) * f29) + ((f22 * mix(f29, f67 * (1.0 / (max(max(f66.x, f66.y), f66.z) + 0.00999999977648258209228515625)), f55 * (f30 * (1.0 - f23)))) * f13), f51, vec3(VARYING7.w)), 1.0), vec4(f13)), vec4(f51, 1.0), vec4(((f68 * f68) * 0.800000011920928955078125) * f14)) + vec4(((f47 * (((f48 + (f48 * f48)) / (((f49 * f49) * ((f43 * 3.0) + 0.5)) * ((f42 * 0.75) + 0.25))) * f40)) * CB0[10].xyz) + (f67 * f13), 0.0); + float f87 = clamp(exp2((CB0[13].z * f27) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f88 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f87) * 5.0).xyz; + bvec3 f89 = bvec3(CB0[13].w != 0.0); + vec3 f90 = mix(vec3(f89.x ? CB0[14].xyz.x : f88.x, f89.y ? CB0[14].xyz.y : f88.y, f89.z ? CB0[14].xyz.z : f88.z), f86.xyz, vec3(f87)); + vec4 f91 = vec4(f90.x, f90.y, f90.z, f86.w); + f91.w = f87 * f86.w; + vec3 f92 = sqrt(clamp(f91.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f92.x, f92.y, f92.z, f91.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 +//$$GBufferDepthTexture=s10 +//$$GBufferColorTexture=s9 diff --git a/shaders/shaders_glsl3/DefaultGlassSuperHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultGlassSuperHQFS_Level520.frag new file mode 100644 index 0000000000..b1e1d95430 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultGlassSuperHQFS_Level520.frag @@ -0,0 +1,167 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D GBufferColorTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture(DiffuseMapTexture, f2); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture(SpecularMapTexture, f2 * CB2[1].w), texture(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + float f14 = clamp(f12, 0.0, 1.0); + vec3 f15 = normalize(((VARYING6.xyz * f7.x) + (cross(VARYING5.xyz, VARYING6.xyz) * f7.y)) + (VARYING5.xyz * (f6 * 10.0))); + vec3 f16 = -CB0[11].xyz; + float f17 = dot(f15, f16); + vec3 f18 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f19 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f20 = VARYING3.yzx - (VARYING3.yzx * f19); + vec4 f21 = vec4(clamp(f19, 0.0, 1.0)); + vec4 f22 = mix(texture(LightMapTexture, f20), vec4(0.0), f21); + vec4 f23 = mix(texture(LightGridSkylightTexture, f20), vec4(1.0), f21); + vec3 f24 = (f22.xyz * (f22.w * 120.0)).xyz; + float f25 = f23.x; + float f26 = f23.y; + vec3 f27 = f18 - CB0[41].xyz; + vec3 f28 = f18 - CB0[42].xyz; + vec3 f29 = f18 - CB0[43].xyz; + vec4 f30 = vec4(f18, 1.0) * mat4(CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f31 = textureLod(ShadowAtlasTexture, f30.xy, 0.0); + vec2 f32 = vec2(0.0); + f32.x = CB0[45].z; + vec2 f33 = f32; + f33.y = CB0[45].w; + float f34 = (2.0 * f30.z) - 1.0; + float f35 = exp(CB0[45].z * f34); + float f36 = -exp((-CB0[45].w) * f34); + vec2 f37 = (f33 * CB0[46].y) * vec2(f35, f36); + vec2 f38 = f37 * f37; + float f39 = f31.x; + float f40 = max(f31.y - (f39 * f39), f38.x); + float f41 = f35 - f39; + float f42 = f31.z; + float f43 = max(f31.w - (f42 * f42), f38.y); + float f44 = f36 - f42; + vec3 f45 = f9 * f9; + float f46 = length(VARYING4.xyz); + vec3 f47 = VARYING4.xyz / vec3(f46); + vec3 f48 = f45 * f13; + float f49 = CB0[26].w * f1; + float f50 = max(9.9999997473787516355514526367188e-05, dot(f15, f47)); + vec3 f51 = reflect(-f47, f15); + float f52 = f11 * 5.0; + vec3 f53 = vec4(f51, f52).xyz; + vec3 f54 = textureLod(PrefilteredEnvTexture, f53, f52).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f51.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f55 = texture(PrecomputedBRDFTexture, vec2(f11, f50)); + vec3 f56 = normalize(f16 + f47); + float f57 = clamp(f17 * ((f17 > 0.0) ? mix(f26, mix(min((f35 <= f39) ? 1.0 : clamp(((f40 / (f40 + (f41 * f41))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f36 <= f42) ? 1.0 : clamp(((f43 / (f43 + (f44 * f44))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f26, clamp((length(f18 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f58 = f11 * f11; + float f59 = max(0.001000000047497451305389404296875, dot(f15, f56)); + float f60 = dot(f16, f56); + float f61 = 1.0 - f60; + float f62 = f61 * f61; + float f63 = (f62 * f62) * f61; + vec3 f64 = vec3(f63) + (vec3(0.039999999105930328369140625) * (1.0 - f63)); + float f65 = f58 * f58; + float f66 = (((f59 * f65) - f59) * f59) + 1.0; + vec3 f67 = vec3(f25); + vec3 f68 = mix(f24, f54, f67) * mix(vec3(1.0), f45, vec3(0.5)); + float f69 = f55.x; + float f70 = f55.y; + vec3 f71 = ((vec3(0.039999999105930328369140625) * f69) + vec3(f70)) / vec3(f69 + f70); + vec3 f72 = f71 * f49; + vec3 f73 = f15 * f15; + bvec3 f74 = lessThan(f15, vec3(0.0)); + vec3 f75 = vec3(f74.x ? f73.x : vec3(0.0).x, f74.y ? f73.y : vec3(0.0).y, f74.z ? f73.z : vec3(0.0).z); + vec3 f76 = f73 - f75; + float f77 = f76.x; + float f78 = f76.y; + float f79 = f76.z; + float f80 = f75.x; + float f81 = f75.y; + float f82 = f75.z; + vec3 f83 = ((((((CB0[35].xyz * f77) + (CB0[37].xyz * f78)) + (CB0[39].xyz * f79)) + (CB0[36].xyz * f80)) + (CB0[38].xyz * f81)) + (CB0[40].xyz * f82)) + (((((((CB0[29].xyz * f77) + (CB0[31].xyz * f78)) + (CB0[33].xyz * f79)) + (CB0[30].xyz * f80)) + (CB0[32].xyz * f81)) + (CB0[34].xyz * f82)) * f25); + vec3 f84 = (mix(textureLod(PrefilteredEnvIndoorTexture, f53, f52).xyz, f54, f67) * f71) * f49; + float f85 = 1.0 - f50; + float f86 = 1.0 - VARYING2.w; + float f87 = mix(0.660000026226043701171875, 1.0, f86 * f86); + mat4 f88 = mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 f89 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * f88; + vec4 f90 = vec4(CB0[7].xyz - ((VARYING4.xyz * (1.0 + ((3.0 * f87) / max(dot(VARYING4.xyz, f15), 0.00999999977648258209228515625)))) + (f15 * (3.0 * (1.0 - f87)))), 1.0) * f88; + float f91 = f89.w; + vec2 f92 = ((f89.xy * 0.5) + vec2(0.5 * f91)).xy / vec2(f91); + float f93 = f90.w; + vec2 f94 = ((f90.xy * 0.5) + vec2(0.5 * f93)).xy / vec2(f93); + vec2 f95 = f94 - vec2(0.5); + vec2 f96 = (f94 - f92) * clamp(vec2(1.0) - ((f95 * f95) * 4.0), vec2(0.0), vec2(1.0)); + vec2 f97 = normalize(f96) * CB0[23].x; + vec4 f98 = texture(GBufferColorTexture, f92 + (f96 * clamp(min(texture(GBufferDepthTexture, f94 + f97).x * 500.0, texture(GBufferDepthTexture, f94 - f97).x * 500.0) - f91, 0.0, 1.0))); + vec3 f99 = f98.xyz; + vec3 f100 = ((f99 * f99) * CB0[15].x).xyz; + vec3 f101 = f100 * mix(vec3(1.0), VARYING2.xyz, vec3(f14)); + vec4 f102 = vec4(f101.x, f101.y, f101.z, vec4(0.0).w); + f102.w = mix(1.0, f98.w, dot(f101.xyz, vec3(1.0)) / (dot(f100, vec3(1.0)) + 0.00999999977648258209228515625)); + vec4 f103 = mix(mix(f102, vec4(mix(((((((vec3(1.0) - (f64 * f49)) * CB0[10].xyz) * f57) + ((((vec3(1.0) - f72) * f83) * CB0[25].w) * f13)) + (CB0[27].xyz + (CB0[28].xyz * f25))) * f48) + ((f24 * mix(f48, f84 * (1.0 / (max(max(f83.x, f83.y), f83.z) + 0.00999999977648258209228515625)), f72 * (f49 * (1.0 - f25)))) * f13), f68, vec3(VARYING7.w)), 1.0), vec4(f13)), vec4(f68, 1.0), vec4(((f85 * f85) * 0.800000011920928955078125) * f14)) + vec4(((f64 * (((f65 + (f65 * f65)) / (((f66 * f66) * ((f60 * 3.0) + 0.5)) * ((f59 * 0.75) + 0.25))) * f57)) * CB0[10].xyz) + (f84 * f13), 0.0); + float f104 = clamp(exp2((CB0[13].z * f46) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f105 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f104) * 5.0).xyz; + bvec3 f106 = bvec3(CB0[13].w != 0.0); + vec3 f107 = mix(vec3(f106.x ? CB0[14].xyz.x : f105.x, f106.y ? CB0[14].xyz.y : f105.y, f106.z ? CB0[14].xyz.z : f105.z), f103.xyz, vec3(f104)); + vec4 f108 = vec4(f107.x, f107.y, f107.z, f103.w); + f108.w = f104 * f103.w; + vec3 f109 = sqrt(clamp(f108.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f109.x, f109.y, f109.z, f108.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 +//$$GBufferDepthTexture=s10 +//$$GBufferColorTexture=s9 diff --git a/shaders/shaders_glsl3/DefaultHQVS_Level512.vert b/shaders/shaders_glsl3/DefaultHQVS_Level512.vert new file mode 100644 index 0000000000..a3ae1a2711 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultHQVS_Level512.vert @@ -0,0 +1,43 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0); + vec4 v2 = v1 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v3 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v4 = vec4(v3.x, v3.y, v3.z, vec4(0.0).w); + v4.w = 0.0; + vec4 v5 = vec4(dot(CB0[20], v1), dot(CB0[21], v1), dot(CB0[22], v1), 0.0); + v5.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v6 = vec4(v0, 0.0); + v6.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v2; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v4; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v2.w); + VARYING5 = v6; + VARYING6 = v5; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultHQVS_Level513.vert b/shaders/shaders_glsl3/DefaultHQVS_Level513.vert new file mode 100644 index 0000000000..167b6f9a07 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultHQVS_Level513.vert @@ -0,0 +1,65 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + int v2 = int(NORMAL.w); + vec3 v3 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v4 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, POSITION.w); + float v6 = dot(CB1[gl_InstanceID * 7 + 0], v5); + float v7 = dot(CB1[gl_InstanceID * 7 + 1], v5); + float v8 = dot(CB1[gl_InstanceID * 7 + 2], v5); + vec3 v9 = vec3(v6, v7, v8); + float v10 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v3); + float v11 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v3); + float v12 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v3); + vec2 v13 = vec2(0.0); + v13.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v14 = v13; + v14.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v15 = v14; + v15.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec4 v17 = vec4(v6, v7, v8, 1.0); + vec4 v18 = v17 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v19 = ((v9 + (vec3(v10, v11, v12) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v20 = vec4(v19.x, v19.y, v19.z, vec4(0.0).w); + v20.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v21 = vec4(dot(CB0[20], v17), dot(CB0[21], v17), dot(CB0[22], v17), 0.0); + v21.w = CB1[gl_InstanceID * 7 + 6].w; + vec4 v22 = vec4(v10, v11, v12, 0.0); + v22.w = inversesqrt(0.1745329201221466064453125 * CB1[gl_InstanceID * 7 + 6].z); + gl_Position = v18; + VARYING0 = (TEXCOORD0.xy * v14) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v16; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v20; + VARYING4 = vec4(CB0[7].xyz - v9, v18.w); + VARYING5 = v22; + VARYING6 = v21; + VARYING7 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/DefaultHQVS_Level514.vert b/shaders/shaders_glsl3/DefaultHQVS_Level514.vert new file mode 100644 index 0000000000..213416c056 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultHQVS_Level514.vert @@ -0,0 +1,54 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0); + vec4 v12 = v11 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v13 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v14 = vec4(v13.x, v13.y, v13.z, vec4(0.0).w); + v14.w = 0.0; + vec4 v15 = vec4(dot(CB0[20], v11), dot(CB0[21], v11), dot(CB0[22], v11), 0.0); + v15.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v16 = vec4(v8, v9, v10, 0.0); + v16.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v12; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v14; + VARYING4 = vec4(CB0[7].xyz - v7, v12.w); + VARYING5 = v16; + VARYING6 = v15; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultHQVS_Level518.vert b/shaders/shaders_glsl3/DefaultHQVS_Level518.vert new file mode 100644 index 0000000000..c09516948b --- /dev/null +++ b/shaders/shaders_glsl3/DefaultHQVS_Level518.vert @@ -0,0 +1,64 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0); + vec4 v20 = v19 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v21 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = 0.0; + vec4 v23 = vec4(dot(CB0[20], v19), dot(CB0[21], v19), dot(CB0[22], v19), 0.0); + v23.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v24 = vec4(v16, v17, v18, 0.0); + v24.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v20; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v22; + VARYING4 = vec4(CB0[7].xyz - v15, v20.w); + VARYING5 = v24; + VARYING6 = v23; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultHQVS_Level520.vert b/shaders/shaders_glsl3/DefaultHQVS_Level520.vert new file mode 100644 index 0000000000..99ca961167 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultHQVS_Level520.vert @@ -0,0 +1,42 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v2 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v3 = vec4(v2.x, v2.y, v2.z, vec4(0.0).w); + v3.w = 0.0; + vec4 v4 = vec4(POSITION.xyz, 0.0); + v4.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v5 = vec4(v0, 0.0); + v5.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v1; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v3; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v1.w); + VARYING5 = v5; + VARYING6 = v4; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultHQVS_Level521.vert b/shaders/shaders_glsl3/DefaultHQVS_Level521.vert new file mode 100644 index 0000000000..2078f5308d --- /dev/null +++ b/shaders/shaders_glsl3/DefaultHQVS_Level521.vert @@ -0,0 +1,64 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + int v2 = int(NORMAL.w); + vec3 v3 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v4 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, POSITION.w); + float v6 = dot(CB1[gl_InstanceID * 7 + 0], v5); + float v7 = dot(CB1[gl_InstanceID * 7 + 1], v5); + float v8 = dot(CB1[gl_InstanceID * 7 + 2], v5); + vec3 v9 = vec3(v6, v7, v8); + float v10 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v3); + float v11 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v3); + float v12 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v3); + vec2 v13 = vec2(0.0); + v13.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v14 = v13; + v14.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v15 = v14; + v15.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec4 v17 = vec4(v6, v7, v8, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v18 = ((v9 + (vec3(v10, v11, v12) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v19 = vec4(v18.x, v18.y, v18.z, vec4(0.0).w); + v19.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v20 = vec4(v6, v7, v8, 0.0); + v20.w = CB1[gl_InstanceID * 7 + 6].w; + vec4 v21 = vec4(v10, v11, v12, 0.0); + v21.w = inversesqrt(0.1745329201221466064453125 * CB1[gl_InstanceID * 7 + 6].z); + gl_Position = v17; + VARYING0 = (TEXCOORD0.xy * v14) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v16; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v19; + VARYING4 = vec4(CB0[7].xyz - v9, v17.w); + VARYING5 = v21; + VARYING6 = v20; + VARYING7 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/DefaultHQVS_Level522.vert b/shaders/shaders_glsl3/DefaultHQVS_Level522.vert new file mode 100644 index 0000000000..36fc5c4a97 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultHQVS_Level522.vert @@ -0,0 +1,53 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v12 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v13 = vec4(v12.x, v12.y, v12.z, vec4(0.0).w); + v13.w = 0.0; + vec4 v14 = vec4(v4, v5, v6, 0.0); + v14.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v15 = vec4(v8, v9, v10, 0.0); + v15.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v11; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v13; + VARYING4 = vec4(CB0[7].xyz - v7, v11.w); + VARYING5 = v15; + VARYING6 = v14; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultHQVS_Level526.vert b/shaders/shaders_glsl3/DefaultHQVS_Level526.vert new file mode 100644 index 0000000000..8cc6274d5f --- /dev/null +++ b/shaders/shaders_glsl3/DefaultHQVS_Level526.vert @@ -0,0 +1,63 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v20 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v21 = vec4(v20.x, v20.y, v20.z, vec4(0.0).w); + v21.w = 0.0; + vec4 v22 = vec4(v12, v13, v14, 0.0); + v22.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v23 = vec4(v16, v17, v18, 0.0); + v23.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v19; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v21; + VARYING4 = vec4(CB0[7].xyz - v15, v19.w); + VARYING5 = v23; + VARYING6 = v22; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultNeonHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultNeonHQFS_Level512.frag new file mode 100644 index 0000000000..7287bee852 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultNeonHQFS_Level512.frag @@ -0,0 +1,23 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; + +in vec4 VARYING2; +in vec4 VARYING4; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f1 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f0) * 5.0).xyz; + bvec3 f2 = bvec3(CB0[13].w != 0.0); + vec3 f3 = sqrt(clamp(mix(vec3(f2.x ? CB0[14].xyz.x : f1.x, f2.y ? CB0[14].xyz.y : f1.y, f2.z ? CB0[14].xyz.z : f1.z), (pow(VARYING2.xyz * 1.35000002384185791015625, vec3(4.0)) * 4.0).xyz, vec3(f0)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f4 = vec4(f3.x, f3.y, f3.z, vec4(0.0).w); + f4.w = 1.0 - (clamp(f0, 0.0, 1.0) * VARYING2.w); + _entryPointOutput = f4; +} + +//$$PrefilteredEnvTexture=s15 diff --git a/shaders/shaders_glsl3/DefaultNeonHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultNeonHQFS_Level520.frag new file mode 100644 index 0000000000..7287bee852 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultNeonHQFS_Level520.frag @@ -0,0 +1,23 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; + +in vec4 VARYING2; +in vec4 VARYING4; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f1 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f0) * 5.0).xyz; + bvec3 f2 = bvec3(CB0[13].w != 0.0); + vec3 f3 = sqrt(clamp(mix(vec3(f2.x ? CB0[14].xyz.x : f1.x, f2.y ? CB0[14].xyz.y : f1.y, f2.z ? CB0[14].xyz.z : f1.z), (pow(VARYING2.xyz * 1.35000002384185791015625, vec3(4.0)) * 4.0).xyz, vec3(f0)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f4 = vec4(f3.x, f3.y, f3.z, vec4(0.0).w); + f4.w = 1.0 - (clamp(f0, 0.0, 1.0) * VARYING2.w); + _entryPointOutput = f4; +} + +//$$PrefilteredEnvTexture=s15 diff --git a/shaders/shaders_glsl3/DefaultOpaqueHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultOpaqueHQFS_Level512.frag new file mode 100644 index 0000000000..907f8d678d --- /dev/null +++ b/shaders/shaders_glsl3/DefaultOpaqueHQFS_Level512.frag @@ -0,0 +1,96 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec3 f2 = (texture(DiffuseMapTexture, VARYING0) * VARYING2).xyz; + vec3 f3 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f4 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f5 = VARYING3.yzx - (VARYING3.yzx * f4); + vec4 f6 = vec4(clamp(f4, 0.0, 1.0)); + vec4 f7 = mix(texture(LightMapTexture, f5), vec4(0.0), f6); + vec4 f8 = mix(texture(LightGridSkylightTexture, f5), vec4(1.0), f6); + float f9 = f8.x; + vec4 f10 = texture(ShadowMapTexture, f3.xy); + float f11 = f3.z; + vec3 f12 = (f2 * f2).xyz; + float f13 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec3 f14 = normalize(VARYING5.xyz); + float f15 = max(VARYING5.w, 0.04500000178813934326171875); + vec3 f16 = reflect(-f1, f14); + float f17 = f15 * 5.0; + vec3 f18 = vec4(f16, f17).xyz; + vec4 f19 = texture(PrecomputedBRDFTexture, vec2(f15, max(9.9999997473787516355514526367188e-05, dot(f14, f1)))); + float f20 = VARYING6.w * f13; + vec3 f21 = mix(vec3(0.039999999105930328369140625), f12, vec3(f20)); + vec3 f22 = -CB0[11].xyz; + float f23 = dot(f14, f22) * ((1.0 - ((step(f10.x, f11) * clamp(CB0[24].z + (CB0[24].w * abs(f11 - 0.5)), 0.0, 1.0)) * f10.y)) * f8.y); + vec3 f24 = normalize(f22 + f1); + float f25 = clamp(f23, 0.0, 1.0); + float f26 = f15 * f15; + float f27 = max(0.001000000047497451305389404296875, dot(f14, f24)); + float f28 = dot(f22, f24); + float f29 = 1.0 - f28; + float f30 = f29 * f29; + float f31 = (f30 * f30) * f29; + vec3 f32 = vec3(f31) + (f21 * (1.0 - f31)); + float f33 = f26 * f26; + float f34 = (((f27 * f33) - f27) * f27) + 1.0; + float f35 = 1.0 - f20; + float f36 = f13 * f35; + vec3 f37 = vec3(f35); + float f38 = f19.x; + float f39 = f19.y; + vec3 f40 = ((f21 * f38) + vec3(f39)) / vec3(f38 + f39); + vec3 f41 = f37 - (f40 * f36); + vec3 f42 = f14 * f14; + bvec3 f43 = lessThan(f14, vec3(0.0)); + vec3 f44 = vec3(f43.x ? f42.x : vec3(0.0).x, f43.y ? f42.y : vec3(0.0).y, f43.z ? f42.z : vec3(0.0).z); + vec3 f45 = f42 - f44; + float f46 = f45.x; + float f47 = f45.y; + float f48 = f45.z; + float f49 = f44.x; + float f50 = f44.y; + float f51 = f44.z; + vec3 f52 = ((((((CB0[35].xyz * f46) + (CB0[37].xyz * f47)) + (CB0[39].xyz * f48)) + (CB0[36].xyz * f49)) + (CB0[38].xyz * f50)) + (CB0[40].xyz * f51)) + (((((((CB0[29].xyz * f46) + (CB0[31].xyz * f47)) + (CB0[33].xyz * f48)) + (CB0[30].xyz * f49)) + (CB0[32].xyz * f50)) + (CB0[34].xyz * f51)) * f9); + vec3 f53 = (mix(textureLod(PrefilteredEnvIndoorTexture, f18, f17).xyz, textureLod(PrefilteredEnvTexture, f18, f17).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f16.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f9)) * f40) * f13; + vec3 f54 = ((((((((f37 - (f32 * f36)) * CB0[10].xyz) * f25) + (CB0[12].xyz * (f35 * clamp(-f23, 0.0, 1.0)))) + ((f41 * f52) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f9))) * f12) + (((f32 * (((f33 + (f33 * f33)) / (((f34 * f34) * ((f28 * 3.0) + 0.5)) * ((f27 * 0.75) + 0.25))) * f25)) * CB0[10].xyz) + f53)) + ((f7.xyz * (f7.w * 120.0)).xyz * mix(f12, f53 * (1.0 / (max(max(f52.x, f52.y), f52.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f41) * (f13 * (1.0 - f9)))); + vec4 f55 = vec4(f54.x, f54.y, f54.z, vec4(0.0).w); + f55.w = 1.0; + float f56 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f57 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f56) * 5.0).xyz; + bvec3 f58 = bvec3(CB0[13].w != 0.0); + vec3 f59 = sqrt(clamp(mix(vec3(f58.x ? CB0[14].xyz.x : f57.x, f58.y ? CB0[14].xyz.y : f57.y, f58.z ? CB0[14].xyz.z : f57.z), f55.xyz, vec3(f56)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f60 = vec4(f59.x, f59.y, f59.z, f55.w); + f60.w = 1.0; + _entryPointOutput = f60; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/DefaultOpaqueHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultOpaqueHQFS_Level520.frag new file mode 100644 index 0000000000..9125fbfa7c --- /dev/null +++ b/shaders/shaders_glsl3/DefaultOpaqueHQFS_Level520.frag @@ -0,0 +1,117 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec3 f2 = normalize(VARYING5.xyz); + vec3 f3 = -CB0[11].xyz; + float f4 = dot(f2, f3); + vec3 f5 = (texture(DiffuseMapTexture, VARYING0) * VARYING2).xyz; + vec3 f6 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f7 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f8 = VARYING3.yzx - (VARYING3.yzx * f7); + vec4 f9 = vec4(clamp(f7, 0.0, 1.0)); + vec4 f10 = mix(texture(LightMapTexture, f8), vec4(0.0), f9); + vec4 f11 = mix(texture(LightGridSkylightTexture, f8), vec4(1.0), f9); + float f12 = f11.x; + float f13 = f11.y; + vec3 f14 = f6 - CB0[41].xyz; + vec3 f15 = f6 - CB0[42].xyz; + vec3 f16 = f6 - CB0[43].xyz; + vec4 f17 = vec4(f6, 1.0) * mat4(CB8[((dot(f14, f14) < CB0[41].w) ? 0 : ((dot(f15, f15) < CB0[42].w) ? 1 : ((dot(f16, f16) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f14, f14) < CB0[41].w) ? 0 : ((dot(f15, f15) < CB0[42].w) ? 1 : ((dot(f16, f16) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f14, f14) < CB0[41].w) ? 0 : ((dot(f15, f15) < CB0[42].w) ? 1 : ((dot(f16, f16) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f14, f14) < CB0[41].w) ? 0 : ((dot(f15, f15) < CB0[42].w) ? 1 : ((dot(f16, f16) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f18 = textureLod(ShadowAtlasTexture, f17.xy, 0.0); + vec2 f19 = vec2(0.0); + f19.x = CB0[45].z; + vec2 f20 = f19; + f20.y = CB0[45].w; + float f21 = (2.0 * f17.z) - 1.0; + float f22 = exp(CB0[45].z * f21); + float f23 = -exp((-CB0[45].w) * f21); + vec2 f24 = (f20 * CB0[46].y) * vec2(f22, f23); + vec2 f25 = f24 * f24; + float f26 = f18.x; + float f27 = max(f18.y - (f26 * f26), f25.x); + float f28 = f22 - f26; + float f29 = f18.z; + float f30 = max(f18.w - (f29 * f29), f25.y); + float f31 = f23 - f29; + vec3 f32 = (f5 * f5).xyz; + float f33 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + float f34 = max(VARYING5.w, 0.04500000178813934326171875); + vec3 f35 = reflect(-f1, f2); + float f36 = f34 * 5.0; + vec3 f37 = vec4(f35, f36).xyz; + vec4 f38 = texture(PrecomputedBRDFTexture, vec2(f34, max(9.9999997473787516355514526367188e-05, dot(f2, f1)))); + float f39 = VARYING6.w * f33; + vec3 f40 = mix(vec3(0.039999999105930328369140625), f32, vec3(f39)); + vec3 f41 = normalize(f3 + f1); + float f42 = clamp(f4 * ((f4 > 0.0) ? mix(f13, mix(min((f22 <= f26) ? 1.0 : clamp(((f27 / (f27 + (f28 * f28))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f23 <= f29) ? 1.0 : clamp(((f30 / (f30 + (f31 * f31))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f13, clamp((length(f6 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f43 = f34 * f34; + float f44 = max(0.001000000047497451305389404296875, dot(f2, f41)); + float f45 = dot(f3, f41); + float f46 = 1.0 - f45; + float f47 = f46 * f46; + float f48 = (f47 * f47) * f46; + vec3 f49 = vec3(f48) + (f40 * (1.0 - f48)); + float f50 = f43 * f43; + float f51 = (((f44 * f50) - f44) * f44) + 1.0; + float f52 = 1.0 - f39; + float f53 = f33 * f52; + vec3 f54 = vec3(f52); + float f55 = f38.x; + float f56 = f38.y; + vec3 f57 = ((f40 * f55) + vec3(f56)) / vec3(f55 + f56); + vec3 f58 = f54 - (f57 * f53); + vec3 f59 = f2 * f2; + bvec3 f60 = lessThan(f2, vec3(0.0)); + vec3 f61 = vec3(f60.x ? f59.x : vec3(0.0).x, f60.y ? f59.y : vec3(0.0).y, f60.z ? f59.z : vec3(0.0).z); + vec3 f62 = f59 - f61; + float f63 = f62.x; + float f64 = f62.y; + float f65 = f62.z; + float f66 = f61.x; + float f67 = f61.y; + float f68 = f61.z; + vec3 f69 = ((((((CB0[35].xyz * f63) + (CB0[37].xyz * f64)) + (CB0[39].xyz * f65)) + (CB0[36].xyz * f66)) + (CB0[38].xyz * f67)) + (CB0[40].xyz * f68)) + (((((((CB0[29].xyz * f63) + (CB0[31].xyz * f64)) + (CB0[33].xyz * f65)) + (CB0[30].xyz * f66)) + (CB0[32].xyz * f67)) + (CB0[34].xyz * f68)) * f12); + vec3 f70 = (mix(textureLod(PrefilteredEnvIndoorTexture, f37, f36).xyz, textureLod(PrefilteredEnvTexture, f37, f36).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f35.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f12)) * f57) * f33; + vec3 f71 = (((((((f54 - (f49 * f53)) * CB0[10].xyz) * f42) + ((f58 * f69) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f12))) * f32) + (((f49 * (((f50 + (f50 * f50)) / (((f51 * f51) * ((f45 * 3.0) + 0.5)) * ((f44 * 0.75) + 0.25))) * f42)) * CB0[10].xyz) + f70)) + ((f10.xyz * (f10.w * 120.0)).xyz * mix(f32, f70 * (1.0 / (max(max(f69.x, f69.y), f69.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f58) * (f33 * (1.0 - f12)))); + vec4 f72 = vec4(f71.x, f71.y, f71.z, vec4(0.0).w); + f72.w = 1.0; + float f73 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f74 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f73) * 5.0).xyz; + bvec3 f75 = bvec3(CB0[13].w != 0.0); + vec3 f76 = sqrt(clamp(mix(vec3(f75.x ? CB0[14].xyz.x : f74.x, f75.y ? CB0[14].xyz.y : f74.y, f75.z ? CB0[14].xyz.z : f74.z), f72.xyz, vec3(f73)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f77 = vec4(f76.x, f76.y, f76.z, f72.w); + f77.w = 1.0; + _entryPointOutput = f77; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/DefaultPlasticHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultPlasticHQFS_Level512.frag new file mode 100644 index 0000000000..97b51dbbde --- /dev/null +++ b/shaders/shaders_glsl3/DefaultPlasticHQFS_Level512.frag @@ -0,0 +1,108 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = ((vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, VARYING0 * CB2[0].x).wy * 2.0) - vec2(1.0), 0.0).xy * (clamp(VARYING2.w - 0.5, 0.0, 1.0) * clamp(1.0 - (2.0 * VARYING7.w), 0.0, 1.0)))).xy * f3).xy * CB2[3].w; + vec3 f8 = normalize(((VARYING6.xyz * f7.x) + (cross(VARYING5.xyz, VARYING6.xyz) * f7.y)) + (VARYING5.xyz * f6)); + vec3 f9 = vec4(VARYING2.xyz * (texture(DiffuseMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f10 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f11 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f12 = VARYING3.yzx - (VARYING3.yzx * f11); + vec4 f13 = vec4(clamp(f11, 0.0, 1.0)); + vec4 f14 = mix(texture(LightMapTexture, f12), vec4(0.0), f13); + vec4 f15 = mix(texture(LightGridSkylightTexture, f12), vec4(1.0), f13); + float f16 = f15.x; + vec4 f17 = texture(ShadowMapTexture, f10.xy); + float f18 = f10.z; + float f19 = CB0[26].w * f3; + float f20 = max(CB2[0].y, 0.04500000178813934326171875); + vec3 f21 = reflect(-f1, f8); + float f22 = (VARYING7.w != 0.0) ? 0.0 : (f20 * 5.0); + vec3 f23 = vec4(f21, f22).xyz; + vec3 f24 = textureLod(PrefilteredEnvTexture, f23, f22).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f21.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f25 = texture(PrecomputedBRDFTexture, vec2(f20, max(9.9999997473787516355514526367188e-05, dot(f8, f1)))); + vec3 f26 = mix((f9 * f9).xyz, f24, vec3(VARYING7.w)); + vec3 f27 = -CB0[11].xyz; + float f28 = dot(f8, f27) * ((1.0 - ((step(f17.x, f18) * clamp(CB0[24].z + (CB0[24].w * abs(f18 - 0.5)), 0.0, 1.0)) * f17.y)) * f15.y); + vec3 f29 = normalize(f27 + f1); + float f30 = clamp(f28, 0.0, 1.0); + float f31 = f20 * f20; + float f32 = max(0.001000000047497451305389404296875, dot(f8, f29)); + float f33 = dot(f27, f29); + float f34 = 1.0 - f33; + float f35 = f34 * f34; + float f36 = (f35 * f35) * f34; + vec3 f37 = vec3(f36) + (vec3(0.039999999105930328369140625) * (1.0 - f36)); + float f38 = f31 * f31; + float f39 = (((f32 * f38) - f32) * f32) + 1.0; + float f40 = f25.x; + float f41 = f25.y; + vec3 f42 = ((vec3(0.039999999105930328369140625) * f40) + vec3(f41)) / vec3(f40 + f41); + vec3 f43 = f42 * f19; + vec3 f44 = f8 * f8; + bvec3 f45 = lessThan(f8, vec3(0.0)); + vec3 f46 = vec3(f45.x ? f44.x : vec3(0.0).x, f45.y ? f44.y : vec3(0.0).y, f45.z ? f44.z : vec3(0.0).z); + vec3 f47 = f44 - f46; + float f48 = f47.x; + float f49 = f47.y; + float f50 = f47.z; + float f51 = f46.x; + float f52 = f46.y; + float f53 = f46.z; + vec3 f54 = ((((((CB0[35].xyz * f48) + (CB0[37].xyz * f49)) + (CB0[39].xyz * f50)) + (CB0[36].xyz * f51)) + (CB0[38].xyz * f52)) + (CB0[40].xyz * f53)) + (((((((CB0[29].xyz * f48) + (CB0[31].xyz * f49)) + (CB0[33].xyz * f50)) + (CB0[30].xyz * f51)) + (CB0[32].xyz * f52)) + (CB0[34].xyz * f53)) * f16); + vec3 f55 = (mix(textureLod(PrefilteredEnvIndoorTexture, f23, f22).xyz, f24, vec3(f16)) * f42) * f19; + vec3 f56 = ((((((((vec3(1.0) - (f37 * f19)) * CB0[10].xyz) * f30) + (CB0[12].xyz * clamp(-f28, 0.0, 1.0))) + (((vec3(1.0) - f43) * f54) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f16))) * f26) + (((f37 * (((f38 + (f38 * f38)) / (((f39 * f39) * ((f33 * 3.0) + 0.5)) * ((f32 * 0.75) + 0.25))) * f30)) * CB0[10].xyz) + f55)) + ((f14.xyz * (f14.w * 120.0)).xyz * mix(f26, f55 * (1.0 / (max(max(f54.x, f54.y), f54.z) + 0.00999999977648258209228515625)), f43 * (f19 * (1.0 - f16)))); + vec4 f57 = vec4(f56.x, f56.y, f56.z, vec4(0.0).w); + f57.w = VARYING2.w; + float f58 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f59 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f58) * 5.0).xyz; + bvec3 f60 = bvec3(CB0[13].w != 0.0); + vec3 f61 = sqrt(clamp(mix(vec3(f60.x ? CB0[14].xyz.x : f59.x, f60.y ? CB0[14].xyz.y : f59.y, f60.z ? CB0[14].xyz.z : f59.z), f57.xyz, vec3(f58)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f62 = vec4(f61.x, f61.y, f61.z, f57.w); + f62.w = VARYING2.w; + _entryPointOutput = f62; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 diff --git a/shaders/shaders_glsl3/DefaultPlasticHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultPlasticHQFS_Level520.frag new file mode 100644 index 0000000000..ef2e160e94 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultPlasticHQFS_Level520.frag @@ -0,0 +1,129 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = ((vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, VARYING0 * CB2[0].x).wy * 2.0) - vec2(1.0), 0.0).xy * (clamp(VARYING2.w - 0.5, 0.0, 1.0) * clamp(1.0 - (2.0 * VARYING7.w), 0.0, 1.0)))).xy * f3).xy * CB2[3].w; + vec3 f8 = normalize(((VARYING6.xyz * f7.x) + (cross(VARYING5.xyz, VARYING6.xyz) * f7.y)) + (VARYING5.xyz * f6)); + vec3 f9 = -CB0[11].xyz; + float f10 = dot(f8, f9); + vec3 f11 = vec4(VARYING2.xyz * (texture(DiffuseMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f12 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f13 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f14 = VARYING3.yzx - (VARYING3.yzx * f13); + vec4 f15 = vec4(clamp(f13, 0.0, 1.0)); + vec4 f16 = mix(texture(LightMapTexture, f14), vec4(0.0), f15); + vec4 f17 = mix(texture(LightGridSkylightTexture, f14), vec4(1.0), f15); + float f18 = f17.x; + float f19 = f17.y; + vec3 f20 = f12 - CB0[41].xyz; + vec3 f21 = f12 - CB0[42].xyz; + vec3 f22 = f12 - CB0[43].xyz; + vec4 f23 = vec4(f12, 1.0) * mat4(CB8[((dot(f20, f20) < CB0[41].w) ? 0 : ((dot(f21, f21) < CB0[42].w) ? 1 : ((dot(f22, f22) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f20, f20) < CB0[41].w) ? 0 : ((dot(f21, f21) < CB0[42].w) ? 1 : ((dot(f22, f22) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f20, f20) < CB0[41].w) ? 0 : ((dot(f21, f21) < CB0[42].w) ? 1 : ((dot(f22, f22) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f20, f20) < CB0[41].w) ? 0 : ((dot(f21, f21) < CB0[42].w) ? 1 : ((dot(f22, f22) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f24 = textureLod(ShadowAtlasTexture, f23.xy, 0.0); + vec2 f25 = vec2(0.0); + f25.x = CB0[45].z; + vec2 f26 = f25; + f26.y = CB0[45].w; + float f27 = (2.0 * f23.z) - 1.0; + float f28 = exp(CB0[45].z * f27); + float f29 = -exp((-CB0[45].w) * f27); + vec2 f30 = (f26 * CB0[46].y) * vec2(f28, f29); + vec2 f31 = f30 * f30; + float f32 = f24.x; + float f33 = max(f24.y - (f32 * f32), f31.x); + float f34 = f28 - f32; + float f35 = f24.z; + float f36 = max(f24.w - (f35 * f35), f31.y); + float f37 = f29 - f35; + float f38 = CB0[26].w * f3; + float f39 = max(CB2[0].y, 0.04500000178813934326171875); + vec3 f40 = reflect(-f1, f8); + float f41 = (VARYING7.w != 0.0) ? 0.0 : (f39 * 5.0); + vec3 f42 = vec4(f40, f41).xyz; + vec3 f43 = textureLod(PrefilteredEnvTexture, f42, f41).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f40.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f44 = texture(PrecomputedBRDFTexture, vec2(f39, max(9.9999997473787516355514526367188e-05, dot(f8, f1)))); + vec3 f45 = mix((f11 * f11).xyz, f43, vec3(VARYING7.w)); + vec3 f46 = normalize(f9 + f1); + float f47 = clamp(f10 * ((f10 > 0.0) ? mix(f19, mix(min((f28 <= f32) ? 1.0 : clamp(((f33 / (f33 + (f34 * f34))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f29 <= f35) ? 1.0 : clamp(((f36 / (f36 + (f37 * f37))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f19, clamp((length(f12 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f48 = f39 * f39; + float f49 = max(0.001000000047497451305389404296875, dot(f8, f46)); + float f50 = dot(f9, f46); + float f51 = 1.0 - f50; + float f52 = f51 * f51; + float f53 = (f52 * f52) * f51; + vec3 f54 = vec3(f53) + (vec3(0.039999999105930328369140625) * (1.0 - f53)); + float f55 = f48 * f48; + float f56 = (((f49 * f55) - f49) * f49) + 1.0; + float f57 = f44.x; + float f58 = f44.y; + vec3 f59 = ((vec3(0.039999999105930328369140625) * f57) + vec3(f58)) / vec3(f57 + f58); + vec3 f60 = f59 * f38; + vec3 f61 = f8 * f8; + bvec3 f62 = lessThan(f8, vec3(0.0)); + vec3 f63 = vec3(f62.x ? f61.x : vec3(0.0).x, f62.y ? f61.y : vec3(0.0).y, f62.z ? f61.z : vec3(0.0).z); + vec3 f64 = f61 - f63; + float f65 = f64.x; + float f66 = f64.y; + float f67 = f64.z; + float f68 = f63.x; + float f69 = f63.y; + float f70 = f63.z; + vec3 f71 = ((((((CB0[35].xyz * f65) + (CB0[37].xyz * f66)) + (CB0[39].xyz * f67)) + (CB0[36].xyz * f68)) + (CB0[38].xyz * f69)) + (CB0[40].xyz * f70)) + (((((((CB0[29].xyz * f65) + (CB0[31].xyz * f66)) + (CB0[33].xyz * f67)) + (CB0[30].xyz * f68)) + (CB0[32].xyz * f69)) + (CB0[34].xyz * f70)) * f18); + vec3 f72 = (mix(textureLod(PrefilteredEnvIndoorTexture, f42, f41).xyz, f43, vec3(f18)) * f59) * f38; + vec3 f73 = (((((((vec3(1.0) - (f54 * f38)) * CB0[10].xyz) * f47) + (((vec3(1.0) - f60) * f71) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f18))) * f45) + (((f54 * (((f55 + (f55 * f55)) / (((f56 * f56) * ((f50 * 3.0) + 0.5)) * ((f49 * 0.75) + 0.25))) * f47)) * CB0[10].xyz) + f72)) + ((f16.xyz * (f16.w * 120.0)).xyz * mix(f45, f72 * (1.0 / (max(max(f71.x, f71.y), f71.z) + 0.00999999977648258209228515625)), f60 * (f38 * (1.0 - f18)))); + vec4 f74 = vec4(f73.x, f73.y, f73.z, vec4(0.0).w); + f74.w = VARYING2.w; + float f75 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f76 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f75) * 5.0).xyz; + bvec3 f77 = bvec3(CB0[13].w != 0.0); + vec3 f78 = sqrt(clamp(mix(vec3(f77.x ? CB0[14].xyz.x : f76.x, f77.y ? CB0[14].xyz.y : f76.y, f77.z ? CB0[14].xyz.z : f76.z), f74.xyz, vec3(f75)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f79 = vec4(f78.x, f78.y, f78.z, f74.w); + f79.w = VARYING2.w; + _entryPointOutput = f79; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 diff --git a/shaders/shaders_glsl3/DefaultReflectionVS_Level512.vert b/shaders/shaders_glsl3/DefaultReflectionVS_Level512.vert new file mode 100644 index 0000000000..e25272c333 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultReflectionVS_Level512.vert @@ -0,0 +1,51 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = CB0[7].xyz - POSITION.xyz; + vec3 v2 = -CB0[11].xyz; + float v3 = dot(v0, v2); + vec4 v4 = vec4(POSITION.xyz, 1.0); + vec4 v5 = v4 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v6 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v7 = vec4(v6.x, v6.y, v6.z, vec4(0.0).w); + v7.w = 0.0; + vec4 v8 = vec4(dot(CB0[20], v4), dot(CB0[21], v4), dot(CB0[22], v4), 0.0); + v8.w = COLOR1.w * 0.0039215688593685626983642578125; + float v9 = COLOR1.y * 0.50359570980072021484375; + float v10 = clamp(v3, 0.0, 1.0); + vec3 v11 = (CB0[10].xyz * v10) + (CB0[12].xyz * clamp(-v3, 0.0, 1.0)); + vec4 v12 = vec4(v11.x, v11.y, v11.z, vec4(0.0).w); + v12.w = (v10 * CB0[23].w) * (COLOR1.y * exp2((v9 * dot(v0, normalize(v2 + normalize(v1)))) - v9)); + gl_Position = v5; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v7; + VARYING4 = vec4(v1, v5.w); + VARYING5 = vec4(v0, COLOR1.z); + VARYING6 = v12; + VARYING7 = v8; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultReflectionVS_Level513.vert b/shaders/shaders_glsl3/DefaultReflectionVS_Level513.vert new file mode 100644 index 0000000000..3040882aea --- /dev/null +++ b/shaders/shaders_glsl3/DefaultReflectionVS_Level513.vert @@ -0,0 +1,74 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + int v2 = int(NORMAL.w); + vec3 v3 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v4 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, POSITION.w); + float v6 = dot(CB1[gl_InstanceID * 7 + 0], v5); + float v7 = dot(CB1[gl_InstanceID * 7 + 1], v5); + float v8 = dot(CB1[gl_InstanceID * 7 + 2], v5); + vec3 v9 = vec3(v6, v7, v8); + float v10 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v3); + float v11 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v3); + float v12 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v3); + vec3 v13 = vec3(v10, v11, v12); + vec2 v14 = vec2(0.0); + v14.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v15 = v14; + v15.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v16 = v15; + v16.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v17 = v16; + v17.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec3 v18 = CB0[7].xyz - v9; + vec3 v19 = -CB0[11].xyz; + float v20 = dot(v13, v19); + vec4 v21 = vec4(v6, v7, v8, 1.0); + vec4 v22 = v21 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v23 = ((v9 + (v13 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v24 = vec4(v23.x, v23.y, v23.z, vec4(0.0).w); + v24.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v25 = vec4(dot(CB0[20], v21), dot(CB0[21], v21), dot(CB0[22], v21), 0.0); + v25.w = CB1[gl_InstanceID * 7 + 5].w; + float v26 = CB1[gl_InstanceID * 7 + 6].z * 0.50359570980072021484375; + float v27 = clamp(v20, 0.0, 1.0); + vec3 v28 = (CB0[10].xyz * v27) + (CB0[12].xyz * clamp(-v20, 0.0, 1.0)); + vec4 v29 = vec4(v28.x, v28.y, v28.z, vec4(0.0).w); + v29.w = (v27 * CB0[23].w) * (CB1[gl_InstanceID * 7 + 6].z * exp2((v26 * dot(v13, normalize(v19 + normalize(v18)))) - v26)); + gl_Position = v22; + VARYING0 = (TEXCOORD0.xy * v15) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v17; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v24; + VARYING4 = vec4(v18, v22.w); + VARYING5 = vec4(v10, v11, v12, CB1[gl_InstanceID * 7 + 6].w); + VARYING6 = v29; + VARYING7 = v25; + VARYING8 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/DefaultReflectionVS_Level514.vert b/shaders/shaders_glsl3/DefaultReflectionVS_Level514.vert new file mode 100644 index 0000000000..3ffc8a1eec --- /dev/null +++ b/shaders/shaders_glsl3/DefaultReflectionVS_Level514.vert @@ -0,0 +1,63 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec3 v11 = vec3(v8, v9, v10); + vec3 v12 = CB0[7].xyz - v7; + vec3 v13 = -CB0[11].xyz; + float v14 = dot(v11, v13); + vec4 v15 = vec4(v4, v5, v6, 1.0); + vec4 v16 = v15 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v17 = ((v7 + (v11 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v18 = vec4(v17.x, v17.y, v17.z, vec4(0.0).w); + v18.w = 0.0; + vec4 v19 = vec4(dot(CB0[20], v15), dot(CB0[21], v15), dot(CB0[22], v15), 0.0); + v19.w = COLOR1.w * 0.0039215688593685626983642578125; + float v20 = COLOR1.y * 0.50359570980072021484375; + float v21 = clamp(v14, 0.0, 1.0); + vec3 v22 = (CB0[10].xyz * v21) + (CB0[12].xyz * clamp(-v14, 0.0, 1.0)); + vec4 v23 = vec4(v22.x, v22.y, v22.z, vec4(0.0).w); + v23.w = (v21 * CB0[23].w) * (COLOR1.y * exp2((v20 * dot(v11, normalize(v13 + normalize(v12)))) - v20)); + gl_Position = v16; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v18; + VARYING4 = vec4(v12, v16.w); + VARYING5 = vec4(v8, v9, v10, COLOR1.z); + VARYING6 = v23; + VARYING7 = v19; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultReflectionVS_Level518.vert b/shaders/shaders_glsl3/DefaultReflectionVS_Level518.vert new file mode 100644 index 0000000000..f5c912d0eb --- /dev/null +++ b/shaders/shaders_glsl3/DefaultReflectionVS_Level518.vert @@ -0,0 +1,73 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec3 v19 = vec3(v16, v17, v18); + vec3 v20 = CB0[7].xyz - v15; + vec3 v21 = -CB0[11].xyz; + float v22 = dot(v19, v21); + vec4 v23 = vec4(v12, v13, v14, 1.0); + vec4 v24 = v23 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v25 = ((v15 + (v19 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v26 = vec4(v25.x, v25.y, v25.z, vec4(0.0).w); + v26.w = 0.0; + vec4 v27 = vec4(dot(CB0[20], v23), dot(CB0[21], v23), dot(CB0[22], v23), 0.0); + v27.w = COLOR1.w * 0.0039215688593685626983642578125; + float v28 = COLOR1.y * 0.50359570980072021484375; + float v29 = clamp(v22, 0.0, 1.0); + vec3 v30 = (CB0[10].xyz * v29) + (CB0[12].xyz * clamp(-v22, 0.0, 1.0)); + vec4 v31 = vec4(v30.x, v30.y, v30.z, vec4(0.0).w); + v31.w = (v29 * CB0[23].w) * (COLOR1.y * exp2((v28 * dot(v19, normalize(v21 + normalize(v20)))) - v28)); + gl_Position = v24; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v26; + VARYING4 = vec4(v20, v24.w); + VARYING5 = vec4(v16, v17, v18, COLOR1.z); + VARYING6 = v31; + VARYING7 = v27; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultReflectionVS_Level520.vert b/shaders/shaders_glsl3/DefaultReflectionVS_Level520.vert new file mode 100644 index 0000000000..59832a94a0 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultReflectionVS_Level520.vert @@ -0,0 +1,50 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = CB0[7].xyz - POSITION.xyz; + vec3 v2 = -CB0[11].xyz; + float v3 = dot(v0, v2); + vec4 v4 = vec4(POSITION.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v5 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v6 = vec4(v5.x, v5.y, v5.z, vec4(0.0).w); + v6.w = 0.0; + vec4 v7 = vec4(POSITION.xyz, 0.0); + v7.w = COLOR1.w * 0.0039215688593685626983642578125; + float v8 = COLOR1.y * 0.50359570980072021484375; + float v9 = clamp(v3, 0.0, 1.0); + vec3 v10 = (CB0[10].xyz * v9) + (CB0[12].xyz * clamp(-v3, 0.0, 1.0)); + vec4 v11 = vec4(v10.x, v10.y, v10.z, vec4(0.0).w); + v11.w = (v9 * CB0[23].w) * (COLOR1.y * exp2((v8 * dot(v0, normalize(v2 + normalize(v1)))) - v8)); + gl_Position = v4; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v6; + VARYING4 = vec4(v1, v4.w); + VARYING5 = vec4(v0, COLOR1.z); + VARYING6 = v11; + VARYING7 = v7; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultReflectionVS_Level521.vert b/shaders/shaders_glsl3/DefaultReflectionVS_Level521.vert new file mode 100644 index 0000000000..6e0dabf942 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultReflectionVS_Level521.vert @@ -0,0 +1,73 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + int v2 = int(NORMAL.w); + vec3 v3 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v4 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, POSITION.w); + float v6 = dot(CB1[gl_InstanceID * 7 + 0], v5); + float v7 = dot(CB1[gl_InstanceID * 7 + 1], v5); + float v8 = dot(CB1[gl_InstanceID * 7 + 2], v5); + vec3 v9 = vec3(v6, v7, v8); + float v10 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v3); + float v11 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v3); + float v12 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v3); + vec3 v13 = vec3(v10, v11, v12); + vec2 v14 = vec2(0.0); + v14.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v15 = v14; + v15.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v16 = v15; + v16.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v17 = v16; + v17.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec3 v18 = CB0[7].xyz - v9; + vec3 v19 = -CB0[11].xyz; + float v20 = dot(v13, v19); + vec4 v21 = vec4(v6, v7, v8, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v22 = ((v9 + (v13 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v23 = vec4(v22.x, v22.y, v22.z, vec4(0.0).w); + v23.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v24 = vec4(v6, v7, v8, 0.0); + v24.w = CB1[gl_InstanceID * 7 + 5].w; + float v25 = CB1[gl_InstanceID * 7 + 6].z * 0.50359570980072021484375; + float v26 = clamp(v20, 0.0, 1.0); + vec3 v27 = (CB0[10].xyz * v26) + (CB0[12].xyz * clamp(-v20, 0.0, 1.0)); + vec4 v28 = vec4(v27.x, v27.y, v27.z, vec4(0.0).w); + v28.w = (v26 * CB0[23].w) * (CB1[gl_InstanceID * 7 + 6].z * exp2((v25 * dot(v13, normalize(v19 + normalize(v18)))) - v25)); + gl_Position = v21; + VARYING0 = (TEXCOORD0.xy * v15) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v17; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v23; + VARYING4 = vec4(v18, v21.w); + VARYING5 = vec4(v10, v11, v12, CB1[gl_InstanceID * 7 + 6].w); + VARYING6 = v28; + VARYING7 = v24; + VARYING8 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/DefaultReflectionVS_Level522.vert b/shaders/shaders_glsl3/DefaultReflectionVS_Level522.vert new file mode 100644 index 0000000000..41a21723f8 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultReflectionVS_Level522.vert @@ -0,0 +1,62 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec3 v11 = vec3(v8, v9, v10); + vec3 v12 = CB0[7].xyz - v7; + vec3 v13 = -CB0[11].xyz; + float v14 = dot(v11, v13); + vec4 v15 = vec4(v4, v5, v6, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v16 = ((v7 + (v11 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v17 = vec4(v16.x, v16.y, v16.z, vec4(0.0).w); + v17.w = 0.0; + vec4 v18 = vec4(v4, v5, v6, 0.0); + v18.w = COLOR1.w * 0.0039215688593685626983642578125; + float v19 = COLOR1.y * 0.50359570980072021484375; + float v20 = clamp(v14, 0.0, 1.0); + vec3 v21 = (CB0[10].xyz * v20) + (CB0[12].xyz * clamp(-v14, 0.0, 1.0)); + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = (v20 * CB0[23].w) * (COLOR1.y * exp2((v19 * dot(v11, normalize(v13 + normalize(v12)))) - v19)); + gl_Position = v15; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v17; + VARYING4 = vec4(v12, v15.w); + VARYING5 = vec4(v8, v9, v10, COLOR1.z); + VARYING6 = v22; + VARYING7 = v18; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultReflectionVS_Level526.vert b/shaders/shaders_glsl3/DefaultReflectionVS_Level526.vert new file mode 100644 index 0000000000..c4d91e5a5d --- /dev/null +++ b/shaders/shaders_glsl3/DefaultReflectionVS_Level526.vert @@ -0,0 +1,72 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec3 v19 = vec3(v16, v17, v18); + vec3 v20 = CB0[7].xyz - v15; + vec3 v21 = -CB0[11].xyz; + float v22 = dot(v19, v21); + vec4 v23 = vec4(v12, v13, v14, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v24 = ((v15 + (v19 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v25 = vec4(v24.x, v24.y, v24.z, vec4(0.0).w); + v25.w = 0.0; + vec4 v26 = vec4(v12, v13, v14, 0.0); + v26.w = COLOR1.w * 0.0039215688593685626983642578125; + float v27 = COLOR1.y * 0.50359570980072021484375; + float v28 = clamp(v22, 0.0, 1.0); + vec3 v29 = (CB0[10].xyz * v28) + (CB0[12].xyz * clamp(-v22, 0.0, 1.0)); + vec4 v30 = vec4(v29.x, v29.y, v29.z, vec4(0.0).w); + v30.w = (v28 * CB0[23].w) * (COLOR1.y * exp2((v27 * dot(v19, normalize(v21 + normalize(v20)))) - v27)); + gl_Position = v23; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v25; + VARYING4 = vec4(v20, v23.w); + VARYING5 = vec4(v16, v17, v18, COLOR1.z); + VARYING6 = v30; + VARYING7 = v26; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag new file mode 100644 index 0000000000..585b482839 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag @@ -0,0 +1,121 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f3 = texture(DiffuseMapTexture, VARYING0); + float f4 = f3.w; + float f5 = fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))); + if (smoothstep(0.0, 1.0, f4) < (f5 + ((fract(CB0[46].z) - f5) * clamp((0.001000000047497451305389404296875 * floor(CB0[46].z)) * VARYING4.w, 0.0, 1.0)))) + { + discard; + } + vec4 f6 = vec4(mix(VARYING2.xyz, f3.xyz, vec3(f4)), VARYING2.w); + vec4 f7 = vec4(f3.xyz, VARYING2.w * f4); + bvec4 f8 = bvec4(CB3[0].x != 0.0); + vec4 f9 = vec4(f8.x ? f6.x : f7.x, f8.y ? f6.y : f7.y, f8.z ? f6.z : f7.z, f8.w ? f6.w : f7.w); + vec2 f10 = texture(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f11 = f10 - vec2(1.0); + float f12 = sqrt(clamp(1.0 + dot(vec2(1.0) - f10, f11), 0.0, 1.0)); + vec2 f13 = vec3(f11, f12).xy * f2; + vec4 f14 = texture(SpecularMapTexture, VARYING0); + vec3 f15 = normalize(((VARYING6.xyz * f13.x) + ((cross(VARYING5.xyz, VARYING6.xyz) * VARYING6.w) * f13.y)) + (VARYING5.xyz * f12)); + vec3 f16 = f9.xyz; + vec3 f17 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f18 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f19 = VARYING3.yzx - (VARYING3.yzx * f18); + vec4 f20 = vec4(clamp(f18, 0.0, 1.0)); + vec4 f21 = mix(texture(LightMapTexture, f19), vec4(0.0), f20); + vec4 f22 = mix(texture(LightGridSkylightTexture, f19), vec4(1.0), f20); + float f23 = f22.x; + vec4 f24 = texture(ShadowMapTexture, f17.xy); + float f25 = f17.z; + vec3 f26 = (f16 * f16).xyz; + float f27 = CB0[26].w * f2; + float f28 = max(f14.y, 0.04500000178813934326171875); + vec3 f29 = reflect(-f1, f15); + float f30 = f28 * 5.0; + vec3 f31 = vec4(f29, f30).xyz; + vec4 f32 = texture(PrecomputedBRDFTexture, vec2(f28, max(9.9999997473787516355514526367188e-05, dot(f15, f1)))); + float f33 = f14.x * f27; + vec3 f34 = mix(vec3(0.039999999105930328369140625), f26, vec3(f33)); + vec3 f35 = -CB0[11].xyz; + float f36 = dot(f15, f35) * ((1.0 - ((step(f24.x, f25) * clamp(CB0[24].z + (CB0[24].w * abs(f25 - 0.5)), 0.0, 1.0)) * f24.y)) * f22.y); + vec3 f37 = normalize(f35 + f1); + float f38 = clamp(f36, 0.0, 1.0); + float f39 = f28 * f28; + float f40 = max(0.001000000047497451305389404296875, dot(f15, f37)); + float f41 = dot(f35, f37); + float f42 = 1.0 - f41; + float f43 = f42 * f42; + float f44 = (f43 * f43) * f42; + vec3 f45 = vec3(f44) + (f34 * (1.0 - f44)); + float f46 = f39 * f39; + float f47 = (((f40 * f46) - f40) * f40) + 1.0; + float f48 = 1.0 - f33; + float f49 = f27 * f48; + vec3 f50 = vec3(f48); + float f51 = f32.x; + float f52 = f32.y; + vec3 f53 = ((f34 * f51) + vec3(f52)) / vec3(f51 + f52); + vec3 f54 = f50 - (f53 * f49); + vec3 f55 = f15 * f15; + bvec3 f56 = lessThan(f15, vec3(0.0)); + vec3 f57 = vec3(f56.x ? f55.x : vec3(0.0).x, f56.y ? f55.y : vec3(0.0).y, f56.z ? f55.z : vec3(0.0).z); + vec3 f58 = f55 - f57; + float f59 = f58.x; + float f60 = f58.y; + float f61 = f58.z; + float f62 = f57.x; + float f63 = f57.y; + float f64 = f57.z; + vec3 f65 = ((((((CB0[35].xyz * f59) + (CB0[37].xyz * f60)) + (CB0[39].xyz * f61)) + (CB0[36].xyz * f62)) + (CB0[38].xyz * f63)) + (CB0[40].xyz * f64)) + (((((((CB0[29].xyz * f59) + (CB0[31].xyz * f60)) + (CB0[33].xyz * f61)) + (CB0[30].xyz * f62)) + (CB0[32].xyz * f63)) + (CB0[34].xyz * f64)) * f23); + vec3 f66 = (mix(textureLod(PrefilteredEnvIndoorTexture, f31, f30).xyz, textureLod(PrefilteredEnvTexture, f31, f30).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f29.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f23)) * f53) * f27; + vec3 f67 = ((((((((f50 - (f45 * f49)) * CB0[10].xyz) * f38) + (CB0[12].xyz * (f48 * clamp(-f36, 0.0, 1.0)))) + ((f54 * f65) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f23))) * f26) + (((f45 * (((f46 + (f46 * f46)) / (((f47 * f47) * ((f41 * 3.0) + 0.5)) * ((f40 * 0.75) + 0.25))) * f38)) * CB0[10].xyz) + f66)) + ((f21.xyz * (f21.w * 120.0)).xyz * mix(f26, f66 * (1.0 / (max(max(f65.x, f65.y), f65.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f54) * (f27 * (1.0 - f23)))); + float f68 = f9.w; + vec4 f69 = vec4(f67.x, f67.y, f67.z, vec4(0.0).w); + f69.w = f68; + float f70 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f71 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f70) * 5.0).xyz; + bvec3 f72 = bvec3(CB0[13].w != 0.0); + vec3 f73 = sqrt(clamp(mix(vec3(f72.x ? CB0[14].xyz.x : f71.x, f72.y ? CB0[14].xyz.y : f71.y, f72.z ? CB0[14].xyz.z : f71.z), f69.xyz, vec3(f70)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * f5)); + vec4 f74 = vec4(f73.x, f73.y, f73.z, f69.w); + f74.w = f68; + _entryPointOutput = f74; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultSurfaceAppearanceDitheredHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultSurfaceAppearanceDitheredHQFS_Level520.frag new file mode 100644 index 0000000000..2f8decaeca --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceAppearanceDitheredHQFS_Level520.frag @@ -0,0 +1,142 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f3 = texture(DiffuseMapTexture, VARYING0); + float f4 = f3.w; + float f5 = fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))); + if (smoothstep(0.0, 1.0, f4) < (f5 + ((fract(CB0[46].z) - f5) * clamp((0.001000000047497451305389404296875 * floor(CB0[46].z)) * VARYING4.w, 0.0, 1.0)))) + { + discard; + } + vec4 f6 = vec4(mix(VARYING2.xyz, f3.xyz, vec3(f4)), VARYING2.w); + vec4 f7 = vec4(f3.xyz, VARYING2.w * f4); + bvec4 f8 = bvec4(CB3[0].x != 0.0); + vec4 f9 = vec4(f8.x ? f6.x : f7.x, f8.y ? f6.y : f7.y, f8.z ? f6.z : f7.z, f8.w ? f6.w : f7.w); + vec2 f10 = texture(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f11 = f10 - vec2(1.0); + float f12 = sqrt(clamp(1.0 + dot(vec2(1.0) - f10, f11), 0.0, 1.0)); + vec2 f13 = vec3(f11, f12).xy * f2; + vec4 f14 = texture(SpecularMapTexture, VARYING0); + vec3 f15 = normalize(((VARYING6.xyz * f13.x) + ((cross(VARYING5.xyz, VARYING6.xyz) * VARYING6.w) * f13.y)) + (VARYING5.xyz * f12)); + vec3 f16 = -CB0[11].xyz; + float f17 = dot(f15, f16); + vec3 f18 = f9.xyz; + vec3 f19 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f20 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f21 = VARYING3.yzx - (VARYING3.yzx * f20); + vec4 f22 = vec4(clamp(f20, 0.0, 1.0)); + vec4 f23 = mix(texture(LightMapTexture, f21), vec4(0.0), f22); + vec4 f24 = mix(texture(LightGridSkylightTexture, f21), vec4(1.0), f22); + float f25 = f24.x; + float f26 = f24.y; + vec3 f27 = f19 - CB0[41].xyz; + vec3 f28 = f19 - CB0[42].xyz; + vec3 f29 = f19 - CB0[43].xyz; + vec4 f30 = vec4(f19, 1.0) * mat4(CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f31 = textureLod(ShadowAtlasTexture, f30.xy, 0.0); + vec2 f32 = vec2(0.0); + f32.x = CB0[45].z; + vec2 f33 = f32; + f33.y = CB0[45].w; + float f34 = (2.0 * f30.z) - 1.0; + float f35 = exp(CB0[45].z * f34); + float f36 = -exp((-CB0[45].w) * f34); + vec2 f37 = (f33 * CB0[46].y) * vec2(f35, f36); + vec2 f38 = f37 * f37; + float f39 = f31.x; + float f40 = max(f31.y - (f39 * f39), f38.x); + float f41 = f35 - f39; + float f42 = f31.z; + float f43 = max(f31.w - (f42 * f42), f38.y); + float f44 = f36 - f42; + vec3 f45 = (f18 * f18).xyz; + float f46 = CB0[26].w * f2; + float f47 = max(f14.y, 0.04500000178813934326171875); + vec3 f48 = reflect(-f1, f15); + float f49 = f47 * 5.0; + vec3 f50 = vec4(f48, f49).xyz; + vec4 f51 = texture(PrecomputedBRDFTexture, vec2(f47, max(9.9999997473787516355514526367188e-05, dot(f15, f1)))); + float f52 = f14.x * f46; + vec3 f53 = mix(vec3(0.039999999105930328369140625), f45, vec3(f52)); + vec3 f54 = normalize(f16 + f1); + float f55 = clamp(f17 * ((f17 > 0.0) ? mix(f26, mix(min((f35 <= f39) ? 1.0 : clamp(((f40 / (f40 + (f41 * f41))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f36 <= f42) ? 1.0 : clamp(((f43 / (f43 + (f44 * f44))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f26, clamp((length(f19 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f56 = f47 * f47; + float f57 = max(0.001000000047497451305389404296875, dot(f15, f54)); + float f58 = dot(f16, f54); + float f59 = 1.0 - f58; + float f60 = f59 * f59; + float f61 = (f60 * f60) * f59; + vec3 f62 = vec3(f61) + (f53 * (1.0 - f61)); + float f63 = f56 * f56; + float f64 = (((f57 * f63) - f57) * f57) + 1.0; + float f65 = 1.0 - f52; + float f66 = f46 * f65; + vec3 f67 = vec3(f65); + float f68 = f51.x; + float f69 = f51.y; + vec3 f70 = ((f53 * f68) + vec3(f69)) / vec3(f68 + f69); + vec3 f71 = f67 - (f70 * f66); + vec3 f72 = f15 * f15; + bvec3 f73 = lessThan(f15, vec3(0.0)); + vec3 f74 = vec3(f73.x ? f72.x : vec3(0.0).x, f73.y ? f72.y : vec3(0.0).y, f73.z ? f72.z : vec3(0.0).z); + vec3 f75 = f72 - f74; + float f76 = f75.x; + float f77 = f75.y; + float f78 = f75.z; + float f79 = f74.x; + float f80 = f74.y; + float f81 = f74.z; + vec3 f82 = ((((((CB0[35].xyz * f76) + (CB0[37].xyz * f77)) + (CB0[39].xyz * f78)) + (CB0[36].xyz * f79)) + (CB0[38].xyz * f80)) + (CB0[40].xyz * f81)) + (((((((CB0[29].xyz * f76) + (CB0[31].xyz * f77)) + (CB0[33].xyz * f78)) + (CB0[30].xyz * f79)) + (CB0[32].xyz * f80)) + (CB0[34].xyz * f81)) * f25); + vec3 f83 = (mix(textureLod(PrefilteredEnvIndoorTexture, f50, f49).xyz, textureLod(PrefilteredEnvTexture, f50, f49).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f48.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f25)) * f70) * f46; + vec3 f84 = (((((((f67 - (f62 * f66)) * CB0[10].xyz) * f55) + ((f71 * f82) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f25))) * f45) + (((f62 * (((f63 + (f63 * f63)) / (((f64 * f64) * ((f58 * 3.0) + 0.5)) * ((f57 * 0.75) + 0.25))) * f55)) * CB0[10].xyz) + f83)) + ((f23.xyz * (f23.w * 120.0)).xyz * mix(f45, f83 * (1.0 / (max(max(f82.x, f82.y), f82.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f71) * (f46 * (1.0 - f25)))); + float f85 = f9.w; + vec4 f86 = vec4(f84.x, f84.y, f84.z, vec4(0.0).w); + f86.w = f85; + float f87 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f88 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f87) * 5.0).xyz; + bvec3 f89 = bvec3(CB0[13].w != 0.0); + vec3 f90 = sqrt(clamp(mix(vec3(f89.x ? CB0[14].xyz.x : f88.x, f89.y ? CB0[14].xyz.y : f88.y, f89.z ? CB0[14].xyz.z : f88.z), f86.xyz, vec3(f87)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * f5)); + vec4 f91 = vec4(f90.x, f90.y, f90.z, f86.w); + f91.w = f85; + _entryPointOutput = f91; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultSurfaceAppearanceHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultSurfaceAppearanceHQFS_Level512.frag new file mode 100644 index 0000000000..825df833d4 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceAppearanceHQFS_Level512.frag @@ -0,0 +1,116 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f3 = texture(DiffuseMapTexture, VARYING0); + float f4 = f3.w; + vec4 f5 = vec4(mix(VARYING2.xyz, f3.xyz, vec3(f4)), VARYING2.w); + vec4 f6 = vec4(f3.xyz, VARYING2.w * f4); + bvec4 f7 = bvec4(CB3[0].x != 0.0); + vec4 f8 = vec4(f7.x ? f5.x : f6.x, f7.y ? f5.y : f6.y, f7.z ? f5.z : f6.z, f7.w ? f5.w : f6.w); + vec2 f9 = texture(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f10 = f9 - vec2(1.0); + float f11 = sqrt(clamp(1.0 + dot(vec2(1.0) - f9, f10), 0.0, 1.0)); + vec2 f12 = vec3(f10, f11).xy * f2; + vec4 f13 = texture(SpecularMapTexture, VARYING0); + vec3 f14 = normalize(((VARYING6.xyz * f12.x) + ((cross(VARYING5.xyz, VARYING6.xyz) * VARYING6.w) * f12.y)) + (VARYING5.xyz * f11)); + vec3 f15 = f8.xyz; + vec3 f16 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING3.yzx - (VARYING3.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture(LightGridSkylightTexture, f18), vec4(1.0), f19); + float f22 = f21.x; + vec4 f23 = texture(ShadowMapTexture, f16.xy); + float f24 = f16.z; + vec3 f25 = (f15 * f15).xyz; + float f26 = CB0[26].w * f2; + float f27 = max(f13.y, 0.04500000178813934326171875); + vec3 f28 = reflect(-f1, f14); + float f29 = f27 * 5.0; + vec3 f30 = vec4(f28, f29).xyz; + vec4 f31 = texture(PrecomputedBRDFTexture, vec2(f27, max(9.9999997473787516355514526367188e-05, dot(f14, f1)))); + float f32 = f13.x * f26; + vec3 f33 = mix(vec3(0.039999999105930328369140625), f25, vec3(f32)); + vec3 f34 = -CB0[11].xyz; + float f35 = dot(f14, f34) * ((1.0 - ((step(f23.x, f24) * clamp(CB0[24].z + (CB0[24].w * abs(f24 - 0.5)), 0.0, 1.0)) * f23.y)) * f21.y); + vec3 f36 = normalize(f34 + f1); + float f37 = clamp(f35, 0.0, 1.0); + float f38 = f27 * f27; + float f39 = max(0.001000000047497451305389404296875, dot(f14, f36)); + float f40 = dot(f34, f36); + float f41 = 1.0 - f40; + float f42 = f41 * f41; + float f43 = (f42 * f42) * f41; + vec3 f44 = vec3(f43) + (f33 * (1.0 - f43)); + float f45 = f38 * f38; + float f46 = (((f39 * f45) - f39) * f39) + 1.0; + float f47 = 1.0 - f32; + float f48 = f26 * f47; + vec3 f49 = vec3(f47); + float f50 = f31.x; + float f51 = f31.y; + vec3 f52 = ((f33 * f50) + vec3(f51)) / vec3(f50 + f51); + vec3 f53 = f49 - (f52 * f48); + vec3 f54 = f14 * f14; + bvec3 f55 = lessThan(f14, vec3(0.0)); + vec3 f56 = vec3(f55.x ? f54.x : vec3(0.0).x, f55.y ? f54.y : vec3(0.0).y, f55.z ? f54.z : vec3(0.0).z); + vec3 f57 = f54 - f56; + float f58 = f57.x; + float f59 = f57.y; + float f60 = f57.z; + float f61 = f56.x; + float f62 = f56.y; + float f63 = f56.z; + vec3 f64 = ((((((CB0[35].xyz * f58) + (CB0[37].xyz * f59)) + (CB0[39].xyz * f60)) + (CB0[36].xyz * f61)) + (CB0[38].xyz * f62)) + (CB0[40].xyz * f63)) + (((((((CB0[29].xyz * f58) + (CB0[31].xyz * f59)) + (CB0[33].xyz * f60)) + (CB0[30].xyz * f61)) + (CB0[32].xyz * f62)) + (CB0[34].xyz * f63)) * f22); + vec3 f65 = (mix(textureLod(PrefilteredEnvIndoorTexture, f30, f29).xyz, textureLod(PrefilteredEnvTexture, f30, f29).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f28.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f22)) * f52) * f26; + vec3 f66 = ((((((((f49 - (f44 * f48)) * CB0[10].xyz) * f37) + (CB0[12].xyz * (f47 * clamp(-f35, 0.0, 1.0)))) + ((f53 * f64) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f22))) * f25) + (((f44 * (((f45 + (f45 * f45)) / (((f46 * f46) * ((f40 * 3.0) + 0.5)) * ((f39 * 0.75) + 0.25))) * f37)) * CB0[10].xyz) + f65)) + ((f20.xyz * (f20.w * 120.0)).xyz * mix(f25, f65 * (1.0 / (max(max(f64.x, f64.y), f64.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f53) * (f26 * (1.0 - f22)))); + float f67 = f8.w; + vec4 f68 = vec4(f66.x, f66.y, f66.z, vec4(0.0).w); + f68.w = f67; + float f69 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f70 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f69) * 5.0).xyz; + bvec3 f71 = bvec3(CB0[13].w != 0.0); + vec3 f72 = sqrt(clamp(mix(vec3(f71.x ? CB0[14].xyz.x : f70.x, f71.y ? CB0[14].xyz.y : f70.y, f71.z ? CB0[14].xyz.z : f70.z), f68.xyz, vec3(f69)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f73 = vec4(f72.x, f72.y, f72.z, f68.w); + f73.w = f67; + _entryPointOutput = f73; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultSurfaceAppearanceHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultSurfaceAppearanceHQFS_Level520.frag new file mode 100644 index 0000000000..7f978d8a4f --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceAppearanceHQFS_Level520.frag @@ -0,0 +1,137 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f3 = texture(DiffuseMapTexture, VARYING0); + float f4 = f3.w; + vec4 f5 = vec4(mix(VARYING2.xyz, f3.xyz, vec3(f4)), VARYING2.w); + vec4 f6 = vec4(f3.xyz, VARYING2.w * f4); + bvec4 f7 = bvec4(CB3[0].x != 0.0); + vec4 f8 = vec4(f7.x ? f5.x : f6.x, f7.y ? f5.y : f6.y, f7.z ? f5.z : f6.z, f7.w ? f5.w : f6.w); + vec2 f9 = texture(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f10 = f9 - vec2(1.0); + float f11 = sqrt(clamp(1.0 + dot(vec2(1.0) - f9, f10), 0.0, 1.0)); + vec2 f12 = vec3(f10, f11).xy * f2; + vec4 f13 = texture(SpecularMapTexture, VARYING0); + vec3 f14 = normalize(((VARYING6.xyz * f12.x) + ((cross(VARYING5.xyz, VARYING6.xyz) * VARYING6.w) * f12.y)) + (VARYING5.xyz * f11)); + vec3 f15 = -CB0[11].xyz; + float f16 = dot(f14, f15); + vec3 f17 = f8.xyz; + vec3 f18 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f19 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f20 = VARYING3.yzx - (VARYING3.yzx * f19); + vec4 f21 = vec4(clamp(f19, 0.0, 1.0)); + vec4 f22 = mix(texture(LightMapTexture, f20), vec4(0.0), f21); + vec4 f23 = mix(texture(LightGridSkylightTexture, f20), vec4(1.0), f21); + float f24 = f23.x; + float f25 = f23.y; + vec3 f26 = f18 - CB0[41].xyz; + vec3 f27 = f18 - CB0[42].xyz; + vec3 f28 = f18 - CB0[43].xyz; + vec4 f29 = vec4(f18, 1.0) * mat4(CB8[((dot(f26, f26) < CB0[41].w) ? 0 : ((dot(f27, f27) < CB0[42].w) ? 1 : ((dot(f28, f28) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f26, f26) < CB0[41].w) ? 0 : ((dot(f27, f27) < CB0[42].w) ? 1 : ((dot(f28, f28) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f26, f26) < CB0[41].w) ? 0 : ((dot(f27, f27) < CB0[42].w) ? 1 : ((dot(f28, f28) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f26, f26) < CB0[41].w) ? 0 : ((dot(f27, f27) < CB0[42].w) ? 1 : ((dot(f28, f28) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f30 = textureLod(ShadowAtlasTexture, f29.xy, 0.0); + vec2 f31 = vec2(0.0); + f31.x = CB0[45].z; + vec2 f32 = f31; + f32.y = CB0[45].w; + float f33 = (2.0 * f29.z) - 1.0; + float f34 = exp(CB0[45].z * f33); + float f35 = -exp((-CB0[45].w) * f33); + vec2 f36 = (f32 * CB0[46].y) * vec2(f34, f35); + vec2 f37 = f36 * f36; + float f38 = f30.x; + float f39 = max(f30.y - (f38 * f38), f37.x); + float f40 = f34 - f38; + float f41 = f30.z; + float f42 = max(f30.w - (f41 * f41), f37.y); + float f43 = f35 - f41; + vec3 f44 = (f17 * f17).xyz; + float f45 = CB0[26].w * f2; + float f46 = max(f13.y, 0.04500000178813934326171875); + vec3 f47 = reflect(-f1, f14); + float f48 = f46 * 5.0; + vec3 f49 = vec4(f47, f48).xyz; + vec4 f50 = texture(PrecomputedBRDFTexture, vec2(f46, max(9.9999997473787516355514526367188e-05, dot(f14, f1)))); + float f51 = f13.x * f45; + vec3 f52 = mix(vec3(0.039999999105930328369140625), f44, vec3(f51)); + vec3 f53 = normalize(f15 + f1); + float f54 = clamp(f16 * ((f16 > 0.0) ? mix(f25, mix(min((f34 <= f38) ? 1.0 : clamp(((f39 / (f39 + (f40 * f40))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f35 <= f41) ? 1.0 : clamp(((f42 / (f42 + (f43 * f43))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f25, clamp((length(f18 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f55 = f46 * f46; + float f56 = max(0.001000000047497451305389404296875, dot(f14, f53)); + float f57 = dot(f15, f53); + float f58 = 1.0 - f57; + float f59 = f58 * f58; + float f60 = (f59 * f59) * f58; + vec3 f61 = vec3(f60) + (f52 * (1.0 - f60)); + float f62 = f55 * f55; + float f63 = (((f56 * f62) - f56) * f56) + 1.0; + float f64 = 1.0 - f51; + float f65 = f45 * f64; + vec3 f66 = vec3(f64); + float f67 = f50.x; + float f68 = f50.y; + vec3 f69 = ((f52 * f67) + vec3(f68)) / vec3(f67 + f68); + vec3 f70 = f66 - (f69 * f65); + vec3 f71 = f14 * f14; + bvec3 f72 = lessThan(f14, vec3(0.0)); + vec3 f73 = vec3(f72.x ? f71.x : vec3(0.0).x, f72.y ? f71.y : vec3(0.0).y, f72.z ? f71.z : vec3(0.0).z); + vec3 f74 = f71 - f73; + float f75 = f74.x; + float f76 = f74.y; + float f77 = f74.z; + float f78 = f73.x; + float f79 = f73.y; + float f80 = f73.z; + vec3 f81 = ((((((CB0[35].xyz * f75) + (CB0[37].xyz * f76)) + (CB0[39].xyz * f77)) + (CB0[36].xyz * f78)) + (CB0[38].xyz * f79)) + (CB0[40].xyz * f80)) + (((((((CB0[29].xyz * f75) + (CB0[31].xyz * f76)) + (CB0[33].xyz * f77)) + (CB0[30].xyz * f78)) + (CB0[32].xyz * f79)) + (CB0[34].xyz * f80)) * f24); + vec3 f82 = (mix(textureLod(PrefilteredEnvIndoorTexture, f49, f48).xyz, textureLod(PrefilteredEnvTexture, f49, f48).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f47.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f24)) * f69) * f45; + vec3 f83 = (((((((f66 - (f61 * f65)) * CB0[10].xyz) * f54) + ((f70 * f81) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f24))) * f44) + (((f61 * (((f62 + (f62 * f62)) / (((f63 * f63) * ((f57 * 3.0) + 0.5)) * ((f56 * 0.75) + 0.25))) * f54)) * CB0[10].xyz) + f82)) + ((f22.xyz * (f22.w * 120.0)).xyz * mix(f44, f82 * (1.0 / (max(max(f81.x, f81.y), f81.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f70) * (f45 * (1.0 - f24)))); + float f84 = f8.w; + vec4 f85 = vec4(f83.x, f83.y, f83.z, vec4(0.0).w); + f85.w = f84; + float f86 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f87 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f86) * 5.0).xyz; + bvec3 f88 = bvec3(CB0[13].w != 0.0); + vec3 f89 = sqrt(clamp(mix(vec3(f88.x ? CB0[14].xyz.x : f87.x, f88.y ? CB0[14].xyz.y : f87.y, f88.z ? CB0[14].xyz.z : f87.z), f85.xyz, vec3(f86)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f90 = vec4(f89.x, f89.y, f89.z, f85.w); + f90.w = f84; + _entryPointOutput = f90; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level512.vert b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level512.vert new file mode 100644 index 0000000000..7eaaad21b4 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level512.vert @@ -0,0 +1,49 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(0.0); + v2.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v3 = vec4(POSITION.xyz, 1.0); + vec4 v4 = v3 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v5 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v6 = vec4(v5.x, v5.y, v5.z, vec4(0.0).w); + v6.w = 0.0; + vec4 v7 = vec4(dot(CB0[20], v3), dot(CB0[21], v3), dot(CB0[22], v3), 0.0); + v7.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v8 = vec4(v0, 0.0); + v8.w = 0.0; + gl_Position = v4; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v6; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v4.w); + VARYING5 = v8; + VARYING6 = vec4(v1.x, v1.y, v1.z, v2.w); + VARYING7 = v7; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level513.vert b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level513.vert new file mode 100644 index 0000000000..082dc9a063 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level513.vert @@ -0,0 +1,71 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v2 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v3 = int(NORMAL.w); + vec3 v4 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v5 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v6 = vec4(v5.x, v5.y, v5.z, POSITION.w); + float v7 = dot(CB1[gl_InstanceID * 7 + 0], v6); + float v8 = dot(CB1[gl_InstanceID * 7 + 1], v6); + float v9 = dot(CB1[gl_InstanceID * 7 + 2], v6); + vec3 v10 = vec3(v7, v8, v9); + float v11 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v4); + float v12 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v4); + float v13 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v4); + vec3 v14 = vec3(dot(CB1[gl_InstanceID * 7 + 0].xyz, v2), dot(CB1[gl_InstanceID * 7 + 1].xyz, v2), dot(CB1[gl_InstanceID * 7 + 2].xyz, v2)); + vec2 v15 = vec2(0.0); + v15.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v3]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v3]); + vec2 v17 = v16; + v17.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v3]); + vec2 v18 = v17; + v18.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v3]); + vec4 v19 = vec4(0.0); + v19.w = sign(TEXCOORD2.w - 0.5); + vec4 v20 = vec4(v7, v8, v9, 1.0); + vec4 v21 = v20 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v22 = ((v10 + (vec3(v11, v12, v13) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v23 = vec4(v22.x, v22.y, v22.z, vec4(0.0).w); + v23.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v24 = vec4(dot(CB0[20], v20), dot(CB0[21], v20), dot(CB0[22], v20), 0.0); + v24.w = CB1[gl_InstanceID * 7 + 5].w; + vec4 v25 = vec4(v11, v12, v13, 0.0); + v25.w = 0.0; + gl_Position = v21; + VARYING0 = (TEXCOORD0.xy * v16) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v18; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v23; + VARYING4 = vec4(CB0[7].xyz - v10, v21.w); + VARYING5 = v25; + VARYING6 = vec4(v14.x, v14.y, v14.z, v19.w); + VARYING7 = v24; + VARYING8 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level514.vert b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level514.vert new file mode 100644 index 0000000000..ff0175632b --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level514.vert @@ -0,0 +1,61 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v2 = int(COLOR1.x) * 3; + int v3 = v2 + 1; + int v4 = v2 + 2; + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + float v7 = dot(CB1[v4 * 1 + 0], POSITION); + vec3 v8 = vec3(v5, v6, v7); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + float v11 = dot(CB1[v4 * 1 + 0].xyz, v0); + vec3 v12 = vec3(dot(CB1[v2 * 1 + 0].xyz, v1), dot(CB1[v3 * 1 + 0].xyz, v1), dot(CB1[v4 * 1 + 0].xyz, v1)); + vec4 v13 = vec4(0.0); + v13.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v14 = vec4(v5, v6, v7, 1.0); + vec4 v15 = v14 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v16 = ((v8 + (vec3(v9, v10, v11) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v17 = vec4(v16.x, v16.y, v16.z, vec4(0.0).w); + v17.w = 0.0; + vec4 v18 = vec4(dot(CB0[20], v14), dot(CB0[21], v14), dot(CB0[22], v14), 0.0); + v18.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v19 = vec4(v9, v10, v11, 0.0); + v19.w = 0.0; + gl_Position = v15; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v17; + VARYING4 = vec4(CB0[7].xyz - v8, v15.w); + VARYING5 = v19; + VARYING6 = vec4(v12.x, v12.y, v12.z, v13.w); + VARYING7 = v18; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level518.vert b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level518.vert new file mode 100644 index 0000000000..c0d95c0fde --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level518.vert @@ -0,0 +1,74 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v3 = ivec4(TEXCOORD4) * ivec4(3); + float v4 = v2.x; + float v5 = v2.y; + float v6 = v2.z; + float v7 = v2.w; + vec4 v8 = (((CB1[v3.x * 1 + 0] * v4) + (CB1[v3.y * 1 + 0] * v5)) + (CB1[v3.z * 1 + 0] * v6)) + (CB1[v3.w * 1 + 0] * v7); + ivec4 v9 = v3 + ivec4(1); + vec4 v10 = (((CB1[v9.x * 1 + 0] * v4) + (CB1[v9.y * 1 + 0] * v5)) + (CB1[v9.z * 1 + 0] * v6)) + (CB1[v9.w * 1 + 0] * v7); + ivec4 v11 = v3 + ivec4(2); + vec4 v12 = (((CB1[v11.x * 1 + 0] * v4) + (CB1[v11.y * 1 + 0] * v5)) + (CB1[v11.z * 1 + 0] * v6)) + (CB1[v11.w * 1 + 0] * v7); + float v13 = dot(v8, POSITION); + float v14 = dot(v10, POSITION); + float v15 = dot(v12, POSITION); + vec3 v16 = vec3(v13, v14, v15); + vec3 v17 = v8.xyz; + float v18 = dot(v17, v0); + vec3 v19 = v10.xyz; + float v20 = dot(v19, v0); + vec3 v21 = v12.xyz; + float v22 = dot(v21, v0); + vec3 v23 = vec3(dot(v17, v1), dot(v19, v1), dot(v21, v1)); + vec4 v24 = vec4(0.0); + v24.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v25 = vec4(v13, v14, v15, 1.0); + vec4 v26 = v25 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v27 = ((v16 + (vec3(v18, v20, v22) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v28 = vec4(v27.x, v27.y, v27.z, vec4(0.0).w); + v28.w = 0.0; + vec4 v29 = vec4(dot(CB0[20], v25), dot(CB0[21], v25), dot(CB0[22], v25), 0.0); + v29.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v30 = vec4(v18, v20, v22, 0.0); + v30.w = 0.0; + gl_Position = v26; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v28; + VARYING4 = vec4(CB0[7].xyz - v16, v26.w); + VARYING5 = v30; + VARYING6 = vec4(v23.x, v23.y, v23.z, v24.w); + VARYING7 = v29; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level520.vert b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level520.vert new file mode 100644 index 0000000000..b804c5f728 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level520.vert @@ -0,0 +1,48 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(0.0); + v2.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v3 = vec4(POSITION.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v4 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, vec4(0.0).w); + v5.w = 0.0; + vec4 v6 = vec4(POSITION.xyz, 0.0); + v6.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v7 = vec4(v0, 0.0); + v7.w = 0.0; + gl_Position = v3; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v5; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v3.w); + VARYING5 = v7; + VARYING6 = vec4(v1.x, v1.y, v1.z, v2.w); + VARYING7 = v6; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level521.vert b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level521.vert new file mode 100644 index 0000000000..6ed2e01092 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level521.vert @@ -0,0 +1,70 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v2 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v3 = int(NORMAL.w); + vec3 v4 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v5 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v6 = vec4(v5.x, v5.y, v5.z, POSITION.w); + float v7 = dot(CB1[gl_InstanceID * 7 + 0], v6); + float v8 = dot(CB1[gl_InstanceID * 7 + 1], v6); + float v9 = dot(CB1[gl_InstanceID * 7 + 2], v6); + vec3 v10 = vec3(v7, v8, v9); + float v11 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v4); + float v12 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v4); + float v13 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v4); + vec3 v14 = vec3(dot(CB1[gl_InstanceID * 7 + 0].xyz, v2), dot(CB1[gl_InstanceID * 7 + 1].xyz, v2), dot(CB1[gl_InstanceID * 7 + 2].xyz, v2)); + vec2 v15 = vec2(0.0); + v15.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v3]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v3]); + vec2 v17 = v16; + v17.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v3]); + vec2 v18 = v17; + v18.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v3]); + vec4 v19 = vec4(0.0); + v19.w = sign(TEXCOORD2.w - 0.5); + vec4 v20 = vec4(v7, v8, v9, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v21 = ((v10 + (vec3(v11, v12, v13) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v23 = vec4(v7, v8, v9, 0.0); + v23.w = CB1[gl_InstanceID * 7 + 5].w; + vec4 v24 = vec4(v11, v12, v13, 0.0); + v24.w = 0.0; + gl_Position = v20; + VARYING0 = (TEXCOORD0.xy * v16) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v18; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v22; + VARYING4 = vec4(CB0[7].xyz - v10, v20.w); + VARYING5 = v24; + VARYING6 = vec4(v14.x, v14.y, v14.z, v19.w); + VARYING7 = v23; + VARYING8 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level522.vert b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level522.vert new file mode 100644 index 0000000000..294ce6451b --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level522.vert @@ -0,0 +1,60 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v2 = int(COLOR1.x) * 3; + int v3 = v2 + 1; + int v4 = v2 + 2; + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + float v7 = dot(CB1[v4 * 1 + 0], POSITION); + vec3 v8 = vec3(v5, v6, v7); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + float v11 = dot(CB1[v4 * 1 + 0].xyz, v0); + vec3 v12 = vec3(dot(CB1[v2 * 1 + 0].xyz, v1), dot(CB1[v3 * 1 + 0].xyz, v1), dot(CB1[v4 * 1 + 0].xyz, v1)); + vec4 v13 = vec4(0.0); + v13.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v14 = vec4(v5, v6, v7, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v15 = ((v8 + (vec3(v9, v10, v11) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v16 = vec4(v15.x, v15.y, v15.z, vec4(0.0).w); + v16.w = 0.0; + vec4 v17 = vec4(v5, v6, v7, 0.0); + v17.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v18 = vec4(v9, v10, v11, 0.0); + v18.w = 0.0; + gl_Position = v14; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v16; + VARYING4 = vec4(CB0[7].xyz - v8, v14.w); + VARYING5 = v18; + VARYING6 = vec4(v12.x, v12.y, v12.z, v13.w); + VARYING7 = v17; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level526.vert b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level526.vert new file mode 100644 index 0000000000..b4e608cbea --- /dev/null +++ b/shaders/shaders_glsl3/DefaultSurfaceHQVS_Level526.vert @@ -0,0 +1,73 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v3 = ivec4(TEXCOORD4) * ivec4(3); + float v4 = v2.x; + float v5 = v2.y; + float v6 = v2.z; + float v7 = v2.w; + vec4 v8 = (((CB1[v3.x * 1 + 0] * v4) + (CB1[v3.y * 1 + 0] * v5)) + (CB1[v3.z * 1 + 0] * v6)) + (CB1[v3.w * 1 + 0] * v7); + ivec4 v9 = v3 + ivec4(1); + vec4 v10 = (((CB1[v9.x * 1 + 0] * v4) + (CB1[v9.y * 1 + 0] * v5)) + (CB1[v9.z * 1 + 0] * v6)) + (CB1[v9.w * 1 + 0] * v7); + ivec4 v11 = v3 + ivec4(2); + vec4 v12 = (((CB1[v11.x * 1 + 0] * v4) + (CB1[v11.y * 1 + 0] * v5)) + (CB1[v11.z * 1 + 0] * v6)) + (CB1[v11.w * 1 + 0] * v7); + float v13 = dot(v8, POSITION); + float v14 = dot(v10, POSITION); + float v15 = dot(v12, POSITION); + vec3 v16 = vec3(v13, v14, v15); + vec3 v17 = v8.xyz; + float v18 = dot(v17, v0); + vec3 v19 = v10.xyz; + float v20 = dot(v19, v0); + vec3 v21 = v12.xyz; + float v22 = dot(v21, v0); + vec3 v23 = vec3(dot(v17, v1), dot(v19, v1), dot(v21, v1)); + vec4 v24 = vec4(0.0); + v24.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v25 = vec4(v13, v14, v15, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v26 = ((v16 + (vec3(v18, v20, v22) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v27 = vec4(v26.x, v26.y, v26.z, vec4(0.0).w); + v27.w = 0.0; + vec4 v28 = vec4(v13, v14, v15, 0.0); + v28.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v29 = vec4(v18, v20, v22, 0.0); + v29.w = 0.0; + gl_Position = v25; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v27; + VARYING4 = vec4(CB0[7].xyz - v16, v25.w); + VARYING5 = v29; + VARYING6 = vec4(v23.x, v23.y, v23.z, v24.w); + VARYING7 = v28; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/DefaultTiledHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultTiledHQFS_Level512.frag new file mode 100644 index 0000000000..058d935fd6 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultTiledHQFS_Level512.frag @@ -0,0 +1,120 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = texture(DiffuseMapTexture, f4); + vec2 f6 = texture(NormalMapTexture, f4).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = texture(SpecularMapTexture, f4); + vec3 f12 = normalize(((VARYING6.xyz * f10) + (cross(VARYING5.xyz, VARYING6.xyz) * f9.y)) + (VARYING5.xyz * f8)); + vec3 f13 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f14 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f15 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f16 = VARYING3.yzx - (VARYING3.yzx * f15); + vec4 f17 = vec4(clamp(f15, 0.0, 1.0)); + vec4 f18 = mix(texture(LightMapTexture, f16), vec4(0.0), f17); + vec4 f19 = mix(texture(LightGridSkylightTexture, f16), vec4(1.0), f17); + float f20 = f19.x; + vec4 f21 = texture(ShadowMapTexture, f14.xy); + float f22 = f14.z; + vec3 f23 = (f13 * f13).xyz; + float f24 = CB0[26].w * f3; + float f25 = max(f11.y, 0.04500000178813934326171875); + vec3 f26 = reflect(-f1, f12); + float f27 = f25 * 5.0; + vec3 f28 = vec4(f26, f27).xyz; + vec4 f29 = texture(PrecomputedBRDFTexture, vec2(f25, max(9.9999997473787516355514526367188e-05, dot(f12, f1)))); + float f30 = f11.x * f24; + vec3 f31 = mix(vec3(0.039999999105930328369140625), f23, vec3(f30)); + vec3 f32 = -CB0[11].xyz; + float f33 = dot(f12, f32) * ((1.0 - ((step(f21.x, f22) * clamp(CB0[24].z + (CB0[24].w * abs(f22 - 0.5)), 0.0, 1.0)) * f21.y)) * f19.y); + vec3 f34 = normalize(f32 + f1); + float f35 = clamp(f33, 0.0, 1.0); + float f36 = f25 * f25; + float f37 = max(0.001000000047497451305389404296875, dot(f12, f34)); + float f38 = dot(f32, f34); + float f39 = 1.0 - f38; + float f40 = f39 * f39; + float f41 = (f40 * f40) * f39; + vec3 f42 = vec3(f41) + (f31 * (1.0 - f41)); + float f43 = f36 * f36; + float f44 = (((f37 * f43) - f37) * f37) + 1.0; + float f45 = 1.0 - f30; + float f46 = f24 * f45; + vec3 f47 = vec3(f45); + float f48 = f29.x; + float f49 = f29.y; + vec3 f50 = ((f31 * f48) + vec3(f49)) / vec3(f48 + f49); + vec3 f51 = f47 - (f50 * f46); + vec3 f52 = f12 * f12; + bvec3 f53 = lessThan(f12, vec3(0.0)); + vec3 f54 = vec3(f53.x ? f52.x : vec3(0.0).x, f53.y ? f52.y : vec3(0.0).y, f53.z ? f52.z : vec3(0.0).z); + vec3 f55 = f52 - f54; + float f56 = f55.x; + float f57 = f55.y; + float f58 = f55.z; + float f59 = f54.x; + float f60 = f54.y; + float f61 = f54.z; + vec3 f62 = ((((((CB0[35].xyz * f56) + (CB0[37].xyz * f57)) + (CB0[39].xyz * f58)) + (CB0[36].xyz * f59)) + (CB0[38].xyz * f60)) + (CB0[40].xyz * f61)) + (((((((CB0[29].xyz * f56) + (CB0[31].xyz * f57)) + (CB0[33].xyz * f58)) + (CB0[30].xyz * f59)) + (CB0[32].xyz * f60)) + (CB0[34].xyz * f61)) * f20); + vec3 f63 = (mix(textureLod(PrefilteredEnvIndoorTexture, f28, f27).xyz, textureLod(PrefilteredEnvTexture, f28, f27).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f26.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f20)) * f50) * f24; + vec3 f64 = ((((((((f47 - (f42 * f46)) * CB0[10].xyz) * f35) + (CB0[12].xyz * (f45 * clamp(-f33, 0.0, 1.0)))) + ((f51 * f62) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f20))) * f23) + (((f42 * (((f43 + (f43 * f43)) / (((f44 * f44) * ((f38 * 3.0) + 0.5)) * ((f37 * 0.75) + 0.25))) * f35)) * CB0[10].xyz) + f63)) + ((f18.xyz * (f18.w * 120.0)).xyz * mix(f23, f63 * (1.0 / (max(max(f62.x, f62.y), f62.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f51) * (f24 * (1.0 - f20)))); + vec4 f65 = vec4(f64.x, f64.y, f64.z, vec4(0.0).w); + f65.w = VARYING2.w; + float f66 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f67 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f66) * 5.0).xyz; + bvec3 f68 = bvec3(CB0[13].w != 0.0); + vec3 f69 = sqrt(clamp(mix(vec3(f68.x ? CB0[14].xyz.x : f67.x, f68.y ? CB0[14].xyz.y : f67.y, f68.z ? CB0[14].xyz.z : f67.z), f65.xyz, vec3(f66)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f70 = vec4(f69.x, f69.y, f69.z, f65.w); + f70.w = VARYING2.w; + _entryPointOutput = f70; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultTiledHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultTiledHQFS_Level520.frag new file mode 100644 index 0000000000..1d33629547 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultTiledHQFS_Level520.frag @@ -0,0 +1,141 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = texture(DiffuseMapTexture, f4); + vec2 f6 = texture(NormalMapTexture, f4).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = texture(SpecularMapTexture, f4); + vec3 f12 = normalize(((VARYING6.xyz * f10) + (cross(VARYING5.xyz, VARYING6.xyz) * f9.y)) + (VARYING5.xyz * f8)); + vec3 f13 = -CB0[11].xyz; + float f14 = dot(f12, f13); + vec3 f15 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f16 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING3.yzx - (VARYING3.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture(LightGridSkylightTexture, f18), vec4(1.0), f19); + float f22 = f21.x; + float f23 = f21.y; + vec3 f24 = f16 - CB0[41].xyz; + vec3 f25 = f16 - CB0[42].xyz; + vec3 f26 = f16 - CB0[43].xyz; + vec4 f27 = vec4(f16, 1.0) * mat4(CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f28 = textureLod(ShadowAtlasTexture, f27.xy, 0.0); + vec2 f29 = vec2(0.0); + f29.x = CB0[45].z; + vec2 f30 = f29; + f30.y = CB0[45].w; + float f31 = (2.0 * f27.z) - 1.0; + float f32 = exp(CB0[45].z * f31); + float f33 = -exp((-CB0[45].w) * f31); + vec2 f34 = (f30 * CB0[46].y) * vec2(f32, f33); + vec2 f35 = f34 * f34; + float f36 = f28.x; + float f37 = max(f28.y - (f36 * f36), f35.x); + float f38 = f32 - f36; + float f39 = f28.z; + float f40 = max(f28.w - (f39 * f39), f35.y); + float f41 = f33 - f39; + vec3 f42 = (f15 * f15).xyz; + float f43 = CB0[26].w * f3; + float f44 = max(f11.y, 0.04500000178813934326171875); + vec3 f45 = reflect(-f1, f12); + float f46 = f44 * 5.0; + vec3 f47 = vec4(f45, f46).xyz; + vec4 f48 = texture(PrecomputedBRDFTexture, vec2(f44, max(9.9999997473787516355514526367188e-05, dot(f12, f1)))); + float f49 = f11.x * f43; + vec3 f50 = mix(vec3(0.039999999105930328369140625), f42, vec3(f49)); + vec3 f51 = normalize(f13 + f1); + float f52 = clamp(f14 * ((f14 > 0.0) ? mix(f23, mix(min((f32 <= f36) ? 1.0 : clamp(((f37 / (f37 + (f38 * f38))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f33 <= f39) ? 1.0 : clamp(((f40 / (f40 + (f41 * f41))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f23, clamp((length(f16 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f53 = f44 * f44; + float f54 = max(0.001000000047497451305389404296875, dot(f12, f51)); + float f55 = dot(f13, f51); + float f56 = 1.0 - f55; + float f57 = f56 * f56; + float f58 = (f57 * f57) * f56; + vec3 f59 = vec3(f58) + (f50 * (1.0 - f58)); + float f60 = f53 * f53; + float f61 = (((f54 * f60) - f54) * f54) + 1.0; + float f62 = 1.0 - f49; + float f63 = f43 * f62; + vec3 f64 = vec3(f62); + float f65 = f48.x; + float f66 = f48.y; + vec3 f67 = ((f50 * f65) + vec3(f66)) / vec3(f65 + f66); + vec3 f68 = f64 - (f67 * f63); + vec3 f69 = f12 * f12; + bvec3 f70 = lessThan(f12, vec3(0.0)); + vec3 f71 = vec3(f70.x ? f69.x : vec3(0.0).x, f70.y ? f69.y : vec3(0.0).y, f70.z ? f69.z : vec3(0.0).z); + vec3 f72 = f69 - f71; + float f73 = f72.x; + float f74 = f72.y; + float f75 = f72.z; + float f76 = f71.x; + float f77 = f71.y; + float f78 = f71.z; + vec3 f79 = ((((((CB0[35].xyz * f73) + (CB0[37].xyz * f74)) + (CB0[39].xyz * f75)) + (CB0[36].xyz * f76)) + (CB0[38].xyz * f77)) + (CB0[40].xyz * f78)) + (((((((CB0[29].xyz * f73) + (CB0[31].xyz * f74)) + (CB0[33].xyz * f75)) + (CB0[30].xyz * f76)) + (CB0[32].xyz * f77)) + (CB0[34].xyz * f78)) * f22); + vec3 f80 = (mix(textureLod(PrefilteredEnvIndoorTexture, f47, f46).xyz, textureLod(PrefilteredEnvTexture, f47, f46).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f45.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f22)) * f67) * f43; + vec3 f81 = (((((((f64 - (f59 * f63)) * CB0[10].xyz) * f52) + ((f68 * f79) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f22))) * f42) + (((f59 * (((f60 + (f60 * f60)) / (((f61 * f61) * ((f55 * 3.0) + 0.5)) * ((f54 * 0.75) + 0.25))) * f52)) * CB0[10].xyz) + f80)) + ((f20.xyz * (f20.w * 120.0)).xyz * mix(f42, f80 * (1.0 / (max(max(f79.x, f79.y), f79.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f68) * (f43 * (1.0 - f22)))); + vec4 f82 = vec4(f81.x, f81.y, f81.z, vec4(0.0).w); + f82.w = VARYING2.w; + float f83 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f84 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f83) * 5.0).xyz; + bvec3 f85 = bvec3(CB0[13].w != 0.0); + vec3 f86 = sqrt(clamp(mix(vec3(f85.x ? CB0[14].xyz.x : f84.x, f85.y ? CB0[14].xyz.y : f84.y, f85.z ? CB0[14].xyz.z : f84.z), f82.xyz, vec3(f83)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f87 = vec4(f86.x, f86.y, f86.z, f82.w); + f87.w = VARYING2.w; + _entryPointOutput = f87; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultTiledHideAllRepHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultTiledHideAllRepHQFS_Level512.frag new file mode 100644 index 0000000000..f939638e7e --- /dev/null +++ b/shaders/shaders_glsl3/DefaultTiledHideAllRepHQFS_Level512.frag @@ -0,0 +1,120 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = mix(texture(DiffuseMapTexture, f4 * CB2[1].y), texture(DiffuseMapTexture, f4), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f6 = mix(texture(NormalMapTexture, f4 * CB2[1].z), texture(NormalMapTexture, f4), vec4(clamp((f3 * CB2[3].y) - (CB2[2].y * CB2[3].y), 0.0, 1.0))).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = mix(texture(SpecularMapTexture, f4 * CB2[1].w), texture(SpecularMapTexture, f4), vec4(clamp((f3 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + vec3 f12 = normalize(((VARYING6.xyz * f10) + (cross(VARYING5.xyz, VARYING6.xyz) * f9.y)) + (VARYING5.xyz * f8)); + vec3 f13 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f14 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f15 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f16 = VARYING3.yzx - (VARYING3.yzx * f15); + vec4 f17 = vec4(clamp(f15, 0.0, 1.0)); + vec4 f18 = mix(texture(LightMapTexture, f16), vec4(0.0), f17); + vec4 f19 = mix(texture(LightGridSkylightTexture, f16), vec4(1.0), f17); + float f20 = f19.x; + vec4 f21 = texture(ShadowMapTexture, f14.xy); + float f22 = f14.z; + vec3 f23 = (f13 * f13).xyz; + float f24 = CB0[26].w * f3; + float f25 = max(f11.y, 0.04500000178813934326171875); + vec3 f26 = reflect(-f1, f12); + float f27 = f25 * 5.0; + vec3 f28 = vec4(f26, f27).xyz; + vec4 f29 = texture(PrecomputedBRDFTexture, vec2(f25, max(9.9999997473787516355514526367188e-05, dot(f12, f1)))); + float f30 = f11.x * f24; + vec3 f31 = mix(vec3(0.039999999105930328369140625), f23, vec3(f30)); + vec3 f32 = -CB0[11].xyz; + float f33 = dot(f12, f32) * ((1.0 - ((step(f21.x, f22) * clamp(CB0[24].z + (CB0[24].w * abs(f22 - 0.5)), 0.0, 1.0)) * f21.y)) * f19.y); + vec3 f34 = normalize(f32 + f1); + float f35 = clamp(f33, 0.0, 1.0); + float f36 = f25 * f25; + float f37 = max(0.001000000047497451305389404296875, dot(f12, f34)); + float f38 = dot(f32, f34); + float f39 = 1.0 - f38; + float f40 = f39 * f39; + float f41 = (f40 * f40) * f39; + vec3 f42 = vec3(f41) + (f31 * (1.0 - f41)); + float f43 = f36 * f36; + float f44 = (((f37 * f43) - f37) * f37) + 1.0; + float f45 = 1.0 - f30; + float f46 = f24 * f45; + vec3 f47 = vec3(f45); + float f48 = f29.x; + float f49 = f29.y; + vec3 f50 = ((f31 * f48) + vec3(f49)) / vec3(f48 + f49); + vec3 f51 = f47 - (f50 * f46); + vec3 f52 = f12 * f12; + bvec3 f53 = lessThan(f12, vec3(0.0)); + vec3 f54 = vec3(f53.x ? f52.x : vec3(0.0).x, f53.y ? f52.y : vec3(0.0).y, f53.z ? f52.z : vec3(0.0).z); + vec3 f55 = f52 - f54; + float f56 = f55.x; + float f57 = f55.y; + float f58 = f55.z; + float f59 = f54.x; + float f60 = f54.y; + float f61 = f54.z; + vec3 f62 = ((((((CB0[35].xyz * f56) + (CB0[37].xyz * f57)) + (CB0[39].xyz * f58)) + (CB0[36].xyz * f59)) + (CB0[38].xyz * f60)) + (CB0[40].xyz * f61)) + (((((((CB0[29].xyz * f56) + (CB0[31].xyz * f57)) + (CB0[33].xyz * f58)) + (CB0[30].xyz * f59)) + (CB0[32].xyz * f60)) + (CB0[34].xyz * f61)) * f20); + vec3 f63 = (mix(textureLod(PrefilteredEnvIndoorTexture, f28, f27).xyz, textureLod(PrefilteredEnvTexture, f28, f27).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f26.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f20)) * f50) * f24; + vec3 f64 = ((((((((f47 - (f42 * f46)) * CB0[10].xyz) * f35) + (CB0[12].xyz * (f45 * clamp(-f33, 0.0, 1.0)))) + ((f51 * f62) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f20))) * f23) + (((f42 * (((f43 + (f43 * f43)) / (((f44 * f44) * ((f38 * 3.0) + 0.5)) * ((f37 * 0.75) + 0.25))) * f35)) * CB0[10].xyz) + f63)) + ((f18.xyz * (f18.w * 120.0)).xyz * mix(f23, f63 * (1.0 / (max(max(f62.x, f62.y), f62.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f51) * (f24 * (1.0 - f20)))); + vec4 f65 = vec4(f64.x, f64.y, f64.z, vec4(0.0).w); + f65.w = VARYING2.w; + float f66 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f67 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f66) * 5.0).xyz; + bvec3 f68 = bvec3(CB0[13].w != 0.0); + vec3 f69 = sqrt(clamp(mix(vec3(f68.x ? CB0[14].xyz.x : f67.x, f68.y ? CB0[14].xyz.y : f67.y, f68.z ? CB0[14].xyz.z : f67.z), f65.xyz, vec3(f66)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f70 = vec4(f69.x, f69.y, f69.z, f65.w); + f70.w = VARYING2.w; + _entryPointOutput = f70; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultTiledHideAllRepHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultTiledHideAllRepHQFS_Level520.frag new file mode 100644 index 0000000000..eaab120475 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultTiledHideAllRepHQFS_Level520.frag @@ -0,0 +1,141 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = mix(texture(DiffuseMapTexture, f4 * CB2[1].y), texture(DiffuseMapTexture, f4), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f6 = mix(texture(NormalMapTexture, f4 * CB2[1].z), texture(NormalMapTexture, f4), vec4(clamp((f3 * CB2[3].y) - (CB2[2].y * CB2[3].y), 0.0, 1.0))).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = mix(texture(SpecularMapTexture, f4 * CB2[1].w), texture(SpecularMapTexture, f4), vec4(clamp((f3 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + vec3 f12 = normalize(((VARYING6.xyz * f10) + (cross(VARYING5.xyz, VARYING6.xyz) * f9.y)) + (VARYING5.xyz * f8)); + vec3 f13 = -CB0[11].xyz; + float f14 = dot(f12, f13); + vec3 f15 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f16 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING3.yzx - (VARYING3.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture(LightGridSkylightTexture, f18), vec4(1.0), f19); + float f22 = f21.x; + float f23 = f21.y; + vec3 f24 = f16 - CB0[41].xyz; + vec3 f25 = f16 - CB0[42].xyz; + vec3 f26 = f16 - CB0[43].xyz; + vec4 f27 = vec4(f16, 1.0) * mat4(CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f28 = textureLod(ShadowAtlasTexture, f27.xy, 0.0); + vec2 f29 = vec2(0.0); + f29.x = CB0[45].z; + vec2 f30 = f29; + f30.y = CB0[45].w; + float f31 = (2.0 * f27.z) - 1.0; + float f32 = exp(CB0[45].z * f31); + float f33 = -exp((-CB0[45].w) * f31); + vec2 f34 = (f30 * CB0[46].y) * vec2(f32, f33); + vec2 f35 = f34 * f34; + float f36 = f28.x; + float f37 = max(f28.y - (f36 * f36), f35.x); + float f38 = f32 - f36; + float f39 = f28.z; + float f40 = max(f28.w - (f39 * f39), f35.y); + float f41 = f33 - f39; + vec3 f42 = (f15 * f15).xyz; + float f43 = CB0[26].w * f3; + float f44 = max(f11.y, 0.04500000178813934326171875); + vec3 f45 = reflect(-f1, f12); + float f46 = f44 * 5.0; + vec3 f47 = vec4(f45, f46).xyz; + vec4 f48 = texture(PrecomputedBRDFTexture, vec2(f44, max(9.9999997473787516355514526367188e-05, dot(f12, f1)))); + float f49 = f11.x * f43; + vec3 f50 = mix(vec3(0.039999999105930328369140625), f42, vec3(f49)); + vec3 f51 = normalize(f13 + f1); + float f52 = clamp(f14 * ((f14 > 0.0) ? mix(f23, mix(min((f32 <= f36) ? 1.0 : clamp(((f37 / (f37 + (f38 * f38))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f33 <= f39) ? 1.0 : clamp(((f40 / (f40 + (f41 * f41))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f23, clamp((length(f16 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f53 = f44 * f44; + float f54 = max(0.001000000047497451305389404296875, dot(f12, f51)); + float f55 = dot(f13, f51); + float f56 = 1.0 - f55; + float f57 = f56 * f56; + float f58 = (f57 * f57) * f56; + vec3 f59 = vec3(f58) + (f50 * (1.0 - f58)); + float f60 = f53 * f53; + float f61 = (((f54 * f60) - f54) * f54) + 1.0; + float f62 = 1.0 - f49; + float f63 = f43 * f62; + vec3 f64 = vec3(f62); + float f65 = f48.x; + float f66 = f48.y; + vec3 f67 = ((f50 * f65) + vec3(f66)) / vec3(f65 + f66); + vec3 f68 = f64 - (f67 * f63); + vec3 f69 = f12 * f12; + bvec3 f70 = lessThan(f12, vec3(0.0)); + vec3 f71 = vec3(f70.x ? f69.x : vec3(0.0).x, f70.y ? f69.y : vec3(0.0).y, f70.z ? f69.z : vec3(0.0).z); + vec3 f72 = f69 - f71; + float f73 = f72.x; + float f74 = f72.y; + float f75 = f72.z; + float f76 = f71.x; + float f77 = f71.y; + float f78 = f71.z; + vec3 f79 = ((((((CB0[35].xyz * f73) + (CB0[37].xyz * f74)) + (CB0[39].xyz * f75)) + (CB0[36].xyz * f76)) + (CB0[38].xyz * f77)) + (CB0[40].xyz * f78)) + (((((((CB0[29].xyz * f73) + (CB0[31].xyz * f74)) + (CB0[33].xyz * f75)) + (CB0[30].xyz * f76)) + (CB0[32].xyz * f77)) + (CB0[34].xyz * f78)) * f22); + vec3 f80 = (mix(textureLod(PrefilteredEnvIndoorTexture, f47, f46).xyz, textureLod(PrefilteredEnvTexture, f47, f46).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f45.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f22)) * f67) * f43; + vec3 f81 = (((((((f64 - (f59 * f63)) * CB0[10].xyz) * f52) + ((f68 * f79) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f22))) * f42) + (((f59 * (((f60 + (f60 * f60)) / (((f61 * f61) * ((f55 * 3.0) + 0.5)) * ((f54 * 0.75) + 0.25))) * f52)) * CB0[10].xyz) + f80)) + ((f20.xyz * (f20.w * 120.0)).xyz * mix(f42, f80 * (1.0 / (max(max(f79.x, f79.y), f79.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f68) * (f43 * (1.0 - f22)))); + vec4 f82 = vec4(f81.x, f81.y, f81.z, vec4(0.0).w); + f82.w = VARYING2.w; + float f83 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f84 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f83) * 5.0).xyz; + bvec3 f85 = bvec3(CB0[13].w != 0.0); + vec3 f86 = sqrt(clamp(mix(vec3(f85.x ? CB0[14].xyz.x : f84.x, f85.y ? CB0[14].xyz.y : f84.y, f85.z ? CB0[14].xyz.z : f84.z), f82.xyz, vec3(f83)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f87 = vec4(f86.x, f86.y, f86.z, f82.w); + f87.w = VARYING2.w; + _entryPointOutput = f87; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultTiledHideDiffuseRepHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultTiledHideDiffuseRepHQFS_Level512.frag new file mode 100644 index 0000000000..dc915fa697 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultTiledHideDiffuseRepHQFS_Level512.frag @@ -0,0 +1,120 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = mix(texture(DiffuseMapTexture, f4 * CB2[1].y), texture(DiffuseMapTexture, f4), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f6 = texture(NormalMapTexture, f4).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = texture(SpecularMapTexture, f4); + vec3 f12 = normalize(((VARYING6.xyz * f10) + (cross(VARYING5.xyz, VARYING6.xyz) * f9.y)) + (VARYING5.xyz * f8)); + vec3 f13 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f14 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f15 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f16 = VARYING3.yzx - (VARYING3.yzx * f15); + vec4 f17 = vec4(clamp(f15, 0.0, 1.0)); + vec4 f18 = mix(texture(LightMapTexture, f16), vec4(0.0), f17); + vec4 f19 = mix(texture(LightGridSkylightTexture, f16), vec4(1.0), f17); + float f20 = f19.x; + vec4 f21 = texture(ShadowMapTexture, f14.xy); + float f22 = f14.z; + vec3 f23 = (f13 * f13).xyz; + float f24 = CB0[26].w * f3; + float f25 = max(f11.y, 0.04500000178813934326171875); + vec3 f26 = reflect(-f1, f12); + float f27 = f25 * 5.0; + vec3 f28 = vec4(f26, f27).xyz; + vec4 f29 = texture(PrecomputedBRDFTexture, vec2(f25, max(9.9999997473787516355514526367188e-05, dot(f12, f1)))); + float f30 = f11.x * f24; + vec3 f31 = mix(vec3(0.039999999105930328369140625), f23, vec3(f30)); + vec3 f32 = -CB0[11].xyz; + float f33 = dot(f12, f32) * ((1.0 - ((step(f21.x, f22) * clamp(CB0[24].z + (CB0[24].w * abs(f22 - 0.5)), 0.0, 1.0)) * f21.y)) * f19.y); + vec3 f34 = normalize(f32 + f1); + float f35 = clamp(f33, 0.0, 1.0); + float f36 = f25 * f25; + float f37 = max(0.001000000047497451305389404296875, dot(f12, f34)); + float f38 = dot(f32, f34); + float f39 = 1.0 - f38; + float f40 = f39 * f39; + float f41 = (f40 * f40) * f39; + vec3 f42 = vec3(f41) + (f31 * (1.0 - f41)); + float f43 = f36 * f36; + float f44 = (((f37 * f43) - f37) * f37) + 1.0; + float f45 = 1.0 - f30; + float f46 = f24 * f45; + vec3 f47 = vec3(f45); + float f48 = f29.x; + float f49 = f29.y; + vec3 f50 = ((f31 * f48) + vec3(f49)) / vec3(f48 + f49); + vec3 f51 = f47 - (f50 * f46); + vec3 f52 = f12 * f12; + bvec3 f53 = lessThan(f12, vec3(0.0)); + vec3 f54 = vec3(f53.x ? f52.x : vec3(0.0).x, f53.y ? f52.y : vec3(0.0).y, f53.z ? f52.z : vec3(0.0).z); + vec3 f55 = f52 - f54; + float f56 = f55.x; + float f57 = f55.y; + float f58 = f55.z; + float f59 = f54.x; + float f60 = f54.y; + float f61 = f54.z; + vec3 f62 = ((((((CB0[35].xyz * f56) + (CB0[37].xyz * f57)) + (CB0[39].xyz * f58)) + (CB0[36].xyz * f59)) + (CB0[38].xyz * f60)) + (CB0[40].xyz * f61)) + (((((((CB0[29].xyz * f56) + (CB0[31].xyz * f57)) + (CB0[33].xyz * f58)) + (CB0[30].xyz * f59)) + (CB0[32].xyz * f60)) + (CB0[34].xyz * f61)) * f20); + vec3 f63 = (mix(textureLod(PrefilteredEnvIndoorTexture, f28, f27).xyz, textureLod(PrefilteredEnvTexture, f28, f27).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f26.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f20)) * f50) * f24; + vec3 f64 = ((((((((f47 - (f42 * f46)) * CB0[10].xyz) * f35) + (CB0[12].xyz * (f45 * clamp(-f33, 0.0, 1.0)))) + ((f51 * f62) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f20))) * f23) + (((f42 * (((f43 + (f43 * f43)) / (((f44 * f44) * ((f38 * 3.0) + 0.5)) * ((f37 * 0.75) + 0.25))) * f35)) * CB0[10].xyz) + f63)) + ((f18.xyz * (f18.w * 120.0)).xyz * mix(f23, f63 * (1.0 / (max(max(f62.x, f62.y), f62.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f51) * (f24 * (1.0 - f20)))); + vec4 f65 = vec4(f64.x, f64.y, f64.z, vec4(0.0).w); + f65.w = VARYING2.w; + float f66 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f67 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f66) * 5.0).xyz; + bvec3 f68 = bvec3(CB0[13].w != 0.0); + vec3 f69 = sqrt(clamp(mix(vec3(f68.x ? CB0[14].xyz.x : f67.x, f68.y ? CB0[14].xyz.y : f67.y, f68.z ? CB0[14].xyz.z : f67.z), f65.xyz, vec3(f66)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f70 = vec4(f69.x, f69.y, f69.z, f65.w); + f70.w = VARYING2.w; + _entryPointOutput = f70; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultTiledHideDiffuseRepHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultTiledHideDiffuseRepHQFS_Level520.frag new file mode 100644 index 0000000000..6d6b006a80 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultTiledHideDiffuseRepHQFS_Level520.frag @@ -0,0 +1,141 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = mix(texture(DiffuseMapTexture, f4 * CB2[1].y), texture(DiffuseMapTexture, f4), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f6 = texture(NormalMapTexture, f4).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = texture(SpecularMapTexture, f4); + vec3 f12 = normalize(((VARYING6.xyz * f10) + (cross(VARYING5.xyz, VARYING6.xyz) * f9.y)) + (VARYING5.xyz * f8)); + vec3 f13 = -CB0[11].xyz; + float f14 = dot(f12, f13); + vec3 f15 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f16 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f17 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f18 = VARYING3.yzx - (VARYING3.yzx * f17); + vec4 f19 = vec4(clamp(f17, 0.0, 1.0)); + vec4 f20 = mix(texture(LightMapTexture, f18), vec4(0.0), f19); + vec4 f21 = mix(texture(LightGridSkylightTexture, f18), vec4(1.0), f19); + float f22 = f21.x; + float f23 = f21.y; + vec3 f24 = f16 - CB0[41].xyz; + vec3 f25 = f16 - CB0[42].xyz; + vec3 f26 = f16 - CB0[43].xyz; + vec4 f27 = vec4(f16, 1.0) * mat4(CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f24, f24) < CB0[41].w) ? 0 : ((dot(f25, f25) < CB0[42].w) ? 1 : ((dot(f26, f26) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f28 = textureLod(ShadowAtlasTexture, f27.xy, 0.0); + vec2 f29 = vec2(0.0); + f29.x = CB0[45].z; + vec2 f30 = f29; + f30.y = CB0[45].w; + float f31 = (2.0 * f27.z) - 1.0; + float f32 = exp(CB0[45].z * f31); + float f33 = -exp((-CB0[45].w) * f31); + vec2 f34 = (f30 * CB0[46].y) * vec2(f32, f33); + vec2 f35 = f34 * f34; + float f36 = f28.x; + float f37 = max(f28.y - (f36 * f36), f35.x); + float f38 = f32 - f36; + float f39 = f28.z; + float f40 = max(f28.w - (f39 * f39), f35.y); + float f41 = f33 - f39; + vec3 f42 = (f15 * f15).xyz; + float f43 = CB0[26].w * f3; + float f44 = max(f11.y, 0.04500000178813934326171875); + vec3 f45 = reflect(-f1, f12); + float f46 = f44 * 5.0; + vec3 f47 = vec4(f45, f46).xyz; + vec4 f48 = texture(PrecomputedBRDFTexture, vec2(f44, max(9.9999997473787516355514526367188e-05, dot(f12, f1)))); + float f49 = f11.x * f43; + vec3 f50 = mix(vec3(0.039999999105930328369140625), f42, vec3(f49)); + vec3 f51 = normalize(f13 + f1); + float f52 = clamp(f14 * ((f14 > 0.0) ? mix(f23, mix(min((f32 <= f36) ? 1.0 : clamp(((f37 / (f37 + (f38 * f38))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f33 <= f39) ? 1.0 : clamp(((f40 / (f40 + (f41 * f41))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f23, clamp((length(f16 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f53 = f44 * f44; + float f54 = max(0.001000000047497451305389404296875, dot(f12, f51)); + float f55 = dot(f13, f51); + float f56 = 1.0 - f55; + float f57 = f56 * f56; + float f58 = (f57 * f57) * f56; + vec3 f59 = vec3(f58) + (f50 * (1.0 - f58)); + float f60 = f53 * f53; + float f61 = (((f54 * f60) - f54) * f54) + 1.0; + float f62 = 1.0 - f49; + float f63 = f43 * f62; + vec3 f64 = vec3(f62); + float f65 = f48.x; + float f66 = f48.y; + vec3 f67 = ((f50 * f65) + vec3(f66)) / vec3(f65 + f66); + vec3 f68 = f64 - (f67 * f63); + vec3 f69 = f12 * f12; + bvec3 f70 = lessThan(f12, vec3(0.0)); + vec3 f71 = vec3(f70.x ? f69.x : vec3(0.0).x, f70.y ? f69.y : vec3(0.0).y, f70.z ? f69.z : vec3(0.0).z); + vec3 f72 = f69 - f71; + float f73 = f72.x; + float f74 = f72.y; + float f75 = f72.z; + float f76 = f71.x; + float f77 = f71.y; + float f78 = f71.z; + vec3 f79 = ((((((CB0[35].xyz * f73) + (CB0[37].xyz * f74)) + (CB0[39].xyz * f75)) + (CB0[36].xyz * f76)) + (CB0[38].xyz * f77)) + (CB0[40].xyz * f78)) + (((((((CB0[29].xyz * f73) + (CB0[31].xyz * f74)) + (CB0[33].xyz * f75)) + (CB0[30].xyz * f76)) + (CB0[32].xyz * f77)) + (CB0[34].xyz * f78)) * f22); + vec3 f80 = (mix(textureLod(PrefilteredEnvIndoorTexture, f47, f46).xyz, textureLod(PrefilteredEnvTexture, f47, f46).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f45.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f22)) * f67) * f43; + vec3 f81 = (((((((f64 - (f59 * f63)) * CB0[10].xyz) * f52) + ((f68 * f79) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f22))) * f42) + (((f59 * (((f60 + (f60 * f60)) / (((f61 * f61) * ((f55 * 3.0) + 0.5)) * ((f54 * 0.75) + 0.25))) * f52)) * CB0[10].xyz) + f80)) + ((f20.xyz * (f20.w * 120.0)).xyz * mix(f42, f80 * (1.0 / (max(max(f79.x, f79.y), f79.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f68) * (f43 * (1.0 - f22)))); + vec4 f82 = vec4(f81.x, f81.y, f81.z, vec4(0.0).w); + f82.w = VARYING2.w; + float f83 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f84 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f83) * 5.0).xyz; + bvec3 f85 = bvec3(CB0[13].w != 0.0); + vec3 f86 = sqrt(clamp(mix(vec3(f85.x ? CB0[14].xyz.x : f84.x, f85.y ? CB0[14].xyz.y : f84.y, f85.z ? CB0[14].xyz.z : f84.z), f82.xyz, vec3(f83)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f87 = vec4(f86.x, f86.y, f86.z, f82.w); + f87.w = VARYING2.w; + _entryPointOutput = f87; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultTransparentHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultTransparentHQFS_Level512.frag new file mode 100644 index 0000000000..621d5a0c6f --- /dev/null +++ b/shaders/shaders_glsl3/DefaultTransparentHQFS_Level512.frag @@ -0,0 +1,98 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec4 f2 = texture(DiffuseMapTexture, VARYING0) * VARYING2; + vec3 f3 = f2.xyz; + vec3 f4 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f5 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f6 = VARYING3.yzx - (VARYING3.yzx * f5); + vec4 f7 = vec4(clamp(f5, 0.0, 1.0)); + vec4 f8 = mix(texture(LightMapTexture, f6), vec4(0.0), f7); + vec4 f9 = mix(texture(LightGridSkylightTexture, f6), vec4(1.0), f7); + float f10 = f9.x; + vec4 f11 = texture(ShadowMapTexture, f4.xy); + float f12 = f4.z; + vec3 f13 = (f3 * f3).xyz; + float f14 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec3 f15 = normalize(VARYING5.xyz); + float f16 = max(VARYING5.w, 0.04500000178813934326171875); + vec3 f17 = reflect(-f1, f15); + float f18 = f16 * 5.0; + vec3 f19 = vec4(f17, f18).xyz; + vec4 f20 = texture(PrecomputedBRDFTexture, vec2(f16, max(9.9999997473787516355514526367188e-05, dot(f15, f1)))); + float f21 = VARYING6.w * f14; + vec3 f22 = mix(vec3(0.039999999105930328369140625), f13, vec3(f21)); + vec3 f23 = -CB0[11].xyz; + float f24 = dot(f15, f23) * ((1.0 - ((step(f11.x, f12) * clamp(CB0[24].z + (CB0[24].w * abs(f12 - 0.5)), 0.0, 1.0)) * f11.y)) * f9.y); + vec3 f25 = normalize(f23 + f1); + float f26 = clamp(f24, 0.0, 1.0); + float f27 = f16 * f16; + float f28 = max(0.001000000047497451305389404296875, dot(f15, f25)); + float f29 = dot(f23, f25); + float f30 = 1.0 - f29; + float f31 = f30 * f30; + float f32 = (f31 * f31) * f30; + vec3 f33 = vec3(f32) + (f22 * (1.0 - f32)); + float f34 = f27 * f27; + float f35 = (((f28 * f34) - f28) * f28) + 1.0; + float f36 = 1.0 - f21; + float f37 = f14 * f36; + vec3 f38 = vec3(f36); + float f39 = f20.x; + float f40 = f20.y; + vec3 f41 = ((f22 * f39) + vec3(f40)) / vec3(f39 + f40); + vec3 f42 = f38 - (f41 * f37); + vec3 f43 = f15 * f15; + bvec3 f44 = lessThan(f15, vec3(0.0)); + vec3 f45 = vec3(f44.x ? f43.x : vec3(0.0).x, f44.y ? f43.y : vec3(0.0).y, f44.z ? f43.z : vec3(0.0).z); + vec3 f46 = f43 - f45; + float f47 = f46.x; + float f48 = f46.y; + float f49 = f46.z; + float f50 = f45.x; + float f51 = f45.y; + float f52 = f45.z; + vec3 f53 = ((((((CB0[35].xyz * f47) + (CB0[37].xyz * f48)) + (CB0[39].xyz * f49)) + (CB0[36].xyz * f50)) + (CB0[38].xyz * f51)) + (CB0[40].xyz * f52)) + (((((((CB0[29].xyz * f47) + (CB0[31].xyz * f48)) + (CB0[33].xyz * f49)) + (CB0[30].xyz * f50)) + (CB0[32].xyz * f51)) + (CB0[34].xyz * f52)) * f10); + vec3 f54 = (mix(textureLod(PrefilteredEnvIndoorTexture, f19, f18).xyz, textureLod(PrefilteredEnvTexture, f19, f18).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f17.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f10)) * f41) * f14; + vec3 f55 = ((((((((f38 - (f33 * f37)) * CB0[10].xyz) * f26) + (CB0[12].xyz * (f36 * clamp(-f24, 0.0, 1.0)))) + ((f42 * f53) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f10))) * f13) + (((f33 * (((f34 + (f34 * f34)) / (((f35 * f35) * ((f29 * 3.0) + 0.5)) * ((f28 * 0.75) + 0.25))) * f26)) * CB0[10].xyz) + f54)) + ((f8.xyz * (f8.w * 120.0)).xyz * mix(f13, f54 * (1.0 / (max(max(f53.x, f53.y), f53.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f42) * (f14 * (1.0 - f10)))); + float f56 = f2.w; + vec4 f57 = vec4(f55.x, f55.y, f55.z, vec4(0.0).w); + f57.w = f56; + float f58 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f59 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f58) * 5.0).xyz; + bvec3 f60 = bvec3(CB0[13].w != 0.0); + vec3 f61 = sqrt(clamp(mix(vec3(f60.x ? CB0[14].xyz.x : f59.x, f60.y ? CB0[14].xyz.y : f59.y, f60.z ? CB0[14].xyz.z : f59.z), f57.xyz, vec3(f58)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f62 = vec4(f61.x, f61.y, f61.z, f57.w); + f62.w = f56; + _entryPointOutput = f62; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/DefaultTransparentHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultTransparentHQFS_Level520.frag new file mode 100644 index 0000000000..4a5cd98671 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultTransparentHQFS_Level520.frag @@ -0,0 +1,119 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec4 f2 = texture(DiffuseMapTexture, VARYING0) * VARYING2; + vec3 f3 = normalize(VARYING5.xyz); + vec3 f4 = -CB0[11].xyz; + float f5 = dot(f3, f4); + vec3 f6 = f2.xyz; + vec3 f7 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f8 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f9 = VARYING3.yzx - (VARYING3.yzx * f8); + vec4 f10 = vec4(clamp(f8, 0.0, 1.0)); + vec4 f11 = mix(texture(LightMapTexture, f9), vec4(0.0), f10); + vec4 f12 = mix(texture(LightGridSkylightTexture, f9), vec4(1.0), f10); + float f13 = f12.x; + float f14 = f12.y; + vec3 f15 = f7 - CB0[41].xyz; + vec3 f16 = f7 - CB0[42].xyz; + vec3 f17 = f7 - CB0[43].xyz; + vec4 f18 = vec4(f7, 1.0) * mat4(CB8[((dot(f15, f15) < CB0[41].w) ? 0 : ((dot(f16, f16) < CB0[42].w) ? 1 : ((dot(f17, f17) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f15, f15) < CB0[41].w) ? 0 : ((dot(f16, f16) < CB0[42].w) ? 1 : ((dot(f17, f17) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f15, f15) < CB0[41].w) ? 0 : ((dot(f16, f16) < CB0[42].w) ? 1 : ((dot(f17, f17) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f15, f15) < CB0[41].w) ? 0 : ((dot(f16, f16) < CB0[42].w) ? 1 : ((dot(f17, f17) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f19 = textureLod(ShadowAtlasTexture, f18.xy, 0.0); + vec2 f20 = vec2(0.0); + f20.x = CB0[45].z; + vec2 f21 = f20; + f21.y = CB0[45].w; + float f22 = (2.0 * f18.z) - 1.0; + float f23 = exp(CB0[45].z * f22); + float f24 = -exp((-CB0[45].w) * f22); + vec2 f25 = (f21 * CB0[46].y) * vec2(f23, f24); + vec2 f26 = f25 * f25; + float f27 = f19.x; + float f28 = max(f19.y - (f27 * f27), f26.x); + float f29 = f23 - f27; + float f30 = f19.z; + float f31 = max(f19.w - (f30 * f30), f26.y); + float f32 = f24 - f30; + vec3 f33 = (f6 * f6).xyz; + float f34 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + float f35 = max(VARYING5.w, 0.04500000178813934326171875); + vec3 f36 = reflect(-f1, f3); + float f37 = f35 * 5.0; + vec3 f38 = vec4(f36, f37).xyz; + vec4 f39 = texture(PrecomputedBRDFTexture, vec2(f35, max(9.9999997473787516355514526367188e-05, dot(f3, f1)))); + float f40 = VARYING6.w * f34; + vec3 f41 = mix(vec3(0.039999999105930328369140625), f33, vec3(f40)); + vec3 f42 = normalize(f4 + f1); + float f43 = clamp(f5 * ((f5 > 0.0) ? mix(f14, mix(min((f23 <= f27) ? 1.0 : clamp(((f28 / (f28 + (f29 * f29))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f24 <= f30) ? 1.0 : clamp(((f31 / (f31 + (f32 * f32))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f14, clamp((length(f7 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f44 = f35 * f35; + float f45 = max(0.001000000047497451305389404296875, dot(f3, f42)); + float f46 = dot(f4, f42); + float f47 = 1.0 - f46; + float f48 = f47 * f47; + float f49 = (f48 * f48) * f47; + vec3 f50 = vec3(f49) + (f41 * (1.0 - f49)); + float f51 = f44 * f44; + float f52 = (((f45 * f51) - f45) * f45) + 1.0; + float f53 = 1.0 - f40; + float f54 = f34 * f53; + vec3 f55 = vec3(f53); + float f56 = f39.x; + float f57 = f39.y; + vec3 f58 = ((f41 * f56) + vec3(f57)) / vec3(f56 + f57); + vec3 f59 = f55 - (f58 * f54); + vec3 f60 = f3 * f3; + bvec3 f61 = lessThan(f3, vec3(0.0)); + vec3 f62 = vec3(f61.x ? f60.x : vec3(0.0).x, f61.y ? f60.y : vec3(0.0).y, f61.z ? f60.z : vec3(0.0).z); + vec3 f63 = f60 - f62; + float f64 = f63.x; + float f65 = f63.y; + float f66 = f63.z; + float f67 = f62.x; + float f68 = f62.y; + float f69 = f62.z; + vec3 f70 = ((((((CB0[35].xyz * f64) + (CB0[37].xyz * f65)) + (CB0[39].xyz * f66)) + (CB0[36].xyz * f67)) + (CB0[38].xyz * f68)) + (CB0[40].xyz * f69)) + (((((((CB0[29].xyz * f64) + (CB0[31].xyz * f65)) + (CB0[33].xyz * f66)) + (CB0[30].xyz * f67)) + (CB0[32].xyz * f68)) + (CB0[34].xyz * f69)) * f13); + vec3 f71 = (mix(textureLod(PrefilteredEnvIndoorTexture, f38, f37).xyz, textureLod(PrefilteredEnvTexture, f38, f37).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f36.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f13)) * f58) * f34; + vec3 f72 = (((((((f55 - (f50 * f54)) * CB0[10].xyz) * f43) + ((f59 * f70) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f13))) * f33) + (((f50 * (((f51 + (f51 * f51)) / (((f52 * f52) * ((f46 * 3.0) + 0.5)) * ((f45 * 0.75) + 0.25))) * f43)) * CB0[10].xyz) + f71)) + ((f11.xyz * (f11.w * 120.0)).xyz * mix(f33, f71 * (1.0 / (max(max(f70.x, f70.y), f70.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f59) * (f34 * (1.0 - f13)))); + float f73 = f2.w; + vec4 f74 = vec4(f72.x, f72.y, f72.z, vec4(0.0).w); + f74.w = f73; + float f75 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f76 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f75) * 5.0).xyz; + bvec3 f77 = bvec3(CB0[13].w != 0.0); + vec3 f78 = sqrt(clamp(mix(vec3(f77.x ? CB0[14].xyz.x : f76.x, f77.y ? CB0[14].xyz.y : f76.y, f77.z ? CB0[14].xyz.z : f76.z), f74.xyz, vec3(f75)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f79 = vec4(f78.x, f78.y, f78.z, f74.w); + f79.w = f73; + _entryPointOutput = f79; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/DefaultWangHQFS_Level512.frag b/shaders/shaders_glsl3/DefaultWangHQFS_Level512.frag new file mode 100644 index 0000000000..54e76be52a --- /dev/null +++ b/shaders/shaders_glsl3/DefaultWangHQFS_Level512.frag @@ -0,0 +1,128 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D WangTileMapTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec2 f5 = f4 * 4.0; + vec2 f6 = f5 * 0.25; + vec4 f7 = vec4(dFdx(f6), dFdy(f6)); + vec2 f8 = (texture(WangTileMapTexture, f5 * vec2(0.0078125)).xy * 0.99609375) + (fract(f5) * 0.25); + vec2 f9 = f7.xy; + vec2 f10 = f7.zw; + vec4 f11 = textureGrad(DiffuseMapTexture, f8, f9, f10); + vec2 f12 = textureGrad(NormalMapTexture, f8, f9, f10).wy * 2.0; + vec2 f13 = f12 - vec2(1.0); + float f14 = sqrt(clamp(1.0 + dot(vec2(1.0) - f12, f13), 0.0, 1.0)); + vec2 f15 = (vec3(f13, f14).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f16 = f15.x; + vec4 f17 = textureGrad(SpecularMapTexture, f8, f9, f10); + vec3 f18 = normalize(((VARYING6.xyz * f16) + (cross(VARYING5.xyz, VARYING6.xyz) * f15.y)) + (VARYING5.xyz * f14)); + vec3 f19 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f11.w + CB2[2].w, 0.0, 1.0))) * f11.xyz) * (1.0 + (f16 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f20 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f21 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f22 = VARYING3.yzx - (VARYING3.yzx * f21); + vec4 f23 = vec4(clamp(f21, 0.0, 1.0)); + vec4 f24 = mix(texture(LightMapTexture, f22), vec4(0.0), f23); + vec4 f25 = mix(texture(LightGridSkylightTexture, f22), vec4(1.0), f23); + float f26 = f25.x; + vec4 f27 = texture(ShadowMapTexture, f20.xy); + float f28 = f20.z; + vec3 f29 = (f19 * f19).xyz; + float f30 = CB0[26].w * f3; + float f31 = max(f17.y, 0.04500000178813934326171875); + vec3 f32 = reflect(-f1, f18); + float f33 = f31 * 5.0; + vec3 f34 = vec4(f32, f33).xyz; + vec4 f35 = texture(PrecomputedBRDFTexture, vec2(f31, max(9.9999997473787516355514526367188e-05, dot(f18, f1)))); + float f36 = f17.x * f30; + vec3 f37 = mix(vec3(0.039999999105930328369140625), f29, vec3(f36)); + vec3 f38 = -CB0[11].xyz; + float f39 = dot(f18, f38) * ((1.0 - ((step(f27.x, f28) * clamp(CB0[24].z + (CB0[24].w * abs(f28 - 0.5)), 0.0, 1.0)) * f27.y)) * f25.y); + vec3 f40 = normalize(f38 + f1); + float f41 = clamp(f39, 0.0, 1.0); + float f42 = f31 * f31; + float f43 = max(0.001000000047497451305389404296875, dot(f18, f40)); + float f44 = dot(f38, f40); + float f45 = 1.0 - f44; + float f46 = f45 * f45; + float f47 = (f46 * f46) * f45; + vec3 f48 = vec3(f47) + (f37 * (1.0 - f47)); + float f49 = f42 * f42; + float f50 = (((f43 * f49) - f43) * f43) + 1.0; + float f51 = 1.0 - f36; + float f52 = f30 * f51; + vec3 f53 = vec3(f51); + float f54 = f35.x; + float f55 = f35.y; + vec3 f56 = ((f37 * f54) + vec3(f55)) / vec3(f54 + f55); + vec3 f57 = f53 - (f56 * f52); + vec3 f58 = f18 * f18; + bvec3 f59 = lessThan(f18, vec3(0.0)); + vec3 f60 = vec3(f59.x ? f58.x : vec3(0.0).x, f59.y ? f58.y : vec3(0.0).y, f59.z ? f58.z : vec3(0.0).z); + vec3 f61 = f58 - f60; + float f62 = f61.x; + float f63 = f61.y; + float f64 = f61.z; + float f65 = f60.x; + float f66 = f60.y; + float f67 = f60.z; + vec3 f68 = ((((((CB0[35].xyz * f62) + (CB0[37].xyz * f63)) + (CB0[39].xyz * f64)) + (CB0[36].xyz * f65)) + (CB0[38].xyz * f66)) + (CB0[40].xyz * f67)) + (((((((CB0[29].xyz * f62) + (CB0[31].xyz * f63)) + (CB0[33].xyz * f64)) + (CB0[30].xyz * f65)) + (CB0[32].xyz * f66)) + (CB0[34].xyz * f67)) * f26); + vec3 f69 = (mix(textureLod(PrefilteredEnvIndoorTexture, f34, f33).xyz, textureLod(PrefilteredEnvTexture, f34, f33).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f32.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f26)) * f56) * f30; + vec3 f70 = ((((((((f53 - (f48 * f52)) * CB0[10].xyz) * f41) + (CB0[12].xyz * (f51 * clamp(-f39, 0.0, 1.0)))) + ((f57 * f68) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f26))) * f29) + (((f48 * (((f49 + (f49 * f49)) / (((f50 * f50) * ((f44 * 3.0) + 0.5)) * ((f43 * 0.75) + 0.25))) * f41)) * CB0[10].xyz) + f69)) + ((f24.xyz * (f24.w * 120.0)).xyz * mix(f29, f69 * (1.0 / (max(max(f68.x, f68.y), f68.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f57) * (f30 * (1.0 - f26)))); + vec4 f71 = vec4(f70.x, f70.y, f70.z, vec4(0.0).w); + f71.w = VARYING2.w; + float f72 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f73 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f72) * 5.0).xyz; + bvec3 f74 = bvec3(CB0[13].w != 0.0); + vec3 f75 = sqrt(clamp(mix(vec3(f74.x ? CB0[14].xyz.x : f73.x, f74.y ? CB0[14].xyz.y : f73.y, f74.z ? CB0[14].xyz.z : f73.z), f71.xyz, vec3(f72)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f76 = vec4(f75.x, f75.y, f75.z, f71.w); + f76.w = VARYING2.w; + _entryPointOutput = f76; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$WangTileMapTexture=s9 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/DefaultWangHQFS_Level520.frag b/shaders/shaders_glsl3/DefaultWangHQFS_Level520.frag new file mode 100644 index 0000000000..cd83d8b205 --- /dev/null +++ b/shaders/shaders_glsl3/DefaultWangHQFS_Level520.frag @@ -0,0 +1,149 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D WangTileMapTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec2 f5 = f4 * 4.0; + vec2 f6 = f5 * 0.25; + vec4 f7 = vec4(dFdx(f6), dFdy(f6)); + vec2 f8 = (texture(WangTileMapTexture, f5 * vec2(0.0078125)).xy * 0.99609375) + (fract(f5) * 0.25); + vec2 f9 = f7.xy; + vec2 f10 = f7.zw; + vec4 f11 = textureGrad(DiffuseMapTexture, f8, f9, f10); + vec2 f12 = textureGrad(NormalMapTexture, f8, f9, f10).wy * 2.0; + vec2 f13 = f12 - vec2(1.0); + float f14 = sqrt(clamp(1.0 + dot(vec2(1.0) - f12, f13), 0.0, 1.0)); + vec2 f15 = (vec3(f13, f14).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f16 = f15.x; + vec4 f17 = textureGrad(SpecularMapTexture, f8, f9, f10); + vec3 f18 = normalize(((VARYING6.xyz * f16) + (cross(VARYING5.xyz, VARYING6.xyz) * f15.y)) + (VARYING5.xyz * f14)); + vec3 f19 = -CB0[11].xyz; + float f20 = dot(f18, f19); + vec3 f21 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f11.w + CB2[2].w, 0.0, 1.0))) * f11.xyz) * (1.0 + (f16 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f22 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f23 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f24 = VARYING3.yzx - (VARYING3.yzx * f23); + vec4 f25 = vec4(clamp(f23, 0.0, 1.0)); + vec4 f26 = mix(texture(LightMapTexture, f24), vec4(0.0), f25); + vec4 f27 = mix(texture(LightGridSkylightTexture, f24), vec4(1.0), f25); + float f28 = f27.x; + float f29 = f27.y; + vec3 f30 = f22 - CB0[41].xyz; + vec3 f31 = f22 - CB0[42].xyz; + vec3 f32 = f22 - CB0[43].xyz; + vec4 f33 = vec4(f22, 1.0) * mat4(CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f34 = textureLod(ShadowAtlasTexture, f33.xy, 0.0); + vec2 f35 = vec2(0.0); + f35.x = CB0[45].z; + vec2 f36 = f35; + f36.y = CB0[45].w; + float f37 = (2.0 * f33.z) - 1.0; + float f38 = exp(CB0[45].z * f37); + float f39 = -exp((-CB0[45].w) * f37); + vec2 f40 = (f36 * CB0[46].y) * vec2(f38, f39); + vec2 f41 = f40 * f40; + float f42 = f34.x; + float f43 = max(f34.y - (f42 * f42), f41.x); + float f44 = f38 - f42; + float f45 = f34.z; + float f46 = max(f34.w - (f45 * f45), f41.y); + float f47 = f39 - f45; + vec3 f48 = (f21 * f21).xyz; + float f49 = CB0[26].w * f3; + float f50 = max(f17.y, 0.04500000178813934326171875); + vec3 f51 = reflect(-f1, f18); + float f52 = f50 * 5.0; + vec3 f53 = vec4(f51, f52).xyz; + vec4 f54 = texture(PrecomputedBRDFTexture, vec2(f50, max(9.9999997473787516355514526367188e-05, dot(f18, f1)))); + float f55 = f17.x * f49; + vec3 f56 = mix(vec3(0.039999999105930328369140625), f48, vec3(f55)); + vec3 f57 = normalize(f19 + f1); + float f58 = clamp(f20 * ((f20 > 0.0) ? mix(f29, mix(min((f38 <= f42) ? 1.0 : clamp(((f43 / (f43 + (f44 * f44))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f39 <= f45) ? 1.0 : clamp(((f46 / (f46 + (f47 * f47))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f29, clamp((length(f22 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f59 = f50 * f50; + float f60 = max(0.001000000047497451305389404296875, dot(f18, f57)); + float f61 = dot(f19, f57); + float f62 = 1.0 - f61; + float f63 = f62 * f62; + float f64 = (f63 * f63) * f62; + vec3 f65 = vec3(f64) + (f56 * (1.0 - f64)); + float f66 = f59 * f59; + float f67 = (((f60 * f66) - f60) * f60) + 1.0; + float f68 = 1.0 - f55; + float f69 = f49 * f68; + vec3 f70 = vec3(f68); + float f71 = f54.x; + float f72 = f54.y; + vec3 f73 = ((f56 * f71) + vec3(f72)) / vec3(f71 + f72); + vec3 f74 = f70 - (f73 * f69); + vec3 f75 = f18 * f18; + bvec3 f76 = lessThan(f18, vec3(0.0)); + vec3 f77 = vec3(f76.x ? f75.x : vec3(0.0).x, f76.y ? f75.y : vec3(0.0).y, f76.z ? f75.z : vec3(0.0).z); + vec3 f78 = f75 - f77; + float f79 = f78.x; + float f80 = f78.y; + float f81 = f78.z; + float f82 = f77.x; + float f83 = f77.y; + float f84 = f77.z; + vec3 f85 = ((((((CB0[35].xyz * f79) + (CB0[37].xyz * f80)) + (CB0[39].xyz * f81)) + (CB0[36].xyz * f82)) + (CB0[38].xyz * f83)) + (CB0[40].xyz * f84)) + (((((((CB0[29].xyz * f79) + (CB0[31].xyz * f80)) + (CB0[33].xyz * f81)) + (CB0[30].xyz * f82)) + (CB0[32].xyz * f83)) + (CB0[34].xyz * f84)) * f28); + vec3 f86 = (mix(textureLod(PrefilteredEnvIndoorTexture, f53, f52).xyz, textureLod(PrefilteredEnvTexture, f53, f52).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f51.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f28)) * f73) * f49; + vec3 f87 = (((((((f70 - (f65 * f69)) * CB0[10].xyz) * f58) + ((f74 * f85) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f28))) * f48) + (((f65 * (((f66 + (f66 * f66)) / (((f67 * f67) * ((f61 * 3.0) + 0.5)) * ((f60 * 0.75) + 0.25))) * f58)) * CB0[10].xyz) + f86)) + ((f26.xyz * (f26.w * 120.0)).xyz * mix(f48, f86 * (1.0 / (max(max(f85.x, f85.y), f85.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f74) * (f49 * (1.0 - f28)))); + vec4 f88 = vec4(f87.x, f87.y, f87.z, vec4(0.0).w); + f88.w = VARYING2.w; + float f89 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f90 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f89) * 5.0).xyz; + bvec3 f91 = bvec3(CB0[13].w != 0.0); + vec3 f92 = sqrt(clamp(mix(vec3(f91.x ? CB0[14].xyz.x : f90.x, f91.y ? CB0[14].xyz.y : f90.y, f91.z ? CB0[14].xyz.z : f90.z), f88.xyz, vec3(f89)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f93 = vec4(f92.x, f92.y, f92.z, f88.w); + f93.w = VARYING2.w; + _entryPointOutput = f93; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$WangTileMapTexture=s9 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/GridFS_Level512.frag b/shaders/shaders_glsl3/GridFS_Level512.frag new file mode 100644 index 0000000000..551a93ddf8 --- /dev/null +++ b/shaders/shaders_glsl3/GridFS_Level512.frag @@ -0,0 +1,75 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D DiffuseMapTexture; + +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = (CB0[7].xyz - VARYING4.xyz) * CB3[0].x; + vec3 f1 = abs(VARYING5.xyz); + float f2 = f1.x; + float f3 = f1.y; + float f4 = f1.z; + vec2 f5; + if ((f2 >= f3) && (f2 >= f4)) + { + f5 = f0.yz; + } + else + { + vec2 f6; + if ((f3 >= f2) && (f3 >= f4)) + { + f6 = f0.xz; + } + else + { + f6 = f0.xy; + } + f5 = f6; + } + vec4 f7 = texture(DiffuseMapTexture, f5) * VARYING2; + vec3 f8 = f7.xyz; + vec3 f9 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f10 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f11 = VARYING3.yzx - (VARYING3.yzx * f10); + vec4 f12 = vec4(clamp(f10, 0.0, 1.0)); + vec4 f13 = mix(texture(LightMapTexture, f11), vec4(0.0), f12); + vec4 f14 = mix(texture(LightGridSkylightTexture, f11), vec4(1.0), f12); + vec4 f15 = texture(ShadowMapTexture, f9.xy); + float f16 = f9.z; + float f17 = (1.0 - ((step(f15.x, f16) * clamp(CB0[24].z + (CB0[24].w * abs(f16 - 0.5)), 0.0, 1.0)) * f15.y)) * f14.y; + vec3 f18 = (((VARYING6.xyz * f17) + min((f13.xyz * (f13.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f14.x)), vec3(CB0[16].w))) * (f8 * f8).xyz) + (CB0[10].xyz * ((VARYING6.w * f17) * 0.100000001490116119384765625)); + float f19 = f7.w; + vec4 f20 = vec4(f18.x, f18.y, f18.z, vec4(0.0).w); + f20.w = f19; + float f21 = clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f22 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f21) * 5.0).xyz; + bvec3 f23 = bvec3(CB0[13].w != 0.0); + vec3 f24 = sqrt(clamp(mix(vec3(f23.x ? CB0[14].xyz.x : f22.x, f23.y ? CB0[14].xyz.y : f22.y, f23.z ? CB0[14].xyz.z : f22.z), f20.xyz, vec3(f21)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f25 = vec4(f24.x, f24.y, f24.z, f20.w); + f25.w = f19; + _entryPointOutput = f25; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/GridFS_Level520.frag b/shaders/shaders_glsl3/GridFS_Level520.frag new file mode 100644 index 0000000000..6ec7de665a --- /dev/null +++ b/shaders/shaders_glsl3/GridFS_Level520.frag @@ -0,0 +1,96 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D DiffuseMapTexture; + +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = (CB0[7].xyz - VARYING4.xyz) * CB3[0].x; + vec3 f1 = abs(VARYING5.xyz); + float f2 = f1.x; + float f3 = f1.y; + float f4 = f1.z; + vec2 f5; + if ((f2 >= f3) && (f2 >= f4)) + { + f5 = f0.yz; + } + else + { + vec2 f6; + if ((f3 >= f2) && (f3 >= f4)) + { + f6 = f0.xz; + } + else + { + f6 = f0.xy; + } + f5 = f6; + } + vec4 f7 = texture(DiffuseMapTexture, f5) * VARYING2; + vec3 f8 = f7.xyz; + vec3 f9 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f10 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f11 = VARYING3.yzx - (VARYING3.yzx * f10); + vec4 f12 = vec4(clamp(f10, 0.0, 1.0)); + vec4 f13 = mix(texture(LightMapTexture, f11), vec4(0.0), f12); + vec4 f14 = mix(texture(LightGridSkylightTexture, f11), vec4(1.0), f12); + float f15 = f14.y; + vec3 f16 = f9 - CB0[41].xyz; + vec3 f17 = f9 - CB0[42].xyz; + vec3 f18 = f9 - CB0[43].xyz; + vec4 f19 = vec4(f9, 1.0) * mat4(CB8[((dot(f16, f16) < CB0[41].w) ? 0 : ((dot(f17, f17) < CB0[42].w) ? 1 : ((dot(f18, f18) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f16, f16) < CB0[41].w) ? 0 : ((dot(f17, f17) < CB0[42].w) ? 1 : ((dot(f18, f18) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f16, f16) < CB0[41].w) ? 0 : ((dot(f17, f17) < CB0[42].w) ? 1 : ((dot(f18, f18) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f16, f16) < CB0[41].w) ? 0 : ((dot(f17, f17) < CB0[42].w) ? 1 : ((dot(f18, f18) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f20 = textureLod(ShadowAtlasTexture, f19.xy, 0.0); + vec2 f21 = vec2(0.0); + f21.x = CB0[45].z; + vec2 f22 = f21; + f22.y = CB0[45].w; + float f23 = (2.0 * f19.z) - 1.0; + float f24 = exp(CB0[45].z * f23); + float f25 = -exp((-CB0[45].w) * f23); + vec2 f26 = (f22 * CB0[46].y) * vec2(f24, f25); + vec2 f27 = f26 * f26; + float f28 = f20.x; + float f29 = max(f20.y - (f28 * f28), f27.x); + float f30 = f24 - f28; + float f31 = f20.z; + float f32 = max(f20.w - (f31 * f31), f27.y); + float f33 = f25 - f31; + float f34 = (dot(normalize(VARYING5.xyz), -CB0[11].xyz) > 0.0) ? mix(f15, mix(min((f24 <= f28) ? 1.0 : clamp(((f29 / (f29 + (f30 * f30))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f25 <= f31) ? 1.0 : clamp(((f32 / (f32 + (f33 * f33))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f15, clamp((length(f9 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0; + vec3 f35 = (((VARYING6.xyz * f34) + min((f13.xyz * (f13.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f14.x)), vec3(CB0[16].w))) * (f8 * f8).xyz) + (CB0[10].xyz * ((VARYING6.w * f34) * 0.100000001490116119384765625)); + float f36 = f7.w; + vec4 f37 = vec4(f35.x, f35.y, f35.z, vec4(0.0).w); + f37.w = f36; + float f38 = clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f39 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f38) * 5.0).xyz; + bvec3 f40 = bvec3(CB0[13].w != 0.0); + vec3 f41 = sqrt(clamp(mix(vec3(f40.x ? CB0[14].xyz.x : f39.x, f40.y ? CB0[14].xyz.y : f39.y, f40.z ? CB0[14].xyz.z : f39.z), f37.xyz, vec3(f38)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f42 = vec4(f41.x, f41.y, f41.z, f37.w); + f42.w = f36; + _entryPointOutput = f42; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/SmoothClusterHQFS_Level512.frag b/shaders/shaders_glsl3/SmoothClusterHQFS_Level512.frag new file mode 100644 index 0000000000..32c1579a51 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterHQFS_Level512.frag @@ -0,0 +1,100 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec3 VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec3 f1 = vec3(VARYING1.zw, VARYING2.z); + vec4 f2 = ((texture(SpecularMapTexture, f0) * VARYING0.x) + (texture(SpecularMapTexture, f1) * VARYING0.y)) + (texture(SpecularMapTexture, VARYING3.xyz) * VARYING0.z); + vec4 f3 = ((texture(AlbedoMapTexture, f0).yxzw * VARYING0.x) + (texture(AlbedoMapTexture, f1).yxzw * VARYING0.y)) + (texture(AlbedoMapTexture, VARYING3.xyz).yxzw * VARYING0.z); + vec2 f4 = f3.yz - vec2(0.5); + float f5 = f3.x; + float f6 = f5 - f4.y; + vec3 f7 = vec4(vec3(f6, f5, f6) + (vec3(f4.xyx) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f8 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + vec3 f9 = normalize(VARYING6); + vec3 f10 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f11 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f12 = VARYING4.yzx - (VARYING4.yzx * f11); + vec4 f13 = vec4(clamp(f11, 0.0, 1.0)); + vec4 f14 = mix(texture(LightMapTexture, f12), vec4(0.0), f13); + vec4 f15 = mix(texture(LightGridSkylightTexture, f12), vec4(1.0), f13); + float f16 = f15.x; + vec4 f17 = texture(ShadowMapTexture, f10.xy); + float f18 = f10.z; + vec3 f19 = normalize(VARYING8); + vec3 f20 = (f7 * f7).xyz; + float f21 = f2.y; + float f22 = CB0[26].w * f8; + vec3 f23 = reflect(-f19, f9); + vec3 f24 = -CB0[11].xyz; + float f25 = dot(f9, f24) * ((1.0 - ((step(f17.x, f18) * clamp(CB0[24].z + (CB0[24].w * abs(f18 - 0.5)), 0.0, 1.0)) * f17.y)) * f15.y); + vec3 f26 = normalize(f24 + f19); + float f27 = clamp(f25, 0.0, 1.0); + float f28 = f21 * f21; + float f29 = max(0.001000000047497451305389404296875, dot(f9, f26)); + float f30 = dot(f24, f26); + float f31 = 1.0 - f30; + float f32 = f31 * f31; + float f33 = (f32 * f32) * f31; + vec3 f34 = vec3(f33) + (vec3(0.039999999105930328369140625) * (1.0 - f33)); + float f35 = f28 * f28; + float f36 = (((f29 * f35) - f29) * f29) + 1.0; + float f37 = f21 * 5.0; + vec3 f38 = vec4(f23, f37).xyz; + vec4 f39 = texture(PrecomputedBRDFTexture, vec2(f21, max(9.9999997473787516355514526367188e-05, dot(f9, f19)))); + float f40 = f39.x; + float f41 = f39.y; + vec3 f42 = ((vec3(0.039999999105930328369140625) * f40) + vec3(f41)) / vec3(f40 + f41); + vec3 f43 = f42 * f22; + vec3 f44 = f9 * f9; + bvec3 f45 = lessThan(f9, vec3(0.0)); + vec3 f46 = vec3(f45.x ? f44.x : vec3(0.0).x, f45.y ? f44.y : vec3(0.0).y, f45.z ? f44.z : vec3(0.0).z); + vec3 f47 = f44 - f46; + float f48 = f47.x; + float f49 = f47.y; + float f50 = f47.z; + float f51 = f46.x; + float f52 = f46.y; + float f53 = f46.z; + vec3 f54 = ((((((CB0[35].xyz * f48) + (CB0[37].xyz * f49)) + (CB0[39].xyz * f50)) + (CB0[36].xyz * f51)) + (CB0[38].xyz * f52)) + (CB0[40].xyz * f53)) + (((((((CB0[29].xyz * f48) + (CB0[31].xyz * f49)) + (CB0[33].xyz * f50)) + (CB0[30].xyz * f51)) + (CB0[32].xyz * f52)) + (CB0[34].xyz * f53)) * f16); + vec3 f55 = (mix(textureLod(PrefilteredEnvIndoorTexture, f38, f37).xyz, textureLod(PrefilteredEnvTexture, f38, f37).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f23.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f16)) * f42) * f22; + vec3 f56 = (((((((((vec3(1.0) - (f34 * f22)) * CB0[10].xyz) * f27) + (CB0[12].xyz * clamp(-f25, 0.0, 1.0))) + (((vec3(1.0) - f43) * f54) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f16))) + vec3((f2.z * 2.0) * f8)) * f20) + (((((f34 * (((f35 + (f35 * f35)) / (((f36 * f36) * ((f30 * 3.0) + 0.5)) * ((f29 * 0.75) + 0.25))) * f27)) * CB0[10].xyz) * f8) * VARYING0.w) + f55)) + ((f14.xyz * (f14.w * 120.0)).xyz * mix(f20, f55 * (1.0 / (max(max(f54.x, f54.y), f54.z) + 0.00999999977648258209228515625)), f43 * (f22 * (1.0 - f16)))); + vec4 f57 = vec4(f56.x, f56.y, f56.z, vec4(0.0).w); + f57.w = 1.0; + float f58 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f59 = textureLod(PrefilteredEnvTexture, vec4(-VARYING8, 0.0).xyz, max(CB0[13].y, f58) * 5.0).xyz; + bvec3 f60 = bvec3(CB0[13].w != 0.0); + vec3 f61 = sqrt(clamp(mix(vec3(f60.x ? CB0[14].xyz.x : f59.x, f60.y ? CB0[14].xyz.y : f59.y, f60.z ? CB0[14].xyz.z : f59.z), f57.xyz, vec3(f58)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f61.x, f61.y, f61.z, f57.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 diff --git a/shaders/shaders_glsl3/SmoothClusterHQFS_Level520.frag b/shaders/shaders_glsl3/SmoothClusterHQFS_Level520.frag new file mode 100644 index 0000000000..91c90110ef --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterHQFS_Level520.frag @@ -0,0 +1,121 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec3 f1 = vec3(VARYING1.zw, VARYING2.z); + vec4 f2 = ((texture(SpecularMapTexture, f0) * VARYING0.x) + (texture(SpecularMapTexture, f1) * VARYING0.y)) + (texture(SpecularMapTexture, VARYING3.xyz) * VARYING0.z); + vec4 f3 = ((texture(AlbedoMapTexture, f0).yxzw * VARYING0.x) + (texture(AlbedoMapTexture, f1).yxzw * VARYING0.y)) + (texture(AlbedoMapTexture, VARYING3.xyz).yxzw * VARYING0.z); + vec2 f4 = f3.yz - vec2(0.5); + float f5 = f3.x; + float f6 = f5 - f4.y; + vec3 f7 = vec4(vec3(f6, f5, f6) + (vec3(f4.xyx) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + vec3 f8 = CB0[7].xyz - VARYING5.xyz; + float f9 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + vec3 f10 = normalize(VARYING6); + vec3 f11 = -CB0[11].xyz; + float f12 = dot(f10, f11); + vec3 f13 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f14 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f15 = VARYING4.yzx - (VARYING4.yzx * f14); + vec4 f16 = vec4(clamp(f14, 0.0, 1.0)); + vec4 f17 = mix(texture(LightMapTexture, f15), vec4(0.0), f16); + vec4 f18 = mix(texture(LightGridSkylightTexture, f15), vec4(1.0), f16); + float f19 = f18.x; + float f20 = f18.y; + vec3 f21 = f13 - CB0[41].xyz; + vec3 f22 = f13 - CB0[42].xyz; + vec3 f23 = f13 - CB0[43].xyz; + vec4 f24 = vec4(f13, 1.0) * mat4(CB8[((dot(f21, f21) < CB0[41].w) ? 0 : ((dot(f22, f22) < CB0[42].w) ? 1 : ((dot(f23, f23) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f21, f21) < CB0[41].w) ? 0 : ((dot(f22, f22) < CB0[42].w) ? 1 : ((dot(f23, f23) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f21, f21) < CB0[41].w) ? 0 : ((dot(f22, f22) < CB0[42].w) ? 1 : ((dot(f23, f23) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f21, f21) < CB0[41].w) ? 0 : ((dot(f22, f22) < CB0[42].w) ? 1 : ((dot(f23, f23) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f25 = textureLod(ShadowAtlasTexture, f24.xy, 0.0); + vec2 f26 = vec2(0.0); + f26.x = CB0[45].z; + vec2 f27 = f26; + f27.y = CB0[45].w; + float f28 = (2.0 * f24.z) - 1.0; + float f29 = exp(CB0[45].z * f28); + float f30 = -exp((-CB0[45].w) * f28); + vec2 f31 = (f27 * CB0[46].y) * vec2(f29, f30); + vec2 f32 = f31 * f31; + float f33 = f25.x; + float f34 = max(f25.y - (f33 * f33), f32.x); + float f35 = f29 - f33; + float f36 = f25.z; + float f37 = max(f25.w - (f36 * f36), f32.y); + float f38 = f30 - f36; + vec3 f39 = normalize(f8); + vec3 f40 = (f7 * f7).xyz; + float f41 = f2.y; + float f42 = CB0[26].w * f9; + vec3 f43 = reflect(-f39, f10); + vec3 f44 = normalize(f11 + f39); + float f45 = clamp(f12 * ((f12 > 0.0) ? mix(f20, mix(min((f29 <= f33) ? 1.0 : clamp(((f34 / (f34 + (f35 * f35))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f30 <= f36) ? 1.0 : clamp(((f37 / (f37 + (f38 * f38))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f20, clamp((length(f13 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f46 = f41 * f41; + float f47 = max(0.001000000047497451305389404296875, dot(f10, f44)); + float f48 = dot(f11, f44); + float f49 = 1.0 - f48; + float f50 = f49 * f49; + float f51 = (f50 * f50) * f49; + vec3 f52 = vec3(f51) + (vec3(0.039999999105930328369140625) * (1.0 - f51)); + float f53 = f46 * f46; + float f54 = (((f47 * f53) - f47) * f47) + 1.0; + float f55 = f41 * 5.0; + vec3 f56 = vec4(f43, f55).xyz; + vec4 f57 = texture(PrecomputedBRDFTexture, vec2(f41, max(9.9999997473787516355514526367188e-05, dot(f10, f39)))); + float f58 = f57.x; + float f59 = f57.y; + vec3 f60 = ((vec3(0.039999999105930328369140625) * f58) + vec3(f59)) / vec3(f58 + f59); + vec3 f61 = f60 * f42; + vec3 f62 = f10 * f10; + bvec3 f63 = lessThan(f10, vec3(0.0)); + vec3 f64 = vec3(f63.x ? f62.x : vec3(0.0).x, f63.y ? f62.y : vec3(0.0).y, f63.z ? f62.z : vec3(0.0).z); + vec3 f65 = f62 - f64; + float f66 = f65.x; + float f67 = f65.y; + float f68 = f65.z; + float f69 = f64.x; + float f70 = f64.y; + float f71 = f64.z; + vec3 f72 = ((((((CB0[35].xyz * f66) + (CB0[37].xyz * f67)) + (CB0[39].xyz * f68)) + (CB0[36].xyz * f69)) + (CB0[38].xyz * f70)) + (CB0[40].xyz * f71)) + (((((((CB0[29].xyz * f66) + (CB0[31].xyz * f67)) + (CB0[33].xyz * f68)) + (CB0[30].xyz * f69)) + (CB0[32].xyz * f70)) + (CB0[34].xyz * f71)) * f19); + vec3 f73 = (mix(textureLod(PrefilteredEnvIndoorTexture, f56, f55).xyz, textureLod(PrefilteredEnvTexture, f56, f55).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f43.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f19)) * f60) * f42; + vec3 f74 = ((((((((vec3(1.0) - (f52 * f42)) * CB0[10].xyz) * f45) + (((vec3(1.0) - f61) * f72) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f19))) + vec3((f2.z * 2.0) * f9)) * f40) + (((((f52 * (((f53 + (f53 * f53)) / (((f54 * f54) * ((f48 * 3.0) + 0.5)) * ((f47 * 0.75) + 0.25))) * f45)) * CB0[10].xyz) * f9) * VARYING0.w) + f73)) + ((f17.xyz * (f17.w * 120.0)).xyz * mix(f40, f73 * (1.0 / (max(max(f72.x, f72.y), f72.z) + 0.00999999977648258209228515625)), f61 * (f42 * (1.0 - f19)))); + vec4 f75 = vec4(f74.x, f74.y, f74.z, vec4(0.0).w); + f75.w = 1.0; + float f76 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f77 = textureLod(PrefilteredEnvTexture, vec4(-f8, 0.0).xyz, max(CB0[13].y, f76) * 5.0).xyz; + bvec3 f78 = bvec3(CB0[13].w != 0.0); + vec3 f79 = sqrt(clamp(mix(vec3(f78.x ? CB0[14].xyz.x : f77.x, f78.y ? CB0[14].xyz.y : f77.y, f78.z ? CB0[14].xyz.z : f77.z), f75.xyz, vec3(f76)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f79.x, f79.y, f79.z, f75.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 diff --git a/shaders/shaders_glsl3/SmoothClusterHQFS_Level768.frag b/shaders/shaders_glsl3/SmoothClusterHQFS_Level768.frag new file mode 100644 index 0000000000..47c7713c6b --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterHQFS_Level768.frag @@ -0,0 +1,105 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec3 VARYING8; +in vec4 VARYING9; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec3 f1 = vec3(VARYING1.zw, VARYING2.z); + vec4 f2 = ((texture(SpecularMapTexture, f0) * VARYING0.x) + (texture(SpecularMapTexture, f1) * VARYING0.y)) + (texture(SpecularMapTexture, VARYING3.xyz) * VARYING0.z); + vec4 f3 = ((texture(AlbedoMapTexture, f0).yxzw * VARYING0.x) + (texture(AlbedoMapTexture, f1).yxzw * VARYING0.y)) + (texture(AlbedoMapTexture, VARYING3.xyz).yxzw * VARYING0.z); + vec2 f4 = f3.yz - vec2(0.5); + float f5 = VARYING9.x * f3.x; + float f6 = f4.x; + float f7 = f4.y; + float f8 = (VARYING9.y * f6) - (VARYING9.z * f7); + float f9 = (VARYING9.z * f6) + (VARYING9.y * f7); + float f10 = f5 - f9; + vec3 f11 = vec4(vec3(f10, f5, f10) + (vec3(f8, f9, f8) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f12 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + vec3 f13 = normalize(VARYING6); + vec3 f14 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f15 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f16 = VARYING4.yzx - (VARYING4.yzx * f15); + vec4 f17 = vec4(clamp(f15, 0.0, 1.0)); + vec4 f18 = mix(texture(LightMapTexture, f16), vec4(0.0), f17); + vec4 f19 = mix(texture(LightGridSkylightTexture, f16), vec4(1.0), f17); + float f20 = f19.x; + vec4 f21 = texture(ShadowMapTexture, f14.xy); + float f22 = f14.z; + vec3 f23 = normalize(VARYING8); + vec3 f24 = (f11 * f11).xyz; + float f25 = f2.y; + float f26 = CB0[26].w * f12; + vec3 f27 = reflect(-f23, f13); + vec3 f28 = -CB0[11].xyz; + float f29 = dot(f13, f28) * ((1.0 - ((step(f21.x, f22) * clamp(CB0[24].z + (CB0[24].w * abs(f22 - 0.5)), 0.0, 1.0)) * f21.y)) * f19.y); + vec3 f30 = normalize(f28 + f23); + float f31 = clamp(f29, 0.0, 1.0); + float f32 = f25 * f25; + float f33 = max(0.001000000047497451305389404296875, dot(f13, f30)); + float f34 = dot(f28, f30); + float f35 = 1.0 - f34; + float f36 = f35 * f35; + float f37 = (f36 * f36) * f35; + vec3 f38 = vec3(f37) + (vec3(0.039999999105930328369140625) * (1.0 - f37)); + float f39 = f32 * f32; + float f40 = (((f33 * f39) - f33) * f33) + 1.0; + float f41 = f25 * 5.0; + vec3 f42 = vec4(f27, f41).xyz; + vec4 f43 = texture(PrecomputedBRDFTexture, vec2(f25, max(9.9999997473787516355514526367188e-05, dot(f13, f23)))); + float f44 = f43.x; + float f45 = f43.y; + vec3 f46 = ((vec3(0.039999999105930328369140625) * f44) + vec3(f45)) / vec3(f44 + f45); + vec3 f47 = f46 * f26; + vec3 f48 = f13 * f13; + bvec3 f49 = lessThan(f13, vec3(0.0)); + vec3 f50 = vec3(f49.x ? f48.x : vec3(0.0).x, f49.y ? f48.y : vec3(0.0).y, f49.z ? f48.z : vec3(0.0).z); + vec3 f51 = f48 - f50; + float f52 = f51.x; + float f53 = f51.y; + float f54 = f51.z; + float f55 = f50.x; + float f56 = f50.y; + float f57 = f50.z; + vec3 f58 = ((((((CB0[35].xyz * f52) + (CB0[37].xyz * f53)) + (CB0[39].xyz * f54)) + (CB0[36].xyz * f55)) + (CB0[38].xyz * f56)) + (CB0[40].xyz * f57)) + (((((((CB0[29].xyz * f52) + (CB0[31].xyz * f53)) + (CB0[33].xyz * f54)) + (CB0[30].xyz * f55)) + (CB0[32].xyz * f56)) + (CB0[34].xyz * f57)) * f20); + vec3 f59 = (mix(textureLod(PrefilteredEnvIndoorTexture, f42, f41).xyz, textureLod(PrefilteredEnvTexture, f42, f41).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f27.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f20)) * f46) * f26; + vec3 f60 = (((((((((vec3(1.0) - (f38 * f26)) * CB0[10].xyz) * f31) + (CB0[12].xyz * clamp(-f29, 0.0, 1.0))) + (((vec3(1.0) - f47) * f58) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f20))) + vec3((f2.z * 2.0) * f12)) * f24) + (((((f38 * (((f39 + (f39 * f39)) / (((f40 * f40) * ((f34 * 3.0) + 0.5)) * ((f33 * 0.75) + 0.25))) * f31)) * CB0[10].xyz) * f12) * VARYING0.w) + f59)) + ((f18.xyz * (f18.w * 120.0)).xyz * mix(f24, f59 * (1.0 / (max(max(f58.x, f58.y), f58.z) + 0.00999999977648258209228515625)), f47 * (f26 * (1.0 - f20)))); + vec4 f61 = vec4(f60.x, f60.y, f60.z, vec4(0.0).w); + f61.w = 1.0; + float f62 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f63 = textureLod(PrefilteredEnvTexture, vec4(-VARYING8, 0.0).xyz, max(CB0[13].y, f62) * 5.0).xyz; + bvec3 f64 = bvec3(CB0[13].w != 0.0); + vec3 f65 = sqrt(clamp(mix(vec3(f64.x ? CB0[14].xyz.x : f63.x, f64.y ? CB0[14].xyz.y : f63.y, f64.z ? CB0[14].xyz.z : f63.z), f61.xyz, vec3(f62)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f65.x, f65.y, f65.z, f61.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 diff --git a/shaders/shaders_glsl3/SmoothClusterHQFS_Level776.frag b/shaders/shaders_glsl3/SmoothClusterHQFS_Level776.frag new file mode 100644 index 0000000000..c56a7d5d2b --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterHQFS_Level776.frag @@ -0,0 +1,126 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec4 VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec3 f1 = vec3(VARYING1.zw, VARYING2.z); + vec4 f2 = ((texture(SpecularMapTexture, f0) * VARYING0.x) + (texture(SpecularMapTexture, f1) * VARYING0.y)) + (texture(SpecularMapTexture, VARYING3.xyz) * VARYING0.z); + vec4 f3 = ((texture(AlbedoMapTexture, f0).yxzw * VARYING0.x) + (texture(AlbedoMapTexture, f1).yxzw * VARYING0.y)) + (texture(AlbedoMapTexture, VARYING3.xyz).yxzw * VARYING0.z); + vec2 f4 = f3.yz - vec2(0.5); + float f5 = VARYING8.x * f3.x; + float f6 = f4.x; + float f7 = f4.y; + float f8 = (VARYING8.y * f6) - (VARYING8.z * f7); + float f9 = (VARYING8.z * f6) + (VARYING8.y * f7); + float f10 = f5 - f9; + vec3 f11 = vec4(vec3(f10, f5, f10) + (vec3(f8, f9, f8) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + vec3 f12 = CB0[7].xyz - VARYING5.xyz; + float f13 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + vec3 f14 = normalize(VARYING6); + vec3 f15 = -CB0[11].xyz; + float f16 = dot(f14, f15); + vec3 f17 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f18 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f19 = VARYING4.yzx - (VARYING4.yzx * f18); + vec4 f20 = vec4(clamp(f18, 0.0, 1.0)); + vec4 f21 = mix(texture(LightMapTexture, f19), vec4(0.0), f20); + vec4 f22 = mix(texture(LightGridSkylightTexture, f19), vec4(1.0), f20); + float f23 = f22.x; + float f24 = f22.y; + vec3 f25 = f17 - CB0[41].xyz; + vec3 f26 = f17 - CB0[42].xyz; + vec3 f27 = f17 - CB0[43].xyz; + vec4 f28 = vec4(f17, 1.0) * mat4(CB8[((dot(f25, f25) < CB0[41].w) ? 0 : ((dot(f26, f26) < CB0[42].w) ? 1 : ((dot(f27, f27) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f25, f25) < CB0[41].w) ? 0 : ((dot(f26, f26) < CB0[42].w) ? 1 : ((dot(f27, f27) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f25, f25) < CB0[41].w) ? 0 : ((dot(f26, f26) < CB0[42].w) ? 1 : ((dot(f27, f27) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f25, f25) < CB0[41].w) ? 0 : ((dot(f26, f26) < CB0[42].w) ? 1 : ((dot(f27, f27) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f29 = textureLod(ShadowAtlasTexture, f28.xy, 0.0); + vec2 f30 = vec2(0.0); + f30.x = CB0[45].z; + vec2 f31 = f30; + f31.y = CB0[45].w; + float f32 = (2.0 * f28.z) - 1.0; + float f33 = exp(CB0[45].z * f32); + float f34 = -exp((-CB0[45].w) * f32); + vec2 f35 = (f31 * CB0[46].y) * vec2(f33, f34); + vec2 f36 = f35 * f35; + float f37 = f29.x; + float f38 = max(f29.y - (f37 * f37), f36.x); + float f39 = f33 - f37; + float f40 = f29.z; + float f41 = max(f29.w - (f40 * f40), f36.y); + float f42 = f34 - f40; + vec3 f43 = normalize(f12); + vec3 f44 = (f11 * f11).xyz; + float f45 = f2.y; + float f46 = CB0[26].w * f13; + vec3 f47 = reflect(-f43, f14); + vec3 f48 = normalize(f15 + f43); + float f49 = clamp(f16 * ((f16 > 0.0) ? mix(f24, mix(min((f33 <= f37) ? 1.0 : clamp(((f38 / (f38 + (f39 * f39))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f34 <= f40) ? 1.0 : clamp(((f41 / (f41 + (f42 * f42))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f24, clamp((length(f17 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f50 = f45 * f45; + float f51 = max(0.001000000047497451305389404296875, dot(f14, f48)); + float f52 = dot(f15, f48); + float f53 = 1.0 - f52; + float f54 = f53 * f53; + float f55 = (f54 * f54) * f53; + vec3 f56 = vec3(f55) + (vec3(0.039999999105930328369140625) * (1.0 - f55)); + float f57 = f50 * f50; + float f58 = (((f51 * f57) - f51) * f51) + 1.0; + float f59 = f45 * 5.0; + vec3 f60 = vec4(f47, f59).xyz; + vec4 f61 = texture(PrecomputedBRDFTexture, vec2(f45, max(9.9999997473787516355514526367188e-05, dot(f14, f43)))); + float f62 = f61.x; + float f63 = f61.y; + vec3 f64 = ((vec3(0.039999999105930328369140625) * f62) + vec3(f63)) / vec3(f62 + f63); + vec3 f65 = f64 * f46; + vec3 f66 = f14 * f14; + bvec3 f67 = lessThan(f14, vec3(0.0)); + vec3 f68 = vec3(f67.x ? f66.x : vec3(0.0).x, f67.y ? f66.y : vec3(0.0).y, f67.z ? f66.z : vec3(0.0).z); + vec3 f69 = f66 - f68; + float f70 = f69.x; + float f71 = f69.y; + float f72 = f69.z; + float f73 = f68.x; + float f74 = f68.y; + float f75 = f68.z; + vec3 f76 = ((((((CB0[35].xyz * f70) + (CB0[37].xyz * f71)) + (CB0[39].xyz * f72)) + (CB0[36].xyz * f73)) + (CB0[38].xyz * f74)) + (CB0[40].xyz * f75)) + (((((((CB0[29].xyz * f70) + (CB0[31].xyz * f71)) + (CB0[33].xyz * f72)) + (CB0[30].xyz * f73)) + (CB0[32].xyz * f74)) + (CB0[34].xyz * f75)) * f23); + vec3 f77 = (mix(textureLod(PrefilteredEnvIndoorTexture, f60, f59).xyz, textureLod(PrefilteredEnvTexture, f60, f59).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f47.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f23)) * f64) * f46; + vec3 f78 = ((((((((vec3(1.0) - (f56 * f46)) * CB0[10].xyz) * f49) + (((vec3(1.0) - f65) * f76) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f23))) + vec3((f2.z * 2.0) * f13)) * f44) + (((((f56 * (((f57 + (f57 * f57)) / (((f58 * f58) * ((f52 * 3.0) + 0.5)) * ((f51 * 0.75) + 0.25))) * f49)) * CB0[10].xyz) * f13) * VARYING0.w) + f77)) + ((f21.xyz * (f21.w * 120.0)).xyz * mix(f44, f77 * (1.0 / (max(max(f76.x, f76.y), f76.z) + 0.00999999977648258209228515625)), f65 * (f46 * (1.0 - f23)))); + vec4 f79 = vec4(f78.x, f78.y, f78.z, vec4(0.0).w); + f79.w = 1.0; + float f80 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f81 = textureLod(PrefilteredEnvTexture, vec4(-f12, 0.0).xyz, max(CB0[13].y, f80) * 5.0).xyz; + bvec3 f82 = bvec3(CB0[13].w != 0.0); + vec3 f83 = sqrt(clamp(mix(vec3(f82.x ? CB0[14].xyz.x : f81.x, f82.y ? CB0[14].xyz.y : f81.y, f82.z ? CB0[14].xyz.z : f81.z), f79.xyz, vec3(f80)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f83.x, f83.y, f83.z, f79.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 diff --git a/shaders/shaders_glsl3/SmoothClusterHQVS_Level512.vert b/shaders/shaders_glsl3/SmoothClusterHQVS_Level512.vert new file mode 100644 index 0000000000..1e0c3c27bc --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterHQVS_Level512.vert @@ -0,0 +1,59 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; +out vec3 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + vec2 v8 = vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x; + float v9 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v7 * 1 + 0].z; + int v10 = int(TEXCOORD1.y); + int v11 = 36 + int(TEXCOORD0.y); + vec2 v12 = vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x; + float v13 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v11 * 1 + 0].z; + int v14 = int(TEXCOORD1.z); + int v15 = 36 + int(TEXCOORD0.z); + vec2 v16 = vec2(dot(v0, CB2[v14 * 1 + 0].xyz), dot(v0, CB2[(18 + v14) * 1 + 0].xyz)) * CB2[v15 * 1 + 0].x; + float v17 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v15 * 1 + 0].z; + vec4 v18 = vec4(0.0); + v18.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v19 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v20 = vec3(v19.x ? vec3(1.0).x : vec3(0.0).x, v19.y ? vec3(1.0).y : vec3(0.0).y, v19.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v21 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v20.x, v20.y, v20.z, v18.w); + VARYING1 = vec4(((v8 * sqrt(1.0 - (v9 * v9))) + (v8.yx * vec2(v9, -v9))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), ((v12 * sqrt(1.0 - (v13 * v13))) + (v12.yx * vec2(v13, -v13))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v16 * sqrt(1.0 - (v17 * v17))) + (v16.yx * vec2(v17, -v17))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v15 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v21.x ? vec3(1.0).x : vec3(0.0).x, v21.y ? vec3(1.0).y : vec3(0.0).y, v21.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = v5; +} + diff --git a/shaders/shaders_glsl3/SmoothClusterHQVS_Level520.vert b/shaders/shaders_glsl3/SmoothClusterHQVS_Level520.vert new file mode 100644 index 0000000000..c6c1304734 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterHQVS_Level520.vert @@ -0,0 +1,56 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + float v2 = v0.x; + vec4 v3 = vec4(v2, v0.yz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + int v5 = int(TEXCOORD1.x); + int v6 = 36 + int(TEXCOORD0.x); + vec2 v7 = vec2(dot(v0, CB2[v5 * 1 + 0].xyz), dot(v0, CB2[(18 + v5) * 1 + 0].xyz)) * CB2[v6 * 1 + 0].x; + float v8 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v6 * 1 + 0].z; + int v9 = int(TEXCOORD1.y); + int v10 = 36 + int(TEXCOORD0.y); + vec2 v11 = vec2(dot(v0, CB2[v9 * 1 + 0].xyz), dot(v0, CB2[(18 + v9) * 1 + 0].xyz)) * CB2[v10 * 1 + 0].x; + float v12 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v10 * 1 + 0].z; + int v13 = int(TEXCOORD1.z); + int v14 = 36 + int(TEXCOORD0.z); + vec2 v15 = vec2(dot(v0, CB2[v13 * 1 + 0].xyz), dot(v0, CB2[(18 + v13) * 1 + 0].xyz)) * CB2[v14 * 1 + 0].x; + float v16 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v14 * 1 + 0].z; + vec4 v17 = vec4(0.0); + v17.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v18 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v19 = vec3(v18.x ? vec3(1.0).x : vec3(0.0).x, v18.y ? vec3(1.0).y : vec3(0.0).y, v18.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v20 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v19.x, v19.y, v19.z, v17.w); + VARYING1 = vec4(((v7 * sqrt(1.0 - (v8 * v8))) + (v7.yx * vec2(v8, -v8))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v6 * 1 + 0].y), ((v11 * sqrt(1.0 - (v12 * v12))) + (v11.yx * vec2(v12, -v12))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v10 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v15 * sqrt(1.0 - (v16 * v16))) + (v15.yx * vec2(v16, -v16))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v14 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(v2, v0.yz, length(CB0[7].xyz - v0)); + VARYING6 = v1; + VARYING7 = vec3(v20.x ? vec3(1.0).x : vec3(0.0).x, v20.y ? vec3(1.0).y : vec3(0.0).y, v20.z ? vec3(1.0).z : vec3(0.0).z); +} + diff --git a/shaders/shaders_glsl3/SmoothClusterHQVS_Level768.vert b/shaders/shaders_glsl3/SmoothClusterHQVS_Level768.vert new file mode 100644 index 0000000000..dfd08e343b --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterHQVS_Level768.vert @@ -0,0 +1,62 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +uniform vec4 CB4[36]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; +out vec3 VARYING8; +out vec4 VARYING9; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + vec2 v8 = vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x; + float v9 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v7 * 1 + 0].z; + int v10 = int(TEXCOORD1.y); + int v11 = 36 + int(TEXCOORD0.y); + vec2 v12 = vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x; + float v13 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v11 * 1 + 0].z; + int v14 = int(TEXCOORD1.z); + int v15 = 36 + int(TEXCOORD0.z); + vec2 v16 = vec2(dot(v0, CB2[v14 * 1 + 0].xyz), dot(v0, CB2[(18 + v14) * 1 + 0].xyz)) * CB2[v15 * 1 + 0].x; + float v17 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v15 * 1 + 0].z; + vec4 v18 = vec4(0.0); + v18.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v19 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v20 = vec3(v19.x ? vec3(1.0).x : vec3(0.0).x, v19.y ? vec3(1.0).y : vec3(0.0).y, v19.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v21 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v20.x, v20.y, v20.z, v18.w); + VARYING1 = vec4(((v8 * sqrt(1.0 - (v9 * v9))) + (v8.yx * vec2(v9, -v9))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), ((v12 * sqrt(1.0 - (v13 * v13))) + (v12.yx * vec2(v13, -v13))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v16 * sqrt(1.0 - (v17 * v17))) + (v16.yx * vec2(v17, -v17))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v15 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v21.x ? vec3(1.0).x : vec3(0.0).x, v21.y ? vec3(1.0).y : vec3(0.0).y, v21.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = v5; + VARYING9 = ((CB4[int(TEXCOORD0.x + 0.5) * 1 + 0] * v20.x) + (CB4[int(TEXCOORD0.y + 0.5) * 1 + 0] * v20.y)) + (CB4[int(TEXCOORD0.z + 0.5) * 1 + 0] * v20.z); +} + diff --git a/shaders/shaders_glsl3/SmoothClusterHQVS_Level776.vert b/shaders/shaders_glsl3/SmoothClusterHQVS_Level776.vert new file mode 100644 index 0000000000..d745e6d2e8 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterHQVS_Level776.vert @@ -0,0 +1,59 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +uniform vec4 CB4[36]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; +out vec4 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + float v2 = v0.x; + vec4 v3 = vec4(v2, v0.yz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + int v5 = int(TEXCOORD1.x); + int v6 = 36 + int(TEXCOORD0.x); + vec2 v7 = vec2(dot(v0, CB2[v5 * 1 + 0].xyz), dot(v0, CB2[(18 + v5) * 1 + 0].xyz)) * CB2[v6 * 1 + 0].x; + float v8 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v6 * 1 + 0].z; + int v9 = int(TEXCOORD1.y); + int v10 = 36 + int(TEXCOORD0.y); + vec2 v11 = vec2(dot(v0, CB2[v9 * 1 + 0].xyz), dot(v0, CB2[(18 + v9) * 1 + 0].xyz)) * CB2[v10 * 1 + 0].x; + float v12 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v10 * 1 + 0].z; + int v13 = int(TEXCOORD1.z); + int v14 = 36 + int(TEXCOORD0.z); + vec2 v15 = vec2(dot(v0, CB2[v13 * 1 + 0].xyz), dot(v0, CB2[(18 + v13) * 1 + 0].xyz)) * CB2[v14 * 1 + 0].x; + float v16 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v14 * 1 + 0].z; + vec4 v17 = vec4(0.0); + v17.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v18 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v19 = vec3(v18.x ? vec3(1.0).x : vec3(0.0).x, v18.y ? vec3(1.0).y : vec3(0.0).y, v18.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v20 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v19.x, v19.y, v19.z, v17.w); + VARYING1 = vec4(((v7 * sqrt(1.0 - (v8 * v8))) + (v7.yx * vec2(v8, -v8))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v6 * 1 + 0].y), ((v11 * sqrt(1.0 - (v12 * v12))) + (v11.yx * vec2(v12, -v12))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v10 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v15 * sqrt(1.0 - (v16 * v16))) + (v15.yx * vec2(v16, -v16))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v14 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(v2, v0.yz, length(CB0[7].xyz - v0)); + VARYING6 = v1; + VARYING7 = vec3(v20.x ? vec3(1.0).x : vec3(0.0).x, v20.y ? vec3(1.0).y : vec3(0.0).y, v20.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = ((CB4[int(TEXCOORD0.x + 0.5) * 1 + 0] * v19.x) + (CB4[int(TEXCOORD0.y + 0.5) * 1 + 0] * v19.y)) + (CB4[int(TEXCOORD0.z + 0.5) * 1 + 0] * v19.z); +} + diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level512.frag b/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level512.frag new file mode 100644 index 0000000000..26566e3358 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level512.frag @@ -0,0 +1,147 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB5[74]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; +uniform sampler2DArray NormalMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec3 VARYING7; +in vec4 VARYING8; +in vec3 VARYING9; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec4 f1 = texture(SpecularMapTexture, f0); + vec3 f2 = vec3(VARYING1.zw, VARYING2.z); + vec4 f3 = texture(SpecularMapTexture, f2); + vec4 f4 = texture(SpecularMapTexture, VARYING3.xyz); + vec3 f5; + if (VARYING8.w < 1.0) + { + ivec3 f6 = ivec3(VARYING8.xyz + vec3(0.5)); + int f7 = f6.x; + int f8 = f6.y; + int f9 = f6.z; + float f10 = dot(VARYING0.xyz, vec3(CB5[f7 * 1 + 0].z, CB5[f8 * 1 + 0].z, CB5[f9 * 1 + 0].z)); + float f11 = f1.w; + float f12 = f3.w; + float f13 = f4.w; + vec3 f14 = vec3(f11, f12, f13); + f14.x = clamp((f11 * CB5[f7 * 1 + 0].x) + CB5[f7 * 1 + 0].y, 0.0, 1.0); + vec3 f15 = f14; + f15.y = clamp((f12 * CB5[f8 * 1 + 0].x) + CB5[f8 * 1 + 0].y, 0.0, 1.0); + vec3 f16 = f15; + f16.z = clamp((f13 * CB5[f9 * 1 + 0].x) + CB5[f9 * 1 + 0].y, 0.0, 1.0); + vec3 f17 = VARYING0.xyz * f16; + float f18 = 1.0 / f10; + float f19 = 0.5 * f10; + float f20 = f17.x; + float f21 = f17.y; + float f22 = f17.z; + float f23 = clamp(((f20 - max(f21, f22)) + f19) * f18, 0.0, 1.0); + float f24 = clamp(((f21 - max(f20, f22)) + f19) * f18, 0.0, 1.0); + float f25 = clamp(((f22 - max(f20, f21)) + f19) * f18, 0.0, 1.0); + vec2 f26 = dFdx(VARYING1.xy); + vec2 f27 = dFdy(VARYING1.xy); + f5 = mix(vec3(f23, f24, f25) / vec3((f23 + f24) + f25), VARYING0.xyz, vec3(clamp((sqrt(max(dot(f26, f26), dot(f27, f27))) * 7.0) + clamp(VARYING8.w, 0.0, 1.0), 0.0, 1.0))); + } + else + { + f5 = VARYING0.xyz; + } + vec4 f28 = ((f1 * f5.x) + (f3 * f5.y)) + (f4 * f5.z); + vec4 f29 = ((texture(AlbedoMapTexture, f0).yxzw * f5.x) + (texture(AlbedoMapTexture, f2).yxzw * f5.y)) + (texture(AlbedoMapTexture, VARYING3.xyz).yxzw * f5.z); + vec2 f30 = f29.yz - vec2(0.5); + float f31 = f29.x; + float f32 = f31 - f30.y; + vec3 f33 = vec4(vec3(f32, f31, f32) + (vec3(f30.xyx) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f34 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f35 = -VARYING6.x; + vec2 f36 = (((texture(NormalMapTexture, f0) * f5.x) + (texture(NormalMapTexture, f2) * f5.y)) + (texture(NormalMapTexture, VARYING3.xyz) * f5.z)).wy * 2.0; + vec2 f37 = f36 - vec2(1.0); + vec3 f38 = normalize(((vec3(f37, sqrt(clamp(1.0 + dot(vec2(1.0) - f36, f37), 0.0, 1.0))) - vec3(0.0, 0.0, 1.0)) * inversesqrt(dot(f5, f5))) + vec3(0.0, 0.0, 1.0)); + vec3 f39 = vec3(dot(VARYING7, f5)); + vec3 f40 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f35), vec3(VARYING6.y, f35, 0.0), f39) * f38.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f39) * f38.y)) + (VARYING6 * f38.z)), 0.0).xyz; + vec3 f41 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f42 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f43 = VARYING4.yzx - (VARYING4.yzx * f42); + vec4 f44 = vec4(clamp(f42, 0.0, 1.0)); + vec4 f45 = mix(texture(LightMapTexture, f43), vec4(0.0), f44); + vec4 f46 = mix(texture(LightGridSkylightTexture, f43), vec4(1.0), f44); + float f47 = f46.x; + vec4 f48 = texture(ShadowMapTexture, f41.xy); + float f49 = f41.z; + vec3 f50 = normalize(VARYING9); + vec3 f51 = (f33 * f33).xyz; + float f52 = f28.y; + float f53 = CB0[26].w * f34; + vec3 f54 = reflect(-f50, f40); + vec3 f55 = -CB0[11].xyz; + float f56 = dot(f40, f55) * ((1.0 - ((step(f48.x, f49) * clamp(CB0[24].z + (CB0[24].w * abs(f49 - 0.5)), 0.0, 1.0)) * f48.y)) * f46.y); + vec3 f57 = normalize(f55 + f50); + float f58 = clamp(f56, 0.0, 1.0); + float f59 = f52 * f52; + float f60 = max(0.001000000047497451305389404296875, dot(f40, f57)); + float f61 = dot(f55, f57); + float f62 = 1.0 - f61; + float f63 = f62 * f62; + float f64 = (f63 * f63) * f62; + vec3 f65 = vec3(f64) + (vec3(0.039999999105930328369140625) * (1.0 - f64)); + float f66 = f59 * f59; + float f67 = (((f60 * f66) - f60) * f60) + 1.0; + float f68 = f52 * 5.0; + vec3 f69 = vec4(f54, f68).xyz; + vec4 f70 = texture(PrecomputedBRDFTexture, vec2(f52, max(9.9999997473787516355514526367188e-05, dot(f40, f50)))); + float f71 = f70.x; + float f72 = f70.y; + vec3 f73 = ((vec3(0.039999999105930328369140625) * f71) + vec3(f72)) / vec3(f71 + f72); + vec3 f74 = f73 * f53; + vec3 f75 = f40 * f40; + bvec3 f76 = lessThan(f40, vec3(0.0)); + vec3 f77 = vec3(f76.x ? f75.x : vec3(0.0).x, f76.y ? f75.y : vec3(0.0).y, f76.z ? f75.z : vec3(0.0).z); + vec3 f78 = f75 - f77; + float f79 = f78.x; + float f80 = f78.y; + float f81 = f78.z; + float f82 = f77.x; + float f83 = f77.y; + float f84 = f77.z; + vec3 f85 = ((((((CB0[35].xyz * f79) + (CB0[37].xyz * f80)) + (CB0[39].xyz * f81)) + (CB0[36].xyz * f82)) + (CB0[38].xyz * f83)) + (CB0[40].xyz * f84)) + (((((((CB0[29].xyz * f79) + (CB0[31].xyz * f80)) + (CB0[33].xyz * f81)) + (CB0[30].xyz * f82)) + (CB0[32].xyz * f83)) + (CB0[34].xyz * f84)) * f47); + vec3 f86 = (mix(textureLod(PrefilteredEnvIndoorTexture, f69, f68).xyz, textureLod(PrefilteredEnvTexture, f69, f68).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f54.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f47)) * f73) * f53; + vec3 f87 = (((((((((vec3(1.0) - (f65 * f53)) * CB0[10].xyz) * f58) + (CB0[12].xyz * clamp(-f56, 0.0, 1.0))) + (((vec3(1.0) - f74) * f85) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f47))) + vec3((f28.z * 2.0) * f34)) * f51) + (((((f65 * (((f66 + (f66 * f66)) / (((f67 * f67) * ((f61 * 3.0) + 0.5)) * ((f60 * 0.75) + 0.25))) * f58)) * CB0[10].xyz) * f34) * VARYING0.w) + f86)) + ((f45.xyz * (f45.w * 120.0)).xyz * mix(f51, f86 * (1.0 / (max(max(f85.x, f85.y), f85.z) + 0.00999999977648258209228515625)), f74 * (f53 * (1.0 - f47)))); + vec4 f88 = vec4(f87.x, f87.y, f87.z, vec4(0.0).w); + f88.w = 1.0; + float f89 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f90 = textureLod(PrefilteredEnvTexture, vec4(-VARYING9, 0.0).xyz, max(CB0[13].y, f89) * 5.0).xyz; + bvec3 f91 = bvec3(CB0[13].w != 0.0); + vec3 f92 = sqrt(clamp(mix(vec3(f91.x ? CB0[14].xyz.x : f90.x, f91.y ? CB0[14].xyz.y : f90.y, f91.z ? CB0[14].xyz.z : f90.z), f88.xyz, vec3(f89)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f92.x, f92.y, f92.z, f88.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level520.frag b/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level520.frag new file mode 100644 index 0000000000..da517efd73 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level520.frag @@ -0,0 +1,168 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB5[74]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; +uniform sampler2DArray NormalMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec3 VARYING7; +in vec4 VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec4 f1 = texture(SpecularMapTexture, f0); + vec3 f2 = vec3(VARYING1.zw, VARYING2.z); + vec4 f3 = texture(SpecularMapTexture, f2); + vec4 f4 = texture(SpecularMapTexture, VARYING3.xyz); + vec3 f5; + if (VARYING8.w < 1.0) + { + ivec3 f6 = ivec3(VARYING8.xyz + vec3(0.5)); + int f7 = f6.x; + int f8 = f6.y; + int f9 = f6.z; + float f10 = dot(VARYING0.xyz, vec3(CB5[f7 * 1 + 0].z, CB5[f8 * 1 + 0].z, CB5[f9 * 1 + 0].z)); + float f11 = f1.w; + float f12 = f3.w; + float f13 = f4.w; + vec3 f14 = vec3(f11, f12, f13); + f14.x = clamp((f11 * CB5[f7 * 1 + 0].x) + CB5[f7 * 1 + 0].y, 0.0, 1.0); + vec3 f15 = f14; + f15.y = clamp((f12 * CB5[f8 * 1 + 0].x) + CB5[f8 * 1 + 0].y, 0.0, 1.0); + vec3 f16 = f15; + f16.z = clamp((f13 * CB5[f9 * 1 + 0].x) + CB5[f9 * 1 + 0].y, 0.0, 1.0); + vec3 f17 = VARYING0.xyz * f16; + float f18 = 1.0 / f10; + float f19 = 0.5 * f10; + float f20 = f17.x; + float f21 = f17.y; + float f22 = f17.z; + float f23 = clamp(((f20 - max(f21, f22)) + f19) * f18, 0.0, 1.0); + float f24 = clamp(((f21 - max(f20, f22)) + f19) * f18, 0.0, 1.0); + float f25 = clamp(((f22 - max(f20, f21)) + f19) * f18, 0.0, 1.0); + vec2 f26 = dFdx(VARYING1.xy); + vec2 f27 = dFdy(VARYING1.xy); + f5 = mix(vec3(f23, f24, f25) / vec3((f23 + f24) + f25), VARYING0.xyz, vec3(clamp((sqrt(max(dot(f26, f26), dot(f27, f27))) * 7.0) + clamp(VARYING8.w, 0.0, 1.0), 0.0, 1.0))); + } + else + { + f5 = VARYING0.xyz; + } + vec4 f28 = ((f1 * f5.x) + (f3 * f5.y)) + (f4 * f5.z); + vec4 f29 = ((texture(AlbedoMapTexture, f0).yxzw * f5.x) + (texture(AlbedoMapTexture, f2).yxzw * f5.y)) + (texture(AlbedoMapTexture, VARYING3.xyz).yxzw * f5.z); + vec2 f30 = f29.yz - vec2(0.5); + float f31 = f29.x; + float f32 = f31 - f30.y; + vec3 f33 = vec4(vec3(f32, f31, f32) + (vec3(f30.xyx) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + vec3 f34 = CB0[7].xyz - VARYING5.xyz; + float f35 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f36 = -VARYING6.x; + vec2 f37 = (((texture(NormalMapTexture, f0) * f5.x) + (texture(NormalMapTexture, f2) * f5.y)) + (texture(NormalMapTexture, VARYING3.xyz) * f5.z)).wy * 2.0; + vec2 f38 = f37 - vec2(1.0); + vec3 f39 = normalize(((vec3(f38, sqrt(clamp(1.0 + dot(vec2(1.0) - f37, f38), 0.0, 1.0))) - vec3(0.0, 0.0, 1.0)) * inversesqrt(dot(f5, f5))) + vec3(0.0, 0.0, 1.0)); + vec3 f40 = vec3(dot(VARYING7, f5)); + vec3 f41 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f36), vec3(VARYING6.y, f36, 0.0), f40) * f39.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f40) * f39.y)) + (VARYING6 * f39.z)), 0.0).xyz; + vec3 f42 = -CB0[11].xyz; + float f43 = dot(f41, f42); + vec3 f44 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f45 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f46 = VARYING4.yzx - (VARYING4.yzx * f45); + vec4 f47 = vec4(clamp(f45, 0.0, 1.0)); + vec4 f48 = mix(texture(LightMapTexture, f46), vec4(0.0), f47); + vec4 f49 = mix(texture(LightGridSkylightTexture, f46), vec4(1.0), f47); + float f50 = f49.x; + float f51 = f49.y; + vec3 f52 = f44 - CB0[41].xyz; + vec3 f53 = f44 - CB0[42].xyz; + vec3 f54 = f44 - CB0[43].xyz; + vec4 f55 = vec4(f44, 1.0) * mat4(CB8[((dot(f52, f52) < CB0[41].w) ? 0 : ((dot(f53, f53) < CB0[42].w) ? 1 : ((dot(f54, f54) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f52, f52) < CB0[41].w) ? 0 : ((dot(f53, f53) < CB0[42].w) ? 1 : ((dot(f54, f54) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f52, f52) < CB0[41].w) ? 0 : ((dot(f53, f53) < CB0[42].w) ? 1 : ((dot(f54, f54) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f52, f52) < CB0[41].w) ? 0 : ((dot(f53, f53) < CB0[42].w) ? 1 : ((dot(f54, f54) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f56 = textureLod(ShadowAtlasTexture, f55.xy, 0.0); + vec2 f57 = vec2(0.0); + f57.x = CB0[45].z; + vec2 f58 = f57; + f58.y = CB0[45].w; + float f59 = (2.0 * f55.z) - 1.0; + float f60 = exp(CB0[45].z * f59); + float f61 = -exp((-CB0[45].w) * f59); + vec2 f62 = (f58 * CB0[46].y) * vec2(f60, f61); + vec2 f63 = f62 * f62; + float f64 = f56.x; + float f65 = max(f56.y - (f64 * f64), f63.x); + float f66 = f60 - f64; + float f67 = f56.z; + float f68 = max(f56.w - (f67 * f67), f63.y); + float f69 = f61 - f67; + vec3 f70 = normalize(f34); + vec3 f71 = (f33 * f33).xyz; + float f72 = f28.y; + float f73 = CB0[26].w * f35; + vec3 f74 = reflect(-f70, f41); + vec3 f75 = normalize(f42 + f70); + float f76 = clamp(f43 * ((f43 > 0.0) ? mix(f51, mix(min((f60 <= f64) ? 1.0 : clamp(((f65 / (f65 + (f66 * f66))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f61 <= f67) ? 1.0 : clamp(((f68 / (f68 + (f69 * f69))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f51, clamp((length(f44 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f77 = f72 * f72; + float f78 = max(0.001000000047497451305389404296875, dot(f41, f75)); + float f79 = dot(f42, f75); + float f80 = 1.0 - f79; + float f81 = f80 * f80; + float f82 = (f81 * f81) * f80; + vec3 f83 = vec3(f82) + (vec3(0.039999999105930328369140625) * (1.0 - f82)); + float f84 = f77 * f77; + float f85 = (((f78 * f84) - f78) * f78) + 1.0; + float f86 = f72 * 5.0; + vec3 f87 = vec4(f74, f86).xyz; + vec4 f88 = texture(PrecomputedBRDFTexture, vec2(f72, max(9.9999997473787516355514526367188e-05, dot(f41, f70)))); + float f89 = f88.x; + float f90 = f88.y; + vec3 f91 = ((vec3(0.039999999105930328369140625) * f89) + vec3(f90)) / vec3(f89 + f90); + vec3 f92 = f91 * f73; + vec3 f93 = f41 * f41; + bvec3 f94 = lessThan(f41, vec3(0.0)); + vec3 f95 = vec3(f94.x ? f93.x : vec3(0.0).x, f94.y ? f93.y : vec3(0.0).y, f94.z ? f93.z : vec3(0.0).z); + vec3 f96 = f93 - f95; + float f97 = f96.x; + float f98 = f96.y; + float f99 = f96.z; + float f100 = f95.x; + float f101 = f95.y; + float f102 = f95.z; + vec3 f103 = ((((((CB0[35].xyz * f97) + (CB0[37].xyz * f98)) + (CB0[39].xyz * f99)) + (CB0[36].xyz * f100)) + (CB0[38].xyz * f101)) + (CB0[40].xyz * f102)) + (((((((CB0[29].xyz * f97) + (CB0[31].xyz * f98)) + (CB0[33].xyz * f99)) + (CB0[30].xyz * f100)) + (CB0[32].xyz * f101)) + (CB0[34].xyz * f102)) * f50); + vec3 f104 = (mix(textureLod(PrefilteredEnvIndoorTexture, f87, f86).xyz, textureLod(PrefilteredEnvTexture, f87, f86).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f74.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f50)) * f91) * f73; + vec3 f105 = ((((((((vec3(1.0) - (f83 * f73)) * CB0[10].xyz) * f76) + (((vec3(1.0) - f92) * f103) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f50))) + vec3((f28.z * 2.0) * f35)) * f71) + (((((f83 * (((f84 + (f84 * f84)) / (((f85 * f85) * ((f79 * 3.0) + 0.5)) * ((f78 * 0.75) + 0.25))) * f76)) * CB0[10].xyz) * f35) * VARYING0.w) + f104)) + ((f48.xyz * (f48.w * 120.0)).xyz * mix(f71, f104 * (1.0 / (max(max(f103.x, f103.y), f103.z) + 0.00999999977648258209228515625)), f92 * (f73 * (1.0 - f50)))); + vec4 f106 = vec4(f105.x, f105.y, f105.z, vec4(0.0).w); + f106.w = 1.0; + float f107 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f108 = textureLod(PrefilteredEnvTexture, vec4(-f34, 0.0).xyz, max(CB0[13].y, f107) * 5.0).xyz; + bvec3 f109 = bvec3(CB0[13].w != 0.0); + vec3 f110 = sqrt(clamp(mix(vec3(f109.x ? CB0[14].xyz.x : f108.x, f109.y ? CB0[14].xyz.y : f108.y, f109.z ? CB0[14].xyz.z : f108.z), f106.xyz, vec3(f107)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f110.x, f110.y, f110.z, f106.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level768.frag b/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level768.frag new file mode 100644 index 0000000000..d282d77377 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level768.frag @@ -0,0 +1,181 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB4[36]; +uniform vec4 CB5[74]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; +uniform sampler2DArray NormalMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec3 VARYING7; +in vec4 VARYING8; +in vec3 VARYING9; +in vec4 VARYING10; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec4 f1 = texture(SpecularMapTexture, f0); + vec3 f2 = vec3(VARYING1.zw, VARYING2.z); + vec4 f3 = texture(SpecularMapTexture, f2); + vec4 f4 = texture(SpecularMapTexture, VARYING3.xyz); + vec3 f5; + if (VARYING8.w < 1.0) + { + ivec3 f6 = ivec3(VARYING8.xyz + vec3(0.5)); + int f7 = f6.x; + int f8 = f6.y; + int f9 = f6.z; + float f10 = dot(VARYING0.xyz, vec3(CB5[f7 * 1 + 0].z, CB5[f8 * 1 + 0].z, CB5[f9 * 1 + 0].z)); + float f11 = f1.w; + float f12 = f3.w; + float f13 = f4.w; + vec3 f14 = vec3(f11, f12, f13); + f14.x = clamp((f11 * CB5[f7 * 1 + 0].x) + CB5[f7 * 1 + 0].y, 0.0, 1.0); + vec3 f15 = f14; + f15.y = clamp((f12 * CB5[f8 * 1 + 0].x) + CB5[f8 * 1 + 0].y, 0.0, 1.0); + vec3 f16 = f15; + f16.z = clamp((f13 * CB5[f9 * 1 + 0].x) + CB5[f9 * 1 + 0].y, 0.0, 1.0); + vec3 f17 = VARYING0.xyz * f16; + float f18 = 1.0 / f10; + float f19 = 0.5 * f10; + float f20 = f17.x; + float f21 = f17.y; + float f22 = f17.z; + float f23 = clamp(((f20 - max(f21, f22)) + f19) * f18, 0.0, 1.0); + float f24 = clamp(((f21 - max(f20, f22)) + f19) * f18, 0.0, 1.0); + float f25 = clamp(((f22 - max(f20, f21)) + f19) * f18, 0.0, 1.0); + vec2 f26 = dFdx(VARYING1.xy); + vec2 f27 = dFdy(VARYING1.xy); + f5 = mix(vec3(f23, f24, f25) / vec3((f23 + f24) + f25), VARYING0.xyz, vec3(clamp((sqrt(max(dot(f26, f26), dot(f27, f27))) * 7.0) + clamp(VARYING8.w, 0.0, 1.0), 0.0, 1.0))); + } + else + { + f5 = VARYING0.xyz; + } + vec4 f28 = ((f1 * f5.x) + (f3 * f5.y)) + (f4 * f5.z); + vec4 f29 = texture(AlbedoMapTexture, f0); + vec4 f30 = texture(AlbedoMapTexture, f2); + vec4 f31 = texture(AlbedoMapTexture, VARYING3.xyz); + int f32 = int(VARYING10.x + 0.5); + int f33 = int(VARYING10.y + 0.5); + int f34 = int(VARYING10.z + 0.5); + vec2 f35 = f29.xz - vec2(0.5); + vec2 f36 = f30.xz - vec2(0.5); + vec2 f37 = f31.xz - vec2(0.5); + vec3 f38 = vec3(0.0); + f38.x = CB4[f32 * 1 + 0].x * f29.y; + float f39 = f35.x; + float f40 = f35.y; + vec3 f41 = f38; + f41.y = (CB4[f32 * 1 + 0].y * f39) - (CB4[f32 * 1 + 0].z * f40); + vec3 f42 = f41; + f42.z = (CB4[f32 * 1 + 0].z * f39) + (CB4[f32 * 1 + 0].y * f40); + vec3 f43 = vec3(0.0); + f43.x = CB4[f33 * 1 + 0].x * f30.y; + float f44 = f36.x; + float f45 = f36.y; + vec3 f46 = f43; + f46.y = (CB4[f33 * 1 + 0].y * f44) - (CB4[f33 * 1 + 0].z * f45); + vec3 f47 = f46; + f47.z = (CB4[f33 * 1 + 0].z * f44) + (CB4[f33 * 1 + 0].y * f45); + vec3 f48 = vec3(0.0); + f48.x = CB4[f34 * 1 + 0].x * f31.y; + float f49 = f37.x; + float f50 = f37.y; + vec3 f51 = f48; + f51.y = (CB4[f34 * 1 + 0].y * f49) - (CB4[f34 * 1 + 0].z * f50); + vec3 f52 = f51; + f52.z = (CB4[f34 * 1 + 0].z * f49) + (CB4[f34 * 1 + 0].y * f50); + vec4 f53 = ((vec4(f42.x, f42.y, f42.z, f29.w) * f5.x) + (vec4(f47.x, f47.y, f47.z, f30.w) * f5.y)) + (vec4(f52.x, f52.y, f52.z, f31.w) * f5.z); + float f54 = f53.x; + float f55 = f54 - f53.z; + vec3 f56 = vec4(vec3(f55, f54, f55) + (vec3(f53.yzy) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f57 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f58 = -VARYING6.x; + vec2 f59 = (((texture(NormalMapTexture, f0) * f5.x) + (texture(NormalMapTexture, f2) * f5.y)) + (texture(NormalMapTexture, VARYING3.xyz) * f5.z)).wy * 2.0; + vec2 f60 = f59 - vec2(1.0); + vec3 f61 = normalize(((vec3(f60, sqrt(clamp(1.0 + dot(vec2(1.0) - f59, f60), 0.0, 1.0))) - vec3(0.0, 0.0, 1.0)) * inversesqrt(dot(f5, f5))) + vec3(0.0, 0.0, 1.0)); + vec3 f62 = vec3(dot(VARYING7, f5)); + vec3 f63 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f58), vec3(VARYING6.y, f58, 0.0), f62) * f61.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f62) * f61.y)) + (VARYING6 * f61.z)), 0.0).xyz; + vec3 f64 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f65 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f66 = VARYING4.yzx - (VARYING4.yzx * f65); + vec4 f67 = vec4(clamp(f65, 0.0, 1.0)); + vec4 f68 = mix(texture(LightMapTexture, f66), vec4(0.0), f67); + vec4 f69 = mix(texture(LightGridSkylightTexture, f66), vec4(1.0), f67); + float f70 = f69.x; + vec4 f71 = texture(ShadowMapTexture, f64.xy); + float f72 = f64.z; + vec3 f73 = normalize(VARYING9); + vec3 f74 = (f56 * f56).xyz; + float f75 = f28.y; + float f76 = CB0[26].w * f57; + vec3 f77 = reflect(-f73, f63); + vec3 f78 = -CB0[11].xyz; + float f79 = dot(f63, f78) * ((1.0 - ((step(f71.x, f72) * clamp(CB0[24].z + (CB0[24].w * abs(f72 - 0.5)), 0.0, 1.0)) * f71.y)) * f69.y); + vec3 f80 = normalize(f78 + f73); + float f81 = clamp(f79, 0.0, 1.0); + float f82 = f75 * f75; + float f83 = max(0.001000000047497451305389404296875, dot(f63, f80)); + float f84 = dot(f78, f80); + float f85 = 1.0 - f84; + float f86 = f85 * f85; + float f87 = (f86 * f86) * f85; + vec3 f88 = vec3(f87) + (vec3(0.039999999105930328369140625) * (1.0 - f87)); + float f89 = f82 * f82; + float f90 = (((f83 * f89) - f83) * f83) + 1.0; + float f91 = f75 * 5.0; + vec3 f92 = vec4(f77, f91).xyz; + vec4 f93 = texture(PrecomputedBRDFTexture, vec2(f75, max(9.9999997473787516355514526367188e-05, dot(f63, f73)))); + float f94 = f93.x; + float f95 = f93.y; + vec3 f96 = ((vec3(0.039999999105930328369140625) * f94) + vec3(f95)) / vec3(f94 + f95); + vec3 f97 = f96 * f76; + vec3 f98 = f63 * f63; + bvec3 f99 = lessThan(f63, vec3(0.0)); + vec3 f100 = vec3(f99.x ? f98.x : vec3(0.0).x, f99.y ? f98.y : vec3(0.0).y, f99.z ? f98.z : vec3(0.0).z); + vec3 f101 = f98 - f100; + float f102 = f101.x; + float f103 = f101.y; + float f104 = f101.z; + float f105 = f100.x; + float f106 = f100.y; + float f107 = f100.z; + vec3 f108 = ((((((CB0[35].xyz * f102) + (CB0[37].xyz * f103)) + (CB0[39].xyz * f104)) + (CB0[36].xyz * f105)) + (CB0[38].xyz * f106)) + (CB0[40].xyz * f107)) + (((((((CB0[29].xyz * f102) + (CB0[31].xyz * f103)) + (CB0[33].xyz * f104)) + (CB0[30].xyz * f105)) + (CB0[32].xyz * f106)) + (CB0[34].xyz * f107)) * f70); + vec3 f109 = (mix(textureLod(PrefilteredEnvIndoorTexture, f92, f91).xyz, textureLod(PrefilteredEnvTexture, f92, f91).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f77.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f70)) * f96) * f76; + vec3 f110 = (((((((((vec3(1.0) - (f88 * f76)) * CB0[10].xyz) * f81) + (CB0[12].xyz * clamp(-f79, 0.0, 1.0))) + (((vec3(1.0) - f97) * f108) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f70))) + vec3((f28.z * 2.0) * f57)) * f74) + (((((f88 * (((f89 + (f89 * f89)) / (((f90 * f90) * ((f84 * 3.0) + 0.5)) * ((f83 * 0.75) + 0.25))) * f81)) * CB0[10].xyz) * f57) * VARYING0.w) + f109)) + ((f68.xyz * (f68.w * 120.0)).xyz * mix(f74, f109 * (1.0 / (max(max(f108.x, f108.y), f108.z) + 0.00999999977648258209228515625)), f97 * (f76 * (1.0 - f70)))); + vec4 f111 = vec4(f110.x, f110.y, f110.z, vec4(0.0).w); + f111.w = 1.0; + float f112 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f113 = textureLod(PrefilteredEnvTexture, vec4(-VARYING9, 0.0).xyz, max(CB0[13].y, f112) * 5.0).xyz; + bvec3 f114 = bvec3(CB0[13].w != 0.0); + vec3 f115 = sqrt(clamp(mix(vec3(f114.x ? CB0[14].xyz.x : f113.x, f114.y ? CB0[14].xyz.y : f113.y, f114.z ? CB0[14].xyz.z : f113.z), f111.xyz, vec3(f112)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f115.x, f115.y, f115.z, f111.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level776.frag b/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level776.frag new file mode 100644 index 0000000000..8640a15e76 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQFSFlagHeight_Level776.frag @@ -0,0 +1,202 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB4[36]; +uniform vec4 CB5[74]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; +uniform sampler2DArray NormalMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec3 VARYING7; +in vec4 VARYING8; +in vec4 VARYING9; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec4 f1 = texture(SpecularMapTexture, f0); + vec3 f2 = vec3(VARYING1.zw, VARYING2.z); + vec4 f3 = texture(SpecularMapTexture, f2); + vec4 f4 = texture(SpecularMapTexture, VARYING3.xyz); + vec3 f5; + if (VARYING8.w < 1.0) + { + ivec3 f6 = ivec3(VARYING8.xyz + vec3(0.5)); + int f7 = f6.x; + int f8 = f6.y; + int f9 = f6.z; + float f10 = dot(VARYING0.xyz, vec3(CB5[f7 * 1 + 0].z, CB5[f8 * 1 + 0].z, CB5[f9 * 1 + 0].z)); + float f11 = f1.w; + float f12 = f3.w; + float f13 = f4.w; + vec3 f14 = vec3(f11, f12, f13); + f14.x = clamp((f11 * CB5[f7 * 1 + 0].x) + CB5[f7 * 1 + 0].y, 0.0, 1.0); + vec3 f15 = f14; + f15.y = clamp((f12 * CB5[f8 * 1 + 0].x) + CB5[f8 * 1 + 0].y, 0.0, 1.0); + vec3 f16 = f15; + f16.z = clamp((f13 * CB5[f9 * 1 + 0].x) + CB5[f9 * 1 + 0].y, 0.0, 1.0); + vec3 f17 = VARYING0.xyz * f16; + float f18 = 1.0 / f10; + float f19 = 0.5 * f10; + float f20 = f17.x; + float f21 = f17.y; + float f22 = f17.z; + float f23 = clamp(((f20 - max(f21, f22)) + f19) * f18, 0.0, 1.0); + float f24 = clamp(((f21 - max(f20, f22)) + f19) * f18, 0.0, 1.0); + float f25 = clamp(((f22 - max(f20, f21)) + f19) * f18, 0.0, 1.0); + vec2 f26 = dFdx(VARYING1.xy); + vec2 f27 = dFdy(VARYING1.xy); + f5 = mix(vec3(f23, f24, f25) / vec3((f23 + f24) + f25), VARYING0.xyz, vec3(clamp((sqrt(max(dot(f26, f26), dot(f27, f27))) * 7.0) + clamp(VARYING8.w, 0.0, 1.0), 0.0, 1.0))); + } + else + { + f5 = VARYING0.xyz; + } + vec4 f28 = ((f1 * f5.x) + (f3 * f5.y)) + (f4 * f5.z); + vec4 f29 = texture(AlbedoMapTexture, f0); + vec4 f30 = texture(AlbedoMapTexture, f2); + vec4 f31 = texture(AlbedoMapTexture, VARYING3.xyz); + int f32 = int(VARYING9.x + 0.5); + int f33 = int(VARYING9.y + 0.5); + int f34 = int(VARYING9.z + 0.5); + vec2 f35 = f29.xz - vec2(0.5); + vec2 f36 = f30.xz - vec2(0.5); + vec2 f37 = f31.xz - vec2(0.5); + vec3 f38 = vec3(0.0); + f38.x = CB4[f32 * 1 + 0].x * f29.y; + float f39 = f35.x; + float f40 = f35.y; + vec3 f41 = f38; + f41.y = (CB4[f32 * 1 + 0].y * f39) - (CB4[f32 * 1 + 0].z * f40); + vec3 f42 = f41; + f42.z = (CB4[f32 * 1 + 0].z * f39) + (CB4[f32 * 1 + 0].y * f40); + vec3 f43 = vec3(0.0); + f43.x = CB4[f33 * 1 + 0].x * f30.y; + float f44 = f36.x; + float f45 = f36.y; + vec3 f46 = f43; + f46.y = (CB4[f33 * 1 + 0].y * f44) - (CB4[f33 * 1 + 0].z * f45); + vec3 f47 = f46; + f47.z = (CB4[f33 * 1 + 0].z * f44) + (CB4[f33 * 1 + 0].y * f45); + vec3 f48 = vec3(0.0); + f48.x = CB4[f34 * 1 + 0].x * f31.y; + float f49 = f37.x; + float f50 = f37.y; + vec3 f51 = f48; + f51.y = (CB4[f34 * 1 + 0].y * f49) - (CB4[f34 * 1 + 0].z * f50); + vec3 f52 = f51; + f52.z = (CB4[f34 * 1 + 0].z * f49) + (CB4[f34 * 1 + 0].y * f50); + vec4 f53 = ((vec4(f42.x, f42.y, f42.z, f29.w) * f5.x) + (vec4(f47.x, f47.y, f47.z, f30.w) * f5.y)) + (vec4(f52.x, f52.y, f52.z, f31.w) * f5.z); + float f54 = f53.x; + float f55 = f54 - f53.z; + vec3 f56 = vec4(vec3(f55, f54, f55) + (vec3(f53.yzy) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + vec3 f57 = CB0[7].xyz - VARYING5.xyz; + float f58 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f59 = -VARYING6.x; + vec2 f60 = (((texture(NormalMapTexture, f0) * f5.x) + (texture(NormalMapTexture, f2) * f5.y)) + (texture(NormalMapTexture, VARYING3.xyz) * f5.z)).wy * 2.0; + vec2 f61 = f60 - vec2(1.0); + vec3 f62 = normalize(((vec3(f61, sqrt(clamp(1.0 + dot(vec2(1.0) - f60, f61), 0.0, 1.0))) - vec3(0.0, 0.0, 1.0)) * inversesqrt(dot(f5, f5))) + vec3(0.0, 0.0, 1.0)); + vec3 f63 = vec3(dot(VARYING7, f5)); + vec3 f64 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f59), vec3(VARYING6.y, f59, 0.0), f63) * f62.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f63) * f62.y)) + (VARYING6 * f62.z)), 0.0).xyz; + vec3 f65 = -CB0[11].xyz; + float f66 = dot(f64, f65); + vec3 f67 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f68 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f69 = VARYING4.yzx - (VARYING4.yzx * f68); + vec4 f70 = vec4(clamp(f68, 0.0, 1.0)); + vec4 f71 = mix(texture(LightMapTexture, f69), vec4(0.0), f70); + vec4 f72 = mix(texture(LightGridSkylightTexture, f69), vec4(1.0), f70); + float f73 = f72.x; + float f74 = f72.y; + vec3 f75 = f67 - CB0[41].xyz; + vec3 f76 = f67 - CB0[42].xyz; + vec3 f77 = f67 - CB0[43].xyz; + vec4 f78 = vec4(f67, 1.0) * mat4(CB8[((dot(f75, f75) < CB0[41].w) ? 0 : ((dot(f76, f76) < CB0[42].w) ? 1 : ((dot(f77, f77) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f75, f75) < CB0[41].w) ? 0 : ((dot(f76, f76) < CB0[42].w) ? 1 : ((dot(f77, f77) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f75, f75) < CB0[41].w) ? 0 : ((dot(f76, f76) < CB0[42].w) ? 1 : ((dot(f77, f77) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f75, f75) < CB0[41].w) ? 0 : ((dot(f76, f76) < CB0[42].w) ? 1 : ((dot(f77, f77) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f79 = textureLod(ShadowAtlasTexture, f78.xy, 0.0); + vec2 f80 = vec2(0.0); + f80.x = CB0[45].z; + vec2 f81 = f80; + f81.y = CB0[45].w; + float f82 = (2.0 * f78.z) - 1.0; + float f83 = exp(CB0[45].z * f82); + float f84 = -exp((-CB0[45].w) * f82); + vec2 f85 = (f81 * CB0[46].y) * vec2(f83, f84); + vec2 f86 = f85 * f85; + float f87 = f79.x; + float f88 = max(f79.y - (f87 * f87), f86.x); + float f89 = f83 - f87; + float f90 = f79.z; + float f91 = max(f79.w - (f90 * f90), f86.y); + float f92 = f84 - f90; + vec3 f93 = normalize(f57); + vec3 f94 = (f56 * f56).xyz; + float f95 = f28.y; + float f96 = CB0[26].w * f58; + vec3 f97 = reflect(-f93, f64); + vec3 f98 = normalize(f65 + f93); + float f99 = clamp(f66 * ((f66 > 0.0) ? mix(f74, mix(min((f83 <= f87) ? 1.0 : clamp(((f88 / (f88 + (f89 * f89))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f84 <= f90) ? 1.0 : clamp(((f91 / (f91 + (f92 * f92))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f74, clamp((length(f67 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f100 = f95 * f95; + float f101 = max(0.001000000047497451305389404296875, dot(f64, f98)); + float f102 = dot(f65, f98); + float f103 = 1.0 - f102; + float f104 = f103 * f103; + float f105 = (f104 * f104) * f103; + vec3 f106 = vec3(f105) + (vec3(0.039999999105930328369140625) * (1.0 - f105)); + float f107 = f100 * f100; + float f108 = (((f101 * f107) - f101) * f101) + 1.0; + float f109 = f95 * 5.0; + vec3 f110 = vec4(f97, f109).xyz; + vec4 f111 = texture(PrecomputedBRDFTexture, vec2(f95, max(9.9999997473787516355514526367188e-05, dot(f64, f93)))); + float f112 = f111.x; + float f113 = f111.y; + vec3 f114 = ((vec3(0.039999999105930328369140625) * f112) + vec3(f113)) / vec3(f112 + f113); + vec3 f115 = f114 * f96; + vec3 f116 = f64 * f64; + bvec3 f117 = lessThan(f64, vec3(0.0)); + vec3 f118 = vec3(f117.x ? f116.x : vec3(0.0).x, f117.y ? f116.y : vec3(0.0).y, f117.z ? f116.z : vec3(0.0).z); + vec3 f119 = f116 - f118; + float f120 = f119.x; + float f121 = f119.y; + float f122 = f119.z; + float f123 = f118.x; + float f124 = f118.y; + float f125 = f118.z; + vec3 f126 = ((((((CB0[35].xyz * f120) + (CB0[37].xyz * f121)) + (CB0[39].xyz * f122)) + (CB0[36].xyz * f123)) + (CB0[38].xyz * f124)) + (CB0[40].xyz * f125)) + (((((((CB0[29].xyz * f120) + (CB0[31].xyz * f121)) + (CB0[33].xyz * f122)) + (CB0[30].xyz * f123)) + (CB0[32].xyz * f124)) + (CB0[34].xyz * f125)) * f73); + vec3 f127 = (mix(textureLod(PrefilteredEnvIndoorTexture, f110, f109).xyz, textureLod(PrefilteredEnvTexture, f110, f109).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f97.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f73)) * f114) * f96; + vec3 f128 = ((((((((vec3(1.0) - (f106 * f96)) * CB0[10].xyz) * f99) + (((vec3(1.0) - f115) * f126) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f73))) + vec3((f28.z * 2.0) * f58)) * f94) + (((((f106 * (((f107 + (f107 * f107)) / (((f108 * f108) * ((f102 * 3.0) + 0.5)) * ((f101 * 0.75) + 0.25))) * f99)) * CB0[10].xyz) * f58) * VARYING0.w) + f127)) + ((f71.xyz * (f71.w * 120.0)).xyz * mix(f94, f127 * (1.0 / (max(max(f126.x, f126.y), f126.z) + 0.00999999977648258209228515625)), f115 * (f96 * (1.0 - f73)))); + vec4 f129 = vec4(f128.x, f128.y, f128.z, vec4(0.0).w); + f129.w = 1.0; + float f130 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f131 = textureLod(PrefilteredEnvTexture, vec4(-f57, 0.0).xyz, max(CB0[13].y, f130) * 5.0).xyz; + bvec3 f132 = bvec3(CB0[13].w != 0.0); + vec3 f133 = sqrt(clamp(mix(vec3(f132.x ? CB0[14].xyz.x : f131.x, f132.y ? CB0[14].xyz.y : f131.y, f132.z ? CB0[14].xyz.z : f131.z), f129.xyz, vec3(f130)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f133.x, f133.y, f133.z, f129.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level512.frag b/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level512.frag new file mode 100644 index 0000000000..9f54b06df0 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level512.frag @@ -0,0 +1,107 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; +uniform sampler2DArray NormalMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec3 VARYING7; +in vec3 VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec3 f1 = vec3(VARYING1.zw, VARYING2.z); + vec4 f2 = ((texture(SpecularMapTexture, f0) * VARYING0.x) + (texture(SpecularMapTexture, f1) * VARYING0.y)) + (texture(SpecularMapTexture, VARYING3.xyz) * VARYING0.z); + vec4 f3 = ((texture(AlbedoMapTexture, f0).yxzw * VARYING0.x) + (texture(AlbedoMapTexture, f1).yxzw * VARYING0.y)) + (texture(AlbedoMapTexture, VARYING3.xyz).yxzw * VARYING0.z); + vec2 f4 = f3.yz - vec2(0.5); + float f5 = f3.x; + float f6 = f5 - f4.y; + vec3 f7 = vec4(vec3(f6, f5, f6) + (vec3(f4.xyx) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f8 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f9 = -VARYING6.x; + vec2 f10 = (((texture(NormalMapTexture, f0) * VARYING0.x) + (texture(NormalMapTexture, f1) * VARYING0.y)) + (texture(NormalMapTexture, VARYING3.xyz) * VARYING0.z)).wy * 2.0; + vec2 f11 = f10 - vec2(1.0); + vec3 f12 = vec3(dot(VARYING7, VARYING0.xyz)); + vec3 f13 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f9), vec3(VARYING6.y, f9, 0.0), f12) * f11.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f12) * f11.y)) + (VARYING6 * sqrt(clamp(1.0 + dot(vec2(1.0) - f10, f11), 0.0, 1.0)))), 0.0).xyz; + vec3 f14 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f15 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f16 = VARYING4.yzx - (VARYING4.yzx * f15); + vec4 f17 = vec4(clamp(f15, 0.0, 1.0)); + vec4 f18 = mix(texture(LightMapTexture, f16), vec4(0.0), f17); + vec4 f19 = mix(texture(LightGridSkylightTexture, f16), vec4(1.0), f17); + float f20 = f19.x; + vec4 f21 = texture(ShadowMapTexture, f14.xy); + float f22 = f14.z; + vec3 f23 = normalize(VARYING8); + vec3 f24 = (f7 * f7).xyz; + float f25 = f2.y; + float f26 = CB0[26].w * f8; + vec3 f27 = reflect(-f23, f13); + vec3 f28 = -CB0[11].xyz; + float f29 = dot(f13, f28) * ((1.0 - ((step(f21.x, f22) * clamp(CB0[24].z + (CB0[24].w * abs(f22 - 0.5)), 0.0, 1.0)) * f21.y)) * f19.y); + vec3 f30 = normalize(f28 + f23); + float f31 = clamp(f29, 0.0, 1.0); + float f32 = f25 * f25; + float f33 = max(0.001000000047497451305389404296875, dot(f13, f30)); + float f34 = dot(f28, f30); + float f35 = 1.0 - f34; + float f36 = f35 * f35; + float f37 = (f36 * f36) * f35; + vec3 f38 = vec3(f37) + (vec3(0.039999999105930328369140625) * (1.0 - f37)); + float f39 = f32 * f32; + float f40 = (((f33 * f39) - f33) * f33) + 1.0; + float f41 = f25 * 5.0; + vec3 f42 = vec4(f27, f41).xyz; + vec4 f43 = texture(PrecomputedBRDFTexture, vec2(f25, max(9.9999997473787516355514526367188e-05, dot(f13, f23)))); + float f44 = f43.x; + float f45 = f43.y; + vec3 f46 = ((vec3(0.039999999105930328369140625) * f44) + vec3(f45)) / vec3(f44 + f45); + vec3 f47 = f46 * f26; + vec3 f48 = f13 * f13; + bvec3 f49 = lessThan(f13, vec3(0.0)); + vec3 f50 = vec3(f49.x ? f48.x : vec3(0.0).x, f49.y ? f48.y : vec3(0.0).y, f49.z ? f48.z : vec3(0.0).z); + vec3 f51 = f48 - f50; + float f52 = f51.x; + float f53 = f51.y; + float f54 = f51.z; + float f55 = f50.x; + float f56 = f50.y; + float f57 = f50.z; + vec3 f58 = ((((((CB0[35].xyz * f52) + (CB0[37].xyz * f53)) + (CB0[39].xyz * f54)) + (CB0[36].xyz * f55)) + (CB0[38].xyz * f56)) + (CB0[40].xyz * f57)) + (((((((CB0[29].xyz * f52) + (CB0[31].xyz * f53)) + (CB0[33].xyz * f54)) + (CB0[30].xyz * f55)) + (CB0[32].xyz * f56)) + (CB0[34].xyz * f57)) * f20); + vec3 f59 = (mix(textureLod(PrefilteredEnvIndoorTexture, f42, f41).xyz, textureLod(PrefilteredEnvTexture, f42, f41).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f27.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f20)) * f46) * f26; + vec3 f60 = (((((((((vec3(1.0) - (f38 * f26)) * CB0[10].xyz) * f31) + (CB0[12].xyz * clamp(-f29, 0.0, 1.0))) + (((vec3(1.0) - f47) * f58) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f20))) + vec3((f2.z * 2.0) * f8)) * f24) + (((((f38 * (((f39 + (f39 * f39)) / (((f40 * f40) * ((f34 * 3.0) + 0.5)) * ((f33 * 0.75) + 0.25))) * f31)) * CB0[10].xyz) * f8) * VARYING0.w) + f59)) + ((f18.xyz * (f18.w * 120.0)).xyz * mix(f24, f59 * (1.0 / (max(max(f58.x, f58.y), f58.z) + 0.00999999977648258209228515625)), f47 * (f26 * (1.0 - f20)))); + vec4 f61 = vec4(f60.x, f60.y, f60.z, vec4(0.0).w); + f61.w = 1.0; + float f62 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f63 = textureLod(PrefilteredEnvTexture, vec4(-VARYING8, 0.0).xyz, max(CB0[13].y, f62) * 5.0).xyz; + bvec3 f64 = bvec3(CB0[13].w != 0.0); + vec3 f65 = sqrt(clamp(mix(vec3(f64.x ? CB0[14].xyz.x : f63.x, f64.y ? CB0[14].xyz.y : f63.y, f64.z ? CB0[14].xyz.z : f63.z), f61.xyz, vec3(f62)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f65.x, f65.y, f65.z, f61.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level520.frag b/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level520.frag new file mode 100644 index 0000000000..4df860c1a4 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level520.frag @@ -0,0 +1,128 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; +uniform sampler2DArray NormalMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec3 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec3 f1 = vec3(VARYING1.zw, VARYING2.z); + vec4 f2 = ((texture(SpecularMapTexture, f0) * VARYING0.x) + (texture(SpecularMapTexture, f1) * VARYING0.y)) + (texture(SpecularMapTexture, VARYING3.xyz) * VARYING0.z); + vec4 f3 = ((texture(AlbedoMapTexture, f0).yxzw * VARYING0.x) + (texture(AlbedoMapTexture, f1).yxzw * VARYING0.y)) + (texture(AlbedoMapTexture, VARYING3.xyz).yxzw * VARYING0.z); + vec2 f4 = f3.yz - vec2(0.5); + float f5 = f3.x; + float f6 = f5 - f4.y; + vec3 f7 = vec4(vec3(f6, f5, f6) + (vec3(f4.xyx) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + vec3 f8 = CB0[7].xyz - VARYING5.xyz; + float f9 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f10 = -VARYING6.x; + vec2 f11 = (((texture(NormalMapTexture, f0) * VARYING0.x) + (texture(NormalMapTexture, f1) * VARYING0.y)) + (texture(NormalMapTexture, VARYING3.xyz) * VARYING0.z)).wy * 2.0; + vec2 f12 = f11 - vec2(1.0); + vec3 f13 = vec3(dot(VARYING7, VARYING0.xyz)); + vec3 f14 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f10), vec3(VARYING6.y, f10, 0.0), f13) * f12.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f13) * f12.y)) + (VARYING6 * sqrt(clamp(1.0 + dot(vec2(1.0) - f11, f12), 0.0, 1.0)))), 0.0).xyz; + vec3 f15 = -CB0[11].xyz; + float f16 = dot(f14, f15); + vec3 f17 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f18 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f19 = VARYING4.yzx - (VARYING4.yzx * f18); + vec4 f20 = vec4(clamp(f18, 0.0, 1.0)); + vec4 f21 = mix(texture(LightMapTexture, f19), vec4(0.0), f20); + vec4 f22 = mix(texture(LightGridSkylightTexture, f19), vec4(1.0), f20); + float f23 = f22.x; + float f24 = f22.y; + vec3 f25 = f17 - CB0[41].xyz; + vec3 f26 = f17 - CB0[42].xyz; + vec3 f27 = f17 - CB0[43].xyz; + vec4 f28 = vec4(f17, 1.0) * mat4(CB8[((dot(f25, f25) < CB0[41].w) ? 0 : ((dot(f26, f26) < CB0[42].w) ? 1 : ((dot(f27, f27) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f25, f25) < CB0[41].w) ? 0 : ((dot(f26, f26) < CB0[42].w) ? 1 : ((dot(f27, f27) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f25, f25) < CB0[41].w) ? 0 : ((dot(f26, f26) < CB0[42].w) ? 1 : ((dot(f27, f27) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f25, f25) < CB0[41].w) ? 0 : ((dot(f26, f26) < CB0[42].w) ? 1 : ((dot(f27, f27) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f29 = textureLod(ShadowAtlasTexture, f28.xy, 0.0); + vec2 f30 = vec2(0.0); + f30.x = CB0[45].z; + vec2 f31 = f30; + f31.y = CB0[45].w; + float f32 = (2.0 * f28.z) - 1.0; + float f33 = exp(CB0[45].z * f32); + float f34 = -exp((-CB0[45].w) * f32); + vec2 f35 = (f31 * CB0[46].y) * vec2(f33, f34); + vec2 f36 = f35 * f35; + float f37 = f29.x; + float f38 = max(f29.y - (f37 * f37), f36.x); + float f39 = f33 - f37; + float f40 = f29.z; + float f41 = max(f29.w - (f40 * f40), f36.y); + float f42 = f34 - f40; + vec3 f43 = normalize(f8); + vec3 f44 = (f7 * f7).xyz; + float f45 = f2.y; + float f46 = CB0[26].w * f9; + vec3 f47 = reflect(-f43, f14); + vec3 f48 = normalize(f15 + f43); + float f49 = clamp(f16 * ((f16 > 0.0) ? mix(f24, mix(min((f33 <= f37) ? 1.0 : clamp(((f38 / (f38 + (f39 * f39))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f34 <= f40) ? 1.0 : clamp(((f41 / (f41 + (f42 * f42))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f24, clamp((length(f17 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f50 = f45 * f45; + float f51 = max(0.001000000047497451305389404296875, dot(f14, f48)); + float f52 = dot(f15, f48); + float f53 = 1.0 - f52; + float f54 = f53 * f53; + float f55 = (f54 * f54) * f53; + vec3 f56 = vec3(f55) + (vec3(0.039999999105930328369140625) * (1.0 - f55)); + float f57 = f50 * f50; + float f58 = (((f51 * f57) - f51) * f51) + 1.0; + float f59 = f45 * 5.0; + vec3 f60 = vec4(f47, f59).xyz; + vec4 f61 = texture(PrecomputedBRDFTexture, vec2(f45, max(9.9999997473787516355514526367188e-05, dot(f14, f43)))); + float f62 = f61.x; + float f63 = f61.y; + vec3 f64 = ((vec3(0.039999999105930328369140625) * f62) + vec3(f63)) / vec3(f62 + f63); + vec3 f65 = f64 * f46; + vec3 f66 = f14 * f14; + bvec3 f67 = lessThan(f14, vec3(0.0)); + vec3 f68 = vec3(f67.x ? f66.x : vec3(0.0).x, f67.y ? f66.y : vec3(0.0).y, f67.z ? f66.z : vec3(0.0).z); + vec3 f69 = f66 - f68; + float f70 = f69.x; + float f71 = f69.y; + float f72 = f69.z; + float f73 = f68.x; + float f74 = f68.y; + float f75 = f68.z; + vec3 f76 = ((((((CB0[35].xyz * f70) + (CB0[37].xyz * f71)) + (CB0[39].xyz * f72)) + (CB0[36].xyz * f73)) + (CB0[38].xyz * f74)) + (CB0[40].xyz * f75)) + (((((((CB0[29].xyz * f70) + (CB0[31].xyz * f71)) + (CB0[33].xyz * f72)) + (CB0[30].xyz * f73)) + (CB0[32].xyz * f74)) + (CB0[34].xyz * f75)) * f23); + vec3 f77 = (mix(textureLod(PrefilteredEnvIndoorTexture, f60, f59).xyz, textureLod(PrefilteredEnvTexture, f60, f59).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f47.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f23)) * f64) * f46; + vec3 f78 = ((((((((vec3(1.0) - (f56 * f46)) * CB0[10].xyz) * f49) + (((vec3(1.0) - f65) * f76) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f23))) + vec3((f2.z * 2.0) * f9)) * f44) + (((((f56 * (((f57 + (f57 * f57)) / (((f58 * f58) * ((f52 * 3.0) + 0.5)) * ((f51 * 0.75) + 0.25))) * f49)) * CB0[10].xyz) * f9) * VARYING0.w) + f77)) + ((f21.xyz * (f21.w * 120.0)).xyz * mix(f44, f77 * (1.0 / (max(max(f76.x, f76.y), f76.z) + 0.00999999977648258209228515625)), f65 * (f46 * (1.0 - f23)))); + vec4 f79 = vec4(f78.x, f78.y, f78.z, vec4(0.0).w); + f79.w = 1.0; + float f80 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f81 = textureLod(PrefilteredEnvTexture, vec4(-f8, 0.0).xyz, max(CB0[13].y, f80) * 5.0).xyz; + bvec3 f82 = bvec3(CB0[13].w != 0.0); + vec3 f83 = sqrt(clamp(mix(vec3(f82.x ? CB0[14].xyz.x : f81.x, f82.y ? CB0[14].xyz.y : f81.y, f82.z ? CB0[14].xyz.z : f81.z), f79.xyz, vec3(f80)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f83.x, f83.y, f83.z, f79.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level768.frag b/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level768.frag new file mode 100644 index 0000000000..b79334d851 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level768.frag @@ -0,0 +1,141 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB4[36]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; +uniform sampler2DArray NormalMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec3 VARYING7; +in vec3 VARYING8; +in vec4 VARYING9; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec3 f1 = vec3(VARYING1.zw, VARYING2.z); + vec4 f2 = ((texture(SpecularMapTexture, f0) * VARYING0.x) + (texture(SpecularMapTexture, f1) * VARYING0.y)) + (texture(SpecularMapTexture, VARYING3.xyz) * VARYING0.z); + vec4 f3 = texture(AlbedoMapTexture, f0); + vec4 f4 = texture(AlbedoMapTexture, f1); + vec4 f5 = texture(AlbedoMapTexture, VARYING3.xyz); + int f6 = int(VARYING9.x + 0.5); + int f7 = int(VARYING9.y + 0.5); + int f8 = int(VARYING9.z + 0.5); + vec2 f9 = f3.xz - vec2(0.5); + vec2 f10 = f4.xz - vec2(0.5); + vec2 f11 = f5.xz - vec2(0.5); + vec3 f12 = vec3(0.0); + f12.x = CB4[f6 * 1 + 0].x * f3.y; + float f13 = f9.x; + float f14 = f9.y; + vec3 f15 = f12; + f15.y = (CB4[f6 * 1 + 0].y * f13) - (CB4[f6 * 1 + 0].z * f14); + vec3 f16 = f15; + f16.z = (CB4[f6 * 1 + 0].z * f13) + (CB4[f6 * 1 + 0].y * f14); + vec3 f17 = vec3(0.0); + f17.x = CB4[f7 * 1 + 0].x * f4.y; + float f18 = f10.x; + float f19 = f10.y; + vec3 f20 = f17; + f20.y = (CB4[f7 * 1 + 0].y * f18) - (CB4[f7 * 1 + 0].z * f19); + vec3 f21 = f20; + f21.z = (CB4[f7 * 1 + 0].z * f18) + (CB4[f7 * 1 + 0].y * f19); + vec3 f22 = vec3(0.0); + f22.x = CB4[f8 * 1 + 0].x * f5.y; + float f23 = f11.x; + float f24 = f11.y; + vec3 f25 = f22; + f25.y = (CB4[f8 * 1 + 0].y * f23) - (CB4[f8 * 1 + 0].z * f24); + vec3 f26 = f25; + f26.z = (CB4[f8 * 1 + 0].z * f23) + (CB4[f8 * 1 + 0].y * f24); + vec4 f27 = ((vec4(f16.x, f16.y, f16.z, f3.w) * VARYING0.x) + (vec4(f21.x, f21.y, f21.z, f4.w) * VARYING0.y)) + (vec4(f26.x, f26.y, f26.z, f5.w) * VARYING0.z); + float f28 = f27.x; + float f29 = f28 - f27.z; + vec3 f30 = vec4(vec3(f29, f28, f29) + (vec3(f27.yzy) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + float f31 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f32 = -VARYING6.x; + vec2 f33 = (((texture(NormalMapTexture, f0) * VARYING0.x) + (texture(NormalMapTexture, f1) * VARYING0.y)) + (texture(NormalMapTexture, VARYING3.xyz) * VARYING0.z)).wy * 2.0; + vec2 f34 = f33 - vec2(1.0); + vec3 f35 = vec3(dot(VARYING7, VARYING0.xyz)); + vec3 f36 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f32), vec3(VARYING6.y, f32, 0.0), f35) * f34.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f35) * f34.y)) + (VARYING6 * sqrt(clamp(1.0 + dot(vec2(1.0) - f33, f34), 0.0, 1.0)))), 0.0).xyz; + vec3 f37 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f38 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f39 = VARYING4.yzx - (VARYING4.yzx * f38); + vec4 f40 = vec4(clamp(f38, 0.0, 1.0)); + vec4 f41 = mix(texture(LightMapTexture, f39), vec4(0.0), f40); + vec4 f42 = mix(texture(LightGridSkylightTexture, f39), vec4(1.0), f40); + float f43 = f42.x; + vec4 f44 = texture(ShadowMapTexture, f37.xy); + float f45 = f37.z; + vec3 f46 = normalize(VARYING8); + vec3 f47 = (f30 * f30).xyz; + float f48 = f2.y; + float f49 = CB0[26].w * f31; + vec3 f50 = reflect(-f46, f36); + vec3 f51 = -CB0[11].xyz; + float f52 = dot(f36, f51) * ((1.0 - ((step(f44.x, f45) * clamp(CB0[24].z + (CB0[24].w * abs(f45 - 0.5)), 0.0, 1.0)) * f44.y)) * f42.y); + vec3 f53 = normalize(f51 + f46); + float f54 = clamp(f52, 0.0, 1.0); + float f55 = f48 * f48; + float f56 = max(0.001000000047497451305389404296875, dot(f36, f53)); + float f57 = dot(f51, f53); + float f58 = 1.0 - f57; + float f59 = f58 * f58; + float f60 = (f59 * f59) * f58; + vec3 f61 = vec3(f60) + (vec3(0.039999999105930328369140625) * (1.0 - f60)); + float f62 = f55 * f55; + float f63 = (((f56 * f62) - f56) * f56) + 1.0; + float f64 = f48 * 5.0; + vec3 f65 = vec4(f50, f64).xyz; + vec4 f66 = texture(PrecomputedBRDFTexture, vec2(f48, max(9.9999997473787516355514526367188e-05, dot(f36, f46)))); + float f67 = f66.x; + float f68 = f66.y; + vec3 f69 = ((vec3(0.039999999105930328369140625) * f67) + vec3(f68)) / vec3(f67 + f68); + vec3 f70 = f69 * f49; + vec3 f71 = f36 * f36; + bvec3 f72 = lessThan(f36, vec3(0.0)); + vec3 f73 = vec3(f72.x ? f71.x : vec3(0.0).x, f72.y ? f71.y : vec3(0.0).y, f72.z ? f71.z : vec3(0.0).z); + vec3 f74 = f71 - f73; + float f75 = f74.x; + float f76 = f74.y; + float f77 = f74.z; + float f78 = f73.x; + float f79 = f73.y; + float f80 = f73.z; + vec3 f81 = ((((((CB0[35].xyz * f75) + (CB0[37].xyz * f76)) + (CB0[39].xyz * f77)) + (CB0[36].xyz * f78)) + (CB0[38].xyz * f79)) + (CB0[40].xyz * f80)) + (((((((CB0[29].xyz * f75) + (CB0[31].xyz * f76)) + (CB0[33].xyz * f77)) + (CB0[30].xyz * f78)) + (CB0[32].xyz * f79)) + (CB0[34].xyz * f80)) * f43); + vec3 f82 = (mix(textureLod(PrefilteredEnvIndoorTexture, f65, f64).xyz, textureLod(PrefilteredEnvTexture, f65, f64).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f50.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f43)) * f69) * f49; + vec3 f83 = (((((((((vec3(1.0) - (f61 * f49)) * CB0[10].xyz) * f54) + (CB0[12].xyz * clamp(-f52, 0.0, 1.0))) + (((vec3(1.0) - f70) * f81) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f43))) + vec3((f2.z * 2.0) * f31)) * f47) + (((((f61 * (((f62 + (f62 * f62)) / (((f63 * f63) * ((f57 * 3.0) + 0.5)) * ((f56 * 0.75) + 0.25))) * f54)) * CB0[10].xyz) * f31) * VARYING0.w) + f82)) + ((f41.xyz * (f41.w * 120.0)).xyz * mix(f47, f82 * (1.0 / (max(max(f81.x, f81.y), f81.z) + 0.00999999977648258209228515625)), f70 * (f49 * (1.0 - f43)))); + vec4 f84 = vec4(f83.x, f83.y, f83.z, vec4(0.0).w); + f84.w = 1.0; + float f85 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f86 = textureLod(PrefilteredEnvTexture, vec4(-VARYING8, 0.0).xyz, max(CB0[13].y, f85) * 5.0).xyz; + bvec3 f87 = bvec3(CB0[13].w != 0.0); + vec3 f88 = sqrt(clamp(mix(vec3(f87.x ? CB0[14].xyz.x : f86.x, f87.y ? CB0[14].xyz.y : f86.y, f87.z ? CB0[14].xyz.z : f86.z), f84.xyz, vec3(f85)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f88.x, f88.y, f88.z, f84.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level776.frag b/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level776.frag new file mode 100644 index 0000000000..98a2a2b559 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQFS_Level776.frag @@ -0,0 +1,162 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB4[36]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2DArray SpecularMapTexture; +uniform sampler2DArray AlbedoMapTexture; +uniform sampler2DArray NormalMapTexture; + +in vec4 VARYING0; +in vec4 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec3 VARYING4; +in vec4 VARYING5; +in vec3 VARYING6; +in vec3 VARYING7; +in vec4 VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = vec3(VARYING1.xy, VARYING2.x); + vec3 f1 = vec3(VARYING1.zw, VARYING2.z); + vec4 f2 = ((texture(SpecularMapTexture, f0) * VARYING0.x) + (texture(SpecularMapTexture, f1) * VARYING0.y)) + (texture(SpecularMapTexture, VARYING3.xyz) * VARYING0.z); + vec4 f3 = texture(AlbedoMapTexture, f0); + vec4 f4 = texture(AlbedoMapTexture, f1); + vec4 f5 = texture(AlbedoMapTexture, VARYING3.xyz); + int f6 = int(VARYING8.x + 0.5); + int f7 = int(VARYING8.y + 0.5); + int f8 = int(VARYING8.z + 0.5); + vec2 f9 = f3.xz - vec2(0.5); + vec2 f10 = f4.xz - vec2(0.5); + vec2 f11 = f5.xz - vec2(0.5); + vec3 f12 = vec3(0.0); + f12.x = CB4[f6 * 1 + 0].x * f3.y; + float f13 = f9.x; + float f14 = f9.y; + vec3 f15 = f12; + f15.y = (CB4[f6 * 1 + 0].y * f13) - (CB4[f6 * 1 + 0].z * f14); + vec3 f16 = f15; + f16.z = (CB4[f6 * 1 + 0].z * f13) + (CB4[f6 * 1 + 0].y * f14); + vec3 f17 = vec3(0.0); + f17.x = CB4[f7 * 1 + 0].x * f4.y; + float f18 = f10.x; + float f19 = f10.y; + vec3 f20 = f17; + f20.y = (CB4[f7 * 1 + 0].y * f18) - (CB4[f7 * 1 + 0].z * f19); + vec3 f21 = f20; + f21.z = (CB4[f7 * 1 + 0].z * f18) + (CB4[f7 * 1 + 0].y * f19); + vec3 f22 = vec3(0.0); + f22.x = CB4[f8 * 1 + 0].x * f5.y; + float f23 = f11.x; + float f24 = f11.y; + vec3 f25 = f22; + f25.y = (CB4[f8 * 1 + 0].y * f23) - (CB4[f8 * 1 + 0].z * f24); + vec3 f26 = f25; + f26.z = (CB4[f8 * 1 + 0].z * f23) + (CB4[f8 * 1 + 0].y * f24); + vec4 f27 = ((vec4(f16.x, f16.y, f16.z, f3.w) * VARYING0.x) + (vec4(f21.x, f21.y, f21.z, f4.w) * VARYING0.y)) + (vec4(f26.x, f26.y, f26.z, f5.w) * VARYING0.z); + float f28 = f27.x; + float f29 = f28 - f27.z; + vec3 f30 = vec4(vec3(f29, f28, f29) + (vec3(f27.yzy) * vec3(1.0, 1.0, -1.0)), 0.0).xyz; + vec3 f31 = CB0[7].xyz - VARYING5.xyz; + float f32 = clamp(1.0 - (VARYING5.w * CB0[23].y), 0.0, 1.0); + float f33 = -VARYING6.x; + vec2 f34 = (((texture(NormalMapTexture, f0) * VARYING0.x) + (texture(NormalMapTexture, f1) * VARYING0.y)) + (texture(NormalMapTexture, VARYING3.xyz) * VARYING0.z)).wy * 2.0; + vec2 f35 = f34 - vec2(1.0); + vec3 f36 = vec3(dot(VARYING7, VARYING0.xyz)); + vec3 f37 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f33), vec3(VARYING6.y, f33, 0.0), f36) * f35.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f36) * f35.y)) + (VARYING6 * sqrt(clamp(1.0 + dot(vec2(1.0) - f34, f35), 0.0, 1.0)))), 0.0).xyz; + vec3 f38 = -CB0[11].xyz; + float f39 = dot(f37, f38); + vec3 f40 = VARYING5.xyz - (CB0[11].xyz * 0.001000000047497451305389404296875); + float f41 = clamp(dot(step(CB0[19].xyz, abs(VARYING4 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f42 = VARYING4.yzx - (VARYING4.yzx * f41); + vec4 f43 = vec4(clamp(f41, 0.0, 1.0)); + vec4 f44 = mix(texture(LightMapTexture, f42), vec4(0.0), f43); + vec4 f45 = mix(texture(LightGridSkylightTexture, f42), vec4(1.0), f43); + float f46 = f45.x; + float f47 = f45.y; + vec3 f48 = f40 - CB0[41].xyz; + vec3 f49 = f40 - CB0[42].xyz; + vec3 f50 = f40 - CB0[43].xyz; + vec4 f51 = vec4(f40, 1.0) * mat4(CB8[((dot(f48, f48) < CB0[41].w) ? 0 : ((dot(f49, f49) < CB0[42].w) ? 1 : ((dot(f50, f50) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f48, f48) < CB0[41].w) ? 0 : ((dot(f49, f49) < CB0[42].w) ? 1 : ((dot(f50, f50) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f48, f48) < CB0[41].w) ? 0 : ((dot(f49, f49) < CB0[42].w) ? 1 : ((dot(f50, f50) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f48, f48) < CB0[41].w) ? 0 : ((dot(f49, f49) < CB0[42].w) ? 1 : ((dot(f50, f50) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f52 = textureLod(ShadowAtlasTexture, f51.xy, 0.0); + vec2 f53 = vec2(0.0); + f53.x = CB0[45].z; + vec2 f54 = f53; + f54.y = CB0[45].w; + float f55 = (2.0 * f51.z) - 1.0; + float f56 = exp(CB0[45].z * f55); + float f57 = -exp((-CB0[45].w) * f55); + vec2 f58 = (f54 * CB0[46].y) * vec2(f56, f57); + vec2 f59 = f58 * f58; + float f60 = f52.x; + float f61 = max(f52.y - (f60 * f60), f59.x); + float f62 = f56 - f60; + float f63 = f52.z; + float f64 = max(f52.w - (f63 * f63), f59.y); + float f65 = f57 - f63; + vec3 f66 = normalize(f31); + vec3 f67 = (f30 * f30).xyz; + float f68 = f2.y; + float f69 = CB0[26].w * f32; + vec3 f70 = reflect(-f66, f37); + vec3 f71 = normalize(f38 + f66); + float f72 = clamp(f39 * ((f39 > 0.0) ? mix(f47, mix(min((f56 <= f60) ? 1.0 : clamp(((f61 / (f61 + (f62 * f62))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f57 <= f63) ? 1.0 : clamp(((f64 / (f64 + (f65 * f65))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f47, clamp((length(f40 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f73 = f68 * f68; + float f74 = max(0.001000000047497451305389404296875, dot(f37, f71)); + float f75 = dot(f38, f71); + float f76 = 1.0 - f75; + float f77 = f76 * f76; + float f78 = (f77 * f77) * f76; + vec3 f79 = vec3(f78) + (vec3(0.039999999105930328369140625) * (1.0 - f78)); + float f80 = f73 * f73; + float f81 = (((f74 * f80) - f74) * f74) + 1.0; + float f82 = f68 * 5.0; + vec3 f83 = vec4(f70, f82).xyz; + vec4 f84 = texture(PrecomputedBRDFTexture, vec2(f68, max(9.9999997473787516355514526367188e-05, dot(f37, f66)))); + float f85 = f84.x; + float f86 = f84.y; + vec3 f87 = ((vec3(0.039999999105930328369140625) * f85) + vec3(f86)) / vec3(f85 + f86); + vec3 f88 = f87 * f69; + vec3 f89 = f37 * f37; + bvec3 f90 = lessThan(f37, vec3(0.0)); + vec3 f91 = vec3(f90.x ? f89.x : vec3(0.0).x, f90.y ? f89.y : vec3(0.0).y, f90.z ? f89.z : vec3(0.0).z); + vec3 f92 = f89 - f91; + float f93 = f92.x; + float f94 = f92.y; + float f95 = f92.z; + float f96 = f91.x; + float f97 = f91.y; + float f98 = f91.z; + vec3 f99 = ((((((CB0[35].xyz * f93) + (CB0[37].xyz * f94)) + (CB0[39].xyz * f95)) + (CB0[36].xyz * f96)) + (CB0[38].xyz * f97)) + (CB0[40].xyz * f98)) + (((((((CB0[29].xyz * f93) + (CB0[31].xyz * f94)) + (CB0[33].xyz * f95)) + (CB0[30].xyz * f96)) + (CB0[32].xyz * f97)) + (CB0[34].xyz * f98)) * f46); + vec3 f100 = (mix(textureLod(PrefilteredEnvIndoorTexture, f83, f82).xyz, textureLod(PrefilteredEnvTexture, f83, f82).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f70.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f46)) * f87) * f69; + vec3 f101 = ((((((((vec3(1.0) - (f79 * f69)) * CB0[10].xyz) * f72) + (((vec3(1.0) - f88) * f99) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f46))) + vec3((f2.z * 2.0) * f32)) * f67) + (((((f79 * (((f80 + (f80 * f80)) / (((f81 * f81) * ((f75 * 3.0) + 0.5)) * ((f74 * 0.75) + 0.25))) * f72)) * CB0[10].xyz) * f32) * VARYING0.w) + f100)) + ((f44.xyz * (f44.w * 120.0)).xyz * mix(f67, f100 * (1.0 / (max(max(f99.x, f99.y), f99.z) + 0.00999999977648258209228515625)), f88 * (f69 * (1.0 - f46)))); + vec4 f102 = vec4(f101.x, f101.y, f101.z, vec4(0.0).w); + f102.w = 1.0; + float f103 = clamp(exp2((CB0[13].z * VARYING5.w) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f104 = textureLod(PrefilteredEnvTexture, vec4(-f31, 0.0).xyz, max(CB0[13].y, f103) * 5.0).xyz; + bvec3 f105 = bvec3(CB0[13].w != 0.0); + vec3 f106 = sqrt(clamp(mix(vec3(f105.x ? CB0[14].xyz.x : f104.x, f105.y ? CB0[14].xyz.y : f104.y, f105.z ? CB0[14].xyz.z : f104.z), f102.xyz, vec3(f103)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f106.x, f106.y, f106.z, f102.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$SpecularMapTexture=s2 +//$$AlbedoMapTexture=s0 +//$$NormalMapTexture=s4 diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level512.vert b/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level512.vert new file mode 100644 index 0000000000..755bbb6415 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level512.vert @@ -0,0 +1,69 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; +out vec4 VARYING8; +out vec3 VARYING9; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + vec2 v8 = vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x; + float v9 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v7 * 1 + 0].z; + int v10 = int(TEXCOORD1.y); + int v11 = 36 + int(TEXCOORD0.y); + vec2 v12 = vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x; + float v13 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v11 * 1 + 0].z; + int v14 = int(TEXCOORD1.z); + int v15 = 36 + int(TEXCOORD0.z); + vec2 v16 = vec2(dot(v0, CB2[v14 * 1 + 0].xyz), dot(v0, CB2[(18 + v14) * 1 + 0].xyz)) * CB2[v15 * 1 + 0].x; + float v17 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v15 * 1 + 0].z; + vec4 v18 = vec4(0.0); + v18.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v19 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v20 = vec3(v19.x ? vec3(1.0).x : vec3(0.0).x, v19.y ? vec3(1.0).y : vec3(0.0).y, v19.z ? vec3(1.0).z : vec3(0.0).z); + vec3 v21 = vec3(0.0); + v21.x = float((TEXCOORD0.x == TEXCOORD0.y) || (TEXCOORD0.x == TEXCOORD0.z)); + vec3 v22 = v21; + v22.y = float((TEXCOORD0.y == TEXCOORD0.x) || (TEXCOORD0.y == TEXCOORD0.z)); + vec3 v23 = v22; + v23.z = float((TEXCOORD0.z == TEXCOORD0.x) || (TEXCOORD0.z == TEXCOORD0.y)); + vec4 v24 = vec4(0.0); + v24.w = (dot(v23, v20.xyz) * 20.0) - 19.0; + bvec3 v25 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v20.x, v20.y, v20.z, v18.w); + VARYING1 = vec4(((v8 * sqrt(1.0 - (v9 * v9))) + (v8.yx * vec2(v9, -v9))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), ((v12 * sqrt(1.0 - (v13 * v13))) + (v12.yx * vec2(v13, -v13))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v16 * sqrt(1.0 - (v17 * v17))) + (v16.yx * vec2(v17, -v17))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v15 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v25.x ? vec3(1.0).x : vec3(0.0).x, v25.y ? vec3(1.0).y : vec3(0.0).y, v25.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = vec4(TEXCOORD0.x, TEXCOORD0.y, TEXCOORD0.z, v24.w); + VARYING9 = v5; +} + diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level520.vert b/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level520.vert new file mode 100644 index 0000000000..6e56326f3c --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level520.vert @@ -0,0 +1,66 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; +out vec4 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + float v2 = v0.x; + vec4 v3 = vec4(v2, v0.yz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + int v5 = int(TEXCOORD1.x); + int v6 = 36 + int(TEXCOORD0.x); + vec2 v7 = vec2(dot(v0, CB2[v5 * 1 + 0].xyz), dot(v0, CB2[(18 + v5) * 1 + 0].xyz)) * CB2[v6 * 1 + 0].x; + float v8 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v6 * 1 + 0].z; + int v9 = int(TEXCOORD1.y); + int v10 = 36 + int(TEXCOORD0.y); + vec2 v11 = vec2(dot(v0, CB2[v9 * 1 + 0].xyz), dot(v0, CB2[(18 + v9) * 1 + 0].xyz)) * CB2[v10 * 1 + 0].x; + float v12 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v10 * 1 + 0].z; + int v13 = int(TEXCOORD1.z); + int v14 = 36 + int(TEXCOORD0.z); + vec2 v15 = vec2(dot(v0, CB2[v13 * 1 + 0].xyz), dot(v0, CB2[(18 + v13) * 1 + 0].xyz)) * CB2[v14 * 1 + 0].x; + float v16 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v14 * 1 + 0].z; + vec4 v17 = vec4(0.0); + v17.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v18 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v19 = vec3(v18.x ? vec3(1.0).x : vec3(0.0).x, v18.y ? vec3(1.0).y : vec3(0.0).y, v18.z ? vec3(1.0).z : vec3(0.0).z); + vec3 v20 = vec3(0.0); + v20.x = float((TEXCOORD0.x == TEXCOORD0.y) || (TEXCOORD0.x == TEXCOORD0.z)); + vec3 v21 = v20; + v21.y = float((TEXCOORD0.y == TEXCOORD0.x) || (TEXCOORD0.y == TEXCOORD0.z)); + vec3 v22 = v21; + v22.z = float((TEXCOORD0.z == TEXCOORD0.x) || (TEXCOORD0.z == TEXCOORD0.y)); + vec4 v23 = vec4(0.0); + v23.w = (dot(v22, v19.xyz) * 20.0) - 19.0; + bvec3 v24 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v19.x, v19.y, v19.z, v17.w); + VARYING1 = vec4(((v7 * sqrt(1.0 - (v8 * v8))) + (v7.yx * vec2(v8, -v8))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v6 * 1 + 0].y), ((v11 * sqrt(1.0 - (v12 * v12))) + (v11.yx * vec2(v12, -v12))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v10 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v15 * sqrt(1.0 - (v16 * v16))) + (v15.yx * vec2(v16, -v16))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v14 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(v2, v0.yz, length(CB0[7].xyz - v0)); + VARYING6 = v1; + VARYING7 = vec3(v24.x ? vec3(1.0).x : vec3(0.0).x, v24.y ? vec3(1.0).y : vec3(0.0).y, v24.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = vec4(TEXCOORD0.x, TEXCOORD0.y, TEXCOORD0.z, v23.w); +} + diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level768.vert b/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level768.vert new file mode 100644 index 0000000000..7bad0c7fca --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level768.vert @@ -0,0 +1,71 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; +out vec4 VARYING8; +out vec3 VARYING9; +out vec4 VARYING10; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + vec2 v8 = vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x; + float v9 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v7 * 1 + 0].z; + int v10 = int(TEXCOORD1.y); + int v11 = 36 + int(TEXCOORD0.y); + vec2 v12 = vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x; + float v13 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v11 * 1 + 0].z; + int v14 = int(TEXCOORD1.z); + int v15 = 36 + int(TEXCOORD0.z); + vec2 v16 = vec2(dot(v0, CB2[v14 * 1 + 0].xyz), dot(v0, CB2[(18 + v14) * 1 + 0].xyz)) * CB2[v15 * 1 + 0].x; + float v17 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v15 * 1 + 0].z; + vec4 v18 = vec4(0.0); + v18.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v19 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v20 = vec3(v19.x ? vec3(1.0).x : vec3(0.0).x, v19.y ? vec3(1.0).y : vec3(0.0).y, v19.z ? vec3(1.0).z : vec3(0.0).z); + vec3 v21 = vec3(0.0); + v21.x = float((TEXCOORD0.x == TEXCOORD0.y) || (TEXCOORD0.x == TEXCOORD0.z)); + vec3 v22 = v21; + v22.y = float((TEXCOORD0.y == TEXCOORD0.x) || (TEXCOORD0.y == TEXCOORD0.z)); + vec3 v23 = v22; + v23.z = float((TEXCOORD0.z == TEXCOORD0.x) || (TEXCOORD0.z == TEXCOORD0.y)); + vec4 v24 = vec4(0.0); + v24.w = (dot(v23, v20.xyz) * 20.0) - 19.0; + bvec3 v25 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v20.x, v20.y, v20.z, v18.w); + VARYING1 = vec4(((v8 * sqrt(1.0 - (v9 * v9))) + (v8.yx * vec2(v9, -v9))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), ((v12 * sqrt(1.0 - (v13 * v13))) + (v12.yx * vec2(v13, -v13))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v16 * sqrt(1.0 - (v17 * v17))) + (v16.yx * vec2(v17, -v17))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v15 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v25.x ? vec3(1.0).x : vec3(0.0).x, v25.y ? vec3(1.0).y : vec3(0.0).y, v25.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = vec4(TEXCOORD0.x, TEXCOORD0.y, TEXCOORD0.z, v24.w); + VARYING9 = v5; + VARYING10 = vec4(TEXCOORD0.xyz, 0.0); +} + diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level776.vert b/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level776.vert new file mode 100644 index 0000000000..502e396885 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQVSFlagHeight_Level776.vert @@ -0,0 +1,68 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; +out vec4 VARYING8; +out vec4 VARYING9; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + float v2 = v0.x; + vec4 v3 = vec4(v2, v0.yz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + int v5 = int(TEXCOORD1.x); + int v6 = 36 + int(TEXCOORD0.x); + vec2 v7 = vec2(dot(v0, CB2[v5 * 1 + 0].xyz), dot(v0, CB2[(18 + v5) * 1 + 0].xyz)) * CB2[v6 * 1 + 0].x; + float v8 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v6 * 1 + 0].z; + int v9 = int(TEXCOORD1.y); + int v10 = 36 + int(TEXCOORD0.y); + vec2 v11 = vec2(dot(v0, CB2[v9 * 1 + 0].xyz), dot(v0, CB2[(18 + v9) * 1 + 0].xyz)) * CB2[v10 * 1 + 0].x; + float v12 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v10 * 1 + 0].z; + int v13 = int(TEXCOORD1.z); + int v14 = 36 + int(TEXCOORD0.z); + vec2 v15 = vec2(dot(v0, CB2[v13 * 1 + 0].xyz), dot(v0, CB2[(18 + v13) * 1 + 0].xyz)) * CB2[v14 * 1 + 0].x; + float v16 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v14 * 1 + 0].z; + vec4 v17 = vec4(0.0); + v17.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v18 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v19 = vec3(v18.x ? vec3(1.0).x : vec3(0.0).x, v18.y ? vec3(1.0).y : vec3(0.0).y, v18.z ? vec3(1.0).z : vec3(0.0).z); + vec3 v20 = vec3(0.0); + v20.x = float((TEXCOORD0.x == TEXCOORD0.y) || (TEXCOORD0.x == TEXCOORD0.z)); + vec3 v21 = v20; + v21.y = float((TEXCOORD0.y == TEXCOORD0.x) || (TEXCOORD0.y == TEXCOORD0.z)); + vec3 v22 = v21; + v22.z = float((TEXCOORD0.z == TEXCOORD0.x) || (TEXCOORD0.z == TEXCOORD0.y)); + vec4 v23 = vec4(0.0); + v23.w = (dot(v22, v19.xyz) * 20.0) - 19.0; + bvec3 v24 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v19.x, v19.y, v19.z, v17.w); + VARYING1 = vec4(((v7 * sqrt(1.0 - (v8 * v8))) + (v7.yx * vec2(v8, -v8))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v6 * 1 + 0].y), ((v11 * sqrt(1.0 - (v12 * v12))) + (v11.yx * vec2(v12, -v12))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v10 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v15 * sqrt(1.0 - (v16 * v16))) + (v15.yx * vec2(v16, -v16))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v14 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(v2, v0.yz, length(CB0[7].xyz - v0)); + VARYING6 = v1; + VARYING7 = vec3(v24.x ? vec3(1.0).x : vec3(0.0).x, v24.y ? vec3(1.0).y : vec3(0.0).y, v24.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = vec4(TEXCOORD0.x, TEXCOORD0.y, TEXCOORD0.z, v23.w); + VARYING9 = vec4(TEXCOORD0.xyz, 0.0); +} + diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level512.vert b/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level512.vert new file mode 100644 index 0000000000..1e0c3c27bc --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level512.vert @@ -0,0 +1,59 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; +out vec3 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + vec2 v8 = vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x; + float v9 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v7 * 1 + 0].z; + int v10 = int(TEXCOORD1.y); + int v11 = 36 + int(TEXCOORD0.y); + vec2 v12 = vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x; + float v13 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v11 * 1 + 0].z; + int v14 = int(TEXCOORD1.z); + int v15 = 36 + int(TEXCOORD0.z); + vec2 v16 = vec2(dot(v0, CB2[v14 * 1 + 0].xyz), dot(v0, CB2[(18 + v14) * 1 + 0].xyz)) * CB2[v15 * 1 + 0].x; + float v17 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v15 * 1 + 0].z; + vec4 v18 = vec4(0.0); + v18.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v19 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v20 = vec3(v19.x ? vec3(1.0).x : vec3(0.0).x, v19.y ? vec3(1.0).y : vec3(0.0).y, v19.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v21 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v20.x, v20.y, v20.z, v18.w); + VARYING1 = vec4(((v8 * sqrt(1.0 - (v9 * v9))) + (v8.yx * vec2(v9, -v9))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), ((v12 * sqrt(1.0 - (v13 * v13))) + (v12.yx * vec2(v13, -v13))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v16 * sqrt(1.0 - (v17 * v17))) + (v16.yx * vec2(v17, -v17))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v15 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v21.x ? vec3(1.0).x : vec3(0.0).x, v21.y ? vec3(1.0).y : vec3(0.0).y, v21.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = v5; +} + diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level520.vert b/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level520.vert new file mode 100644 index 0000000000..c6c1304734 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level520.vert @@ -0,0 +1,56 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + float v2 = v0.x; + vec4 v3 = vec4(v2, v0.yz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + int v5 = int(TEXCOORD1.x); + int v6 = 36 + int(TEXCOORD0.x); + vec2 v7 = vec2(dot(v0, CB2[v5 * 1 + 0].xyz), dot(v0, CB2[(18 + v5) * 1 + 0].xyz)) * CB2[v6 * 1 + 0].x; + float v8 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v6 * 1 + 0].z; + int v9 = int(TEXCOORD1.y); + int v10 = 36 + int(TEXCOORD0.y); + vec2 v11 = vec2(dot(v0, CB2[v9 * 1 + 0].xyz), dot(v0, CB2[(18 + v9) * 1 + 0].xyz)) * CB2[v10 * 1 + 0].x; + float v12 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v10 * 1 + 0].z; + int v13 = int(TEXCOORD1.z); + int v14 = 36 + int(TEXCOORD0.z); + vec2 v15 = vec2(dot(v0, CB2[v13 * 1 + 0].xyz), dot(v0, CB2[(18 + v13) * 1 + 0].xyz)) * CB2[v14 * 1 + 0].x; + float v16 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v14 * 1 + 0].z; + vec4 v17 = vec4(0.0); + v17.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v18 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v19 = vec3(v18.x ? vec3(1.0).x : vec3(0.0).x, v18.y ? vec3(1.0).y : vec3(0.0).y, v18.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v20 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v19.x, v19.y, v19.z, v17.w); + VARYING1 = vec4(((v7 * sqrt(1.0 - (v8 * v8))) + (v7.yx * vec2(v8, -v8))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v6 * 1 + 0].y), ((v11 * sqrt(1.0 - (v12 * v12))) + (v11.yx * vec2(v12, -v12))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v10 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v15 * sqrt(1.0 - (v16 * v16))) + (v15.yx * vec2(v16, -v16))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v14 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(v2, v0.yz, length(CB0[7].xyz - v0)); + VARYING6 = v1; + VARYING7 = vec3(v20.x ? vec3(1.0).x : vec3(0.0).x, v20.y ? vec3(1.0).y : vec3(0.0).y, v20.z ? vec3(1.0).z : vec3(0.0).z); +} + diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level768.vert b/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level768.vert new file mode 100644 index 0000000000..805394a1e0 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level768.vert @@ -0,0 +1,61 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; +out vec3 VARYING8; +out vec4 VARYING9; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(v0, 1.0); + vec4 v3 = v2 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v5 = CB0[7].xyz - v0; + int v6 = int(TEXCOORD1.x); + int v7 = 36 + int(TEXCOORD0.x); + vec2 v8 = vec2(dot(v0, CB2[v6 * 1 + 0].xyz), dot(v0, CB2[(18 + v6) * 1 + 0].xyz)) * CB2[v7 * 1 + 0].x; + float v9 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v7 * 1 + 0].z; + int v10 = int(TEXCOORD1.y); + int v11 = 36 + int(TEXCOORD0.y); + vec2 v12 = vec2(dot(v0, CB2[v10 * 1 + 0].xyz), dot(v0, CB2[(18 + v10) * 1 + 0].xyz)) * CB2[v11 * 1 + 0].x; + float v13 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v11 * 1 + 0].z; + int v14 = int(TEXCOORD1.z); + int v15 = 36 + int(TEXCOORD0.z); + vec2 v16 = vec2(dot(v0, CB2[v14 * 1 + 0].xyz), dot(v0, CB2[(18 + v14) * 1 + 0].xyz)) * CB2[v15 * 1 + 0].x; + float v17 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v15 * 1 + 0].z; + vec4 v18 = vec4(0.0); + v18.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v19 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v20 = vec3(v19.x ? vec3(1.0).x : vec3(0.0).x, v19.y ? vec3(1.0).y : vec3(0.0).y, v19.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v21 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v20.x, v20.y, v20.z, v18.w); + VARYING1 = vec4(((v8 * sqrt(1.0 - (v9 * v9))) + (v8.yx * vec2(v9, -v9))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v7 * 1 + 0].y), ((v12 * sqrt(1.0 - (v13 * v13))) + (v12.yx * vec2(v13, -v13))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v11 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v16 * sqrt(1.0 - (v17 * v17))) + (v16.yx * vec2(v17, -v17))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v15 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(dot(CB0[20], v2), dot(CB0[21], v2), dot(CB0[22], v2), length(v5)); + VARYING6 = v1; + VARYING7 = vec3(v21.x ? vec3(1.0).x : vec3(0.0).x, v21.y ? vec3(1.0).y : vec3(0.0).y, v21.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = v5; + VARYING9 = vec4(TEXCOORD0.xyz, 0.0); +} + diff --git a/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level776.vert b/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level776.vert new file mode 100644 index 0000000000..0a0d933573 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothClusterSuperHQVS_Level776.vert @@ -0,0 +1,58 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec4 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec3 VARYING4; +out vec4 VARYING5; +out vec3 VARYING6; +out vec3 VARYING7; +out vec4 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + float v2 = v0.x; + vec4 v3 = vec4(v2, v0.yz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v4 = v3; + v4.z = v3.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + int v5 = int(TEXCOORD1.x); + int v6 = 36 + int(TEXCOORD0.x); + vec2 v7 = vec2(dot(v0, CB2[v5 * 1 + 0].xyz), dot(v0, CB2[(18 + v5) * 1 + 0].xyz)) * CB2[v6 * 1 + 0].x; + float v8 = ((NORMAL.w * 0.0078125) - 1.0) * CB2[v6 * 1 + 0].z; + int v9 = int(TEXCOORD1.y); + int v10 = 36 + int(TEXCOORD0.y); + vec2 v11 = vec2(dot(v0, CB2[v9 * 1 + 0].xyz), dot(v0, CB2[(18 + v9) * 1 + 0].xyz)) * CB2[v10 * 1 + 0].x; + float v12 = ((TEXCOORD0.w * 0.0078125) - 1.0) * CB2[v10 * 1 + 0].z; + int v13 = int(TEXCOORD1.z); + int v14 = 36 + int(TEXCOORD0.z); + vec2 v15 = vec2(dot(v0, CB2[v13 * 1 + 0].xyz), dot(v0, CB2[(18 + v13) * 1 + 0].xyz)) * CB2[v14 * 1 + 0].x; + float v16 = ((TEXCOORD1.w * 0.0078125) - 1.0) * CB2[v14 * 1 + 0].z; + vec4 v17 = vec4(0.0); + v17.w = (abs(POSITION.w) > 3.0) ? 0.0 : 1.0; + bvec3 v18 = equal(mod(abs(POSITION.www), vec3(4.0)), vec3(1.0, 2.0, 3.0)); + vec3 v19 = vec3(v18.x ? vec3(1.0).x : vec3(0.0).x, v18.y ? vec3(1.0).y : vec3(0.0).y, v18.z ? vec3(1.0).z : vec3(0.0).z); + bvec3 v20 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + gl_Position = v4; + VARYING0 = vec4(v19.x, v19.y, v19.z, v17.w); + VARYING1 = vec4(((v7 * sqrt(1.0 - (v8 * v8))) + (v7.yx * vec2(v8, -v8))) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * CB2[v6 * 1 + 0].y), ((v11 * sqrt(1.0 - (v12 * v12))) + (v11.yx * vec2(v12, -v12))) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * CB2[v10 * 1 + 0].y)); + VARYING2 = vec4(TEXCOORD0.x, 0.0, TEXCOORD0.y, 0.0); + VARYING3 = vec4(((v15 * sqrt(1.0 - (v16 * v16))) + (v15.yx * vec2(v16, -v16))) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * CB2[v14 * 1 + 0].y), TEXCOORD0.z, 0.0); + VARYING4 = ((v0 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING5 = vec4(v2, v0.yz, length(CB0[7].xyz - v0)); + VARYING6 = v1; + VARYING7 = vec3(v20.x ? vec3(1.0).x : vec3(0.0).x, v20.y ? vec3(1.0).y : vec3(0.0).y, v20.z ? vec3(1.0).z : vec3(0.0).z); + VARYING8 = vec4(TEXCOORD0.xyz, 0.0); +} + diff --git a/shaders/shaders_glsl3/SmoothWaterHQFS_Level512.frag b/shaders/shaders_glsl3/SmoothWaterHQFS_Level512.frag new file mode 100644 index 0000000000..a8f94e6024 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothWaterHQFS_Level512.frag @@ -0,0 +1,79 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[3]; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D NormalMap1Texture; +uniform sampler2D NormalMap2Texture; + +in vec4 VARYING0; +in vec3 VARYING1; +in vec2 VARYING2; +in vec2 VARYING3; +in vec2 VARYING4; +in vec3 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = clamp(dot(step(CB0[19].xyz, abs(VARYING5 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f1 = VARYING5.yzx - (VARYING5.yzx * f0); + vec4 f2 = vec4(clamp(f0, 0.0, 1.0)); + vec4 f3 = mix(texture(LightMapTexture, f1), vec4(0.0), f2); + vec4 f4 = mix(texture(LightGridSkylightTexture, f1), vec4(1.0), f2); + vec3 f5 = (f3.xyz * (f3.w * 120.0)).xyz; + float f6 = f4.x; + float f7 = f4.y; + vec4 f8 = vec4(CB3[0].w); + float f9 = -VARYING6.x; + vec4 f10 = ((mix(texture(NormalMap1Texture, VARYING2), texture(NormalMap2Texture, VARYING2), f8) * VARYING0.x) + (mix(texture(NormalMap1Texture, VARYING3), texture(NormalMap2Texture, VARYING3), f8) * VARYING0.y)) + (mix(texture(NormalMap1Texture, VARYING4), texture(NormalMap2Texture, VARYING4), f8) * VARYING0.z); + vec2 f11 = f10.wy * 2.0; + vec2 f12 = f11 - vec2(1.0); + float f13 = f10.x; + vec3 f14 = vec3(dot(VARYING1, VARYING0.xyz)); + vec3 f15 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f9), vec3(VARYING6.y, f9, 0.0), f14) * f12.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f14) * f12.y)) + (VARYING6.xyz * sqrt(clamp(1.0 + dot(vec2(1.0) - f11, f12), 0.0, 1.0)))), f13).xyz; + vec3 f16 = mix(VARYING6.xyz, f15, vec3(0.25)); + vec3 f17 = normalize(VARYING7.xyz); + vec3 f18 = f15 * f15; + bvec3 f19 = lessThan(f15, vec3(0.0)); + vec3 f20 = vec3(f19.x ? f18.x : vec3(0.0).x, f19.y ? f18.y : vec3(0.0).y, f19.z ? f18.z : vec3(0.0).z); + vec3 f21 = f18 - f20; + float f22 = f21.x; + float f23 = f21.y; + float f24 = f21.z; + float f25 = f20.x; + float f26 = f20.y; + float f27 = f20.z; + vec3 f28 = -f17; + vec3 f29 = reflect(f28, f16); + vec3 f30 = -CB0[11].xyz; + vec3 f31 = normalize(f30 + f17); + float f32 = f13 * f13; + float f33 = max(0.001000000047497451305389404296875, dot(f15, f31)); + float f34 = dot(f30, f31); + float f35 = 1.0 - f34; + float f36 = f35 * f35; + float f37 = (f36 * f36) * f35; + float f38 = f32 * f32; + float f39 = (((f33 * f38) - f33) * f33) + 1.0; + vec3 f40 = mix(((min(f5 + (CB0[27].xyz + (CB0[28].xyz * f6)), vec3(CB0[16].w)) + (((((((CB0[35].xyz * f22) + (CB0[37].xyz * f23)) + (CB0[39].xyz * f24)) + (CB0[36].xyz * f25)) + (CB0[38].xyz * f26)) + (CB0[40].xyz * f27)) + (((((((CB0[29].xyz * f22) + (CB0[31].xyz * f23)) + (CB0[33].xyz * f24)) + (CB0[30].xyz * f25)) + (CB0[32].xyz * f26)) + (CB0[34].xyz * f27)) * f6))) + (CB0[10].xyz * f7)) * CB3[1].xyz, ((textureLod(PrefilteredEnvTexture, vec4(f29, 0.0).xyz, 0.0).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f29.y * 1.58823525905609130859375, 0.0, 1.0)))) * f6) + (f5 * 0.100000001490116119384765625), vec3(((clamp(0.7799999713897705078125 - (2.5 * abs(dot(f16, f17))), 0.0, 1.0) + 0.300000011920928955078125) * VARYING0.w) * CB3[2].z)) + ((((vec3(f37) + (vec3(0.0199999995529651641845703125) * (1.0 - f37))) * (((f38 + (f38 * f38)) / (((f39 * f39) * ((f34 * 3.0) + 0.5)) * ((f33 * 0.75) + 0.25))) * clamp(dot(f15, f30) * f7, 0.0, 1.0))) * CB0[10].xyz) * clamp(1.0 - (VARYING7.w * CB0[23].y), 0.0, 1.0)); + vec4 f41 = vec4(f40.x, f40.y, f40.z, vec4(0.0).w); + f41.w = 1.0; + vec3 f42 = textureLod(PrefilteredEnvTexture, vec4(f28, 0.0).xyz, max(CB0[13].y, VARYING6.w) * 5.0).xyz; + bvec3 f43 = bvec3(CB0[13].w != 0.0); + vec3 f44 = sqrt(clamp(mix(vec3(f43.x ? CB0[14].xyz.x : f42.x, f43.y ? CB0[14].xyz.y : f42.y, f43.z ? CB0[14].xyz.z : f42.z), f41.xyz, vec3(VARYING6.w)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f44.x, f44.y, f44.z, f41.w); +} + +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$NormalMap1Texture=s0 +//$$NormalMap2Texture=s2 diff --git a/shaders/shaders_glsl3/SmoothWaterHQFS_Level520.frag b/shaders/shaders_glsl3/SmoothWaterHQFS_Level520.frag new file mode 100644 index 0000000000..be3e5a3776 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothWaterHQFS_Level520.frag @@ -0,0 +1,105 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB3[3]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D NormalMap1Texture; +uniform sampler2D NormalMap2Texture; + +in vec4 VARYING0; +in vec3 VARYING1; +in vec2 VARYING2; +in vec2 VARYING3; +in vec2 VARYING4; +in vec3 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = CB0[7].xyz - VARYING7.xyz; + vec3 f1 = -CB0[11].xyz; + float f2 = clamp(dot(step(CB0[19].xyz, abs(VARYING5 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f3 = VARYING5.yzx - (VARYING5.yzx * f2); + vec4 f4 = vec4(clamp(f2, 0.0, 1.0)); + vec4 f5 = mix(texture(LightMapTexture, f3), vec4(0.0), f4); + vec4 f6 = mix(texture(LightGridSkylightTexture, f3), vec4(1.0), f4); + vec3 f7 = (f5.xyz * (f5.w * 120.0)).xyz; + float f8 = f6.x; + float f9 = f6.y; + vec3 f10 = f0 - CB0[41].xyz; + vec3 f11 = f0 - CB0[42].xyz; + vec3 f12 = f0 - CB0[43].xyz; + vec4 f13 = vec4(f0, 1.0) * mat4(CB8[((dot(f10, f10) < CB0[41].w) ? 0 : ((dot(f11, f11) < CB0[42].w) ? 1 : ((dot(f12, f12) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f10, f10) < CB0[41].w) ? 0 : ((dot(f11, f11) < CB0[42].w) ? 1 : ((dot(f12, f12) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f10, f10) < CB0[41].w) ? 0 : ((dot(f11, f11) < CB0[42].w) ? 1 : ((dot(f12, f12) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f10, f10) < CB0[41].w) ? 0 : ((dot(f11, f11) < CB0[42].w) ? 1 : ((dot(f12, f12) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f14 = textureLod(ShadowAtlasTexture, f13.xy, 0.0); + vec2 f15 = vec2(0.0); + f15.x = CB0[45].z; + vec2 f16 = f15; + f16.y = CB0[45].w; + float f17 = (2.0 * f13.z) - 1.0; + float f18 = exp(CB0[45].z * f17); + float f19 = -exp((-CB0[45].w) * f17); + vec2 f20 = (f16 * CB0[46].y) * vec2(f18, f19); + vec2 f21 = f20 * f20; + float f22 = f14.x; + float f23 = max(f14.y - (f22 * f22), f21.x); + float f24 = f18 - f22; + float f25 = f14.z; + float f26 = max(f14.w - (f25 * f25), f21.y); + float f27 = f19 - f25; + float f28 = (dot(VARYING6.xyz, f1) > 0.0) ? mix(f9, mix(min((f18 <= f22) ? 1.0 : clamp(((f23 / (f23 + (f24 * f24))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f19 <= f25) ? 1.0 : clamp(((f26 / (f26 + (f27 * f27))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f9, clamp((length(f0 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0; + vec4 f29 = vec4(CB3[0].w); + float f30 = -VARYING6.x; + vec4 f31 = ((mix(texture(NormalMap1Texture, VARYING2), texture(NormalMap2Texture, VARYING2), f29) * VARYING0.x) + (mix(texture(NormalMap1Texture, VARYING3), texture(NormalMap2Texture, VARYING3), f29) * VARYING0.y)) + (mix(texture(NormalMap1Texture, VARYING4), texture(NormalMap2Texture, VARYING4), f29) * VARYING0.z); + vec2 f32 = f31.wy * 2.0; + vec2 f33 = f32 - vec2(1.0); + float f34 = f31.x; + vec3 f35 = vec3(dot(VARYING1, VARYING0.xyz)); + vec3 f36 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f30), vec3(VARYING6.y, f30, 0.0), f35) * f33.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f35) * f33.y)) + (VARYING6.xyz * sqrt(clamp(1.0 + dot(vec2(1.0) - f32, f33), 0.0, 1.0)))), f34).xyz; + vec3 f37 = mix(VARYING6.xyz, f36, vec3(0.25)); + vec3 f38 = normalize(VARYING7.xyz); + vec3 f39 = f36 * f36; + bvec3 f40 = lessThan(f36, vec3(0.0)); + vec3 f41 = vec3(f40.x ? f39.x : vec3(0.0).x, f40.y ? f39.y : vec3(0.0).y, f40.z ? f39.z : vec3(0.0).z); + vec3 f42 = f39 - f41; + float f43 = f42.x; + float f44 = f42.y; + float f45 = f42.z; + float f46 = f41.x; + float f47 = f41.y; + float f48 = f41.z; + vec3 f49 = -f38; + vec3 f50 = reflect(f49, f37); + vec3 f51 = normalize(f1 + f38); + float f52 = f34 * f34; + float f53 = max(0.001000000047497451305389404296875, dot(f36, f51)); + float f54 = dot(f1, f51); + float f55 = 1.0 - f54; + float f56 = f55 * f55; + float f57 = (f56 * f56) * f55; + float f58 = f52 * f52; + float f59 = (((f53 * f58) - f53) * f53) + 1.0; + vec3 f60 = mix(((min(f7 + (CB0[27].xyz + (CB0[28].xyz * f8)), vec3(CB0[16].w)) + (((((((CB0[35].xyz * f43) + (CB0[37].xyz * f44)) + (CB0[39].xyz * f45)) + (CB0[36].xyz * f46)) + (CB0[38].xyz * f47)) + (CB0[40].xyz * f48)) + (((((((CB0[29].xyz * f43) + (CB0[31].xyz * f44)) + (CB0[33].xyz * f45)) + (CB0[30].xyz * f46)) + (CB0[32].xyz * f47)) + (CB0[34].xyz * f48)) * f8))) + (CB0[10].xyz * f28)) * CB3[1].xyz, ((textureLod(PrefilteredEnvTexture, vec4(f50, 0.0).xyz, 0.0).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f50.y * 1.58823525905609130859375, 0.0, 1.0)))) * f8) + (f7 * 0.100000001490116119384765625), vec3(((clamp(0.7799999713897705078125 - (2.5 * abs(dot(f37, f38))), 0.0, 1.0) + 0.300000011920928955078125) * VARYING0.w) * CB3[2].z)) + ((((vec3(f57) + (vec3(0.0199999995529651641845703125) * (1.0 - f57))) * (((f58 + (f58 * f58)) / (((f59 * f59) * ((f54 * 3.0) + 0.5)) * ((f53 * 0.75) + 0.25))) * clamp(dot(f36, f1) * f28, 0.0, 1.0))) * CB0[10].xyz) * clamp(1.0 - (VARYING7.w * CB0[23].y), 0.0, 1.0)); + vec4 f61 = vec4(f60.x, f60.y, f60.z, vec4(0.0).w); + f61.w = 1.0; + vec3 f62 = textureLod(PrefilteredEnvTexture, vec4(f49, 0.0).xyz, max(CB0[13].y, VARYING6.w) * 5.0).xyz; + bvec3 f63 = bvec3(CB0[13].w != 0.0); + vec3 f64 = sqrt(clamp(mix(vec3(f63.x ? CB0[14].xyz.x : f62.x, f63.y ? CB0[14].xyz.y : f62.y, f63.z ? CB0[14].xyz.z : f62.z), f61.xyz, vec3(VARYING6.w)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f64.x, f64.y, f64.z, f61.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$NormalMap1Texture=s0 +//$$NormalMap2Texture=s2 diff --git a/shaders/shaders_glsl3/SmoothWaterHQVS_Level512.vert b/shaders/shaders_glsl3/SmoothWaterHQVS_Level512.vert new file mode 100644 index 0000000000..cf53e5758a --- /dev/null +++ b/shaders/shaders_glsl3/SmoothWaterHQVS_Level512.vert @@ -0,0 +1,59 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[3]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec3 VARYING1; +out vec2 VARYING2; +out vec2 VARYING3; +out vec2 VARYING4; +out vec3 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out vec4 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + bvec3 v2 = equal(abs(POSITION.www), vec3(1.0, 2.0, 3.0)); + vec3 v3 = vec3(v2.x ? vec3(1.0).x : vec3(0.0).x, v2.y ? vec3(1.0).y : vec3(0.0).y, v2.z ? vec3(1.0).z : vec3(0.0).z); + float v4 = dot(v3, TEXCOORD0.xyz) * 0.0039215688593685626983642578125; + float v5 = v0.z; + float v6 = v0.x; + float v7 = v0.y + (((sin(((v5 - v6) * CB3[0].x) - CB3[0].y) + sin(((v5 + v6) * CB3[0].x) + CB3[0].y)) * CB3[0].z) * (v4 * clamp(1.0 - (dot(v0 - CB0[7].xyz, -CB0[6].xyz) * CB0[23].y), 0.0, 1.0))); + vec3 v8 = v0; + v8.y = v7; + vec4 v9 = vec4(v0.x, v7, v0.z, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v10 = v9; + v10.z = v9.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v11 = CB0[7].xyz - v8; + int v12 = int(TEXCOORD1.x); + int v13 = int(TEXCOORD1.y); + int v14 = int(TEXCOORD1.z); + vec4 v15 = vec4(v3.x, v3.y, v3.z, vec4(0.0).w); + v15.w = v4; + float v16 = v9.w; + bvec3 v17 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + vec2 v18 = (v10.xy * 0.5) + vec2(0.5 * v16); + gl_Position = v10; + VARYING0 = v15; + VARYING1 = vec3(v17.x ? vec3(1.0).x : vec3(0.0).x, v17.y ? vec3(1.0).y : vec3(0.0).y, v17.z ? vec3(1.0).z : vec3(0.0).z); + VARYING2 = (vec2(dot(v8, CB2[v12 * 1 + 0].xyz), dot(v8, CB2[(18 + v12) * 1 + 0].xyz)) * 0.0500000007450580596923828125) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * 0.100000001490116119384765625); + VARYING3 = (vec2(dot(v8, CB2[v13 * 1 + 0].xyz), dot(v8, CB2[(18 + v13) * 1 + 0].xyz)) * 0.0500000007450580596923828125) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * 0.100000001490116119384765625); + VARYING4 = (vec2(dot(v8, CB2[v14 * 1 + 0].xyz), dot(v8, CB2[(18 + v14) * 1 + 0].xyz)) * 0.0500000007450580596923828125) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * 0.100000001490116119384765625); + VARYING5 = ((v8 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING6 = vec4(v1, clamp(exp2((CB0[13].z * length(v11)) + CB0[13].x) - CB0[13].w, 0.0, 1.0)); + VARYING7 = vec4(v11, v16); + VARYING8 = vec4(v18.x, v18.y, v10.z, v10.w); +} + diff --git a/shaders/shaders_glsl3/SmoothWaterHQVS_Level520.vert b/shaders/shaders_glsl3/SmoothWaterHQVS_Level520.vert new file mode 100644 index 0000000000..cf53e5758a --- /dev/null +++ b/shaders/shaders_glsl3/SmoothWaterHQVS_Level520.vert @@ -0,0 +1,59 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[3]; +uniform vec4 CB2[74]; +uniform vec4 CB1[1]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD1; +out vec4 VARYING0; +out vec3 VARYING1; +out vec2 VARYING2; +out vec2 VARYING3; +out vec2 VARYING4; +out vec3 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out vec4 VARYING8; + +void main() +{ + vec3 v0 = (POSITION.xyz * CB1[0].w) + CB1[0].xyz; + vec3 v1 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + bvec3 v2 = equal(abs(POSITION.www), vec3(1.0, 2.0, 3.0)); + vec3 v3 = vec3(v2.x ? vec3(1.0).x : vec3(0.0).x, v2.y ? vec3(1.0).y : vec3(0.0).y, v2.z ? vec3(1.0).z : vec3(0.0).z); + float v4 = dot(v3, TEXCOORD0.xyz) * 0.0039215688593685626983642578125; + float v5 = v0.z; + float v6 = v0.x; + float v7 = v0.y + (((sin(((v5 - v6) * CB3[0].x) - CB3[0].y) + sin(((v5 + v6) * CB3[0].x) + CB3[0].y)) * CB3[0].z) * (v4 * clamp(1.0 - (dot(v0 - CB0[7].xyz, -CB0[6].xyz) * CB0[23].y), 0.0, 1.0))); + vec3 v8 = v0; + v8.y = v7; + vec4 v9 = vec4(v0.x, v7, v0.z, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 v10 = v9; + v10.z = v9.z - (float(POSITION.w < 0.0) * 0.00200000009499490261077880859375); + vec3 v11 = CB0[7].xyz - v8; + int v12 = int(TEXCOORD1.x); + int v13 = int(TEXCOORD1.y); + int v14 = int(TEXCOORD1.z); + vec4 v15 = vec4(v3.x, v3.y, v3.z, vec4(0.0).w); + v15.w = v4; + float v16 = v9.w; + bvec3 v17 = greaterThan(TEXCOORD1.xyz, vec3(7.5)); + vec2 v18 = (v10.xy * 0.5) + vec2(0.5 * v16); + gl_Position = v10; + VARYING0 = v15; + VARYING1 = vec3(v17.x ? vec3(1.0).x : vec3(0.0).x, v17.y ? vec3(1.0).y : vec3(0.0).y, v17.z ? vec3(1.0).z : vec3(0.0).z); + VARYING2 = (vec2(dot(v8, CB2[v12 * 1 + 0].xyz), dot(v8, CB2[(18 + v12) * 1 + 0].xyz)) * 0.0500000007450580596923828125) + (vec2(NORMAL.w, floor(NORMAL.w * 2.6651442050933837890625)) * 0.100000001490116119384765625); + VARYING3 = (vec2(dot(v8, CB2[v13 * 1 + 0].xyz), dot(v8, CB2[(18 + v13) * 1 + 0].xyz)) * 0.0500000007450580596923828125) + (vec2(TEXCOORD0.w, floor(TEXCOORD0.w * 2.6651442050933837890625)) * 0.100000001490116119384765625); + VARYING4 = (vec2(dot(v8, CB2[v14 * 1 + 0].xyz), dot(v8, CB2[(18 + v14) * 1 + 0].xyz)) * 0.0500000007450580596923828125) + (vec2(TEXCOORD1.w, floor(TEXCOORD1.w * 2.6651442050933837890625)) * 0.100000001490116119384765625); + VARYING5 = ((v8 + (v1 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + VARYING6 = vec4(v1, clamp(exp2((CB0[13].z * length(v11)) + CB0[13].x) - CB0[13].w, 0.0, 1.0)); + VARYING7 = vec4(v11, v16); + VARYING8 = vec4(v18.x, v18.y, v10.z, v10.w); +} + diff --git a/shaders/shaders_glsl3/SmoothWaterSuperHQFS_Level512.frag b/shaders/shaders_glsl3/SmoothWaterSuperHQFS_Level512.frag new file mode 100644 index 0000000000..2310608021 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothWaterSuperHQFS_Level512.frag @@ -0,0 +1,125 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[3]; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D NormalMap1Texture; +uniform sampler2D NormalMap2Texture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D GBufferColorTexture; + +in vec4 VARYING0; +in vec3 VARYING1; +in vec2 VARYING2; +in vec2 VARYING3; +in vec2 VARYING4; +in vec3 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in vec4 VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = clamp(dot(step(CB0[19].xyz, abs(VARYING5 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f1 = VARYING5.yzx - (VARYING5.yzx * f0); + vec4 f2 = vec4(clamp(f0, 0.0, 1.0)); + vec4 f3 = mix(texture(LightMapTexture, f1), vec4(0.0), f2); + vec4 f4 = mix(texture(LightGridSkylightTexture, f1), vec4(1.0), f2); + vec3 f5 = (f3.xyz * (f3.w * 120.0)).xyz; + float f6 = f4.x; + float f7 = f4.y; + vec4 f8 = vec4(CB3[0].w); + float f9 = -VARYING6.x; + vec4 f10 = ((mix(texture(NormalMap1Texture, VARYING2), texture(NormalMap2Texture, VARYING2), f8) * VARYING0.x) + (mix(texture(NormalMap1Texture, VARYING3), texture(NormalMap2Texture, VARYING3), f8) * VARYING0.y)) + (mix(texture(NormalMap1Texture, VARYING4), texture(NormalMap2Texture, VARYING4), f8) * VARYING0.z); + vec2 f11 = f10.wy * 2.0; + vec2 f12 = f11 - vec2(1.0); + float f13 = f10.x; + vec3 f14 = vec3(dot(VARYING1, VARYING0.xyz)); + vec4 f15 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f9), vec3(VARYING6.y, f9, 0.0), f14) * f12.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f14) * f12.y)) + (VARYING6.xyz * sqrt(clamp(1.0 + dot(vec2(1.0) - f11, f12), 0.0, 1.0)))), f13); + vec3 f16 = f15.xyz; + vec3 f17 = mix(VARYING6.xyz, f16, vec3(0.25)); + vec3 f18 = normalize(VARYING7.xyz); + vec3 f19 = f16 * f16; + bvec3 f20 = lessThan(f16, vec3(0.0)); + vec3 f21 = vec3(f20.x ? f19.x : vec3(0.0).x, f20.y ? f19.y : vec3(0.0).y, f20.z ? f19.z : vec3(0.0).z); + vec3 f22 = f19 - f21; + float f23 = f22.x; + float f24 = f22.y; + float f25 = f22.z; + float f26 = f21.x; + float f27 = f21.y; + float f28 = f21.z; + vec2 f29 = VARYING8.xy / vec2(VARYING8.w); + vec2 f30 = f29 + (f15.xz * 0.0500000007450580596923828125); + vec4 f31 = texture(GBufferColorTexture, f29); + f31.w = texture(GBufferDepthTexture, f29).x * 500.0; + float f32 = texture(GBufferDepthTexture, f30).x * 500.0; + vec4 f33 = texture(GBufferColorTexture, f30); + f33.w = f32; + vec4 f34 = mix(f31, f33, vec4(clamp(f32 - VARYING8.w, 0.0, 1.0))); + vec3 f35 = f34.xyz; + vec3 f36 = -f18; + vec3 f37 = reflect(f36, f17); + float f38 = VARYING8.w * 0.20000000298023223876953125; + vec4 f39 = vec4(f37, 0.0); + vec4 f40 = f39 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 f41 = (f40.xy * 0.5) + vec2(0.5 * f40.w); + vec4 f42 = vec4(f41.x, f41.y, f40.z, f40.w); + float f43 = VARYING8.w * (-0.20000000298023223876953125); + float f44 = 1.0 + clamp(0.0, f43, f38); + vec4 f45 = VARYING8 + (f42 * f44); + float f46 = f45.w; + float f47 = f44 + clamp((texture(GBufferDepthTexture, f45.xy / vec2(f46)).x * 500.0) - f46, f43, f38); + vec4 f48 = VARYING8 + (f42 * f47); + float f49 = f48.w; + float f50 = f47 + clamp((texture(GBufferDepthTexture, f48.xy / vec2(f49)).x * 500.0) - f49, f43, f38); + vec4 f51 = VARYING8 + (f42 * f50); + float f52 = f51.w; + float f53 = f50 + clamp((texture(GBufferDepthTexture, f51.xy / vec2(f52)).x * 500.0) - f52, f43, f38); + vec4 f54 = VARYING8 + (f42 * f53); + float f55 = f54.w; + float f56 = f53 + clamp((texture(GBufferDepthTexture, f54.xy / vec2(f55)).x * 500.0) - f55, f43, f38); + vec4 f57 = VARYING8 + (f42 * f56); + float f58 = f57.w; + float f59 = f56 + clamp((texture(GBufferDepthTexture, f57.xy / vec2(f58)).x * 500.0) - f58, f43, f38); + vec4 f60 = VARYING8 + (f42 * f59); + float f61 = f60.w; + float f62 = f59 + clamp((texture(GBufferDepthTexture, f60.xy / vec2(f61)).x * 500.0) - f61, f43, f38); + vec4 f63 = VARYING8 + (f42 * f62); + float f64 = f63.w; + vec4 f65 = VARYING8 + (f42 * (f62 + clamp((texture(GBufferDepthTexture, f63.xy / vec2(f64)).x * 500.0) - f64, f43, f38))); + float f66 = f65.w; + vec2 f67 = f65.xy / vec2(f66); + vec3 f68 = texture(GBufferColorTexture, f67).xyz; + vec3 f69 = -CB0[11].xyz; + vec3 f70 = normalize(f69 + f18); + float f71 = f13 * f13; + float f72 = max(0.001000000047497451305389404296875, dot(f16, f70)); + float f73 = dot(f69, f70); + float f74 = 1.0 - f73; + float f75 = f74 * f74; + float f76 = (f75 * f75) * f74; + float f77 = f71 * f71; + float f78 = (((f72 * f77) - f72) * f72) + 1.0; + vec3 f79 = mix(mix(((f35 * f35) * CB0[15].x).xyz, ((min(f5 + (CB0[27].xyz + (CB0[28].xyz * f6)), vec3(CB0[16].w)) + (((((((CB0[35].xyz * f23) + (CB0[37].xyz * f24)) + (CB0[39].xyz * f25)) + (CB0[36].xyz * f26)) + (CB0[38].xyz * f27)) + (CB0[40].xyz * f28)) + (((((((CB0[29].xyz * f23) + (CB0[31].xyz * f24)) + (CB0[33].xyz * f25)) + (CB0[30].xyz * f26)) + (CB0[32].xyz * f27)) + (CB0[34].xyz * f28)) * f6))) + (CB0[10].xyz * f7)) * CB3[1].xyz, vec3(clamp(clamp(((f34.w - VARYING8.w) * CB3[2].x) + CB3[2].y, 0.0, 1.0) + clamp((VARYING8.w * 0.0040000001899898052215576171875) - 1.0, 0.0, 1.0), 0.0, 1.0))), mix((textureLod(PrefilteredEnvTexture, f39.xyz, 0.0).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f37.y * 1.58823525905609130859375, 0.0, 1.0)))) * f6, (f68 * f68) * CB0[15].x, vec3((((float(abs(f67.x - 0.5) < 0.550000011920928955078125) * float(abs(f67.y - 0.5) < 0.5)) * clamp(3.900000095367431640625 - (max(VARYING8.w, f66) * 0.008000000379979610443115234375), 0.0, 1.0)) * float(abs((texture(GBufferDepthTexture, f67).x * 500.0) - f66) < 10.0)) * float(f40.w > 0.0))) + (f5 * 0.100000001490116119384765625), vec3(((clamp(0.7799999713897705078125 - (2.5 * abs(dot(f17, f18))), 0.0, 1.0) + 0.300000011920928955078125) * VARYING0.w) * CB3[2].z)) + ((((vec3(f76) + (vec3(0.0199999995529651641845703125) * (1.0 - f76))) * (((f77 + (f77 * f77)) / (((f78 * f78) * ((f73 * 3.0) + 0.5)) * ((f72 * 0.75) + 0.25))) * clamp(dot(f16, f69) * f7, 0.0, 1.0))) * CB0[10].xyz) * clamp(1.0 - (VARYING7.w * CB0[23].y), 0.0, 1.0)); + vec4 f80 = vec4(f79.x, f79.y, f79.z, vec4(0.0).w); + f80.w = 1.0; + vec3 f81 = textureLod(PrefilteredEnvTexture, vec4(f36, 0.0).xyz, max(CB0[13].y, VARYING6.w) * 5.0).xyz; + bvec3 f82 = bvec3(CB0[13].w != 0.0); + vec3 f83 = sqrt(clamp(mix(vec3(f82.x ? CB0[14].xyz.x : f81.x, f82.y ? CB0[14].xyz.y : f81.y, f82.z ? CB0[14].xyz.z : f81.z), f80.xyz, vec3(VARYING6.w)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f83.x, f83.y, f83.z, f80.w); +} + +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$NormalMap1Texture=s0 +//$$NormalMap2Texture=s2 +//$$GBufferDepthTexture=s5 +//$$GBufferColorTexture=s4 diff --git a/shaders/shaders_glsl3/SmoothWaterSuperHQFS_Level520.frag b/shaders/shaders_glsl3/SmoothWaterSuperHQFS_Level520.frag new file mode 100644 index 0000000000..0e2087c232 --- /dev/null +++ b/shaders/shaders_glsl3/SmoothWaterSuperHQFS_Level520.frag @@ -0,0 +1,151 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB3[3]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D NormalMap1Texture; +uniform sampler2D NormalMap2Texture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D GBufferColorTexture; + +in vec4 VARYING0; +in vec3 VARYING1; +in vec2 VARYING2; +in vec2 VARYING3; +in vec2 VARYING4; +in vec3 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in vec4 VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = CB0[7].xyz - VARYING7.xyz; + vec3 f1 = -CB0[11].xyz; + float f2 = clamp(dot(step(CB0[19].xyz, abs(VARYING5 - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f3 = VARYING5.yzx - (VARYING5.yzx * f2); + vec4 f4 = vec4(clamp(f2, 0.0, 1.0)); + vec4 f5 = mix(texture(LightMapTexture, f3), vec4(0.0), f4); + vec4 f6 = mix(texture(LightGridSkylightTexture, f3), vec4(1.0), f4); + vec3 f7 = (f5.xyz * (f5.w * 120.0)).xyz; + float f8 = f6.x; + float f9 = f6.y; + vec3 f10 = f0 - CB0[41].xyz; + vec3 f11 = f0 - CB0[42].xyz; + vec3 f12 = f0 - CB0[43].xyz; + vec4 f13 = vec4(f0, 1.0) * mat4(CB8[((dot(f10, f10) < CB0[41].w) ? 0 : ((dot(f11, f11) < CB0[42].w) ? 1 : ((dot(f12, f12) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f10, f10) < CB0[41].w) ? 0 : ((dot(f11, f11) < CB0[42].w) ? 1 : ((dot(f12, f12) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f10, f10) < CB0[41].w) ? 0 : ((dot(f11, f11) < CB0[42].w) ? 1 : ((dot(f12, f12) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f10, f10) < CB0[41].w) ? 0 : ((dot(f11, f11) < CB0[42].w) ? 1 : ((dot(f12, f12) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f14 = textureLod(ShadowAtlasTexture, f13.xy, 0.0); + vec2 f15 = vec2(0.0); + f15.x = CB0[45].z; + vec2 f16 = f15; + f16.y = CB0[45].w; + float f17 = (2.0 * f13.z) - 1.0; + float f18 = exp(CB0[45].z * f17); + float f19 = -exp((-CB0[45].w) * f17); + vec2 f20 = (f16 * CB0[46].y) * vec2(f18, f19); + vec2 f21 = f20 * f20; + float f22 = f14.x; + float f23 = max(f14.y - (f22 * f22), f21.x); + float f24 = f18 - f22; + float f25 = f14.z; + float f26 = max(f14.w - (f25 * f25), f21.y); + float f27 = f19 - f25; + float f28 = (dot(VARYING6.xyz, f1) > 0.0) ? mix(f9, mix(min((f18 <= f22) ? 1.0 : clamp(((f23 / (f23 + (f24 * f24))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f19 <= f25) ? 1.0 : clamp(((f26 / (f26 + (f27 * f27))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f9, clamp((length(f0 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0; + vec4 f29 = vec4(CB3[0].w); + float f30 = -VARYING6.x; + vec4 f31 = ((mix(texture(NormalMap1Texture, VARYING2), texture(NormalMap2Texture, VARYING2), f29) * VARYING0.x) + (mix(texture(NormalMap1Texture, VARYING3), texture(NormalMap2Texture, VARYING3), f29) * VARYING0.y)) + (mix(texture(NormalMap1Texture, VARYING4), texture(NormalMap2Texture, VARYING4), f29) * VARYING0.z); + vec2 f32 = f31.wy * 2.0; + vec2 f33 = f32 - vec2(1.0); + float f34 = f31.x; + vec3 f35 = vec3(dot(VARYING1, VARYING0.xyz)); + vec4 f36 = vec4(normalize(((mix(vec3(VARYING6.z, 0.0, f30), vec3(VARYING6.y, f30, 0.0), f35) * f33.x) + (mix(vec3(0.0, 1.0, 0.0), vec3(0.0, VARYING6.z, -VARYING6.y), f35) * f33.y)) + (VARYING6.xyz * sqrt(clamp(1.0 + dot(vec2(1.0) - f32, f33), 0.0, 1.0)))), f34); + vec3 f37 = f36.xyz; + vec3 f38 = mix(VARYING6.xyz, f37, vec3(0.25)); + vec3 f39 = normalize(VARYING7.xyz); + vec3 f40 = f37 * f37; + bvec3 f41 = lessThan(f37, vec3(0.0)); + vec3 f42 = vec3(f41.x ? f40.x : vec3(0.0).x, f41.y ? f40.y : vec3(0.0).y, f41.z ? f40.z : vec3(0.0).z); + vec3 f43 = f40 - f42; + float f44 = f43.x; + float f45 = f43.y; + float f46 = f43.z; + float f47 = f42.x; + float f48 = f42.y; + float f49 = f42.z; + vec2 f50 = VARYING8.xy / vec2(VARYING8.w); + vec2 f51 = f50 + (f36.xz * 0.0500000007450580596923828125); + vec4 f52 = texture(GBufferColorTexture, f50); + f52.w = texture(GBufferDepthTexture, f50).x * 500.0; + float f53 = texture(GBufferDepthTexture, f51).x * 500.0; + vec4 f54 = texture(GBufferColorTexture, f51); + f54.w = f53; + vec4 f55 = mix(f52, f54, vec4(clamp(f53 - VARYING8.w, 0.0, 1.0))); + vec3 f56 = f55.xyz; + vec3 f57 = -f39; + vec3 f58 = reflect(f57, f38); + float f59 = VARYING8.w * 0.20000000298023223876953125; + vec4 f60 = vec4(f58, 0.0); + vec4 f61 = f60 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 f62 = (f61.xy * 0.5) + vec2(0.5 * f61.w); + vec4 f63 = vec4(f62.x, f62.y, f61.z, f61.w); + float f64 = VARYING8.w * (-0.20000000298023223876953125); + float f65 = 1.0 + clamp(0.0, f64, f59); + vec4 f66 = VARYING8 + (f63 * f65); + float f67 = f66.w; + float f68 = f65 + clamp((texture(GBufferDepthTexture, f66.xy / vec2(f67)).x * 500.0) - f67, f64, f59); + vec4 f69 = VARYING8 + (f63 * f68); + float f70 = f69.w; + float f71 = f68 + clamp((texture(GBufferDepthTexture, f69.xy / vec2(f70)).x * 500.0) - f70, f64, f59); + vec4 f72 = VARYING8 + (f63 * f71); + float f73 = f72.w; + float f74 = f71 + clamp((texture(GBufferDepthTexture, f72.xy / vec2(f73)).x * 500.0) - f73, f64, f59); + vec4 f75 = VARYING8 + (f63 * f74); + float f76 = f75.w; + float f77 = f74 + clamp((texture(GBufferDepthTexture, f75.xy / vec2(f76)).x * 500.0) - f76, f64, f59); + vec4 f78 = VARYING8 + (f63 * f77); + float f79 = f78.w; + float f80 = f77 + clamp((texture(GBufferDepthTexture, f78.xy / vec2(f79)).x * 500.0) - f79, f64, f59); + vec4 f81 = VARYING8 + (f63 * f80); + float f82 = f81.w; + float f83 = f80 + clamp((texture(GBufferDepthTexture, f81.xy / vec2(f82)).x * 500.0) - f82, f64, f59); + vec4 f84 = VARYING8 + (f63 * f83); + float f85 = f84.w; + vec4 f86 = VARYING8 + (f63 * (f83 + clamp((texture(GBufferDepthTexture, f84.xy / vec2(f85)).x * 500.0) - f85, f64, f59))); + float f87 = f86.w; + vec2 f88 = f86.xy / vec2(f87); + vec3 f89 = texture(GBufferColorTexture, f88).xyz; + vec3 f90 = normalize(f1 + f39); + float f91 = f34 * f34; + float f92 = max(0.001000000047497451305389404296875, dot(f37, f90)); + float f93 = dot(f1, f90); + float f94 = 1.0 - f93; + float f95 = f94 * f94; + float f96 = (f95 * f95) * f94; + float f97 = f91 * f91; + float f98 = (((f92 * f97) - f92) * f92) + 1.0; + vec3 f99 = mix(mix(((f56 * f56) * CB0[15].x).xyz, ((min(f7 + (CB0[27].xyz + (CB0[28].xyz * f8)), vec3(CB0[16].w)) + (((((((CB0[35].xyz * f44) + (CB0[37].xyz * f45)) + (CB0[39].xyz * f46)) + (CB0[36].xyz * f47)) + (CB0[38].xyz * f48)) + (CB0[40].xyz * f49)) + (((((((CB0[29].xyz * f44) + (CB0[31].xyz * f45)) + (CB0[33].xyz * f46)) + (CB0[30].xyz * f47)) + (CB0[32].xyz * f48)) + (CB0[34].xyz * f49)) * f8))) + (CB0[10].xyz * f28)) * CB3[1].xyz, vec3(clamp(clamp(((f55.w - VARYING8.w) * CB3[2].x) + CB3[2].y, 0.0, 1.0) + clamp((VARYING8.w * 0.0040000001899898052215576171875) - 1.0, 0.0, 1.0), 0.0, 1.0))), mix((textureLod(PrefilteredEnvTexture, f60.xyz, 0.0).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f58.y * 1.58823525905609130859375, 0.0, 1.0)))) * f8, (f89 * f89) * CB0[15].x, vec3((((float(abs(f88.x - 0.5) < 0.550000011920928955078125) * float(abs(f88.y - 0.5) < 0.5)) * clamp(3.900000095367431640625 - (max(VARYING8.w, f87) * 0.008000000379979610443115234375), 0.0, 1.0)) * float(abs((texture(GBufferDepthTexture, f88).x * 500.0) - f87) < 10.0)) * float(f61.w > 0.0))) + (f7 * 0.100000001490116119384765625), vec3(((clamp(0.7799999713897705078125 - (2.5 * abs(dot(f38, f39))), 0.0, 1.0) + 0.300000011920928955078125) * VARYING0.w) * CB3[2].z)) + ((((vec3(f96) + (vec3(0.0199999995529651641845703125) * (1.0 - f96))) * (((f97 + (f97 * f97)) / (((f98 * f98) * ((f93 * 3.0) + 0.5)) * ((f92 * 0.75) + 0.25))) * clamp(dot(f37, f1) * f28, 0.0, 1.0))) * CB0[10].xyz) * clamp(1.0 - (VARYING7.w * CB0[23].y), 0.0, 1.0)); + vec4 f100 = vec4(f99.x, f99.y, f99.z, vec4(0.0).w); + f100.w = 1.0; + vec3 f101 = textureLod(PrefilteredEnvTexture, vec4(f57, 0.0).xyz, max(CB0[13].y, VARYING6.w) * 5.0).xyz; + bvec3 f102 = bvec3(CB0[13].w != 0.0); + vec3 f103 = sqrt(clamp(mix(vec3(f102.x ? CB0[14].xyz.x : f101.x, f102.y ? CB0[14].xyz.y : f101.y, f102.z ? CB0[14].xyz.z : f101.z), f100.xyz, vec3(VARYING6.w)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f103.x, f103.y, f103.z, f100.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$NormalMap1Texture=s0 +//$$NormalMap2Texture=s2 +//$$GBufferDepthTexture=s5 +//$$GBufferColorTexture=s4 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQFS_Level512.frag new file mode 100644 index 0000000000..5f6fc18a70 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQFS_Level512.frag @@ -0,0 +1,39 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING4; +in vec4 VARYING5; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec4 f1 = texture(DiffuseMapTexture, VARYING0); + float f2 = f1.x; + float f3 = (f2 > 0.0) ? ((1.0 - clamp(abs(f2 - CB0[14].w) * 13.0, 0.0, 1.0)) * f1.w) : 0.0; + float f4 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f0))) * 2.0, 0.0, 1.0), 0.0), f3); + float f5 = VARYING2.w * max(mix(f3, 1.0, f4) * f4, VARYING1.x); + vec4 f6 = vec4(VARYING2.xyz * VARYING2.xyz, f5); + float f7 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f8 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f7) * 5.0).xyz; + bvec3 f9 = bvec3(CB0[13].w != 0.0); + vec3 f10 = mix(vec3(f9.x ? CB0[14].xyz.x : f8.x, f9.y ? CB0[14].xyz.y : f8.y, f9.z ? CB0[14].xyz.z : f8.z), f6.xyz, vec3(f7)); + float f11 = f7 * f5; + vec4 f12 = vec4(f10.x, f10.y, f10.z, f6.w); + f12.w = f11; + vec3 f13 = sqrt(clamp(f12.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f14 = vec4(f13.x, f13.y, f13.z, f12.w); + f14.w = f11; + _entryPointOutput = f14; +} + +//$$PrefilteredEnvTexture=s15 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQFS_Level520.frag new file mode 100644 index 0000000000..5f6fc18a70 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQFS_Level520.frag @@ -0,0 +1,39 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING4; +in vec4 VARYING5; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec4 f1 = texture(DiffuseMapTexture, VARYING0); + float f2 = f1.x; + float f3 = (f2 > 0.0) ? ((1.0 - clamp(abs(f2 - CB0[14].w) * 13.0, 0.0, 1.0)) * f1.w) : 0.0; + float f4 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f0))) * 2.0, 0.0, 1.0), 0.0), f3); + float f5 = VARYING2.w * max(mix(f3, 1.0, f4) * f4, VARYING1.x); + vec4 f6 = vec4(VARYING2.xyz * VARYING2.xyz, f5); + float f7 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f8 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f7) * 5.0).xyz; + bvec3 f9 = bvec3(CB0[13].w != 0.0); + vec3 f10 = mix(vec3(f9.x ? CB0[14].xyz.x : f8.x, f9.y ? CB0[14].xyz.y : f8.y, f9.z ? CB0[14].xyz.z : f8.z), f6.xyz, vec3(f7)); + float f11 = f7 * f5; + vec4 f12 = vec4(f10.x, f10.y, f10.z, f6.w); + f12.w = f11; + vec3 f13 = sqrt(clamp(f12.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f14 = vec4(f13.x, f13.y, f13.z, f12.w); + f14.w = f11; + _entryPointOutput = f14; +} + +//$$PrefilteredEnvTexture=s15 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level512.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level512.vert new file mode 100644 index 0000000000..a40719f230 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level512.vert @@ -0,0 +1,45 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0); + vec4 v2 = v1 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v3 = TEXCOORD1; + v3.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v4 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, vec4(0.0).w); + v5.w = 0.0; + vec4 v6 = vec4(dot(CB0[20], v1), dot(CB0[21], v1), dot(CB0[22], v1), 0.0); + v6.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v7 = vec4(v0, 0.0); + v7.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v2; + VARYING0 = TEXCOORD0; + VARYING1 = v3; + VARYING2 = COLOR0; + VARYING3 = v5; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v2.w); + VARYING5 = v7; + VARYING6 = v6; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level513.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level513.vert new file mode 100644 index 0000000000..01049530f8 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level513.vert @@ -0,0 +1,72 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + int v2 = int(NORMAL.w); + vec4 v3 = COLOR0 * 0.0039215688593685626983642578125; + float v4 = float(CB1[gl_InstanceID * 7 + 3].w > 0.0); + vec3 v5 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v6 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v7 = vec4(v6.x, v6.y, v6.z, POSITION.w); + float v8 = dot(CB1[gl_InstanceID * 7 + 0], v7); + float v9 = dot(CB1[gl_InstanceID * 7 + 1], v7); + float v10 = dot(CB1[gl_InstanceID * 7 + 2], v7); + vec3 v11 = vec3(v8, v9, v10); + float v12 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v5); + float v13 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v5); + float v14 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v5); + vec2 v15 = vec2(0.0); + v15.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v17 = v16; + v17.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v18 = v17; + v18.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec3 v19 = CB1[gl_InstanceID * 7 + 4].xyz * mix(v3.xyz, vec3(1.0), vec3(v4)); + vec4 v20 = vec4(v19.x, v19.y, v19.z, v3.w); + v20.w = CB1[gl_InstanceID * 7 + 4].w; + vec4 v21 = vec4(v8, v9, v10, 1.0); + vec4 v22 = v21 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v23 = TEXCOORD0.zw * v18; + v23.x = max(0.0500000007450580596923828125, mix(1.0 - v3.w, 0.0, v4)); + vec3 v24 = ((v11 + (vec3(v12, v13, v14) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v25 = vec4(v24.x, v24.y, v24.z, vec4(0.0).w); + v25.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v26 = vec4(dot(CB0[20], v21), dot(CB0[21], v21), dot(CB0[22], v21), 0.0); + v26.w = CB1[gl_InstanceID * 7 + 6].w; + vec4 v27 = vec4(v12, v13, v14, 0.0); + v27.w = inversesqrt(0.1745329201221466064453125 * CB1[gl_InstanceID * 7 + 6].z); + gl_Position = v22; + VARYING0 = (TEXCOORD0.xy * v16) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = v23; + VARYING2 = v20; + VARYING3 = v25; + VARYING4 = vec4(CB0[7].xyz - v11, v22.w); + VARYING5 = v27; + VARYING6 = v26; + VARYING7 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level514.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level514.vert new file mode 100644 index 0000000000..9955f00104 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level514.vert @@ -0,0 +1,56 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0); + vec4 v12 = v11 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v13 = TEXCOORD1; + v13.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v14 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v15 = vec4(v14.x, v14.y, v14.z, vec4(0.0).w); + v15.w = 0.0; + vec4 v16 = vec4(dot(CB0[20], v11), dot(CB0[21], v11), dot(CB0[22], v11), 0.0); + v16.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v17 = vec4(v8, v9, v10, 0.0); + v17.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v12; + VARYING0 = TEXCOORD0; + VARYING1 = v13; + VARYING2 = COLOR0; + VARYING3 = v15; + VARYING4 = vec4(CB0[7].xyz - v7, v12.w); + VARYING5 = v17; + VARYING6 = v16; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level518.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level518.vert new file mode 100644 index 0000000000..3ec3b2fdc1 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level518.vert @@ -0,0 +1,66 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0); + vec4 v20 = v19 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v21 = TEXCOORD1; + v21.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v22 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v23 = vec4(v22.x, v22.y, v22.z, vec4(0.0).w); + v23.w = 0.0; + vec4 v24 = vec4(dot(CB0[20], v19), dot(CB0[21], v19), dot(CB0[22], v19), 0.0); + v24.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v25 = vec4(v16, v17, v18, 0.0); + v25.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v20; + VARYING0 = TEXCOORD0; + VARYING1 = v21; + VARYING2 = COLOR0; + VARYING3 = v23; + VARYING4 = vec4(CB0[7].xyz - v15, v20.w); + VARYING5 = v25; + VARYING6 = v24; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level520.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level520.vert new file mode 100644 index 0000000000..90f7f72488 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level520.vert @@ -0,0 +1,44 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v2 = TEXCOORD1; + v2.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v3 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v4 = vec4(v3.x, v3.y, v3.z, vec4(0.0).w); + v4.w = 0.0; + vec4 v5 = vec4(POSITION.xyz, 0.0); + v5.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v6 = vec4(v0, 0.0); + v6.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v1; + VARYING0 = TEXCOORD0; + VARYING1 = v2; + VARYING2 = COLOR0; + VARYING3 = v4; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v1.w); + VARYING5 = v6; + VARYING6 = v5; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level521.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level521.vert new file mode 100644 index 0000000000..0869e36389 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level521.vert @@ -0,0 +1,71 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + int v2 = int(NORMAL.w); + vec4 v3 = COLOR0 * 0.0039215688593685626983642578125; + float v4 = float(CB1[gl_InstanceID * 7 + 3].w > 0.0); + vec3 v5 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v6 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v7 = vec4(v6.x, v6.y, v6.z, POSITION.w); + float v8 = dot(CB1[gl_InstanceID * 7 + 0], v7); + float v9 = dot(CB1[gl_InstanceID * 7 + 1], v7); + float v10 = dot(CB1[gl_InstanceID * 7 + 2], v7); + vec3 v11 = vec3(v8, v9, v10); + float v12 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v5); + float v13 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v5); + float v14 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v5); + vec2 v15 = vec2(0.0); + v15.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v17 = v16; + v17.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v18 = v17; + v18.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec3 v19 = CB1[gl_InstanceID * 7 + 4].xyz * mix(v3.xyz, vec3(1.0), vec3(v4)); + vec4 v20 = vec4(v19.x, v19.y, v19.z, v3.w); + v20.w = CB1[gl_InstanceID * 7 + 4].w; + vec4 v21 = vec4(v8, v9, v10, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v22 = TEXCOORD0.zw * v18; + v22.x = max(0.0500000007450580596923828125, mix(1.0 - v3.w, 0.0, v4)); + vec3 v23 = ((v11 + (vec3(v12, v13, v14) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v24 = vec4(v23.x, v23.y, v23.z, vec4(0.0).w); + v24.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v25 = vec4(v8, v9, v10, 0.0); + v25.w = CB1[gl_InstanceID * 7 + 6].w; + vec4 v26 = vec4(v12, v13, v14, 0.0); + v26.w = inversesqrt(0.1745329201221466064453125 * CB1[gl_InstanceID * 7 + 6].z); + gl_Position = v21; + VARYING0 = (TEXCOORD0.xy * v16) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = v22; + VARYING2 = v20; + VARYING3 = v24; + VARYING4 = vec4(CB0[7].xyz - v11, v21.w); + VARYING5 = v26; + VARYING6 = v25; + VARYING7 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level522.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level522.vert new file mode 100644 index 0000000000..0f12758a0f --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level522.vert @@ -0,0 +1,55 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v12 = TEXCOORD1; + v12.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v13 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v14 = vec4(v13.x, v13.y, v13.z, vec4(0.0).w); + v14.w = 0.0; + vec4 v15 = vec4(v4, v5, v6, 0.0); + v15.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v16 = vec4(v8, v9, v10, 0.0); + v16.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v11; + VARYING0 = TEXCOORD0; + VARYING1 = v12; + VARYING2 = COLOR0; + VARYING3 = v14; + VARYING4 = vec4(CB0[7].xyz - v7, v11.w); + VARYING5 = v16; + VARYING6 = v15; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level526.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level526.vert new file mode 100644 index 0000000000..393524e2ba --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldHQVS_Level526.vert @@ -0,0 +1,65 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec2 v20 = TEXCOORD1; + v20.x = max(0.0500000007450580596923828125, TEXCOORD1.x); + vec3 v21 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = 0.0; + vec4 v23 = vec4(v12, v13, v14, 0.0); + v23.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v24 = vec4(v16, v17, v18, 0.0); + v24.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v19; + VARYING0 = TEXCOORD0; + VARYING1 = v20; + VARYING2 = COLOR0; + VARYING3 = v22; + VARYING4 = vec4(CB0[7].xyz - v15, v19.w); + VARYING5 = v24; + VARYING6 = v23; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldSHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldSHQFS_Level512.frag new file mode 100644 index 0000000000..32017f3f04 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldSHQFS_Level512.frag @@ -0,0 +1,44 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING4; +in vec4 VARYING5; +out vec4 _entryPointOutput; + +void main() +{ + vec4 f0 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + float f1 = f0.w; + float f2 = texture(GBufferDepthTexture, ((f0.xy * 0.5) + vec2(0.5 * f1)).xy / vec2(f1)).x * 500.0; + float f3 = length(VARYING4.xyz); + vec4 f4 = texture(DiffuseMapTexture, VARYING0); + float f5 = f4.x; + float f6 = (f5 > 0.0) ? ((1.0 - clamp(abs(f5 - CB0[14].w) * 13.0, 0.0, 1.0)) * f4.w) : 0.0; + float f7 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f3))) * 2.0, 0.0, 1.0), (f2 > 499.0) ? 0.0 : (1.0 - clamp((f2 - f1) * 3.0, 0.0, 1.0))), f6); + float f8 = VARYING2.w * max(mix(f6, 1.0, f7) * f7, VARYING1.x); + vec4 f9 = vec4(VARYING2.xyz * VARYING2.xyz, f8); + float f10 = clamp(exp2((CB0[13].z * f3) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f11 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f10) * 5.0).xyz; + bvec3 f12 = bvec3(CB0[13].w != 0.0); + vec3 f13 = mix(vec3(f12.x ? CB0[14].xyz.x : f11.x, f12.y ? CB0[14].xyz.y : f11.y, f12.z ? CB0[14].xyz.z : f11.z), f9.xyz, vec3(f10)); + float f14 = f10 * f8; + vec4 f15 = vec4(f13.x, f13.y, f13.z, f9.w); + f15.w = f14; + vec3 f16 = sqrt(clamp(f15.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f17 = vec4(f16.x, f16.y, f16.z, f15.w); + f17.w = f14; + _entryPointOutput = f17; +} + +//$$PrefilteredEnvTexture=s15 +//$$GBufferDepthTexture=s10 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldSHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldSHQFS_Level520.frag new file mode 100644 index 0000000000..32017f3f04 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultForceFieldSHQFS_Level520.frag @@ -0,0 +1,44 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING4; +in vec4 VARYING5; +out vec4 _entryPointOutput; + +void main() +{ + vec4 f0 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + float f1 = f0.w; + float f2 = texture(GBufferDepthTexture, ((f0.xy * 0.5) + vec2(0.5 * f1)).xy / vec2(f1)).x * 500.0; + float f3 = length(VARYING4.xyz); + vec4 f4 = texture(DiffuseMapTexture, VARYING0); + float f5 = f4.x; + float f6 = (f5 > 0.0) ? ((1.0 - clamp(abs(f5 - CB0[14].w) * 13.0, 0.0, 1.0)) * f4.w) : 0.0; + float f7 = max(max(1.0 - clamp(abs(dot(normalize(VARYING5.xyz), VARYING4.xyz / vec3(f3))) * 2.0, 0.0, 1.0), (f2 > 499.0) ? 0.0 : (1.0 - clamp((f2 - f1) * 3.0, 0.0, 1.0))), f6); + float f8 = VARYING2.w * max(mix(f6, 1.0, f7) * f7, VARYING1.x); + vec4 f9 = vec4(VARYING2.xyz * VARYING2.xyz, f8); + float f10 = clamp(exp2((CB0[13].z * f3) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f11 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f10) * 5.0).xyz; + bvec3 f12 = bvec3(CB0[13].w != 0.0); + vec3 f13 = mix(vec3(f12.x ? CB0[14].xyz.x : f11.x, f12.y ? CB0[14].xyz.y : f11.y, f12.z ? CB0[14].xyz.z : f11.z), f9.xyz, vec3(f10)); + float f14 = f10 * f8; + vec4 f15 = vec4(f13.x, f13.y, f13.z, f9.w); + f15.w = f14; + vec3 f16 = sqrt(clamp(f15.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f17 = vec4(f16.x, f16.y, f16.z, f15.w); + f17.w = f14; + _entryPointOutput = f17; +} + +//$$PrefilteredEnvTexture=s15 +//$$GBufferDepthTexture=s10 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassHQFS_Level512.frag new file mode 100644 index 0000000000..480e38551a --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassHQFS_Level512.frag @@ -0,0 +1,126 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture(DiffuseMapTexture, f2); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture(SpecularMapTexture, f2 * CB2[1].w), texture(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + float f14 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f15 = VARYING6.xyz * f14; + vec3 f16 = VARYING5.xyz * f14; + vec3 f17 = normalize(((f15 * f7.x) + (cross(f16, f15) * f7.y)) + (f16 * (f6 * 10.0))); + vec3 f18 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f19 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f20 = VARYING3.yzx - (VARYING3.yzx * f19); + vec4 f21 = vec4(clamp(f19, 0.0, 1.0)); + vec4 f22 = mix(texture(LightMapTexture, f20), vec4(0.0), f21); + vec4 f23 = mix(texture(LightGridSkylightTexture, f20), vec4(1.0), f21); + vec3 f24 = (f22.xyz * (f22.w * 120.0)).xyz; + float f25 = f23.x; + vec4 f26 = texture(ShadowMapTexture, f18.xy); + float f27 = f18.z; + vec3 f28 = f9 * f9; + float f29 = length(VARYING4.xyz); + vec3 f30 = VARYING4.xyz / vec3(f29); + vec3 f31 = f28 * f13; + float f32 = CB0[26].w * f1; + float f33 = max(9.9999997473787516355514526367188e-05, dot(f17, f30)); + vec3 f34 = reflect(-f30, f17); + float f35 = f11 * 5.0; + vec3 f36 = vec4(f34, f35).xyz; + vec3 f37 = textureLod(PrefilteredEnvTexture, f36, f35).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f34.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f38 = texture(PrecomputedBRDFTexture, vec2(f11, f33)); + vec3 f39 = -CB0[11].xyz; + float f40 = dot(f17, f39) * ((1.0 - ((step(f26.x, f27) * clamp(CB0[24].z + (CB0[24].w * abs(f27 - 0.5)), 0.0, 1.0)) * f26.y)) * f23.y); + vec3 f41 = normalize(f39 + f30); + float f42 = clamp(f40, 0.0, 1.0); + float f43 = f11 * f11; + float f44 = max(0.001000000047497451305389404296875, dot(f17, f41)); + float f45 = dot(f39, f41); + float f46 = 1.0 - f45; + float f47 = f46 * f46; + float f48 = (f47 * f47) * f46; + vec3 f49 = vec3(f48) + (vec3(0.039999999105930328369140625) * (1.0 - f48)); + float f50 = f43 * f43; + float f51 = (((f44 * f50) - f44) * f44) + 1.0; + vec3 f52 = vec3(f25); + vec3 f53 = mix(f24, f37, f52) * mix(vec3(1.0), f28, vec3(0.5)); + float f54 = f38.x; + float f55 = f38.y; + vec3 f56 = ((vec3(0.039999999105930328369140625) * f54) + vec3(f55)) / vec3(f54 + f55); + vec3 f57 = f56 * f32; + vec3 f58 = f17 * f17; + bvec3 f59 = lessThan(f17, vec3(0.0)); + vec3 f60 = vec3(f59.x ? f58.x : vec3(0.0).x, f59.y ? f58.y : vec3(0.0).y, f59.z ? f58.z : vec3(0.0).z); + vec3 f61 = f58 - f60; + float f62 = f61.x; + float f63 = f61.y; + float f64 = f61.z; + float f65 = f60.x; + float f66 = f60.y; + float f67 = f60.z; + vec3 f68 = ((((((CB0[35].xyz * f62) + (CB0[37].xyz * f63)) + (CB0[39].xyz * f64)) + (CB0[36].xyz * f65)) + (CB0[38].xyz * f66)) + (CB0[40].xyz * f67)) + (((((((CB0[29].xyz * f62) + (CB0[31].xyz * f63)) + (CB0[33].xyz * f64)) + (CB0[30].xyz * f65)) + (CB0[32].xyz * f66)) + (CB0[34].xyz * f67)) * f25); + vec3 f69 = (mix(textureLod(PrefilteredEnvIndoorTexture, f36, f35).xyz, f37, f52) * f56) * f32; + float f70 = 1.0 - f33; + vec4 f71 = mix(vec4(mix((((((((vec3(1.0) - (f49 * f32)) * CB0[10].xyz) * f42) + (CB0[12].xyz * clamp(-f40, 0.0, 1.0))) + ((((vec3(1.0) - f57) * f68) * CB0[25].w) * f13)) + (CB0[27].xyz + (CB0[28].xyz * f25))) * f31) + ((f24 * mix(f31, f69 * (1.0 / (max(max(f68.x, f68.y), f68.z) + 0.00999999977648258209228515625)), f57 * (f32 * (1.0 - f25)))) * f13), f53, vec3(VARYING7.w)) * f13, f13), vec4(f53, 1.0), vec4(((f70 * f70) * 0.800000011920928955078125) * clamp(f12, 0.0, 1.0))) + vec4(((f49 * (((f50 + (f50 * f50)) / (((f51 * f51) * ((f45 * 3.0) + 0.5)) * ((f44 * 0.75) + 0.25))) * f42)) * CB0[10].xyz) + (f69 * f13), 0.0); + float f72 = clamp(exp2((CB0[13].z * f29) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f73 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f72) * 5.0).xyz; + bvec3 f74 = bvec3(CB0[13].w != 0.0); + vec3 f75 = mix(vec3(f74.x ? CB0[14].xyz.x : f73.x, f74.y ? CB0[14].xyz.y : f73.y, f74.z ? CB0[14].xyz.z : f73.z), f71.xyz, vec3(f72)); + vec4 f76 = vec4(f75.x, f75.y, f75.z, f71.w); + f76.w = 1.0 - ((1.0 - f71.w) * f72); + vec3 f77 = sqrt(clamp(f76.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f77.x, f77.y, f77.z, f76.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassHQFS_Level520.frag new file mode 100644 index 0000000000..e01903645d --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassHQFS_Level520.frag @@ -0,0 +1,147 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture(DiffuseMapTexture, f2); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture(SpecularMapTexture, f2 * CB2[1].w), texture(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + float f14 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f15 = VARYING6.xyz * f14; + vec3 f16 = VARYING5.xyz * f14; + vec3 f17 = normalize(((f15 * f7.x) + (cross(f16, f15) * f7.y)) + (f16 * (f6 * 10.0))); + vec3 f18 = -CB0[11].xyz; + float f19 = dot(f17, f18); + vec3 f20 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f21 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f22 = VARYING3.yzx - (VARYING3.yzx * f21); + vec4 f23 = vec4(clamp(f21, 0.0, 1.0)); + vec4 f24 = mix(texture(LightMapTexture, f22), vec4(0.0), f23); + vec4 f25 = mix(texture(LightGridSkylightTexture, f22), vec4(1.0), f23); + vec3 f26 = (f24.xyz * (f24.w * 120.0)).xyz; + float f27 = f25.x; + float f28 = f25.y; + vec3 f29 = f20 - CB0[41].xyz; + vec3 f30 = f20 - CB0[42].xyz; + vec3 f31 = f20 - CB0[43].xyz; + vec4 f32 = vec4(f20, 1.0) * mat4(CB8[((dot(f29, f29) < CB0[41].w) ? 0 : ((dot(f30, f30) < CB0[42].w) ? 1 : ((dot(f31, f31) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f29, f29) < CB0[41].w) ? 0 : ((dot(f30, f30) < CB0[42].w) ? 1 : ((dot(f31, f31) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f29, f29) < CB0[41].w) ? 0 : ((dot(f30, f30) < CB0[42].w) ? 1 : ((dot(f31, f31) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f29, f29) < CB0[41].w) ? 0 : ((dot(f30, f30) < CB0[42].w) ? 1 : ((dot(f31, f31) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f33 = textureLod(ShadowAtlasTexture, f32.xy, 0.0); + vec2 f34 = vec2(0.0); + f34.x = CB0[45].z; + vec2 f35 = f34; + f35.y = CB0[45].w; + float f36 = (2.0 * f32.z) - 1.0; + float f37 = exp(CB0[45].z * f36); + float f38 = -exp((-CB0[45].w) * f36); + vec2 f39 = (f35 * CB0[46].y) * vec2(f37, f38); + vec2 f40 = f39 * f39; + float f41 = f33.x; + float f42 = max(f33.y - (f41 * f41), f40.x); + float f43 = f37 - f41; + float f44 = f33.z; + float f45 = max(f33.w - (f44 * f44), f40.y); + float f46 = f38 - f44; + vec3 f47 = f9 * f9; + float f48 = length(VARYING4.xyz); + vec3 f49 = VARYING4.xyz / vec3(f48); + vec3 f50 = f47 * f13; + float f51 = CB0[26].w * f1; + float f52 = max(9.9999997473787516355514526367188e-05, dot(f17, f49)); + vec3 f53 = reflect(-f49, f17); + float f54 = f11 * 5.0; + vec3 f55 = vec4(f53, f54).xyz; + vec3 f56 = textureLod(PrefilteredEnvTexture, f55, f54).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f53.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f57 = texture(PrecomputedBRDFTexture, vec2(f11, f52)); + vec3 f58 = normalize(f18 + f49); + float f59 = clamp(f19 * ((f19 > 0.0) ? mix(f28, mix(min((f37 <= f41) ? 1.0 : clamp(((f42 / (f42 + (f43 * f43))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f38 <= f44) ? 1.0 : clamp(((f45 / (f45 + (f46 * f46))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f28, clamp((length(f20 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f60 = f11 * f11; + float f61 = max(0.001000000047497451305389404296875, dot(f17, f58)); + float f62 = dot(f18, f58); + float f63 = 1.0 - f62; + float f64 = f63 * f63; + float f65 = (f64 * f64) * f63; + vec3 f66 = vec3(f65) + (vec3(0.039999999105930328369140625) * (1.0 - f65)); + float f67 = f60 * f60; + float f68 = (((f61 * f67) - f61) * f61) + 1.0; + vec3 f69 = vec3(f27); + vec3 f70 = mix(f26, f56, f69) * mix(vec3(1.0), f47, vec3(0.5)); + float f71 = f57.x; + float f72 = f57.y; + vec3 f73 = ((vec3(0.039999999105930328369140625) * f71) + vec3(f72)) / vec3(f71 + f72); + vec3 f74 = f73 * f51; + vec3 f75 = f17 * f17; + bvec3 f76 = lessThan(f17, vec3(0.0)); + vec3 f77 = vec3(f76.x ? f75.x : vec3(0.0).x, f76.y ? f75.y : vec3(0.0).y, f76.z ? f75.z : vec3(0.0).z); + vec3 f78 = f75 - f77; + float f79 = f78.x; + float f80 = f78.y; + float f81 = f78.z; + float f82 = f77.x; + float f83 = f77.y; + float f84 = f77.z; + vec3 f85 = ((((((CB0[35].xyz * f79) + (CB0[37].xyz * f80)) + (CB0[39].xyz * f81)) + (CB0[36].xyz * f82)) + (CB0[38].xyz * f83)) + (CB0[40].xyz * f84)) + (((((((CB0[29].xyz * f79) + (CB0[31].xyz * f80)) + (CB0[33].xyz * f81)) + (CB0[30].xyz * f82)) + (CB0[32].xyz * f83)) + (CB0[34].xyz * f84)) * f27); + vec3 f86 = (mix(textureLod(PrefilteredEnvIndoorTexture, f55, f54).xyz, f56, f69) * f73) * f51; + float f87 = 1.0 - f52; + vec4 f88 = mix(vec4(mix(((((((vec3(1.0) - (f66 * f51)) * CB0[10].xyz) * f59) + ((((vec3(1.0) - f74) * f85) * CB0[25].w) * f13)) + (CB0[27].xyz + (CB0[28].xyz * f27))) * f50) + ((f26 * mix(f50, f86 * (1.0 / (max(max(f85.x, f85.y), f85.z) + 0.00999999977648258209228515625)), f74 * (f51 * (1.0 - f27)))) * f13), f70, vec3(VARYING7.w)) * f13, f13), vec4(f70, 1.0), vec4(((f87 * f87) * 0.800000011920928955078125) * clamp(f12, 0.0, 1.0))) + vec4(((f66 * (((f67 + (f67 * f67)) / (((f68 * f68) * ((f62 * 3.0) + 0.5)) * ((f61 * 0.75) + 0.25))) * f59)) * CB0[10].xyz) + (f86 * f13), 0.0); + float f89 = clamp(exp2((CB0[13].z * f48) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f90 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f89) * 5.0).xyz; + bvec3 f91 = bvec3(CB0[13].w != 0.0); + vec3 f92 = mix(vec3(f91.x ? CB0[14].xyz.x : f90.x, f91.y ? CB0[14].xyz.y : f90.y, f91.z ? CB0[14].xyz.z : f90.z), f88.xyz, vec3(f89)); + vec4 f93 = vec4(f92.x, f92.y, f92.z, f88.w); + f93.w = 1.0 - ((1.0 - f88.w) * f89); + vec3 f94 = sqrt(clamp(f93.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f94.x, f94.y, f94.z, f93.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassSuperHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassSuperHQFS_Level512.frag new file mode 100644 index 0000000000..264d6c7aca --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassSuperHQFS_Level512.frag @@ -0,0 +1,149 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D GBufferColorTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture(DiffuseMapTexture, f2); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture(SpecularMapTexture, f2 * CB2[1].w), texture(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + float f14 = clamp(f12, 0.0, 1.0); + float f15 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f16 = VARYING6.xyz * f15; + vec3 f17 = VARYING5.xyz * f15; + vec3 f18 = normalize(((f16 * f7.x) + (cross(f17, f16) * f7.y)) + (f17 * (f6 * 10.0))); + vec3 f19 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f20 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f21 = VARYING3.yzx - (VARYING3.yzx * f20); + vec4 f22 = vec4(clamp(f20, 0.0, 1.0)); + vec4 f23 = mix(texture(LightMapTexture, f21), vec4(0.0), f22); + vec4 f24 = mix(texture(LightGridSkylightTexture, f21), vec4(1.0), f22); + vec3 f25 = (f23.xyz * (f23.w * 120.0)).xyz; + float f26 = f24.x; + vec4 f27 = texture(ShadowMapTexture, f19.xy); + float f28 = f19.z; + vec3 f29 = f9 * f9; + float f30 = length(VARYING4.xyz); + vec3 f31 = VARYING4.xyz / vec3(f30); + vec3 f32 = f29 * f13; + float f33 = CB0[26].w * f1; + float f34 = max(9.9999997473787516355514526367188e-05, dot(f18, f31)); + vec3 f35 = reflect(-f31, f18); + float f36 = f11 * 5.0; + vec3 f37 = vec4(f35, f36).xyz; + vec3 f38 = textureLod(PrefilteredEnvTexture, f37, f36).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f35.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f39 = texture(PrecomputedBRDFTexture, vec2(f11, f34)); + vec3 f40 = -CB0[11].xyz; + float f41 = dot(f18, f40) * ((1.0 - ((step(f27.x, f28) * clamp(CB0[24].z + (CB0[24].w * abs(f28 - 0.5)), 0.0, 1.0)) * f27.y)) * f24.y); + vec3 f42 = normalize(f40 + f31); + float f43 = clamp(f41, 0.0, 1.0); + float f44 = f11 * f11; + float f45 = max(0.001000000047497451305389404296875, dot(f18, f42)); + float f46 = dot(f40, f42); + float f47 = 1.0 - f46; + float f48 = f47 * f47; + float f49 = (f48 * f48) * f47; + vec3 f50 = vec3(f49) + (vec3(0.039999999105930328369140625) * (1.0 - f49)); + float f51 = f44 * f44; + float f52 = (((f45 * f51) - f45) * f45) + 1.0; + vec3 f53 = vec3(f26); + vec3 f54 = mix(f25, f38, f53) * mix(vec3(1.0), f29, vec3(0.5)); + float f55 = f39.x; + float f56 = f39.y; + vec3 f57 = ((vec3(0.039999999105930328369140625) * f55) + vec3(f56)) / vec3(f55 + f56); + vec3 f58 = f57 * f33; + vec3 f59 = f18 * f18; + bvec3 f60 = lessThan(f18, vec3(0.0)); + vec3 f61 = vec3(f60.x ? f59.x : vec3(0.0).x, f60.y ? f59.y : vec3(0.0).y, f60.z ? f59.z : vec3(0.0).z); + vec3 f62 = f59 - f61; + float f63 = f62.x; + float f64 = f62.y; + float f65 = f62.z; + float f66 = f61.x; + float f67 = f61.y; + float f68 = f61.z; + vec3 f69 = ((((((CB0[35].xyz * f63) + (CB0[37].xyz * f64)) + (CB0[39].xyz * f65)) + (CB0[36].xyz * f66)) + (CB0[38].xyz * f67)) + (CB0[40].xyz * f68)) + (((((((CB0[29].xyz * f63) + (CB0[31].xyz * f64)) + (CB0[33].xyz * f65)) + (CB0[30].xyz * f66)) + (CB0[32].xyz * f67)) + (CB0[34].xyz * f68)) * f26); + vec3 f70 = (mix(textureLod(PrefilteredEnvIndoorTexture, f37, f36).xyz, f38, f53) * f57) * f33; + float f71 = 1.0 - f34; + float f72 = 1.0 - VARYING2.w; + float f73 = mix(0.660000026226043701171875, 1.0, f72 * f72); + mat4 f74 = mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 f75 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * f74; + vec4 f76 = vec4(CB0[7].xyz - ((VARYING4.xyz * (1.0 + ((3.0 * f73) / max(dot(VARYING4.xyz, f18), 0.00999999977648258209228515625)))) + (f18 * (3.0 * (1.0 - f73)))), 1.0) * f74; + float f77 = f75.w; + vec2 f78 = ((f75.xy * 0.5) + vec2(0.5 * f77)).xy / vec2(f77); + float f79 = f76.w; + vec2 f80 = ((f76.xy * 0.5) + vec2(0.5 * f79)).xy / vec2(f79); + vec2 f81 = f80 - vec2(0.5); + vec2 f82 = (f80 - f78) * clamp(vec2(1.0) - ((f81 * f81) * 4.0), vec2(0.0), vec2(1.0)); + vec2 f83 = normalize(f82) * CB0[23].x; + vec4 f84 = texture(GBufferColorTexture, f78 + (f82 * clamp(min(texture(GBufferDepthTexture, f80 + f83).x * 500.0, texture(GBufferDepthTexture, f80 - f83).x * 500.0) - f77, 0.0, 1.0))); + vec3 f85 = f84.xyz; + vec3 f86 = ((f85 * f85) * CB0[15].x).xyz; + vec3 f87 = f86 * mix(vec3(1.0), VARYING2.xyz, vec3(f14)); + vec4 f88 = vec4(f87.x, f87.y, f87.z, vec4(0.0).w); + f88.w = mix(1.0, f84.w, dot(f87.xyz, vec3(1.0)) / (dot(f86, vec3(1.0)) + 0.00999999977648258209228515625)); + vec4 f89 = mix(mix(f88, vec4(mix((((((((vec3(1.0) - (f50 * f33)) * CB0[10].xyz) * f43) + (CB0[12].xyz * clamp(-f41, 0.0, 1.0))) + ((((vec3(1.0) - f58) * f69) * CB0[25].w) * f13)) + (CB0[27].xyz + (CB0[28].xyz * f26))) * f32) + ((f25 * mix(f32, f70 * (1.0 / (max(max(f69.x, f69.y), f69.z) + 0.00999999977648258209228515625)), f58 * (f33 * (1.0 - f26)))) * f13), f54, vec3(VARYING7.w)), 1.0), vec4(f13)), vec4(f54, 1.0), vec4(((f71 * f71) * 0.800000011920928955078125) * f14)) + vec4(((f50 * (((f51 + (f51 * f51)) / (((f52 * f52) * ((f46 * 3.0) + 0.5)) * ((f45 * 0.75) + 0.25))) * f43)) * CB0[10].xyz) + (f70 * f13), 0.0); + float f90 = clamp(exp2((CB0[13].z * f30) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f91 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f90) * 5.0).xyz; + bvec3 f92 = bvec3(CB0[13].w != 0.0); + vec3 f93 = mix(vec3(f92.x ? CB0[14].xyz.x : f91.x, f92.y ? CB0[14].xyz.y : f91.y, f92.z ? CB0[14].xyz.z : f91.z), f89.xyz, vec3(f90)); + vec4 f94 = vec4(f93.x, f93.y, f93.z, f89.w); + f94.w = f90 * f89.w; + vec3 f95 = sqrt(clamp(f94.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f95.x, f95.y, f95.z, f94.w); +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 +//$$GBufferDepthTexture=s10 +//$$GBufferColorTexture=s9 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassSuperHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassSuperHQFS_Level520.frag new file mode 100644 index 0000000000..e0baf1f4d7 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultGlassSuperHQFS_Level520.frag @@ -0,0 +1,170 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; +uniform sampler2D GBufferDepthTexture; +uniform sampler2D GBufferColorTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + vec2 f0 = VARYING1; + f0.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f1 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f2 = VARYING0 * CB2[0].x; + vec4 f3 = texture(DiffuseMapTexture, f2); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = (vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, f2 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f1; + float f8 = f3.w; + vec3 f9 = ((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f8 + CB2[2].w, 0.0, 1.0))) * f3.xyz) * (1.0 + (f7.x * CB2[0].z))) * (texture(StudsMapTexture, f0).x * 2.0); + vec4 f10 = mix(texture(SpecularMapTexture, f2 * CB2[1].w), texture(SpecularMapTexture, f2), vec4(clamp((f1 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f11 = f10.y; + float f12 = VARYING2.w * 2.0; + float f13 = clamp((f12 - 1.0) + f8, 0.0, 1.0); + float f14 = clamp(f12, 0.0, 1.0); + float f15 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f16 = VARYING6.xyz * f15; + vec3 f17 = VARYING5.xyz * f15; + vec3 f18 = normalize(((f16 * f7.x) + (cross(f17, f16) * f7.y)) + (f17 * (f6 * 10.0))); + vec3 f19 = -CB0[11].xyz; + float f20 = dot(f18, f19); + vec3 f21 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f22 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f23 = VARYING3.yzx - (VARYING3.yzx * f22); + vec4 f24 = vec4(clamp(f22, 0.0, 1.0)); + vec4 f25 = mix(texture(LightMapTexture, f23), vec4(0.0), f24); + vec4 f26 = mix(texture(LightGridSkylightTexture, f23), vec4(1.0), f24); + vec3 f27 = (f25.xyz * (f25.w * 120.0)).xyz; + float f28 = f26.x; + float f29 = f26.y; + vec3 f30 = f21 - CB0[41].xyz; + vec3 f31 = f21 - CB0[42].xyz; + vec3 f32 = f21 - CB0[43].xyz; + vec4 f33 = vec4(f21, 1.0) * mat4(CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f34 = textureLod(ShadowAtlasTexture, f33.xy, 0.0); + vec2 f35 = vec2(0.0); + f35.x = CB0[45].z; + vec2 f36 = f35; + f36.y = CB0[45].w; + float f37 = (2.0 * f33.z) - 1.0; + float f38 = exp(CB0[45].z * f37); + float f39 = -exp((-CB0[45].w) * f37); + vec2 f40 = (f36 * CB0[46].y) * vec2(f38, f39); + vec2 f41 = f40 * f40; + float f42 = f34.x; + float f43 = max(f34.y - (f42 * f42), f41.x); + float f44 = f38 - f42; + float f45 = f34.z; + float f46 = max(f34.w - (f45 * f45), f41.y); + float f47 = f39 - f45; + vec3 f48 = f9 * f9; + float f49 = length(VARYING4.xyz); + vec3 f50 = VARYING4.xyz / vec3(f49); + vec3 f51 = f48 * f13; + float f52 = CB0[26].w * f1; + float f53 = max(9.9999997473787516355514526367188e-05, dot(f18, f50)); + vec3 f54 = reflect(-f50, f18); + float f55 = f11 * 5.0; + vec3 f56 = vec4(f54, f55).xyz; + vec3 f57 = textureLod(PrefilteredEnvTexture, f56, f55).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f54.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f58 = texture(PrecomputedBRDFTexture, vec2(f11, f53)); + vec3 f59 = normalize(f19 + f50); + float f60 = clamp(f20 * ((f20 > 0.0) ? mix(f29, mix(min((f38 <= f42) ? 1.0 : clamp(((f43 / (f43 + (f44 * f44))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f39 <= f45) ? 1.0 : clamp(((f46 / (f46 + (f47 * f47))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f29, clamp((length(f21 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f61 = f11 * f11; + float f62 = max(0.001000000047497451305389404296875, dot(f18, f59)); + float f63 = dot(f19, f59); + float f64 = 1.0 - f63; + float f65 = f64 * f64; + float f66 = (f65 * f65) * f64; + vec3 f67 = vec3(f66) + (vec3(0.039999999105930328369140625) * (1.0 - f66)); + float f68 = f61 * f61; + float f69 = (((f62 * f68) - f62) * f62) + 1.0; + vec3 f70 = vec3(f28); + vec3 f71 = mix(f27, f57, f70) * mix(vec3(1.0), f48, vec3(0.5)); + float f72 = f58.x; + float f73 = f58.y; + vec3 f74 = ((vec3(0.039999999105930328369140625) * f72) + vec3(f73)) / vec3(f72 + f73); + vec3 f75 = f74 * f52; + vec3 f76 = f18 * f18; + bvec3 f77 = lessThan(f18, vec3(0.0)); + vec3 f78 = vec3(f77.x ? f76.x : vec3(0.0).x, f77.y ? f76.y : vec3(0.0).y, f77.z ? f76.z : vec3(0.0).z); + vec3 f79 = f76 - f78; + float f80 = f79.x; + float f81 = f79.y; + float f82 = f79.z; + float f83 = f78.x; + float f84 = f78.y; + float f85 = f78.z; + vec3 f86 = ((((((CB0[35].xyz * f80) + (CB0[37].xyz * f81)) + (CB0[39].xyz * f82)) + (CB0[36].xyz * f83)) + (CB0[38].xyz * f84)) + (CB0[40].xyz * f85)) + (((((((CB0[29].xyz * f80) + (CB0[31].xyz * f81)) + (CB0[33].xyz * f82)) + (CB0[30].xyz * f83)) + (CB0[32].xyz * f84)) + (CB0[34].xyz * f85)) * f28); + vec3 f87 = (mix(textureLod(PrefilteredEnvIndoorTexture, f56, f55).xyz, f57, f70) * f74) * f52; + float f88 = 1.0 - f53; + float f89 = 1.0 - VARYING2.w; + float f90 = mix(0.660000026226043701171875, 1.0, f89 * f89); + mat4 f91 = mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec4 f92 = vec4(CB0[7].xyz - VARYING4.xyz, 1.0) * f91; + vec4 f93 = vec4(CB0[7].xyz - ((VARYING4.xyz * (1.0 + ((3.0 * f90) / max(dot(VARYING4.xyz, f18), 0.00999999977648258209228515625)))) + (f18 * (3.0 * (1.0 - f90)))), 1.0) * f91; + float f94 = f92.w; + vec2 f95 = ((f92.xy * 0.5) + vec2(0.5 * f94)).xy / vec2(f94); + float f96 = f93.w; + vec2 f97 = ((f93.xy * 0.5) + vec2(0.5 * f96)).xy / vec2(f96); + vec2 f98 = f97 - vec2(0.5); + vec2 f99 = (f97 - f95) * clamp(vec2(1.0) - ((f98 * f98) * 4.0), vec2(0.0), vec2(1.0)); + vec2 f100 = normalize(f99) * CB0[23].x; + vec4 f101 = texture(GBufferColorTexture, f95 + (f99 * clamp(min(texture(GBufferDepthTexture, f97 + f100).x * 500.0, texture(GBufferDepthTexture, f97 - f100).x * 500.0) - f94, 0.0, 1.0))); + vec3 f102 = f101.xyz; + vec3 f103 = ((f102 * f102) * CB0[15].x).xyz; + vec3 f104 = f103 * mix(vec3(1.0), VARYING2.xyz, vec3(f14)); + vec4 f105 = vec4(f104.x, f104.y, f104.z, vec4(0.0).w); + f105.w = mix(1.0, f101.w, dot(f104.xyz, vec3(1.0)) / (dot(f103, vec3(1.0)) + 0.00999999977648258209228515625)); + vec4 f106 = mix(mix(f105, vec4(mix(((((((vec3(1.0) - (f67 * f52)) * CB0[10].xyz) * f60) + ((((vec3(1.0) - f75) * f86) * CB0[25].w) * f13)) + (CB0[27].xyz + (CB0[28].xyz * f28))) * f51) + ((f27 * mix(f51, f87 * (1.0 / (max(max(f86.x, f86.y), f86.z) + 0.00999999977648258209228515625)), f75 * (f52 * (1.0 - f28)))) * f13), f71, vec3(VARYING7.w)), 1.0), vec4(f13)), vec4(f71, 1.0), vec4(((f88 * f88) * 0.800000011920928955078125) * f14)) + vec4(((f67 * (((f68 + (f68 * f68)) / (((f69 * f69) * ((f63 * 3.0) + 0.5)) * ((f62 * 0.75) + 0.25))) * f60)) * CB0[10].xyz) + (f87 * f13), 0.0); + float f107 = clamp(exp2((CB0[13].z * f49) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f108 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f107) * 5.0).xyz; + bvec3 f109 = bvec3(CB0[13].w != 0.0); + vec3 f110 = mix(vec3(f109.x ? CB0[14].xyz.x : f108.x, f109.y ? CB0[14].xyz.y : f108.y, f109.z ? CB0[14].xyz.z : f108.z), f106.xyz, vec3(f107)); + vec4 f111 = vec4(f110.x, f110.y, f110.z, f106.w); + f111.w = f107 * f106.w; + vec3 f112 = sqrt(clamp(f111.xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + _entryPointOutput = vec4(f112.x, f112.y, f112.z, f111.w); +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 +//$$GBufferDepthTexture=s10 +//$$GBufferColorTexture=s9 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level512.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level512.vert new file mode 100644 index 0000000000..a3ae1a2711 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level512.vert @@ -0,0 +1,43 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0); + vec4 v2 = v1 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v3 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v4 = vec4(v3.x, v3.y, v3.z, vec4(0.0).w); + v4.w = 0.0; + vec4 v5 = vec4(dot(CB0[20], v1), dot(CB0[21], v1), dot(CB0[22], v1), 0.0); + v5.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v6 = vec4(v0, 0.0); + v6.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v2; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v4; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v2.w); + VARYING5 = v6; + VARYING6 = v5; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level513.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level513.vert new file mode 100644 index 0000000000..167b6f9a07 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level513.vert @@ -0,0 +1,65 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + int v2 = int(NORMAL.w); + vec3 v3 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v4 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, POSITION.w); + float v6 = dot(CB1[gl_InstanceID * 7 + 0], v5); + float v7 = dot(CB1[gl_InstanceID * 7 + 1], v5); + float v8 = dot(CB1[gl_InstanceID * 7 + 2], v5); + vec3 v9 = vec3(v6, v7, v8); + float v10 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v3); + float v11 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v3); + float v12 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v3); + vec2 v13 = vec2(0.0); + v13.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v14 = v13; + v14.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v15 = v14; + v15.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec4 v17 = vec4(v6, v7, v8, 1.0); + vec4 v18 = v17 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v19 = ((v9 + (vec3(v10, v11, v12) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v20 = vec4(v19.x, v19.y, v19.z, vec4(0.0).w); + v20.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v21 = vec4(dot(CB0[20], v17), dot(CB0[21], v17), dot(CB0[22], v17), 0.0); + v21.w = CB1[gl_InstanceID * 7 + 6].w; + vec4 v22 = vec4(v10, v11, v12, 0.0); + v22.w = inversesqrt(0.1745329201221466064453125 * CB1[gl_InstanceID * 7 + 6].z); + gl_Position = v18; + VARYING0 = (TEXCOORD0.xy * v14) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v16; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v20; + VARYING4 = vec4(CB0[7].xyz - v9, v18.w); + VARYING5 = v22; + VARYING6 = v21; + VARYING7 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level514.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level514.vert new file mode 100644 index 0000000000..213416c056 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level514.vert @@ -0,0 +1,54 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0); + vec4 v12 = v11 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v13 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v14 = vec4(v13.x, v13.y, v13.z, vec4(0.0).w); + v14.w = 0.0; + vec4 v15 = vec4(dot(CB0[20], v11), dot(CB0[21], v11), dot(CB0[22], v11), 0.0); + v15.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v16 = vec4(v8, v9, v10, 0.0); + v16.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v12; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v14; + VARYING4 = vec4(CB0[7].xyz - v7, v12.w); + VARYING5 = v16; + VARYING6 = v15; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level518.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level518.vert new file mode 100644 index 0000000000..c09516948b --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level518.vert @@ -0,0 +1,64 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0); + vec4 v20 = v19 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v21 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = 0.0; + vec4 v23 = vec4(dot(CB0[20], v19), dot(CB0[21], v19), dot(CB0[22], v19), 0.0); + v23.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v24 = vec4(v16, v17, v18, 0.0); + v24.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v20; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v22; + VARYING4 = vec4(CB0[7].xyz - v15, v20.w); + VARYING5 = v24; + VARYING6 = v23; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level520.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level520.vert new file mode 100644 index 0000000000..99ca961167 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level520.vert @@ -0,0 +1,42 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = vec4(POSITION.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v2 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v3 = vec4(v2.x, v2.y, v2.z, vec4(0.0).w); + v3.w = 0.0; + vec4 v4 = vec4(POSITION.xyz, 0.0); + v4.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v5 = vec4(v0, 0.0); + v5.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v1; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v3; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v1.w); + VARYING5 = v5; + VARYING6 = v4; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level521.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level521.vert new file mode 100644 index 0000000000..2078f5308d --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level521.vert @@ -0,0 +1,64 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + int v2 = int(NORMAL.w); + vec3 v3 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v4 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, POSITION.w); + float v6 = dot(CB1[gl_InstanceID * 7 + 0], v5); + float v7 = dot(CB1[gl_InstanceID * 7 + 1], v5); + float v8 = dot(CB1[gl_InstanceID * 7 + 2], v5); + vec3 v9 = vec3(v6, v7, v8); + float v10 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v3); + float v11 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v3); + float v12 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v3); + vec2 v13 = vec2(0.0); + v13.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v14 = v13; + v14.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v15 = v14; + v15.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec4 v17 = vec4(v6, v7, v8, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v18 = ((v9 + (vec3(v10, v11, v12) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v19 = vec4(v18.x, v18.y, v18.z, vec4(0.0).w); + v19.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v20 = vec4(v6, v7, v8, 0.0); + v20.w = CB1[gl_InstanceID * 7 + 6].w; + vec4 v21 = vec4(v10, v11, v12, 0.0); + v21.w = inversesqrt(0.1745329201221466064453125 * CB1[gl_InstanceID * 7 + 6].z); + gl_Position = v17; + VARYING0 = (TEXCOORD0.xy * v14) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v16; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v19; + VARYING4 = vec4(CB0[7].xyz - v9, v17.w); + VARYING5 = v21; + VARYING6 = v20; + VARYING7 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level522.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level522.vert new file mode 100644 index 0000000000..36fc5c4a97 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level522.vert @@ -0,0 +1,53 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + float v8 = dot(CB1[v1 * 1 + 0].xyz, v0); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + vec4 v11 = vec4(v4, v5, v6, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v12 = ((v7 + (vec3(v8, v9, v10) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v13 = vec4(v12.x, v12.y, v12.z, vec4(0.0).w); + v13.w = 0.0; + vec4 v14 = vec4(v4, v5, v6, 0.0); + v14.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v15 = vec4(v8, v9, v10, 0.0); + v15.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v11; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v13; + VARYING4 = vec4(CB0[7].xyz - v7, v11.w); + VARYING5 = v15; + VARYING6 = v14; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level526.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level526.vert new file mode 100644 index 0000000000..8cc6274d5f --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultHQVS_Level526.vert @@ -0,0 +1,63 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out float VARYING7; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + float v16 = dot(v7.xyz, v0); + float v17 = dot(v9.xyz, v0); + float v18 = dot(v11.xyz, v0); + vec4 v19 = vec4(v12, v13, v14, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v20 = ((v15 + (vec3(v16, v17, v18) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v21 = vec4(v20.x, v20.y, v20.z, vec4(0.0).w); + v21.w = 0.0; + vec4 v22 = vec4(v12, v13, v14, 0.0); + v22.w = COLOR1.z * 0.0039215688593685626983642578125; + vec4 v23 = vec4(v16, v17, v18, 0.0); + v23.w = inversesqrt(0.1745329201221466064453125 * COLOR1.y); + gl_Position = v19; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v21; + VARYING4 = vec4(CB0[7].xyz - v15, v19.w); + VARYING5 = v23; + VARYING6 = v22; + VARYING7 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultNeonHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultNeonHQFS_Level512.frag new file mode 100644 index 0000000000..7287bee852 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultNeonHQFS_Level512.frag @@ -0,0 +1,23 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; + +in vec4 VARYING2; +in vec4 VARYING4; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f1 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f0) * 5.0).xyz; + bvec3 f2 = bvec3(CB0[13].w != 0.0); + vec3 f3 = sqrt(clamp(mix(vec3(f2.x ? CB0[14].xyz.x : f1.x, f2.y ? CB0[14].xyz.y : f1.y, f2.z ? CB0[14].xyz.z : f1.z), (pow(VARYING2.xyz * 1.35000002384185791015625, vec3(4.0)) * 4.0).xyz, vec3(f0)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f4 = vec4(f3.x, f3.y, f3.z, vec4(0.0).w); + f4.w = 1.0 - (clamp(f0, 0.0, 1.0) * VARYING2.w); + _entryPointOutput = f4; +} + +//$$PrefilteredEnvTexture=s15 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultNeonHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultNeonHQFS_Level520.frag new file mode 100644 index 0000000000..7287bee852 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultNeonHQFS_Level520.frag @@ -0,0 +1,23 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform samplerCube PrefilteredEnvTexture; + +in vec4 VARYING2; +in vec4 VARYING4; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f1 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f0) * 5.0).xyz; + bvec3 f2 = bvec3(CB0[13].w != 0.0); + vec3 f3 = sqrt(clamp(mix(vec3(f2.x ? CB0[14].xyz.x : f1.x, f2.y ? CB0[14].xyz.y : f1.y, f2.z ? CB0[14].xyz.z : f1.z), (pow(VARYING2.xyz * 1.35000002384185791015625, vec3(4.0)) * 4.0).xyz, vec3(f0)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f4 = vec4(f3.x, f3.y, f3.z, vec4(0.0).w); + f4.w = 1.0 - (clamp(f0, 0.0, 1.0) * VARYING2.w); + _entryPointOutput = f4; +} + +//$$PrefilteredEnvTexture=s15 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultOpaqueHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultOpaqueHQFS_Level512.frag new file mode 100644 index 0000000000..ea30828f35 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultOpaqueHQFS_Level512.frag @@ -0,0 +1,96 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec3 f2 = normalize(VARYING5.xyz) * (gl_FrontFacing ? 1.0 : (-1.0)); + vec3 f3 = (texture(DiffuseMapTexture, VARYING0) * VARYING2).xyz; + vec3 f4 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f5 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f6 = VARYING3.yzx - (VARYING3.yzx * f5); + vec4 f7 = vec4(clamp(f5, 0.0, 1.0)); + vec4 f8 = mix(texture(LightMapTexture, f6), vec4(0.0), f7); + vec4 f9 = mix(texture(LightGridSkylightTexture, f6), vec4(1.0), f7); + float f10 = f9.x; + vec4 f11 = texture(ShadowMapTexture, f4.xy); + float f12 = f4.z; + vec3 f13 = (f3 * f3).xyz; + float f14 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + float f15 = max(VARYING5.w, 0.04500000178813934326171875); + vec3 f16 = reflect(-f1, f2); + float f17 = f15 * 5.0; + vec3 f18 = vec4(f16, f17).xyz; + vec4 f19 = texture(PrecomputedBRDFTexture, vec2(f15, max(9.9999997473787516355514526367188e-05, dot(f2, f1)))); + float f20 = VARYING6.w * f14; + vec3 f21 = mix(vec3(0.039999999105930328369140625), f13, vec3(f20)); + vec3 f22 = -CB0[11].xyz; + float f23 = dot(f2, f22) * ((1.0 - ((step(f11.x, f12) * clamp(CB0[24].z + (CB0[24].w * abs(f12 - 0.5)), 0.0, 1.0)) * f11.y)) * f9.y); + vec3 f24 = normalize(f22 + f1); + float f25 = clamp(f23, 0.0, 1.0); + float f26 = f15 * f15; + float f27 = max(0.001000000047497451305389404296875, dot(f2, f24)); + float f28 = dot(f22, f24); + float f29 = 1.0 - f28; + float f30 = f29 * f29; + float f31 = (f30 * f30) * f29; + vec3 f32 = vec3(f31) + (f21 * (1.0 - f31)); + float f33 = f26 * f26; + float f34 = (((f27 * f33) - f27) * f27) + 1.0; + float f35 = 1.0 - f20; + float f36 = f14 * f35; + vec3 f37 = vec3(f35); + float f38 = f19.x; + float f39 = f19.y; + vec3 f40 = ((f21 * f38) + vec3(f39)) / vec3(f38 + f39); + vec3 f41 = f37 - (f40 * f36); + vec3 f42 = f2 * f2; + bvec3 f43 = lessThan(f2, vec3(0.0)); + vec3 f44 = vec3(f43.x ? f42.x : vec3(0.0).x, f43.y ? f42.y : vec3(0.0).y, f43.z ? f42.z : vec3(0.0).z); + vec3 f45 = f42 - f44; + float f46 = f45.x; + float f47 = f45.y; + float f48 = f45.z; + float f49 = f44.x; + float f50 = f44.y; + float f51 = f44.z; + vec3 f52 = ((((((CB0[35].xyz * f46) + (CB0[37].xyz * f47)) + (CB0[39].xyz * f48)) + (CB0[36].xyz * f49)) + (CB0[38].xyz * f50)) + (CB0[40].xyz * f51)) + (((((((CB0[29].xyz * f46) + (CB0[31].xyz * f47)) + (CB0[33].xyz * f48)) + (CB0[30].xyz * f49)) + (CB0[32].xyz * f50)) + (CB0[34].xyz * f51)) * f10); + vec3 f53 = (mix(textureLod(PrefilteredEnvIndoorTexture, f18, f17).xyz, textureLod(PrefilteredEnvTexture, f18, f17).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f16.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f10)) * f40) * f14; + vec3 f54 = ((((((((f37 - (f32 * f36)) * CB0[10].xyz) * f25) + (CB0[12].xyz * (f35 * clamp(-f23, 0.0, 1.0)))) + ((f41 * f52) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f10))) * f13) + (((f32 * (((f33 + (f33 * f33)) / (((f34 * f34) * ((f28 * 3.0) + 0.5)) * ((f27 * 0.75) + 0.25))) * f25)) * CB0[10].xyz) + f53)) + ((f8.xyz * (f8.w * 120.0)).xyz * mix(f13, f53 * (1.0 / (max(max(f52.x, f52.y), f52.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f41) * (f14 * (1.0 - f10)))); + vec4 f55 = vec4(f54.x, f54.y, f54.z, vec4(0.0).w); + f55.w = 1.0; + float f56 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f57 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f56) * 5.0).xyz; + bvec3 f58 = bvec3(CB0[13].w != 0.0); + vec3 f59 = sqrt(clamp(mix(vec3(f58.x ? CB0[14].xyz.x : f57.x, f58.y ? CB0[14].xyz.y : f57.y, f58.z ? CB0[14].xyz.z : f57.z), f55.xyz, vec3(f56)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f60 = vec4(f59.x, f59.y, f59.z, f55.w); + f60.w = 1.0; + _entryPointOutput = f60; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultOpaqueHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultOpaqueHQFS_Level520.frag new file mode 100644 index 0000000000..80c326f1aa --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultOpaqueHQFS_Level520.frag @@ -0,0 +1,117 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec3 f2 = normalize(VARYING5.xyz) * (gl_FrontFacing ? 1.0 : (-1.0)); + vec3 f3 = -CB0[11].xyz; + float f4 = dot(f2, f3); + vec3 f5 = (texture(DiffuseMapTexture, VARYING0) * VARYING2).xyz; + vec3 f6 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f7 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f8 = VARYING3.yzx - (VARYING3.yzx * f7); + vec4 f9 = vec4(clamp(f7, 0.0, 1.0)); + vec4 f10 = mix(texture(LightMapTexture, f8), vec4(0.0), f9); + vec4 f11 = mix(texture(LightGridSkylightTexture, f8), vec4(1.0), f9); + float f12 = f11.x; + float f13 = f11.y; + vec3 f14 = f6 - CB0[41].xyz; + vec3 f15 = f6 - CB0[42].xyz; + vec3 f16 = f6 - CB0[43].xyz; + vec4 f17 = vec4(f6, 1.0) * mat4(CB8[((dot(f14, f14) < CB0[41].w) ? 0 : ((dot(f15, f15) < CB0[42].w) ? 1 : ((dot(f16, f16) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f14, f14) < CB0[41].w) ? 0 : ((dot(f15, f15) < CB0[42].w) ? 1 : ((dot(f16, f16) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f14, f14) < CB0[41].w) ? 0 : ((dot(f15, f15) < CB0[42].w) ? 1 : ((dot(f16, f16) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f14, f14) < CB0[41].w) ? 0 : ((dot(f15, f15) < CB0[42].w) ? 1 : ((dot(f16, f16) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f18 = textureLod(ShadowAtlasTexture, f17.xy, 0.0); + vec2 f19 = vec2(0.0); + f19.x = CB0[45].z; + vec2 f20 = f19; + f20.y = CB0[45].w; + float f21 = (2.0 * f17.z) - 1.0; + float f22 = exp(CB0[45].z * f21); + float f23 = -exp((-CB0[45].w) * f21); + vec2 f24 = (f20 * CB0[46].y) * vec2(f22, f23); + vec2 f25 = f24 * f24; + float f26 = f18.x; + float f27 = max(f18.y - (f26 * f26), f25.x); + float f28 = f22 - f26; + float f29 = f18.z; + float f30 = max(f18.w - (f29 * f29), f25.y); + float f31 = f23 - f29; + vec3 f32 = (f5 * f5).xyz; + float f33 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + float f34 = max(VARYING5.w, 0.04500000178813934326171875); + vec3 f35 = reflect(-f1, f2); + float f36 = f34 * 5.0; + vec3 f37 = vec4(f35, f36).xyz; + vec4 f38 = texture(PrecomputedBRDFTexture, vec2(f34, max(9.9999997473787516355514526367188e-05, dot(f2, f1)))); + float f39 = VARYING6.w * f33; + vec3 f40 = mix(vec3(0.039999999105930328369140625), f32, vec3(f39)); + vec3 f41 = normalize(f3 + f1); + float f42 = clamp(f4 * ((f4 > 0.0) ? mix(f13, mix(min((f22 <= f26) ? 1.0 : clamp(((f27 / (f27 + (f28 * f28))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f23 <= f29) ? 1.0 : clamp(((f30 / (f30 + (f31 * f31))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f13, clamp((length(f6 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f43 = f34 * f34; + float f44 = max(0.001000000047497451305389404296875, dot(f2, f41)); + float f45 = dot(f3, f41); + float f46 = 1.0 - f45; + float f47 = f46 * f46; + float f48 = (f47 * f47) * f46; + vec3 f49 = vec3(f48) + (f40 * (1.0 - f48)); + float f50 = f43 * f43; + float f51 = (((f44 * f50) - f44) * f44) + 1.0; + float f52 = 1.0 - f39; + float f53 = f33 * f52; + vec3 f54 = vec3(f52); + float f55 = f38.x; + float f56 = f38.y; + vec3 f57 = ((f40 * f55) + vec3(f56)) / vec3(f55 + f56); + vec3 f58 = f54 - (f57 * f53); + vec3 f59 = f2 * f2; + bvec3 f60 = lessThan(f2, vec3(0.0)); + vec3 f61 = vec3(f60.x ? f59.x : vec3(0.0).x, f60.y ? f59.y : vec3(0.0).y, f60.z ? f59.z : vec3(0.0).z); + vec3 f62 = f59 - f61; + float f63 = f62.x; + float f64 = f62.y; + float f65 = f62.z; + float f66 = f61.x; + float f67 = f61.y; + float f68 = f61.z; + vec3 f69 = ((((((CB0[35].xyz * f63) + (CB0[37].xyz * f64)) + (CB0[39].xyz * f65)) + (CB0[36].xyz * f66)) + (CB0[38].xyz * f67)) + (CB0[40].xyz * f68)) + (((((((CB0[29].xyz * f63) + (CB0[31].xyz * f64)) + (CB0[33].xyz * f65)) + (CB0[30].xyz * f66)) + (CB0[32].xyz * f67)) + (CB0[34].xyz * f68)) * f12); + vec3 f70 = (mix(textureLod(PrefilteredEnvIndoorTexture, f37, f36).xyz, textureLod(PrefilteredEnvTexture, f37, f36).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f35.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f12)) * f57) * f33; + vec3 f71 = (((((((f54 - (f49 * f53)) * CB0[10].xyz) * f42) + ((f58 * f69) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f12))) * f32) + (((f49 * (((f50 + (f50 * f50)) / (((f51 * f51) * ((f45 * 3.0) + 0.5)) * ((f44 * 0.75) + 0.25))) * f42)) * CB0[10].xyz) + f70)) + ((f10.xyz * (f10.w * 120.0)).xyz * mix(f32, f70 * (1.0 / (max(max(f69.x, f69.y), f69.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f58) * (f33 * (1.0 - f12)))); + vec4 f72 = vec4(f71.x, f71.y, f71.z, vec4(0.0).w); + f72.w = 1.0; + float f73 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f74 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f73) * 5.0).xyz; + bvec3 f75 = bvec3(CB0[13].w != 0.0); + vec3 f76 = sqrt(clamp(mix(vec3(f75.x ? CB0[14].xyz.x : f74.x, f75.y ? CB0[14].xyz.y : f74.y, f75.z ? CB0[14].xyz.z : f74.z), f72.xyz, vec3(f73)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f77 = vec4(f76.x, f76.y, f76.z, f72.w); + f77.w = 1.0; + _entryPointOutput = f77; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultPlasticHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultPlasticHQFS_Level512.frag new file mode 100644 index 0000000000..c82065049b --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultPlasticHQFS_Level512.frag @@ -0,0 +1,111 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = ((vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, VARYING0 * CB2[0].x).wy * 2.0) - vec2(1.0), 0.0).xy * (clamp(VARYING2.w - 0.5, 0.0, 1.0) * clamp(1.0 - (2.0 * VARYING7.w), 0.0, 1.0)))).xy * f3).xy * CB2[3].w; + float f8 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f9 = VARYING6.xyz * f8; + vec3 f10 = VARYING5.xyz * f8; + vec3 f11 = normalize(((f9 * f7.x) + (cross(f10, f9) * f7.y)) + (f10 * f6)); + vec3 f12 = vec4(VARYING2.xyz * (texture(DiffuseMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f13 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f14 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f15 = VARYING3.yzx - (VARYING3.yzx * f14); + vec4 f16 = vec4(clamp(f14, 0.0, 1.0)); + vec4 f17 = mix(texture(LightMapTexture, f15), vec4(0.0), f16); + vec4 f18 = mix(texture(LightGridSkylightTexture, f15), vec4(1.0), f16); + float f19 = f18.x; + vec4 f20 = texture(ShadowMapTexture, f13.xy); + float f21 = f13.z; + float f22 = CB0[26].w * f3; + float f23 = max(CB2[0].y, 0.04500000178813934326171875); + vec3 f24 = reflect(-f1, f11); + float f25 = (VARYING7.w != 0.0) ? 0.0 : (f23 * 5.0); + vec3 f26 = vec4(f24, f25).xyz; + vec3 f27 = textureLod(PrefilteredEnvTexture, f26, f25).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f24.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f28 = texture(PrecomputedBRDFTexture, vec2(f23, max(9.9999997473787516355514526367188e-05, dot(f11, f1)))); + vec3 f29 = mix((f12 * f12).xyz, f27, vec3(VARYING7.w)); + vec3 f30 = -CB0[11].xyz; + float f31 = dot(f11, f30) * ((1.0 - ((step(f20.x, f21) * clamp(CB0[24].z + (CB0[24].w * abs(f21 - 0.5)), 0.0, 1.0)) * f20.y)) * f18.y); + vec3 f32 = normalize(f30 + f1); + float f33 = clamp(f31, 0.0, 1.0); + float f34 = f23 * f23; + float f35 = max(0.001000000047497451305389404296875, dot(f11, f32)); + float f36 = dot(f30, f32); + float f37 = 1.0 - f36; + float f38 = f37 * f37; + float f39 = (f38 * f38) * f37; + vec3 f40 = vec3(f39) + (vec3(0.039999999105930328369140625) * (1.0 - f39)); + float f41 = f34 * f34; + float f42 = (((f35 * f41) - f35) * f35) + 1.0; + float f43 = f28.x; + float f44 = f28.y; + vec3 f45 = ((vec3(0.039999999105930328369140625) * f43) + vec3(f44)) / vec3(f43 + f44); + vec3 f46 = f45 * f22; + vec3 f47 = f11 * f11; + bvec3 f48 = lessThan(f11, vec3(0.0)); + vec3 f49 = vec3(f48.x ? f47.x : vec3(0.0).x, f48.y ? f47.y : vec3(0.0).y, f48.z ? f47.z : vec3(0.0).z); + vec3 f50 = f47 - f49; + float f51 = f50.x; + float f52 = f50.y; + float f53 = f50.z; + float f54 = f49.x; + float f55 = f49.y; + float f56 = f49.z; + vec3 f57 = ((((((CB0[35].xyz * f51) + (CB0[37].xyz * f52)) + (CB0[39].xyz * f53)) + (CB0[36].xyz * f54)) + (CB0[38].xyz * f55)) + (CB0[40].xyz * f56)) + (((((((CB0[29].xyz * f51) + (CB0[31].xyz * f52)) + (CB0[33].xyz * f53)) + (CB0[30].xyz * f54)) + (CB0[32].xyz * f55)) + (CB0[34].xyz * f56)) * f19); + vec3 f58 = (mix(textureLod(PrefilteredEnvIndoorTexture, f26, f25).xyz, f27, vec3(f19)) * f45) * f22; + vec3 f59 = ((((((((vec3(1.0) - (f40 * f22)) * CB0[10].xyz) * f33) + (CB0[12].xyz * clamp(-f31, 0.0, 1.0))) + (((vec3(1.0) - f46) * f57) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f19))) * f29) + (((f40 * (((f41 + (f41 * f41)) / (((f42 * f42) * ((f36 * 3.0) + 0.5)) * ((f35 * 0.75) + 0.25))) * f33)) * CB0[10].xyz) + f58)) + ((f17.xyz * (f17.w * 120.0)).xyz * mix(f29, f58 * (1.0 / (max(max(f57.x, f57.y), f57.z) + 0.00999999977648258209228515625)), f46 * (f22 * (1.0 - f19)))); + vec4 f60 = vec4(f59.x, f59.y, f59.z, vec4(0.0).w); + f60.w = VARYING2.w; + float f61 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f62 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f61) * 5.0).xyz; + bvec3 f63 = bvec3(CB0[13].w != 0.0); + vec3 f64 = sqrt(clamp(mix(vec3(f63.x ? CB0[14].xyz.x : f62.x, f63.y ? CB0[14].xyz.y : f62.y, f63.z ? CB0[14].xyz.z : f62.z), f60.xyz, vec3(f61)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f65 = vec4(f64.x, f64.y, f64.z, f60.w); + f65.w = VARYING2.w; + _entryPointOutput = f65; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultPlasticHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultPlasticHQFS_Level520.frag new file mode 100644 index 0000000000..cd2aecfa47 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultPlasticHQFS_Level520.frag @@ -0,0 +1,132 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = texture(NormalMapTexture, f2).wy * 2.0; + vec2 f5 = f4 - vec2(1.0); + float f6 = sqrt(clamp(1.0 + dot(vec2(1.0) - f4, f5), 0.0, 1.0)); + vec2 f7 = ((vec3(f5, f6).xy + (vec3((texture(NormalDetailMapTexture, VARYING0 * CB2[0].x).wy * 2.0) - vec2(1.0), 0.0).xy * (clamp(VARYING2.w - 0.5, 0.0, 1.0) * clamp(1.0 - (2.0 * VARYING7.w), 0.0, 1.0)))).xy * f3).xy * CB2[3].w; + float f8 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f9 = VARYING6.xyz * f8; + vec3 f10 = VARYING5.xyz * f8; + vec3 f11 = normalize(((f9 * f7.x) + (cross(f10, f9) * f7.y)) + (f10 * f6)); + vec3 f12 = -CB0[11].xyz; + float f13 = dot(f11, f12); + vec3 f14 = vec4(VARYING2.xyz * (texture(DiffuseMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f15 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f16 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f17 = VARYING3.yzx - (VARYING3.yzx * f16); + vec4 f18 = vec4(clamp(f16, 0.0, 1.0)); + vec4 f19 = mix(texture(LightMapTexture, f17), vec4(0.0), f18); + vec4 f20 = mix(texture(LightGridSkylightTexture, f17), vec4(1.0), f18); + float f21 = f20.x; + float f22 = f20.y; + vec3 f23 = f15 - CB0[41].xyz; + vec3 f24 = f15 - CB0[42].xyz; + vec3 f25 = f15 - CB0[43].xyz; + vec4 f26 = vec4(f15, 1.0) * mat4(CB8[((dot(f23, f23) < CB0[41].w) ? 0 : ((dot(f24, f24) < CB0[42].w) ? 1 : ((dot(f25, f25) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f23, f23) < CB0[41].w) ? 0 : ((dot(f24, f24) < CB0[42].w) ? 1 : ((dot(f25, f25) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f23, f23) < CB0[41].w) ? 0 : ((dot(f24, f24) < CB0[42].w) ? 1 : ((dot(f25, f25) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f23, f23) < CB0[41].w) ? 0 : ((dot(f24, f24) < CB0[42].w) ? 1 : ((dot(f25, f25) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f27 = textureLod(ShadowAtlasTexture, f26.xy, 0.0); + vec2 f28 = vec2(0.0); + f28.x = CB0[45].z; + vec2 f29 = f28; + f29.y = CB0[45].w; + float f30 = (2.0 * f26.z) - 1.0; + float f31 = exp(CB0[45].z * f30); + float f32 = -exp((-CB0[45].w) * f30); + vec2 f33 = (f29 * CB0[46].y) * vec2(f31, f32); + vec2 f34 = f33 * f33; + float f35 = f27.x; + float f36 = max(f27.y - (f35 * f35), f34.x); + float f37 = f31 - f35; + float f38 = f27.z; + float f39 = max(f27.w - (f38 * f38), f34.y); + float f40 = f32 - f38; + float f41 = CB0[26].w * f3; + float f42 = max(CB2[0].y, 0.04500000178813934326171875); + vec3 f43 = reflect(-f1, f11); + float f44 = (VARYING7.w != 0.0) ? 0.0 : (f42 * 5.0); + vec3 f45 = vec4(f43, f44).xyz; + vec3 f46 = textureLod(PrefilteredEnvTexture, f45, f44).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f43.y * 1.58823525905609130859375, 0.0, 1.0))); + vec4 f47 = texture(PrecomputedBRDFTexture, vec2(f42, max(9.9999997473787516355514526367188e-05, dot(f11, f1)))); + vec3 f48 = mix((f14 * f14).xyz, f46, vec3(VARYING7.w)); + vec3 f49 = normalize(f12 + f1); + float f50 = clamp(f13 * ((f13 > 0.0) ? mix(f22, mix(min((f31 <= f35) ? 1.0 : clamp(((f36 / (f36 + (f37 * f37))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f32 <= f38) ? 1.0 : clamp(((f39 / (f39 + (f40 * f40))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f22, clamp((length(f15 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f51 = f42 * f42; + float f52 = max(0.001000000047497451305389404296875, dot(f11, f49)); + float f53 = dot(f12, f49); + float f54 = 1.0 - f53; + float f55 = f54 * f54; + float f56 = (f55 * f55) * f54; + vec3 f57 = vec3(f56) + (vec3(0.039999999105930328369140625) * (1.0 - f56)); + float f58 = f51 * f51; + float f59 = (((f52 * f58) - f52) * f52) + 1.0; + float f60 = f47.x; + float f61 = f47.y; + vec3 f62 = ((vec3(0.039999999105930328369140625) * f60) + vec3(f61)) / vec3(f60 + f61); + vec3 f63 = f62 * f41; + vec3 f64 = f11 * f11; + bvec3 f65 = lessThan(f11, vec3(0.0)); + vec3 f66 = vec3(f65.x ? f64.x : vec3(0.0).x, f65.y ? f64.y : vec3(0.0).y, f65.z ? f64.z : vec3(0.0).z); + vec3 f67 = f64 - f66; + float f68 = f67.x; + float f69 = f67.y; + float f70 = f67.z; + float f71 = f66.x; + float f72 = f66.y; + float f73 = f66.z; + vec3 f74 = ((((((CB0[35].xyz * f68) + (CB0[37].xyz * f69)) + (CB0[39].xyz * f70)) + (CB0[36].xyz * f71)) + (CB0[38].xyz * f72)) + (CB0[40].xyz * f73)) + (((((((CB0[29].xyz * f68) + (CB0[31].xyz * f69)) + (CB0[33].xyz * f70)) + (CB0[30].xyz * f71)) + (CB0[32].xyz * f72)) + (CB0[34].xyz * f73)) * f21); + vec3 f75 = (mix(textureLod(PrefilteredEnvIndoorTexture, f45, f44).xyz, f46, vec3(f21)) * f62) * f41; + vec3 f76 = (((((((vec3(1.0) - (f57 * f41)) * CB0[10].xyz) * f50) + (((vec3(1.0) - f63) * f74) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f21))) * f48) + (((f57 * (((f58 + (f58 * f58)) / (((f59 * f59) * ((f53 * 3.0) + 0.5)) * ((f52 * 0.75) + 0.25))) * f50)) * CB0[10].xyz) + f75)) + ((f19.xyz * (f19.w * 120.0)).xyz * mix(f48, f75 * (1.0 / (max(max(f74.x, f74.y), f74.z) + 0.00999999977648258209228515625)), f63 * (f41 * (1.0 - f21)))); + vec4 f77 = vec4(f76.x, f76.y, f76.z, vec4(0.0).w); + f77.w = VARYING2.w; + float f78 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f79 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f78) * 5.0).xyz; + bvec3 f80 = bvec3(CB0[13].w != 0.0); + vec3 f81 = sqrt(clamp(mix(vec3(f80.x ? CB0[14].xyz.x : f79.x, f80.y ? CB0[14].xyz.y : f79.y, f80.z ? CB0[14].xyz.z : f79.z), f77.xyz, vec3(f78)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f82 = vec4(f81.x, f81.y, f81.z, f77.w); + f82.w = VARYING2.w; + _entryPointOutput = f82; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level512.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level512.vert new file mode 100644 index 0000000000..0cd6e1cdf8 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level512.vert @@ -0,0 +1,53 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = CB0[7].xyz - POSITION.xyz; + vec3 v2 = normalize(v1); + vec3 v3 = v0 * ((dot(v0, v2) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v4 = -CB0[11].xyz; + float v5 = dot(v3, v4); + vec4 v6 = vec4(POSITION.xyz, 1.0); + vec4 v7 = v6 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v8 = ((POSITION.xyz + (v3 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v9 = vec4(v8.x, v8.y, v8.z, vec4(0.0).w); + v9.w = 0.0; + vec4 v10 = vec4(dot(CB0[20], v6), dot(CB0[21], v6), dot(CB0[22], v6), 0.0); + v10.w = COLOR1.w * 0.0039215688593685626983642578125; + float v11 = COLOR1.y * 0.50359570980072021484375; + float v12 = clamp(v5, 0.0, 1.0); + vec3 v13 = (CB0[10].xyz * v12) + (CB0[12].xyz * clamp(-v5, 0.0, 1.0)); + vec4 v14 = vec4(v13.x, v13.y, v13.z, vec4(0.0).w); + v14.w = (v12 * CB0[23].w) * (COLOR1.y * exp2((v11 * dot(v3, normalize(v4 + v2))) - v11)); + gl_Position = v7; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v9; + VARYING4 = vec4(v1, v7.w); + VARYING5 = vec4(v3, COLOR1.z); + VARYING6 = v14; + VARYING7 = v10; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level513.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level513.vert new file mode 100644 index 0000000000..497bcc3ae4 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level513.vert @@ -0,0 +1,73 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + int v2 = int(NORMAL.w); + vec3 v3 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v4 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, POSITION.w); + float v6 = dot(CB1[gl_InstanceID * 7 + 0], v5); + float v7 = dot(CB1[gl_InstanceID * 7 + 1], v5); + float v8 = dot(CB1[gl_InstanceID * 7 + 2], v5); + vec3 v9 = vec3(v6, v7, v8); + vec3 v10 = vec3(dot(CB1[gl_InstanceID * 7 + 0].xyz, v3), dot(CB1[gl_InstanceID * 7 + 1].xyz, v3), dot(CB1[gl_InstanceID * 7 + 2].xyz, v3)); + vec2 v11 = vec2(0.0); + v11.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v12 = v11; + v12.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v13 = v12; + v13.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v14 = v13; + v14.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec3 v15 = CB0[7].xyz - v9; + vec3 v16 = normalize(v15); + vec3 v17 = v10 * ((dot(v10, v16) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v18 = -CB0[11].xyz; + float v19 = dot(v17, v18); + vec4 v20 = vec4(v6, v7, v8, 1.0); + vec4 v21 = v20 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v22 = ((v9 + (v17 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v23 = vec4(v22.x, v22.y, v22.z, vec4(0.0).w); + v23.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v24 = vec4(dot(CB0[20], v20), dot(CB0[21], v20), dot(CB0[22], v20), 0.0); + v24.w = CB1[gl_InstanceID * 7 + 5].w; + float v25 = CB1[gl_InstanceID * 7 + 6].z * 0.50359570980072021484375; + float v26 = clamp(v19, 0.0, 1.0); + vec3 v27 = (CB0[10].xyz * v26) + (CB0[12].xyz * clamp(-v19, 0.0, 1.0)); + vec4 v28 = vec4(v27.x, v27.y, v27.z, vec4(0.0).w); + v28.w = (v26 * CB0[23].w) * (CB1[gl_InstanceID * 7 + 6].z * exp2((v25 * dot(v17, normalize(v18 + v16))) - v25)); + gl_Position = v21; + VARYING0 = (TEXCOORD0.xy * v12) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v14; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v23; + VARYING4 = vec4(v15, v21.w); + VARYING5 = vec4(v17, CB1[gl_InstanceID * 7 + 6].w); + VARYING6 = v28; + VARYING7 = v24; + VARYING8 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level514.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level514.vert new file mode 100644 index 0000000000..71aab543d7 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level514.vert @@ -0,0 +1,62 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + vec3 v8 = vec3(dot(CB1[v1 * 1 + 0].xyz, v0), dot(CB1[v2 * 1 + 0].xyz, v0), dot(CB1[v3 * 1 + 0].xyz, v0)); + vec3 v9 = CB0[7].xyz - v7; + vec3 v10 = normalize(v9); + vec3 v11 = v8 * ((dot(v8, v10) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v12 = -CB0[11].xyz; + float v13 = dot(v11, v12); + vec4 v14 = vec4(v4, v5, v6, 1.0); + vec4 v15 = v14 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v16 = ((v7 + (v11 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v17 = vec4(v16.x, v16.y, v16.z, vec4(0.0).w); + v17.w = 0.0; + vec4 v18 = vec4(dot(CB0[20], v14), dot(CB0[21], v14), dot(CB0[22], v14), 0.0); + v18.w = COLOR1.w * 0.0039215688593685626983642578125; + float v19 = COLOR1.y * 0.50359570980072021484375; + float v20 = clamp(v13, 0.0, 1.0); + vec3 v21 = (CB0[10].xyz * v20) + (CB0[12].xyz * clamp(-v13, 0.0, 1.0)); + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = (v20 * CB0[23].w) * (COLOR1.y * exp2((v19 * dot(v11, normalize(v12 + v10))) - v19)); + gl_Position = v15; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v17; + VARYING4 = vec4(v9, v15.w); + VARYING5 = vec4(v11, COLOR1.z); + VARYING6 = v22; + VARYING7 = v18; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level518.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level518.vert new file mode 100644 index 0000000000..8d2df0f9f8 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level518.vert @@ -0,0 +1,72 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + vec3 v16 = vec3(dot(v7.xyz, v0), dot(v9.xyz, v0), dot(v11.xyz, v0)); + vec3 v17 = CB0[7].xyz - v15; + vec3 v18 = normalize(v17); + vec3 v19 = v16 * ((dot(v16, v18) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v20 = -CB0[11].xyz; + float v21 = dot(v19, v20); + vec4 v22 = vec4(v12, v13, v14, 1.0); + vec4 v23 = v22 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v24 = ((v15 + (v19 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v25 = vec4(v24.x, v24.y, v24.z, vec4(0.0).w); + v25.w = 0.0; + vec4 v26 = vec4(dot(CB0[20], v22), dot(CB0[21], v22), dot(CB0[22], v22), 0.0); + v26.w = COLOR1.w * 0.0039215688593685626983642578125; + float v27 = COLOR1.y * 0.50359570980072021484375; + float v28 = clamp(v21, 0.0, 1.0); + vec3 v29 = (CB0[10].xyz * v28) + (CB0[12].xyz * clamp(-v21, 0.0, 1.0)); + vec4 v30 = vec4(v29.x, v29.y, v29.z, vec4(0.0).w); + v30.w = (v28 * CB0[23].w) * (COLOR1.y * exp2((v27 * dot(v19, normalize(v20 + v18))) - v27)); + gl_Position = v23; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v25; + VARYING4 = vec4(v17, v23.w); + VARYING5 = vec4(v19, COLOR1.z); + VARYING6 = v30; + VARYING7 = v26; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level520.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level520.vert new file mode 100644 index 0000000000..3ade4c4fce --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level520.vert @@ -0,0 +1,52 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = CB0[7].xyz - POSITION.xyz; + vec3 v2 = normalize(v1); + vec3 v3 = v0 * ((dot(v0, v2) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v4 = -CB0[11].xyz; + float v5 = dot(v3, v4); + vec4 v6 = vec4(POSITION.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v7 = ((POSITION.xyz + (v3 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v8 = vec4(v7.x, v7.y, v7.z, vec4(0.0).w); + v8.w = 0.0; + vec4 v9 = vec4(POSITION.xyz, 0.0); + v9.w = COLOR1.w * 0.0039215688593685626983642578125; + float v10 = COLOR1.y * 0.50359570980072021484375; + float v11 = clamp(v5, 0.0, 1.0); + vec3 v12 = (CB0[10].xyz * v11) + (CB0[12].xyz * clamp(-v5, 0.0, 1.0)); + vec4 v13 = vec4(v12.x, v12.y, v12.z, vec4(0.0).w); + v13.w = (v11 * CB0[23].w) * (COLOR1.y * exp2((v10 * dot(v3, normalize(v4 + v2))) - v10)); + gl_Position = v6; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v8; + VARYING4 = vec4(v1, v6.w); + VARYING5 = vec4(v3, COLOR1.z); + VARYING6 = v13; + VARYING7 = v9; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level521.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level521.vert new file mode 100644 index 0000000000..c58387a53b --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level521.vert @@ -0,0 +1,72 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + int v2 = int(NORMAL.w); + vec3 v3 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v4 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, POSITION.w); + float v6 = dot(CB1[gl_InstanceID * 7 + 0], v5); + float v7 = dot(CB1[gl_InstanceID * 7 + 1], v5); + float v8 = dot(CB1[gl_InstanceID * 7 + 2], v5); + vec3 v9 = vec3(v6, v7, v8); + vec3 v10 = vec3(dot(CB1[gl_InstanceID * 7 + 0].xyz, v3), dot(CB1[gl_InstanceID * 7 + 1].xyz, v3), dot(CB1[gl_InstanceID * 7 + 2].xyz, v3)); + vec2 v11 = vec2(0.0); + v11.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v2]); + vec2 v12 = v11; + v12.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v2]); + vec2 v13 = v12; + v13.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v2]); + vec2 v14 = v13; + v14.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v2]); + vec3 v15 = CB0[7].xyz - v9; + vec3 v16 = normalize(v15); + vec3 v17 = v10 * ((dot(v10, v16) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v18 = -CB0[11].xyz; + float v19 = dot(v17, v18); + vec4 v20 = vec4(v6, v7, v8, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v21 = ((v9 + (v17 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v23 = vec4(v6, v7, v8, 0.0); + v23.w = CB1[gl_InstanceID * 7 + 5].w; + float v24 = CB1[gl_InstanceID * 7 + 6].z * 0.50359570980072021484375; + float v25 = clamp(v19, 0.0, 1.0); + vec3 v26 = (CB0[10].xyz * v25) + (CB0[12].xyz * clamp(-v19, 0.0, 1.0)); + vec4 v27 = vec4(v26.x, v26.y, v26.z, vec4(0.0).w); + v27.w = (v25 * CB0[23].w) * (CB1[gl_InstanceID * 7 + 6].z * exp2((v24 * dot(v17, normalize(v18 + v16))) - v24)); + gl_Position = v20; + VARYING0 = (TEXCOORD0.xy * v12) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v14; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v22; + VARYING4 = vec4(v15, v20.w); + VARYING5 = vec4(v17, CB1[gl_InstanceID * 7 + 6].w); + VARYING6 = v27; + VARYING7 = v23; + VARYING8 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level522.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level522.vert new file mode 100644 index 0000000000..603fc0a194 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level522.vert @@ -0,0 +1,61 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v1 = int(COLOR1.x) * 3; + int v2 = v1 + 1; + int v3 = v1 + 2; + float v4 = dot(CB1[v1 * 1 + 0], POSITION); + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + vec3 v7 = vec3(v4, v5, v6); + vec3 v8 = vec3(dot(CB1[v1 * 1 + 0].xyz, v0), dot(CB1[v2 * 1 + 0].xyz, v0), dot(CB1[v3 * 1 + 0].xyz, v0)); + vec3 v9 = CB0[7].xyz - v7; + vec3 v10 = normalize(v9); + vec3 v11 = v8 * ((dot(v8, v10) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v12 = -CB0[11].xyz; + float v13 = dot(v11, v12); + vec4 v14 = vec4(v4, v5, v6, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v15 = ((v7 + (v11 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v16 = vec4(v15.x, v15.y, v15.z, vec4(0.0).w); + v16.w = 0.0; + vec4 v17 = vec4(v4, v5, v6, 0.0); + v17.w = COLOR1.w * 0.0039215688593685626983642578125; + float v18 = COLOR1.y * 0.50359570980072021484375; + float v19 = clamp(v13, 0.0, 1.0); + vec3 v20 = (CB0[10].xyz * v19) + (CB0[12].xyz * clamp(-v13, 0.0, 1.0)); + vec4 v21 = vec4(v20.x, v20.y, v20.z, vec4(0.0).w); + v21.w = (v19 * CB0[23].w) * (COLOR1.y * exp2((v18 * dot(v11, normalize(v12 + v10))) - v18)); + gl_Position = v14; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v16; + VARYING4 = vec4(v9, v14.w); + VARYING5 = vec4(v11, COLOR1.z); + VARYING6 = v21; + VARYING7 = v17; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level526.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level526.vert new file mode 100644 index 0000000000..9cb9b430c8 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultReflectionVS_Level526.vert @@ -0,0 +1,71 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v1 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v2 = ivec4(TEXCOORD4) * ivec4(3); + float v3 = v1.x; + float v4 = v1.y; + float v5 = v1.z; + float v6 = v1.w; + vec4 v7 = (((CB1[v2.x * 1 + 0] * v3) + (CB1[v2.y * 1 + 0] * v4)) + (CB1[v2.z * 1 + 0] * v5)) + (CB1[v2.w * 1 + 0] * v6); + ivec4 v8 = v2 + ivec4(1); + vec4 v9 = (((CB1[v8.x * 1 + 0] * v3) + (CB1[v8.y * 1 + 0] * v4)) + (CB1[v8.z * 1 + 0] * v5)) + (CB1[v8.w * 1 + 0] * v6); + ivec4 v10 = v2 + ivec4(2); + vec4 v11 = (((CB1[v10.x * 1 + 0] * v3) + (CB1[v10.y * 1 + 0] * v4)) + (CB1[v10.z * 1 + 0] * v5)) + (CB1[v10.w * 1 + 0] * v6); + float v12 = dot(v7, POSITION); + float v13 = dot(v9, POSITION); + float v14 = dot(v11, POSITION); + vec3 v15 = vec3(v12, v13, v14); + vec3 v16 = vec3(dot(v7.xyz, v0), dot(v9.xyz, v0), dot(v11.xyz, v0)); + vec3 v17 = CB0[7].xyz - v15; + vec3 v18 = normalize(v17); + vec3 v19 = v16 * ((dot(v16, v18) > (-0.0500000007450580596923828125)) ? 1.0 : (-1.0)); + vec3 v20 = -CB0[11].xyz; + float v21 = dot(v19, v20); + vec4 v22 = vec4(v12, v13, v14, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v23 = ((v15 + (v19 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v24 = vec4(v23.x, v23.y, v23.z, vec4(0.0).w); + v24.w = 0.0; + vec4 v25 = vec4(v12, v13, v14, 0.0); + v25.w = COLOR1.w * 0.0039215688593685626983642578125; + float v26 = COLOR1.y * 0.50359570980072021484375; + float v27 = clamp(v21, 0.0, 1.0); + vec3 v28 = (CB0[10].xyz * v27) + (CB0[12].xyz * clamp(-v21, 0.0, 1.0)); + vec4 v29 = vec4(v28.x, v28.y, v28.z, vec4(0.0).w); + v29.w = (v27 * CB0[23].w) * (COLOR1.y * exp2((v26 * dot(v19, normalize(v20 + v18))) - v26)); + gl_Position = v22; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v24; + VARYING4 = vec4(v17, v22.w); + VARYING5 = vec4(v19, COLOR1.z); + VARYING6 = v29; + VARYING7 = v25; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag new file mode 100644 index 0000000000..88d808988d --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceDitheredHQFS_Level512.frag @@ -0,0 +1,124 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f3 = texture(DiffuseMapTexture, VARYING0); + float f4 = f3.w; + float f5 = fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))); + if (smoothstep(0.0, 1.0, f4) < (f5 + ((fract(CB0[46].z) - f5) * clamp((0.001000000047497451305389404296875 * floor(CB0[46].z)) * VARYING4.w, 0.0, 1.0)))) + { + discard; + } + vec4 f6 = vec4(mix(VARYING2.xyz, f3.xyz, vec3(f4)), VARYING2.w); + vec4 f7 = vec4(f3.xyz, VARYING2.w * f4); + bvec4 f8 = bvec4(CB3[0].x != 0.0); + vec4 f9 = vec4(f8.x ? f6.x : f7.x, f8.y ? f6.y : f7.y, f8.z ? f6.z : f7.z, f8.w ? f6.w : f7.w); + vec2 f10 = texture(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f11 = f10 - vec2(1.0); + float f12 = sqrt(clamp(1.0 + dot(vec2(1.0) - f10, f11), 0.0, 1.0)); + vec2 f13 = vec3(f11, f12).xy * f2; + vec4 f14 = texture(SpecularMapTexture, VARYING0); + float f15 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f16 = VARYING6.xyz * f15; + vec3 f17 = VARYING5.xyz * f15; + vec3 f18 = normalize(((f16 * f13.x) + ((cross(f17, f16) * VARYING6.w) * f13.y)) + (f17 * f12)); + vec3 f19 = f9.xyz; + vec3 f20 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f21 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f22 = VARYING3.yzx - (VARYING3.yzx * f21); + vec4 f23 = vec4(clamp(f21, 0.0, 1.0)); + vec4 f24 = mix(texture(LightMapTexture, f22), vec4(0.0), f23); + vec4 f25 = mix(texture(LightGridSkylightTexture, f22), vec4(1.0), f23); + float f26 = f25.x; + vec4 f27 = texture(ShadowMapTexture, f20.xy); + float f28 = f20.z; + vec3 f29 = (f19 * f19).xyz; + float f30 = CB0[26].w * f2; + float f31 = max(f14.y, 0.04500000178813934326171875); + vec3 f32 = reflect(-f1, f18); + float f33 = f31 * 5.0; + vec3 f34 = vec4(f32, f33).xyz; + vec4 f35 = texture(PrecomputedBRDFTexture, vec2(f31, max(9.9999997473787516355514526367188e-05, dot(f18, f1)))); + float f36 = f14.x * f30; + vec3 f37 = mix(vec3(0.039999999105930328369140625), f29, vec3(f36)); + vec3 f38 = -CB0[11].xyz; + float f39 = dot(f18, f38) * ((1.0 - ((step(f27.x, f28) * clamp(CB0[24].z + (CB0[24].w * abs(f28 - 0.5)), 0.0, 1.0)) * f27.y)) * f25.y); + vec3 f40 = normalize(f38 + f1); + float f41 = clamp(f39, 0.0, 1.0); + float f42 = f31 * f31; + float f43 = max(0.001000000047497451305389404296875, dot(f18, f40)); + float f44 = dot(f38, f40); + float f45 = 1.0 - f44; + float f46 = f45 * f45; + float f47 = (f46 * f46) * f45; + vec3 f48 = vec3(f47) + (f37 * (1.0 - f47)); + float f49 = f42 * f42; + float f50 = (((f43 * f49) - f43) * f43) + 1.0; + float f51 = 1.0 - f36; + float f52 = f30 * f51; + vec3 f53 = vec3(f51); + float f54 = f35.x; + float f55 = f35.y; + vec3 f56 = ((f37 * f54) + vec3(f55)) / vec3(f54 + f55); + vec3 f57 = f53 - (f56 * f52); + vec3 f58 = f18 * f18; + bvec3 f59 = lessThan(f18, vec3(0.0)); + vec3 f60 = vec3(f59.x ? f58.x : vec3(0.0).x, f59.y ? f58.y : vec3(0.0).y, f59.z ? f58.z : vec3(0.0).z); + vec3 f61 = f58 - f60; + float f62 = f61.x; + float f63 = f61.y; + float f64 = f61.z; + float f65 = f60.x; + float f66 = f60.y; + float f67 = f60.z; + vec3 f68 = ((((((CB0[35].xyz * f62) + (CB0[37].xyz * f63)) + (CB0[39].xyz * f64)) + (CB0[36].xyz * f65)) + (CB0[38].xyz * f66)) + (CB0[40].xyz * f67)) + (((((((CB0[29].xyz * f62) + (CB0[31].xyz * f63)) + (CB0[33].xyz * f64)) + (CB0[30].xyz * f65)) + (CB0[32].xyz * f66)) + (CB0[34].xyz * f67)) * f26); + vec3 f69 = (mix(textureLod(PrefilteredEnvIndoorTexture, f34, f33).xyz, textureLod(PrefilteredEnvTexture, f34, f33).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f32.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f26)) * f56) * f30; + vec3 f70 = ((((((((f53 - (f48 * f52)) * CB0[10].xyz) * f41) + (CB0[12].xyz * (f51 * clamp(-f39, 0.0, 1.0)))) + ((f57 * f68) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f26))) * f29) + (((f48 * (((f49 + (f49 * f49)) / (((f50 * f50) * ((f44 * 3.0) + 0.5)) * ((f43 * 0.75) + 0.25))) * f41)) * CB0[10].xyz) + f69)) + ((f24.xyz * (f24.w * 120.0)).xyz * mix(f29, f69 * (1.0 / (max(max(f68.x, f68.y), f68.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f57) * (f30 * (1.0 - f26)))); + float f71 = f9.w; + vec4 f72 = vec4(f70.x, f70.y, f70.z, vec4(0.0).w); + f72.w = f71; + float f73 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f74 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f73) * 5.0).xyz; + bvec3 f75 = bvec3(CB0[13].w != 0.0); + vec3 f76 = sqrt(clamp(mix(vec3(f75.x ? CB0[14].xyz.x : f74.x, f75.y ? CB0[14].xyz.y : f74.y, f75.z ? CB0[14].xyz.z : f74.z), f72.xyz, vec3(f73)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * f5)); + vec4 f77 = vec4(f76.x, f76.y, f76.z, f72.w); + f77.w = f71; + _entryPointOutput = f77; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceDitheredHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceDitheredHQFS_Level520.frag new file mode 100644 index 0000000000..78b0bd8e2a --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceDitheredHQFS_Level520.frag @@ -0,0 +1,145 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f3 = texture(DiffuseMapTexture, VARYING0); + float f4 = f3.w; + float f5 = fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))); + if (smoothstep(0.0, 1.0, f4) < (f5 + ((fract(CB0[46].z) - f5) * clamp((0.001000000047497451305389404296875 * floor(CB0[46].z)) * VARYING4.w, 0.0, 1.0)))) + { + discard; + } + vec4 f6 = vec4(mix(VARYING2.xyz, f3.xyz, vec3(f4)), VARYING2.w); + vec4 f7 = vec4(f3.xyz, VARYING2.w * f4); + bvec4 f8 = bvec4(CB3[0].x != 0.0); + vec4 f9 = vec4(f8.x ? f6.x : f7.x, f8.y ? f6.y : f7.y, f8.z ? f6.z : f7.z, f8.w ? f6.w : f7.w); + vec2 f10 = texture(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f11 = f10 - vec2(1.0); + float f12 = sqrt(clamp(1.0 + dot(vec2(1.0) - f10, f11), 0.0, 1.0)); + vec2 f13 = vec3(f11, f12).xy * f2; + vec4 f14 = texture(SpecularMapTexture, VARYING0); + float f15 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f16 = VARYING6.xyz * f15; + vec3 f17 = VARYING5.xyz * f15; + vec3 f18 = normalize(((f16 * f13.x) + ((cross(f17, f16) * VARYING6.w) * f13.y)) + (f17 * f12)); + vec3 f19 = -CB0[11].xyz; + float f20 = dot(f18, f19); + vec3 f21 = f9.xyz; + vec3 f22 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f23 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f24 = VARYING3.yzx - (VARYING3.yzx * f23); + vec4 f25 = vec4(clamp(f23, 0.0, 1.0)); + vec4 f26 = mix(texture(LightMapTexture, f24), vec4(0.0), f25); + vec4 f27 = mix(texture(LightGridSkylightTexture, f24), vec4(1.0), f25); + float f28 = f27.x; + float f29 = f27.y; + vec3 f30 = f22 - CB0[41].xyz; + vec3 f31 = f22 - CB0[42].xyz; + vec3 f32 = f22 - CB0[43].xyz; + vec4 f33 = vec4(f22, 1.0) * mat4(CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f30, f30) < CB0[41].w) ? 0 : ((dot(f31, f31) < CB0[42].w) ? 1 : ((dot(f32, f32) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f34 = textureLod(ShadowAtlasTexture, f33.xy, 0.0); + vec2 f35 = vec2(0.0); + f35.x = CB0[45].z; + vec2 f36 = f35; + f36.y = CB0[45].w; + float f37 = (2.0 * f33.z) - 1.0; + float f38 = exp(CB0[45].z * f37); + float f39 = -exp((-CB0[45].w) * f37); + vec2 f40 = (f36 * CB0[46].y) * vec2(f38, f39); + vec2 f41 = f40 * f40; + float f42 = f34.x; + float f43 = max(f34.y - (f42 * f42), f41.x); + float f44 = f38 - f42; + float f45 = f34.z; + float f46 = max(f34.w - (f45 * f45), f41.y); + float f47 = f39 - f45; + vec3 f48 = (f21 * f21).xyz; + float f49 = CB0[26].w * f2; + float f50 = max(f14.y, 0.04500000178813934326171875); + vec3 f51 = reflect(-f1, f18); + float f52 = f50 * 5.0; + vec3 f53 = vec4(f51, f52).xyz; + vec4 f54 = texture(PrecomputedBRDFTexture, vec2(f50, max(9.9999997473787516355514526367188e-05, dot(f18, f1)))); + float f55 = f14.x * f49; + vec3 f56 = mix(vec3(0.039999999105930328369140625), f48, vec3(f55)); + vec3 f57 = normalize(f19 + f1); + float f58 = clamp(f20 * ((f20 > 0.0) ? mix(f29, mix(min((f38 <= f42) ? 1.0 : clamp(((f43 / (f43 + (f44 * f44))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f39 <= f45) ? 1.0 : clamp(((f46 / (f46 + (f47 * f47))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f29, clamp((length(f22 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f59 = f50 * f50; + float f60 = max(0.001000000047497451305389404296875, dot(f18, f57)); + float f61 = dot(f19, f57); + float f62 = 1.0 - f61; + float f63 = f62 * f62; + float f64 = (f63 * f63) * f62; + vec3 f65 = vec3(f64) + (f56 * (1.0 - f64)); + float f66 = f59 * f59; + float f67 = (((f60 * f66) - f60) * f60) + 1.0; + float f68 = 1.0 - f55; + float f69 = f49 * f68; + vec3 f70 = vec3(f68); + float f71 = f54.x; + float f72 = f54.y; + vec3 f73 = ((f56 * f71) + vec3(f72)) / vec3(f71 + f72); + vec3 f74 = f70 - (f73 * f69); + vec3 f75 = f18 * f18; + bvec3 f76 = lessThan(f18, vec3(0.0)); + vec3 f77 = vec3(f76.x ? f75.x : vec3(0.0).x, f76.y ? f75.y : vec3(0.0).y, f76.z ? f75.z : vec3(0.0).z); + vec3 f78 = f75 - f77; + float f79 = f78.x; + float f80 = f78.y; + float f81 = f78.z; + float f82 = f77.x; + float f83 = f77.y; + float f84 = f77.z; + vec3 f85 = ((((((CB0[35].xyz * f79) + (CB0[37].xyz * f80)) + (CB0[39].xyz * f81)) + (CB0[36].xyz * f82)) + (CB0[38].xyz * f83)) + (CB0[40].xyz * f84)) + (((((((CB0[29].xyz * f79) + (CB0[31].xyz * f80)) + (CB0[33].xyz * f81)) + (CB0[30].xyz * f82)) + (CB0[32].xyz * f83)) + (CB0[34].xyz * f84)) * f28); + vec3 f86 = (mix(textureLod(PrefilteredEnvIndoorTexture, f53, f52).xyz, textureLod(PrefilteredEnvTexture, f53, f52).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f51.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f28)) * f73) * f49; + vec3 f87 = (((((((f70 - (f65 * f69)) * CB0[10].xyz) * f58) + ((f74 * f85) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f28))) * f48) + (((f65 * (((f66 + (f66 * f66)) / (((f67 * f67) * ((f61 * 3.0) + 0.5)) * ((f60 * 0.75) + 0.25))) * f58)) * CB0[10].xyz) + f86)) + ((f26.xyz * (f26.w * 120.0)).xyz * mix(f48, f86 * (1.0 / (max(max(f85.x, f85.y), f85.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f74) * (f49 * (1.0 - f28)))); + float f88 = f9.w; + vec4 f89 = vec4(f87.x, f87.y, f87.z, vec4(0.0).w); + f89.w = f88; + float f90 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f91 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f90) * 5.0).xyz; + bvec3 f92 = bvec3(CB0[13].w != 0.0); + vec3 f93 = sqrt(clamp(mix(vec3(f92.x ? CB0[14].xyz.x : f91.x, f92.y ? CB0[14].xyz.y : f91.y, f92.z ? CB0[14].xyz.z : f91.z), f89.xyz, vec3(f90)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * f5)); + vec4 f94 = vec4(f93.x, f93.y, f93.z, f89.w); + f94.w = f88; + _entryPointOutput = f94; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceHQFS_Level512.frag new file mode 100644 index 0000000000..50cadde190 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceHQFS_Level512.frag @@ -0,0 +1,119 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f3 = texture(DiffuseMapTexture, VARYING0); + float f4 = f3.w; + vec4 f5 = vec4(mix(VARYING2.xyz, f3.xyz, vec3(f4)), VARYING2.w); + vec4 f6 = vec4(f3.xyz, VARYING2.w * f4); + bvec4 f7 = bvec4(CB3[0].x != 0.0); + vec4 f8 = vec4(f7.x ? f5.x : f6.x, f7.y ? f5.y : f6.y, f7.z ? f5.z : f6.z, f7.w ? f5.w : f6.w); + vec2 f9 = texture(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f10 = f9 - vec2(1.0); + float f11 = sqrt(clamp(1.0 + dot(vec2(1.0) - f9, f10), 0.0, 1.0)); + vec2 f12 = vec3(f10, f11).xy * f2; + vec4 f13 = texture(SpecularMapTexture, VARYING0); + float f14 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f15 = VARYING6.xyz * f14; + vec3 f16 = VARYING5.xyz * f14; + vec3 f17 = normalize(((f15 * f12.x) + ((cross(f16, f15) * VARYING6.w) * f12.y)) + (f16 * f11)); + vec3 f18 = f8.xyz; + vec3 f19 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f20 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f21 = VARYING3.yzx - (VARYING3.yzx * f20); + vec4 f22 = vec4(clamp(f20, 0.0, 1.0)); + vec4 f23 = mix(texture(LightMapTexture, f21), vec4(0.0), f22); + vec4 f24 = mix(texture(LightGridSkylightTexture, f21), vec4(1.0), f22); + float f25 = f24.x; + vec4 f26 = texture(ShadowMapTexture, f19.xy); + float f27 = f19.z; + vec3 f28 = (f18 * f18).xyz; + float f29 = CB0[26].w * f2; + float f30 = max(f13.y, 0.04500000178813934326171875); + vec3 f31 = reflect(-f1, f17); + float f32 = f30 * 5.0; + vec3 f33 = vec4(f31, f32).xyz; + vec4 f34 = texture(PrecomputedBRDFTexture, vec2(f30, max(9.9999997473787516355514526367188e-05, dot(f17, f1)))); + float f35 = f13.x * f29; + vec3 f36 = mix(vec3(0.039999999105930328369140625), f28, vec3(f35)); + vec3 f37 = -CB0[11].xyz; + float f38 = dot(f17, f37) * ((1.0 - ((step(f26.x, f27) * clamp(CB0[24].z + (CB0[24].w * abs(f27 - 0.5)), 0.0, 1.0)) * f26.y)) * f24.y); + vec3 f39 = normalize(f37 + f1); + float f40 = clamp(f38, 0.0, 1.0); + float f41 = f30 * f30; + float f42 = max(0.001000000047497451305389404296875, dot(f17, f39)); + float f43 = dot(f37, f39); + float f44 = 1.0 - f43; + float f45 = f44 * f44; + float f46 = (f45 * f45) * f44; + vec3 f47 = vec3(f46) + (f36 * (1.0 - f46)); + float f48 = f41 * f41; + float f49 = (((f42 * f48) - f42) * f42) + 1.0; + float f50 = 1.0 - f35; + float f51 = f29 * f50; + vec3 f52 = vec3(f50); + float f53 = f34.x; + float f54 = f34.y; + vec3 f55 = ((f36 * f53) + vec3(f54)) / vec3(f53 + f54); + vec3 f56 = f52 - (f55 * f51); + vec3 f57 = f17 * f17; + bvec3 f58 = lessThan(f17, vec3(0.0)); + vec3 f59 = vec3(f58.x ? f57.x : vec3(0.0).x, f58.y ? f57.y : vec3(0.0).y, f58.z ? f57.z : vec3(0.0).z); + vec3 f60 = f57 - f59; + float f61 = f60.x; + float f62 = f60.y; + float f63 = f60.z; + float f64 = f59.x; + float f65 = f59.y; + float f66 = f59.z; + vec3 f67 = ((((((CB0[35].xyz * f61) + (CB0[37].xyz * f62)) + (CB0[39].xyz * f63)) + (CB0[36].xyz * f64)) + (CB0[38].xyz * f65)) + (CB0[40].xyz * f66)) + (((((((CB0[29].xyz * f61) + (CB0[31].xyz * f62)) + (CB0[33].xyz * f63)) + (CB0[30].xyz * f64)) + (CB0[32].xyz * f65)) + (CB0[34].xyz * f66)) * f25); + vec3 f68 = (mix(textureLod(PrefilteredEnvIndoorTexture, f33, f32).xyz, textureLod(PrefilteredEnvTexture, f33, f32).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f31.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f25)) * f55) * f29; + vec3 f69 = ((((((((f52 - (f47 * f51)) * CB0[10].xyz) * f40) + (CB0[12].xyz * (f50 * clamp(-f38, 0.0, 1.0)))) + ((f56 * f67) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f25))) * f28) + (((f47 * (((f48 + (f48 * f48)) / (((f49 * f49) * ((f43 * 3.0) + 0.5)) * ((f42 * 0.75) + 0.25))) * f40)) * CB0[10].xyz) + f68)) + ((f23.xyz * (f23.w * 120.0)).xyz * mix(f28, f68 * (1.0 / (max(max(f67.x, f67.y), f67.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f56) * (f29 * (1.0 - f25)))); + float f70 = f8.w; + vec4 f71 = vec4(f69.x, f69.y, f69.z, vec4(0.0).w); + f71.w = f70; + float f72 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f73 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f72) * 5.0).xyz; + bvec3 f74 = bvec3(CB0[13].w != 0.0); + vec3 f75 = sqrt(clamp(mix(vec3(f74.x ? CB0[14].xyz.x : f73.x, f74.y ? CB0[14].xyz.y : f73.y, f74.z ? CB0[14].xyz.z : f73.z), f71.xyz, vec3(f72)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f76 = vec4(f75.x, f75.y, f75.z, f71.w); + f76.w = f70; + _entryPointOutput = f76; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceHQFS_Level520.frag new file mode 100644 index 0000000000..97ae366fca --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceAppearanceHQFS_Level520.frag @@ -0,0 +1,140 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + float f2 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec4 f3 = texture(DiffuseMapTexture, VARYING0); + float f4 = f3.w; + vec4 f5 = vec4(mix(VARYING2.xyz, f3.xyz, vec3(f4)), VARYING2.w); + vec4 f6 = vec4(f3.xyz, VARYING2.w * f4); + bvec4 f7 = bvec4(CB3[0].x != 0.0); + vec4 f8 = vec4(f7.x ? f5.x : f6.x, f7.y ? f5.y : f6.y, f7.z ? f5.z : f6.z, f7.w ? f5.w : f6.w); + vec2 f9 = texture(NormalMapTexture, VARYING0).wy * 2.0; + vec2 f10 = f9 - vec2(1.0); + float f11 = sqrt(clamp(1.0 + dot(vec2(1.0) - f9, f10), 0.0, 1.0)); + vec2 f12 = vec3(f10, f11).xy * f2; + vec4 f13 = texture(SpecularMapTexture, VARYING0); + float f14 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f15 = VARYING6.xyz * f14; + vec3 f16 = VARYING5.xyz * f14; + vec3 f17 = normalize(((f15 * f12.x) + ((cross(f16, f15) * VARYING6.w) * f12.y)) + (f16 * f11)); + vec3 f18 = -CB0[11].xyz; + float f19 = dot(f17, f18); + vec3 f20 = f8.xyz; + vec3 f21 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f22 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f23 = VARYING3.yzx - (VARYING3.yzx * f22); + vec4 f24 = vec4(clamp(f22, 0.0, 1.0)); + vec4 f25 = mix(texture(LightMapTexture, f23), vec4(0.0), f24); + vec4 f26 = mix(texture(LightGridSkylightTexture, f23), vec4(1.0), f24); + float f27 = f26.x; + float f28 = f26.y; + vec3 f29 = f21 - CB0[41].xyz; + vec3 f30 = f21 - CB0[42].xyz; + vec3 f31 = f21 - CB0[43].xyz; + vec4 f32 = vec4(f21, 1.0) * mat4(CB8[((dot(f29, f29) < CB0[41].w) ? 0 : ((dot(f30, f30) < CB0[42].w) ? 1 : ((dot(f31, f31) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f29, f29) < CB0[41].w) ? 0 : ((dot(f30, f30) < CB0[42].w) ? 1 : ((dot(f31, f31) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f29, f29) < CB0[41].w) ? 0 : ((dot(f30, f30) < CB0[42].w) ? 1 : ((dot(f31, f31) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f29, f29) < CB0[41].w) ? 0 : ((dot(f30, f30) < CB0[42].w) ? 1 : ((dot(f31, f31) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f33 = textureLod(ShadowAtlasTexture, f32.xy, 0.0); + vec2 f34 = vec2(0.0); + f34.x = CB0[45].z; + vec2 f35 = f34; + f35.y = CB0[45].w; + float f36 = (2.0 * f32.z) - 1.0; + float f37 = exp(CB0[45].z * f36); + float f38 = -exp((-CB0[45].w) * f36); + vec2 f39 = (f35 * CB0[46].y) * vec2(f37, f38); + vec2 f40 = f39 * f39; + float f41 = f33.x; + float f42 = max(f33.y - (f41 * f41), f40.x); + float f43 = f37 - f41; + float f44 = f33.z; + float f45 = max(f33.w - (f44 * f44), f40.y); + float f46 = f38 - f44; + vec3 f47 = (f20 * f20).xyz; + float f48 = CB0[26].w * f2; + float f49 = max(f13.y, 0.04500000178813934326171875); + vec3 f50 = reflect(-f1, f17); + float f51 = f49 * 5.0; + vec3 f52 = vec4(f50, f51).xyz; + vec4 f53 = texture(PrecomputedBRDFTexture, vec2(f49, max(9.9999997473787516355514526367188e-05, dot(f17, f1)))); + float f54 = f13.x * f48; + vec3 f55 = mix(vec3(0.039999999105930328369140625), f47, vec3(f54)); + vec3 f56 = normalize(f18 + f1); + float f57 = clamp(f19 * ((f19 > 0.0) ? mix(f28, mix(min((f37 <= f41) ? 1.0 : clamp(((f42 / (f42 + (f43 * f43))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f38 <= f44) ? 1.0 : clamp(((f45 / (f45 + (f46 * f46))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f28, clamp((length(f21 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f58 = f49 * f49; + float f59 = max(0.001000000047497451305389404296875, dot(f17, f56)); + float f60 = dot(f18, f56); + float f61 = 1.0 - f60; + float f62 = f61 * f61; + float f63 = (f62 * f62) * f61; + vec3 f64 = vec3(f63) + (f55 * (1.0 - f63)); + float f65 = f58 * f58; + float f66 = (((f59 * f65) - f59) * f59) + 1.0; + float f67 = 1.0 - f54; + float f68 = f48 * f67; + vec3 f69 = vec3(f67); + float f70 = f53.x; + float f71 = f53.y; + vec3 f72 = ((f55 * f70) + vec3(f71)) / vec3(f70 + f71); + vec3 f73 = f69 - (f72 * f68); + vec3 f74 = f17 * f17; + bvec3 f75 = lessThan(f17, vec3(0.0)); + vec3 f76 = vec3(f75.x ? f74.x : vec3(0.0).x, f75.y ? f74.y : vec3(0.0).y, f75.z ? f74.z : vec3(0.0).z); + vec3 f77 = f74 - f76; + float f78 = f77.x; + float f79 = f77.y; + float f80 = f77.z; + float f81 = f76.x; + float f82 = f76.y; + float f83 = f76.z; + vec3 f84 = ((((((CB0[35].xyz * f78) + (CB0[37].xyz * f79)) + (CB0[39].xyz * f80)) + (CB0[36].xyz * f81)) + (CB0[38].xyz * f82)) + (CB0[40].xyz * f83)) + (((((((CB0[29].xyz * f78) + (CB0[31].xyz * f79)) + (CB0[33].xyz * f80)) + (CB0[30].xyz * f81)) + (CB0[32].xyz * f82)) + (CB0[34].xyz * f83)) * f27); + vec3 f85 = (mix(textureLod(PrefilteredEnvIndoorTexture, f52, f51).xyz, textureLod(PrefilteredEnvTexture, f52, f51).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f50.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f27)) * f72) * f48; + vec3 f86 = (((((((f69 - (f64 * f68)) * CB0[10].xyz) * f57) + ((f73 * f84) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f27))) * f47) + (((f64 * (((f65 + (f65 * f65)) / (((f66 * f66) * ((f60 * 3.0) + 0.5)) * ((f59 * 0.75) + 0.25))) * f57)) * CB0[10].xyz) + f85)) + ((f25.xyz * (f25.w * 120.0)).xyz * mix(f47, f85 * (1.0 / (max(max(f84.x, f84.y), f84.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f73) * (f48 * (1.0 - f27)))); + float f87 = f8.w; + vec4 f88 = vec4(f86.x, f86.y, f86.z, vec4(0.0).w); + f88.w = f87; + float f89 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f90 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f89) * 5.0).xyz; + bvec3 f91 = bvec3(CB0[13].w != 0.0); + vec3 f92 = sqrt(clamp(mix(vec3(f91.x ? CB0[14].xyz.x : f90.x, f91.y ? CB0[14].xyz.y : f90.y, f91.z ? CB0[14].xyz.z : f90.z), f88.xyz, vec3(f89)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f93 = vec4(f92.x, f92.y, f92.z, f88.w); + f93.w = f87; + _entryPointOutput = f93; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level512.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level512.vert new file mode 100644 index 0000000000..7eaaad21b4 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level512.vert @@ -0,0 +1,49 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(0.0); + v2.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v3 = vec4(POSITION.xyz, 1.0); + vec4 v4 = v3 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v5 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v6 = vec4(v5.x, v5.y, v5.z, vec4(0.0).w); + v6.w = 0.0; + vec4 v7 = vec4(dot(CB0[20], v3), dot(CB0[21], v3), dot(CB0[22], v3), 0.0); + v7.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v8 = vec4(v0, 0.0); + v8.w = 0.0; + gl_Position = v4; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v6; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v4.w); + VARYING5 = v8; + VARYING6 = vec4(v1.x, v1.y, v1.z, v2.w); + VARYING7 = v7; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level513.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level513.vert new file mode 100644 index 0000000000..082dc9a063 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level513.vert @@ -0,0 +1,71 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v2 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v3 = int(NORMAL.w); + vec3 v4 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v5 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v6 = vec4(v5.x, v5.y, v5.z, POSITION.w); + float v7 = dot(CB1[gl_InstanceID * 7 + 0], v6); + float v8 = dot(CB1[gl_InstanceID * 7 + 1], v6); + float v9 = dot(CB1[gl_InstanceID * 7 + 2], v6); + vec3 v10 = vec3(v7, v8, v9); + float v11 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v4); + float v12 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v4); + float v13 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v4); + vec3 v14 = vec3(dot(CB1[gl_InstanceID * 7 + 0].xyz, v2), dot(CB1[gl_InstanceID * 7 + 1].xyz, v2), dot(CB1[gl_InstanceID * 7 + 2].xyz, v2)); + vec2 v15 = vec2(0.0); + v15.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v3]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v3]); + vec2 v17 = v16; + v17.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v3]); + vec2 v18 = v17; + v18.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v3]); + vec4 v19 = vec4(0.0); + v19.w = sign(TEXCOORD2.w - 0.5); + vec4 v20 = vec4(v7, v8, v9, 1.0); + vec4 v21 = v20 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v22 = ((v10 + (vec3(v11, v12, v13) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v23 = vec4(v22.x, v22.y, v22.z, vec4(0.0).w); + v23.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v24 = vec4(dot(CB0[20], v20), dot(CB0[21], v20), dot(CB0[22], v20), 0.0); + v24.w = CB1[gl_InstanceID * 7 + 5].w; + vec4 v25 = vec4(v11, v12, v13, 0.0); + v25.w = 0.0; + gl_Position = v21; + VARYING0 = (TEXCOORD0.xy * v16) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v18; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v23; + VARYING4 = vec4(CB0[7].xyz - v10, v21.w); + VARYING5 = v25; + VARYING6 = vec4(v14.x, v14.y, v14.z, v19.w); + VARYING7 = v24; + VARYING8 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level514.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level514.vert new file mode 100644 index 0000000000..ff0175632b --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level514.vert @@ -0,0 +1,61 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v2 = int(COLOR1.x) * 3; + int v3 = v2 + 1; + int v4 = v2 + 2; + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + float v7 = dot(CB1[v4 * 1 + 0], POSITION); + vec3 v8 = vec3(v5, v6, v7); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + float v11 = dot(CB1[v4 * 1 + 0].xyz, v0); + vec3 v12 = vec3(dot(CB1[v2 * 1 + 0].xyz, v1), dot(CB1[v3 * 1 + 0].xyz, v1), dot(CB1[v4 * 1 + 0].xyz, v1)); + vec4 v13 = vec4(0.0); + v13.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v14 = vec4(v5, v6, v7, 1.0); + vec4 v15 = v14 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v16 = ((v8 + (vec3(v9, v10, v11) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v17 = vec4(v16.x, v16.y, v16.z, vec4(0.0).w); + v17.w = 0.0; + vec4 v18 = vec4(dot(CB0[20], v14), dot(CB0[21], v14), dot(CB0[22], v14), 0.0); + v18.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v19 = vec4(v9, v10, v11, 0.0); + v19.w = 0.0; + gl_Position = v15; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v17; + VARYING4 = vec4(CB0[7].xyz - v8, v15.w); + VARYING5 = v19; + VARYING6 = vec4(v12.x, v12.y, v12.z, v13.w); + VARYING7 = v18; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level518.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level518.vert new file mode 100644 index 0000000000..c0d95c0fde --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level518.vert @@ -0,0 +1,74 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v3 = ivec4(TEXCOORD4) * ivec4(3); + float v4 = v2.x; + float v5 = v2.y; + float v6 = v2.z; + float v7 = v2.w; + vec4 v8 = (((CB1[v3.x * 1 + 0] * v4) + (CB1[v3.y * 1 + 0] * v5)) + (CB1[v3.z * 1 + 0] * v6)) + (CB1[v3.w * 1 + 0] * v7); + ivec4 v9 = v3 + ivec4(1); + vec4 v10 = (((CB1[v9.x * 1 + 0] * v4) + (CB1[v9.y * 1 + 0] * v5)) + (CB1[v9.z * 1 + 0] * v6)) + (CB1[v9.w * 1 + 0] * v7); + ivec4 v11 = v3 + ivec4(2); + vec4 v12 = (((CB1[v11.x * 1 + 0] * v4) + (CB1[v11.y * 1 + 0] * v5)) + (CB1[v11.z * 1 + 0] * v6)) + (CB1[v11.w * 1 + 0] * v7); + float v13 = dot(v8, POSITION); + float v14 = dot(v10, POSITION); + float v15 = dot(v12, POSITION); + vec3 v16 = vec3(v13, v14, v15); + vec3 v17 = v8.xyz; + float v18 = dot(v17, v0); + vec3 v19 = v10.xyz; + float v20 = dot(v19, v0); + vec3 v21 = v12.xyz; + float v22 = dot(v21, v0); + vec3 v23 = vec3(dot(v17, v1), dot(v19, v1), dot(v21, v1)); + vec4 v24 = vec4(0.0); + v24.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v25 = vec4(v13, v14, v15, 1.0); + vec4 v26 = v25 * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v27 = ((v16 + (vec3(v18, v20, v22) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v28 = vec4(v27.x, v27.y, v27.z, vec4(0.0).w); + v28.w = 0.0; + vec4 v29 = vec4(dot(CB0[20], v25), dot(CB0[21], v25), dot(CB0[22], v25), 0.0); + v29.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v30 = vec4(v18, v20, v22, 0.0); + v30.w = 0.0; + gl_Position = v26; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v28; + VARYING4 = vec4(CB0[7].xyz - v16, v26.w); + VARYING5 = v30; + VARYING6 = vec4(v23.x, v23.y, v23.z, v24.w); + VARYING7 = v29; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level520.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level520.vert new file mode 100644 index 0000000000..b804c5f728 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level520.vert @@ -0,0 +1,48 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = vec4(0.0); + v2.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v3 = vec4(POSITION.xyz, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v4 = ((POSITION.xyz + (v0 * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v5 = vec4(v4.x, v4.y, v4.z, vec4(0.0).w); + v5.w = 0.0; + vec4 v6 = vec4(POSITION.xyz, 0.0); + v6.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v7 = vec4(v0, 0.0); + v7.w = 0.0; + gl_Position = v3; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v5; + VARYING4 = vec4(CB0[7].xyz - POSITION.xyz, v3.w); + VARYING5 = v7; + VARYING6 = vec4(v1.x, v1.y, v1.z, v2.w); + VARYING7 = v6; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level521.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level521.vert new file mode 100644 index 0000000000..6ed2e01092 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level521.vert @@ -0,0 +1,70 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +const vec3 v0[16] = vec3[](vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0)); +const vec3 v1[16] = vec3[](vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.0, 0.699999988079071044921875, 0.699999988079071044921875), vec3(0.699999988079071044921875, 0.699999988079071044921875, 0.0), vec3(0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, 1.0), vec3(1.0, 0.0, 0.0), vec3(0.0, 0.0, 1.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0)); + +uniform vec4 CB0[52]; +uniform vec4 CB1[511]; +in vec4 POSITION; +in vec4 NORMAL; +in vec4 TEXCOORD0; +in vec4 TEXCOORD2; +in vec4 COLOR0; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v2 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v3 = int(NORMAL.w); + vec3 v4 = normalize(((NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0)) / (CB1[gl_InstanceID * 7 + 3].xyz + vec3(0.001000000047497451305389404296875))); + vec3 v5 = POSITION.xyz * CB1[gl_InstanceID * 7 + 3].xyz; + vec4 v6 = vec4(v5.x, v5.y, v5.z, POSITION.w); + float v7 = dot(CB1[gl_InstanceID * 7 + 0], v6); + float v8 = dot(CB1[gl_InstanceID * 7 + 1], v6); + float v9 = dot(CB1[gl_InstanceID * 7 + 2], v6); + vec3 v10 = vec3(v7, v8, v9); + float v11 = dot(CB1[gl_InstanceID * 7 + 0].xyz, v4); + float v12 = dot(CB1[gl_InstanceID * 7 + 1].xyz, v4); + float v13 = dot(CB1[gl_InstanceID * 7 + 2].xyz, v4); + vec3 v14 = vec3(dot(CB1[gl_InstanceID * 7 + 0].xyz, v2), dot(CB1[gl_InstanceID * 7 + 1].xyz, v2), dot(CB1[gl_InstanceID * 7 + 2].xyz, v2)); + vec2 v15 = vec2(0.0); + v15.x = dot(CB1[gl_InstanceID * 7 + 5].xyz, v0[v3]); + vec2 v16 = v15; + v16.y = dot(CB1[gl_InstanceID * 7 + 5].xyz, v1[v3]); + vec2 v17 = v16; + v17.x = dot(CB1[gl_InstanceID * 7 + 3].xyz, v0[v3]); + vec2 v18 = v17; + v18.y = dot(CB1[gl_InstanceID * 7 + 3].xyz, v1[v3]); + vec4 v19 = vec4(0.0); + v19.w = sign(TEXCOORD2.w - 0.5); + vec4 v20 = vec4(v7, v8, v9, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v21 = ((v10 + (vec3(v11, v12, v13) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v22 = vec4(v21.x, v21.y, v21.z, vec4(0.0).w); + v22.w = abs(CB1[gl_InstanceID * 7 + 3].w); + vec4 v23 = vec4(v7, v8, v9, 0.0); + v23.w = CB1[gl_InstanceID * 7 + 5].w; + vec4 v24 = vec4(v11, v12, v13, 0.0); + v24.w = 0.0; + gl_Position = v20; + VARYING0 = (TEXCOORD0.xy * v16) + CB1[gl_InstanceID * 7 + 6].xy; + VARYING1 = TEXCOORD0.zw * v18; + VARYING2 = CB1[gl_InstanceID * 7 + 4] * mix(COLOR0 * 0.0039215688593685626983642578125, vec4(1.0), vec4(float(CB1[gl_InstanceID * 7 + 3].w > 0.0))); + VARYING3 = v22; + VARYING4 = vec4(CB0[7].xyz - v10, v20.w); + VARYING5 = v24; + VARYING6 = vec4(v14.x, v14.y, v14.z, v19.w); + VARYING7 = v23; + VARYING8 = TEXCOORD2.w - 1.0; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level522.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level522.vert new file mode 100644 index 0000000000..294ce6451b --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level522.vert @@ -0,0 +1,60 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + int v2 = int(COLOR1.x) * 3; + int v3 = v2 + 1; + int v4 = v2 + 2; + float v5 = dot(CB1[v2 * 1 + 0], POSITION); + float v6 = dot(CB1[v3 * 1 + 0], POSITION); + float v7 = dot(CB1[v4 * 1 + 0], POSITION); + vec3 v8 = vec3(v5, v6, v7); + float v9 = dot(CB1[v2 * 1 + 0].xyz, v0); + float v10 = dot(CB1[v3 * 1 + 0].xyz, v0); + float v11 = dot(CB1[v4 * 1 + 0].xyz, v0); + vec3 v12 = vec3(dot(CB1[v2 * 1 + 0].xyz, v1), dot(CB1[v3 * 1 + 0].xyz, v1), dot(CB1[v4 * 1 + 0].xyz, v1)); + vec4 v13 = vec4(0.0); + v13.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v14 = vec4(v5, v6, v7, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v15 = ((v8 + (vec3(v9, v10, v11) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v16 = vec4(v15.x, v15.y, v15.z, vec4(0.0).w); + v16.w = 0.0; + vec4 v17 = vec4(v5, v6, v7, 0.0); + v17.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v18 = vec4(v9, v10, v11, 0.0); + v18.w = 0.0; + gl_Position = v14; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v16; + VARYING4 = vec4(CB0[7].xyz - v8, v14.w); + VARYING5 = v18; + VARYING6 = vec4(v12.x, v12.y, v12.z, v13.w); + VARYING7 = v17; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level526.vert b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level526.vert new file mode 100644 index 0000000000..b4e608cbea --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultSurfaceHQVS_Level526.vert @@ -0,0 +1,73 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform vec4 CB1[216]; +in vec4 POSITION; +in vec4 NORMAL; +in vec2 TEXCOORD0; +in vec2 TEXCOORD1; +in vec4 COLOR0; +in vec4 COLOR1; +in vec4 TEXCOORD4; +in vec4 TEXCOORD5; +in vec4 TEXCOORD2; +out vec2 VARYING0; +out vec2 VARYING1; +out vec4 VARYING2; +out vec4 VARYING3; +out vec4 VARYING4; +out vec4 VARYING5; +out vec4 VARYING6; +out vec4 VARYING7; +out float VARYING8; + +void main() +{ + vec3 v0 = (NORMAL.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec3 v1 = (TEXCOORD2.xyz * 0.0078740157186985015869140625) - vec3(1.0); + vec4 v2 = TEXCOORD5 * vec4(0.0039215688593685626983642578125); + ivec4 v3 = ivec4(TEXCOORD4) * ivec4(3); + float v4 = v2.x; + float v5 = v2.y; + float v6 = v2.z; + float v7 = v2.w; + vec4 v8 = (((CB1[v3.x * 1 + 0] * v4) + (CB1[v3.y * 1 + 0] * v5)) + (CB1[v3.z * 1 + 0] * v6)) + (CB1[v3.w * 1 + 0] * v7); + ivec4 v9 = v3 + ivec4(1); + vec4 v10 = (((CB1[v9.x * 1 + 0] * v4) + (CB1[v9.y * 1 + 0] * v5)) + (CB1[v9.z * 1 + 0] * v6)) + (CB1[v9.w * 1 + 0] * v7); + ivec4 v11 = v3 + ivec4(2); + vec4 v12 = (((CB1[v11.x * 1 + 0] * v4) + (CB1[v11.y * 1 + 0] * v5)) + (CB1[v11.z * 1 + 0] * v6)) + (CB1[v11.w * 1 + 0] * v7); + float v13 = dot(v8, POSITION); + float v14 = dot(v10, POSITION); + float v15 = dot(v12, POSITION); + vec3 v16 = vec3(v13, v14, v15); + vec3 v17 = v8.xyz; + float v18 = dot(v17, v0); + vec3 v19 = v10.xyz; + float v20 = dot(v19, v0); + vec3 v21 = v12.xyz; + float v22 = dot(v21, v0); + vec3 v23 = vec3(dot(v17, v1), dot(v19, v1), dot(v21, v1)); + vec4 v24 = vec4(0.0); + v24.w = (TEXCOORD2.w * 0.0078740157186985015869140625) - 1.0; + vec4 v25 = vec4(v13, v14, v15, 1.0) * mat4(CB0[0], CB0[1], CB0[2], CB0[3]); + vec3 v26 = ((v16 + (vec3(v18, v20, v22) * 6.0)).yxz * CB0[16].xyz) + CB0[17].xyz; + vec4 v27 = vec4(v26.x, v26.y, v26.z, vec4(0.0).w); + v27.w = 0.0; + vec4 v28 = vec4(v13, v14, v15, 0.0); + v28.w = COLOR1.w * 0.0039215688593685626983642578125; + vec4 v29 = vec4(v18, v20, v22, 0.0); + v29.w = 0.0; + gl_Position = v25; + VARYING0 = TEXCOORD0; + VARYING1 = TEXCOORD1; + VARYING2 = COLOR0; + VARYING3 = v27; + VARYING4 = vec4(CB0[7].xyz - v16, v25.w); + VARYING5 = v29; + VARYING6 = vec4(v23.x, v23.y, v23.z, v24.w); + VARYING7 = v28; + VARYING8 = NORMAL.w; +} + diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHQFS_Level512.frag new file mode 100644 index 0000000000..1fd7393f44 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHQFS_Level512.frag @@ -0,0 +1,123 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = texture(DiffuseMapTexture, f4); + vec2 f6 = texture(NormalMapTexture, f4).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = texture(SpecularMapTexture, f4); + float f12 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f13 = VARYING6.xyz * f12; + vec3 f14 = VARYING5.xyz * f12; + vec3 f15 = normalize(((f13 * f10) + (cross(f14, f13) * f9.y)) + (f14 * f8)); + vec3 f16 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f17 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f18 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f19 = VARYING3.yzx - (VARYING3.yzx * f18); + vec4 f20 = vec4(clamp(f18, 0.0, 1.0)); + vec4 f21 = mix(texture(LightMapTexture, f19), vec4(0.0), f20); + vec4 f22 = mix(texture(LightGridSkylightTexture, f19), vec4(1.0), f20); + float f23 = f22.x; + vec4 f24 = texture(ShadowMapTexture, f17.xy); + float f25 = f17.z; + vec3 f26 = (f16 * f16).xyz; + float f27 = CB0[26].w * f3; + float f28 = max(f11.y, 0.04500000178813934326171875); + vec3 f29 = reflect(-f1, f15); + float f30 = f28 * 5.0; + vec3 f31 = vec4(f29, f30).xyz; + vec4 f32 = texture(PrecomputedBRDFTexture, vec2(f28, max(9.9999997473787516355514526367188e-05, dot(f15, f1)))); + float f33 = f11.x * f27; + vec3 f34 = mix(vec3(0.039999999105930328369140625), f26, vec3(f33)); + vec3 f35 = -CB0[11].xyz; + float f36 = dot(f15, f35) * ((1.0 - ((step(f24.x, f25) * clamp(CB0[24].z + (CB0[24].w * abs(f25 - 0.5)), 0.0, 1.0)) * f24.y)) * f22.y); + vec3 f37 = normalize(f35 + f1); + float f38 = clamp(f36, 0.0, 1.0); + float f39 = f28 * f28; + float f40 = max(0.001000000047497451305389404296875, dot(f15, f37)); + float f41 = dot(f35, f37); + float f42 = 1.0 - f41; + float f43 = f42 * f42; + float f44 = (f43 * f43) * f42; + vec3 f45 = vec3(f44) + (f34 * (1.0 - f44)); + float f46 = f39 * f39; + float f47 = (((f40 * f46) - f40) * f40) + 1.0; + float f48 = 1.0 - f33; + float f49 = f27 * f48; + vec3 f50 = vec3(f48); + float f51 = f32.x; + float f52 = f32.y; + vec3 f53 = ((f34 * f51) + vec3(f52)) / vec3(f51 + f52); + vec3 f54 = f50 - (f53 * f49); + vec3 f55 = f15 * f15; + bvec3 f56 = lessThan(f15, vec3(0.0)); + vec3 f57 = vec3(f56.x ? f55.x : vec3(0.0).x, f56.y ? f55.y : vec3(0.0).y, f56.z ? f55.z : vec3(0.0).z); + vec3 f58 = f55 - f57; + float f59 = f58.x; + float f60 = f58.y; + float f61 = f58.z; + float f62 = f57.x; + float f63 = f57.y; + float f64 = f57.z; + vec3 f65 = ((((((CB0[35].xyz * f59) + (CB0[37].xyz * f60)) + (CB0[39].xyz * f61)) + (CB0[36].xyz * f62)) + (CB0[38].xyz * f63)) + (CB0[40].xyz * f64)) + (((((((CB0[29].xyz * f59) + (CB0[31].xyz * f60)) + (CB0[33].xyz * f61)) + (CB0[30].xyz * f62)) + (CB0[32].xyz * f63)) + (CB0[34].xyz * f64)) * f23); + vec3 f66 = (mix(textureLod(PrefilteredEnvIndoorTexture, f31, f30).xyz, textureLod(PrefilteredEnvTexture, f31, f30).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f29.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f23)) * f53) * f27; + vec3 f67 = ((((((((f50 - (f45 * f49)) * CB0[10].xyz) * f38) + (CB0[12].xyz * (f48 * clamp(-f36, 0.0, 1.0)))) + ((f54 * f65) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f23))) * f26) + (((f45 * (((f46 + (f46 * f46)) / (((f47 * f47) * ((f41 * 3.0) + 0.5)) * ((f40 * 0.75) + 0.25))) * f38)) * CB0[10].xyz) + f66)) + ((f21.xyz * (f21.w * 120.0)).xyz * mix(f26, f66 * (1.0 / (max(max(f65.x, f65.y), f65.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f54) * (f27 * (1.0 - f23)))); + vec4 f68 = vec4(f67.x, f67.y, f67.z, vec4(0.0).w); + f68.w = VARYING2.w; + float f69 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f70 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f69) * 5.0).xyz; + bvec3 f71 = bvec3(CB0[13].w != 0.0); + vec3 f72 = sqrt(clamp(mix(vec3(f71.x ? CB0[14].xyz.x : f70.x, f71.y ? CB0[14].xyz.y : f70.y, f71.z ? CB0[14].xyz.z : f70.z), f68.xyz, vec3(f69)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f73 = vec4(f72.x, f72.y, f72.z, f68.w); + f73.w = VARYING2.w; + _entryPointOutput = f73; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHQFS_Level520.frag new file mode 100644 index 0000000000..75ae176274 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHQFS_Level520.frag @@ -0,0 +1,144 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = texture(DiffuseMapTexture, f4); + vec2 f6 = texture(NormalMapTexture, f4).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = texture(SpecularMapTexture, f4); + float f12 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f13 = VARYING6.xyz * f12; + vec3 f14 = VARYING5.xyz * f12; + vec3 f15 = normalize(((f13 * f10) + (cross(f14, f13) * f9.y)) + (f14 * f8)); + vec3 f16 = -CB0[11].xyz; + float f17 = dot(f15, f16); + vec3 f18 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f19 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f20 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f21 = VARYING3.yzx - (VARYING3.yzx * f20); + vec4 f22 = vec4(clamp(f20, 0.0, 1.0)); + vec4 f23 = mix(texture(LightMapTexture, f21), vec4(0.0), f22); + vec4 f24 = mix(texture(LightGridSkylightTexture, f21), vec4(1.0), f22); + float f25 = f24.x; + float f26 = f24.y; + vec3 f27 = f19 - CB0[41].xyz; + vec3 f28 = f19 - CB0[42].xyz; + vec3 f29 = f19 - CB0[43].xyz; + vec4 f30 = vec4(f19, 1.0) * mat4(CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f31 = textureLod(ShadowAtlasTexture, f30.xy, 0.0); + vec2 f32 = vec2(0.0); + f32.x = CB0[45].z; + vec2 f33 = f32; + f33.y = CB0[45].w; + float f34 = (2.0 * f30.z) - 1.0; + float f35 = exp(CB0[45].z * f34); + float f36 = -exp((-CB0[45].w) * f34); + vec2 f37 = (f33 * CB0[46].y) * vec2(f35, f36); + vec2 f38 = f37 * f37; + float f39 = f31.x; + float f40 = max(f31.y - (f39 * f39), f38.x); + float f41 = f35 - f39; + float f42 = f31.z; + float f43 = max(f31.w - (f42 * f42), f38.y); + float f44 = f36 - f42; + vec3 f45 = (f18 * f18).xyz; + float f46 = CB0[26].w * f3; + float f47 = max(f11.y, 0.04500000178813934326171875); + vec3 f48 = reflect(-f1, f15); + float f49 = f47 * 5.0; + vec3 f50 = vec4(f48, f49).xyz; + vec4 f51 = texture(PrecomputedBRDFTexture, vec2(f47, max(9.9999997473787516355514526367188e-05, dot(f15, f1)))); + float f52 = f11.x * f46; + vec3 f53 = mix(vec3(0.039999999105930328369140625), f45, vec3(f52)); + vec3 f54 = normalize(f16 + f1); + float f55 = clamp(f17 * ((f17 > 0.0) ? mix(f26, mix(min((f35 <= f39) ? 1.0 : clamp(((f40 / (f40 + (f41 * f41))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f36 <= f42) ? 1.0 : clamp(((f43 / (f43 + (f44 * f44))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f26, clamp((length(f19 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f56 = f47 * f47; + float f57 = max(0.001000000047497451305389404296875, dot(f15, f54)); + float f58 = dot(f16, f54); + float f59 = 1.0 - f58; + float f60 = f59 * f59; + float f61 = (f60 * f60) * f59; + vec3 f62 = vec3(f61) + (f53 * (1.0 - f61)); + float f63 = f56 * f56; + float f64 = (((f57 * f63) - f57) * f57) + 1.0; + float f65 = 1.0 - f52; + float f66 = f46 * f65; + vec3 f67 = vec3(f65); + float f68 = f51.x; + float f69 = f51.y; + vec3 f70 = ((f53 * f68) + vec3(f69)) / vec3(f68 + f69); + vec3 f71 = f67 - (f70 * f66); + vec3 f72 = f15 * f15; + bvec3 f73 = lessThan(f15, vec3(0.0)); + vec3 f74 = vec3(f73.x ? f72.x : vec3(0.0).x, f73.y ? f72.y : vec3(0.0).y, f73.z ? f72.z : vec3(0.0).z); + vec3 f75 = f72 - f74; + float f76 = f75.x; + float f77 = f75.y; + float f78 = f75.z; + float f79 = f74.x; + float f80 = f74.y; + float f81 = f74.z; + vec3 f82 = ((((((CB0[35].xyz * f76) + (CB0[37].xyz * f77)) + (CB0[39].xyz * f78)) + (CB0[36].xyz * f79)) + (CB0[38].xyz * f80)) + (CB0[40].xyz * f81)) + (((((((CB0[29].xyz * f76) + (CB0[31].xyz * f77)) + (CB0[33].xyz * f78)) + (CB0[30].xyz * f79)) + (CB0[32].xyz * f80)) + (CB0[34].xyz * f81)) * f25); + vec3 f83 = (mix(textureLod(PrefilteredEnvIndoorTexture, f50, f49).xyz, textureLod(PrefilteredEnvTexture, f50, f49).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f48.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f25)) * f70) * f46; + vec3 f84 = (((((((f67 - (f62 * f66)) * CB0[10].xyz) * f55) + ((f71 * f82) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f25))) * f45) + (((f62 * (((f63 + (f63 * f63)) / (((f64 * f64) * ((f58 * 3.0) + 0.5)) * ((f57 * 0.75) + 0.25))) * f55)) * CB0[10].xyz) + f83)) + ((f23.xyz * (f23.w * 120.0)).xyz * mix(f45, f83 * (1.0 / (max(max(f82.x, f82.y), f82.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f71) * (f46 * (1.0 - f25)))); + vec4 f85 = vec4(f84.x, f84.y, f84.z, vec4(0.0).w); + f85.w = VARYING2.w; + float f86 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f87 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f86) * 5.0).xyz; + bvec3 f88 = bvec3(CB0[13].w != 0.0); + vec3 f89 = sqrt(clamp(mix(vec3(f88.x ? CB0[14].xyz.x : f87.x, f88.y ? CB0[14].xyz.y : f87.y, f88.z ? CB0[14].xyz.z : f87.z), f85.xyz, vec3(f86)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f90 = vec4(f89.x, f89.y, f89.z, f85.w); + f90.w = VARYING2.w; + _entryPointOutput = f90; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideAllRepHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideAllRepHQFS_Level512.frag new file mode 100644 index 0000000000..da2f1d0785 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideAllRepHQFS_Level512.frag @@ -0,0 +1,123 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = mix(texture(DiffuseMapTexture, f4 * CB2[1].y), texture(DiffuseMapTexture, f4), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f6 = mix(texture(NormalMapTexture, f4 * CB2[1].z), texture(NormalMapTexture, f4), vec4(clamp((f3 * CB2[3].y) - (CB2[2].y * CB2[3].y), 0.0, 1.0))).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = mix(texture(SpecularMapTexture, f4 * CB2[1].w), texture(SpecularMapTexture, f4), vec4(clamp((f3 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f12 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f13 = VARYING6.xyz * f12; + vec3 f14 = VARYING5.xyz * f12; + vec3 f15 = normalize(((f13 * f10) + (cross(f14, f13) * f9.y)) + (f14 * f8)); + vec3 f16 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f17 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f18 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f19 = VARYING3.yzx - (VARYING3.yzx * f18); + vec4 f20 = vec4(clamp(f18, 0.0, 1.0)); + vec4 f21 = mix(texture(LightMapTexture, f19), vec4(0.0), f20); + vec4 f22 = mix(texture(LightGridSkylightTexture, f19), vec4(1.0), f20); + float f23 = f22.x; + vec4 f24 = texture(ShadowMapTexture, f17.xy); + float f25 = f17.z; + vec3 f26 = (f16 * f16).xyz; + float f27 = CB0[26].w * f3; + float f28 = max(f11.y, 0.04500000178813934326171875); + vec3 f29 = reflect(-f1, f15); + float f30 = f28 * 5.0; + vec3 f31 = vec4(f29, f30).xyz; + vec4 f32 = texture(PrecomputedBRDFTexture, vec2(f28, max(9.9999997473787516355514526367188e-05, dot(f15, f1)))); + float f33 = f11.x * f27; + vec3 f34 = mix(vec3(0.039999999105930328369140625), f26, vec3(f33)); + vec3 f35 = -CB0[11].xyz; + float f36 = dot(f15, f35) * ((1.0 - ((step(f24.x, f25) * clamp(CB0[24].z + (CB0[24].w * abs(f25 - 0.5)), 0.0, 1.0)) * f24.y)) * f22.y); + vec3 f37 = normalize(f35 + f1); + float f38 = clamp(f36, 0.0, 1.0); + float f39 = f28 * f28; + float f40 = max(0.001000000047497451305389404296875, dot(f15, f37)); + float f41 = dot(f35, f37); + float f42 = 1.0 - f41; + float f43 = f42 * f42; + float f44 = (f43 * f43) * f42; + vec3 f45 = vec3(f44) + (f34 * (1.0 - f44)); + float f46 = f39 * f39; + float f47 = (((f40 * f46) - f40) * f40) + 1.0; + float f48 = 1.0 - f33; + float f49 = f27 * f48; + vec3 f50 = vec3(f48); + float f51 = f32.x; + float f52 = f32.y; + vec3 f53 = ((f34 * f51) + vec3(f52)) / vec3(f51 + f52); + vec3 f54 = f50 - (f53 * f49); + vec3 f55 = f15 * f15; + bvec3 f56 = lessThan(f15, vec3(0.0)); + vec3 f57 = vec3(f56.x ? f55.x : vec3(0.0).x, f56.y ? f55.y : vec3(0.0).y, f56.z ? f55.z : vec3(0.0).z); + vec3 f58 = f55 - f57; + float f59 = f58.x; + float f60 = f58.y; + float f61 = f58.z; + float f62 = f57.x; + float f63 = f57.y; + float f64 = f57.z; + vec3 f65 = ((((((CB0[35].xyz * f59) + (CB0[37].xyz * f60)) + (CB0[39].xyz * f61)) + (CB0[36].xyz * f62)) + (CB0[38].xyz * f63)) + (CB0[40].xyz * f64)) + (((((((CB0[29].xyz * f59) + (CB0[31].xyz * f60)) + (CB0[33].xyz * f61)) + (CB0[30].xyz * f62)) + (CB0[32].xyz * f63)) + (CB0[34].xyz * f64)) * f23); + vec3 f66 = (mix(textureLod(PrefilteredEnvIndoorTexture, f31, f30).xyz, textureLod(PrefilteredEnvTexture, f31, f30).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f29.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f23)) * f53) * f27; + vec3 f67 = ((((((((f50 - (f45 * f49)) * CB0[10].xyz) * f38) + (CB0[12].xyz * (f48 * clamp(-f36, 0.0, 1.0)))) + ((f54 * f65) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f23))) * f26) + (((f45 * (((f46 + (f46 * f46)) / (((f47 * f47) * ((f41 * 3.0) + 0.5)) * ((f40 * 0.75) + 0.25))) * f38)) * CB0[10].xyz) + f66)) + ((f21.xyz * (f21.w * 120.0)).xyz * mix(f26, f66 * (1.0 / (max(max(f65.x, f65.y), f65.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f54) * (f27 * (1.0 - f23)))); + vec4 f68 = vec4(f67.x, f67.y, f67.z, vec4(0.0).w); + f68.w = VARYING2.w; + float f69 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f70 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f69) * 5.0).xyz; + bvec3 f71 = bvec3(CB0[13].w != 0.0); + vec3 f72 = sqrt(clamp(mix(vec3(f71.x ? CB0[14].xyz.x : f70.x, f71.y ? CB0[14].xyz.y : f70.y, f71.z ? CB0[14].xyz.z : f70.z), f68.xyz, vec3(f69)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f73 = vec4(f72.x, f72.y, f72.z, f68.w); + f73.w = VARYING2.w; + _entryPointOutput = f73; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideAllRepHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideAllRepHQFS_Level520.frag new file mode 100644 index 0000000000..98cf1869a3 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideAllRepHQFS_Level520.frag @@ -0,0 +1,144 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = mix(texture(DiffuseMapTexture, f4 * CB2[1].y), texture(DiffuseMapTexture, f4), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f6 = mix(texture(NormalMapTexture, f4 * CB2[1].z), texture(NormalMapTexture, f4), vec4(clamp((f3 * CB2[3].y) - (CB2[2].y * CB2[3].y), 0.0, 1.0))).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = mix(texture(SpecularMapTexture, f4 * CB2[1].w), texture(SpecularMapTexture, f4), vec4(clamp((f3 * CB2[3].z) - (CB2[2].z * CB2[3].z), 0.0, 1.0))); + float f12 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f13 = VARYING6.xyz * f12; + vec3 f14 = VARYING5.xyz * f12; + vec3 f15 = normalize(((f13 * f10) + (cross(f14, f13) * f9.y)) + (f14 * f8)); + vec3 f16 = -CB0[11].xyz; + float f17 = dot(f15, f16); + vec3 f18 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f19 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f20 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f21 = VARYING3.yzx - (VARYING3.yzx * f20); + vec4 f22 = vec4(clamp(f20, 0.0, 1.0)); + vec4 f23 = mix(texture(LightMapTexture, f21), vec4(0.0), f22); + vec4 f24 = mix(texture(LightGridSkylightTexture, f21), vec4(1.0), f22); + float f25 = f24.x; + float f26 = f24.y; + vec3 f27 = f19 - CB0[41].xyz; + vec3 f28 = f19 - CB0[42].xyz; + vec3 f29 = f19 - CB0[43].xyz; + vec4 f30 = vec4(f19, 1.0) * mat4(CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f31 = textureLod(ShadowAtlasTexture, f30.xy, 0.0); + vec2 f32 = vec2(0.0); + f32.x = CB0[45].z; + vec2 f33 = f32; + f33.y = CB0[45].w; + float f34 = (2.0 * f30.z) - 1.0; + float f35 = exp(CB0[45].z * f34); + float f36 = -exp((-CB0[45].w) * f34); + vec2 f37 = (f33 * CB0[46].y) * vec2(f35, f36); + vec2 f38 = f37 * f37; + float f39 = f31.x; + float f40 = max(f31.y - (f39 * f39), f38.x); + float f41 = f35 - f39; + float f42 = f31.z; + float f43 = max(f31.w - (f42 * f42), f38.y); + float f44 = f36 - f42; + vec3 f45 = (f18 * f18).xyz; + float f46 = CB0[26].w * f3; + float f47 = max(f11.y, 0.04500000178813934326171875); + vec3 f48 = reflect(-f1, f15); + float f49 = f47 * 5.0; + vec3 f50 = vec4(f48, f49).xyz; + vec4 f51 = texture(PrecomputedBRDFTexture, vec2(f47, max(9.9999997473787516355514526367188e-05, dot(f15, f1)))); + float f52 = f11.x * f46; + vec3 f53 = mix(vec3(0.039999999105930328369140625), f45, vec3(f52)); + vec3 f54 = normalize(f16 + f1); + float f55 = clamp(f17 * ((f17 > 0.0) ? mix(f26, mix(min((f35 <= f39) ? 1.0 : clamp(((f40 / (f40 + (f41 * f41))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f36 <= f42) ? 1.0 : clamp(((f43 / (f43 + (f44 * f44))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f26, clamp((length(f19 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f56 = f47 * f47; + float f57 = max(0.001000000047497451305389404296875, dot(f15, f54)); + float f58 = dot(f16, f54); + float f59 = 1.0 - f58; + float f60 = f59 * f59; + float f61 = (f60 * f60) * f59; + vec3 f62 = vec3(f61) + (f53 * (1.0 - f61)); + float f63 = f56 * f56; + float f64 = (((f57 * f63) - f57) * f57) + 1.0; + float f65 = 1.0 - f52; + float f66 = f46 * f65; + vec3 f67 = vec3(f65); + float f68 = f51.x; + float f69 = f51.y; + vec3 f70 = ((f53 * f68) + vec3(f69)) / vec3(f68 + f69); + vec3 f71 = f67 - (f70 * f66); + vec3 f72 = f15 * f15; + bvec3 f73 = lessThan(f15, vec3(0.0)); + vec3 f74 = vec3(f73.x ? f72.x : vec3(0.0).x, f73.y ? f72.y : vec3(0.0).y, f73.z ? f72.z : vec3(0.0).z); + vec3 f75 = f72 - f74; + float f76 = f75.x; + float f77 = f75.y; + float f78 = f75.z; + float f79 = f74.x; + float f80 = f74.y; + float f81 = f74.z; + vec3 f82 = ((((((CB0[35].xyz * f76) + (CB0[37].xyz * f77)) + (CB0[39].xyz * f78)) + (CB0[36].xyz * f79)) + (CB0[38].xyz * f80)) + (CB0[40].xyz * f81)) + (((((((CB0[29].xyz * f76) + (CB0[31].xyz * f77)) + (CB0[33].xyz * f78)) + (CB0[30].xyz * f79)) + (CB0[32].xyz * f80)) + (CB0[34].xyz * f81)) * f25); + vec3 f83 = (mix(textureLod(PrefilteredEnvIndoorTexture, f50, f49).xyz, textureLod(PrefilteredEnvTexture, f50, f49).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f48.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f25)) * f70) * f46; + vec3 f84 = (((((((f67 - (f62 * f66)) * CB0[10].xyz) * f55) + ((f71 * f82) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f25))) * f45) + (((f62 * (((f63 + (f63 * f63)) / (((f64 * f64) * ((f58 * 3.0) + 0.5)) * ((f57 * 0.75) + 0.25))) * f55)) * CB0[10].xyz) + f83)) + ((f23.xyz * (f23.w * 120.0)).xyz * mix(f45, f83 * (1.0 / (max(max(f82.x, f82.y), f82.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f71) * (f46 * (1.0 - f25)))); + vec4 f85 = vec4(f84.x, f84.y, f84.z, vec4(0.0).w); + f85.w = VARYING2.w; + float f86 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f87 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f86) * 5.0).xyz; + bvec3 f88 = bvec3(CB0[13].w != 0.0); + vec3 f89 = sqrt(clamp(mix(vec3(f88.x ? CB0[14].xyz.x : f87.x, f88.y ? CB0[14].xyz.y : f87.y, f88.z ? CB0[14].xyz.z : f87.z), f85.xyz, vec3(f86)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f90 = vec4(f89.x, f89.y, f89.z, f85.w); + f90.w = VARYING2.w; + _entryPointOutput = f90; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideDiffuseRepHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideDiffuseRepHQFS_Level512.frag new file mode 100644 index 0000000000..831a38dcc3 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideDiffuseRepHQFS_Level512.frag @@ -0,0 +1,123 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = mix(texture(DiffuseMapTexture, f4 * CB2[1].y), texture(DiffuseMapTexture, f4), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f6 = texture(NormalMapTexture, f4).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = texture(SpecularMapTexture, f4); + float f12 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f13 = VARYING6.xyz * f12; + vec3 f14 = VARYING5.xyz * f12; + vec3 f15 = normalize(((f13 * f10) + (cross(f14, f13) * f9.y)) + (f14 * f8)); + vec3 f16 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f17 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f18 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f19 = VARYING3.yzx - (VARYING3.yzx * f18); + vec4 f20 = vec4(clamp(f18, 0.0, 1.0)); + vec4 f21 = mix(texture(LightMapTexture, f19), vec4(0.0), f20); + vec4 f22 = mix(texture(LightGridSkylightTexture, f19), vec4(1.0), f20); + float f23 = f22.x; + vec4 f24 = texture(ShadowMapTexture, f17.xy); + float f25 = f17.z; + vec3 f26 = (f16 * f16).xyz; + float f27 = CB0[26].w * f3; + float f28 = max(f11.y, 0.04500000178813934326171875); + vec3 f29 = reflect(-f1, f15); + float f30 = f28 * 5.0; + vec3 f31 = vec4(f29, f30).xyz; + vec4 f32 = texture(PrecomputedBRDFTexture, vec2(f28, max(9.9999997473787516355514526367188e-05, dot(f15, f1)))); + float f33 = f11.x * f27; + vec3 f34 = mix(vec3(0.039999999105930328369140625), f26, vec3(f33)); + vec3 f35 = -CB0[11].xyz; + float f36 = dot(f15, f35) * ((1.0 - ((step(f24.x, f25) * clamp(CB0[24].z + (CB0[24].w * abs(f25 - 0.5)), 0.0, 1.0)) * f24.y)) * f22.y); + vec3 f37 = normalize(f35 + f1); + float f38 = clamp(f36, 0.0, 1.0); + float f39 = f28 * f28; + float f40 = max(0.001000000047497451305389404296875, dot(f15, f37)); + float f41 = dot(f35, f37); + float f42 = 1.0 - f41; + float f43 = f42 * f42; + float f44 = (f43 * f43) * f42; + vec3 f45 = vec3(f44) + (f34 * (1.0 - f44)); + float f46 = f39 * f39; + float f47 = (((f40 * f46) - f40) * f40) + 1.0; + float f48 = 1.0 - f33; + float f49 = f27 * f48; + vec3 f50 = vec3(f48); + float f51 = f32.x; + float f52 = f32.y; + vec3 f53 = ((f34 * f51) + vec3(f52)) / vec3(f51 + f52); + vec3 f54 = f50 - (f53 * f49); + vec3 f55 = f15 * f15; + bvec3 f56 = lessThan(f15, vec3(0.0)); + vec3 f57 = vec3(f56.x ? f55.x : vec3(0.0).x, f56.y ? f55.y : vec3(0.0).y, f56.z ? f55.z : vec3(0.0).z); + vec3 f58 = f55 - f57; + float f59 = f58.x; + float f60 = f58.y; + float f61 = f58.z; + float f62 = f57.x; + float f63 = f57.y; + float f64 = f57.z; + vec3 f65 = ((((((CB0[35].xyz * f59) + (CB0[37].xyz * f60)) + (CB0[39].xyz * f61)) + (CB0[36].xyz * f62)) + (CB0[38].xyz * f63)) + (CB0[40].xyz * f64)) + (((((((CB0[29].xyz * f59) + (CB0[31].xyz * f60)) + (CB0[33].xyz * f61)) + (CB0[30].xyz * f62)) + (CB0[32].xyz * f63)) + (CB0[34].xyz * f64)) * f23); + vec3 f66 = (mix(textureLod(PrefilteredEnvIndoorTexture, f31, f30).xyz, textureLod(PrefilteredEnvTexture, f31, f30).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f29.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f23)) * f53) * f27; + vec3 f67 = ((((((((f50 - (f45 * f49)) * CB0[10].xyz) * f38) + (CB0[12].xyz * (f48 * clamp(-f36, 0.0, 1.0)))) + ((f54 * f65) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f23))) * f26) + (((f45 * (((f46 + (f46 * f46)) / (((f47 * f47) * ((f41 * 3.0) + 0.5)) * ((f40 * 0.75) + 0.25))) * f38)) * CB0[10].xyz) + f66)) + ((f21.xyz * (f21.w * 120.0)).xyz * mix(f26, f66 * (1.0 / (max(max(f65.x, f65.y), f65.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f54) * (f27 * (1.0 - f23)))); + vec4 f68 = vec4(f67.x, f67.y, f67.z, vec4(0.0).w); + f68.w = VARYING2.w; + float f69 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f70 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f69) * 5.0).xyz; + bvec3 f71 = bvec3(CB0[13].w != 0.0); + vec3 f72 = sqrt(clamp(mix(vec3(f71.x ? CB0[14].xyz.x : f70.x, f71.y ? CB0[14].xyz.y : f70.y, f71.z ? CB0[14].xyz.z : f70.z), f68.xyz, vec3(f69)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f73 = vec4(f72.x, f72.y, f72.z, f68.w); + f73.w = VARYING2.w; + _entryPointOutput = f73; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideDiffuseRepHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideDiffuseRepHQFS_Level520.frag new file mode 100644 index 0000000000..38350357c7 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTiledHideDiffuseRepHQFS_Level520.frag @@ -0,0 +1,144 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec4 f5 = mix(texture(DiffuseMapTexture, f4 * CB2[1].y), texture(DiffuseMapTexture, f4), vec4(clamp((clamp(1.0 - (VARYING4.w * 0.0033333334140479564666748046875), 0.0, 1.0) * CB2[3].x) - (CB2[2].x * CB2[3].x), 0.0, 1.0))); + vec2 f6 = texture(NormalMapTexture, f4).wy * 2.0; + vec2 f7 = f6 - vec2(1.0); + float f8 = sqrt(clamp(1.0 + dot(vec2(1.0) - f6, f7), 0.0, 1.0)); + vec2 f9 = (vec3(f7, f8).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f10 = f9.x; + vec4 f11 = texture(SpecularMapTexture, f4); + float f12 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f13 = VARYING6.xyz * f12; + vec3 f14 = VARYING5.xyz * f12; + vec3 f15 = normalize(((f13 * f10) + (cross(f14, f13) * f9.y)) + (f14 * f8)); + vec3 f16 = -CB0[11].xyz; + float f17 = dot(f15, f16); + vec3 f18 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f5.w + CB2[2].w, 0.0, 1.0))) * f5.xyz) * (1.0 + (f10 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f19 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f20 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f21 = VARYING3.yzx - (VARYING3.yzx * f20); + vec4 f22 = vec4(clamp(f20, 0.0, 1.0)); + vec4 f23 = mix(texture(LightMapTexture, f21), vec4(0.0), f22); + vec4 f24 = mix(texture(LightGridSkylightTexture, f21), vec4(1.0), f22); + float f25 = f24.x; + float f26 = f24.y; + vec3 f27 = f19 - CB0[41].xyz; + vec3 f28 = f19 - CB0[42].xyz; + vec3 f29 = f19 - CB0[43].xyz; + vec4 f30 = vec4(f19, 1.0) * mat4(CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f27, f27) < CB0[41].w) ? 0 : ((dot(f28, f28) < CB0[42].w) ? 1 : ((dot(f29, f29) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f31 = textureLod(ShadowAtlasTexture, f30.xy, 0.0); + vec2 f32 = vec2(0.0); + f32.x = CB0[45].z; + vec2 f33 = f32; + f33.y = CB0[45].w; + float f34 = (2.0 * f30.z) - 1.0; + float f35 = exp(CB0[45].z * f34); + float f36 = -exp((-CB0[45].w) * f34); + vec2 f37 = (f33 * CB0[46].y) * vec2(f35, f36); + vec2 f38 = f37 * f37; + float f39 = f31.x; + float f40 = max(f31.y - (f39 * f39), f38.x); + float f41 = f35 - f39; + float f42 = f31.z; + float f43 = max(f31.w - (f42 * f42), f38.y); + float f44 = f36 - f42; + vec3 f45 = (f18 * f18).xyz; + float f46 = CB0[26].w * f3; + float f47 = max(f11.y, 0.04500000178813934326171875); + vec3 f48 = reflect(-f1, f15); + float f49 = f47 * 5.0; + vec3 f50 = vec4(f48, f49).xyz; + vec4 f51 = texture(PrecomputedBRDFTexture, vec2(f47, max(9.9999997473787516355514526367188e-05, dot(f15, f1)))); + float f52 = f11.x * f46; + vec3 f53 = mix(vec3(0.039999999105930328369140625), f45, vec3(f52)); + vec3 f54 = normalize(f16 + f1); + float f55 = clamp(f17 * ((f17 > 0.0) ? mix(f26, mix(min((f35 <= f39) ? 1.0 : clamp(((f40 / (f40 + (f41 * f41))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f36 <= f42) ? 1.0 : clamp(((f43 / (f43 + (f44 * f44))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f26, clamp((length(f19 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f56 = f47 * f47; + float f57 = max(0.001000000047497451305389404296875, dot(f15, f54)); + float f58 = dot(f16, f54); + float f59 = 1.0 - f58; + float f60 = f59 * f59; + float f61 = (f60 * f60) * f59; + vec3 f62 = vec3(f61) + (f53 * (1.0 - f61)); + float f63 = f56 * f56; + float f64 = (((f57 * f63) - f57) * f57) + 1.0; + float f65 = 1.0 - f52; + float f66 = f46 * f65; + vec3 f67 = vec3(f65); + float f68 = f51.x; + float f69 = f51.y; + vec3 f70 = ((f53 * f68) + vec3(f69)) / vec3(f68 + f69); + vec3 f71 = f67 - (f70 * f66); + vec3 f72 = f15 * f15; + bvec3 f73 = lessThan(f15, vec3(0.0)); + vec3 f74 = vec3(f73.x ? f72.x : vec3(0.0).x, f73.y ? f72.y : vec3(0.0).y, f73.z ? f72.z : vec3(0.0).z); + vec3 f75 = f72 - f74; + float f76 = f75.x; + float f77 = f75.y; + float f78 = f75.z; + float f79 = f74.x; + float f80 = f74.y; + float f81 = f74.z; + vec3 f82 = ((((((CB0[35].xyz * f76) + (CB0[37].xyz * f77)) + (CB0[39].xyz * f78)) + (CB0[36].xyz * f79)) + (CB0[38].xyz * f80)) + (CB0[40].xyz * f81)) + (((((((CB0[29].xyz * f76) + (CB0[31].xyz * f77)) + (CB0[33].xyz * f78)) + (CB0[30].xyz * f79)) + (CB0[32].xyz * f80)) + (CB0[34].xyz * f81)) * f25); + vec3 f83 = (mix(textureLod(PrefilteredEnvIndoorTexture, f50, f49).xyz, textureLod(PrefilteredEnvTexture, f50, f49).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f48.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f25)) * f70) * f46; + vec3 f84 = (((((((f67 - (f62 * f66)) * CB0[10].xyz) * f55) + ((f71 * f82) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f25))) * f45) + (((f62 * (((f63 + (f63 * f63)) / (((f64 * f64) * ((f58 * 3.0) + 0.5)) * ((f57 * 0.75) + 0.25))) * f55)) * CB0[10].xyz) + f83)) + ((f23.xyz * (f23.w * 120.0)).xyz * mix(f45, f83 * (1.0 / (max(max(f82.x, f82.y), f82.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f71) * (f46 * (1.0 - f25)))); + vec4 f85 = vec4(f84.x, f84.y, f84.z, vec4(0.0).w); + f85.w = VARYING2.w; + float f86 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f87 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f86) * 5.0).xyz; + bvec3 f88 = bvec3(CB0[13].w != 0.0); + vec3 f89 = sqrt(clamp(mix(vec3(f88.x ? CB0[14].xyz.x : f87.x, f88.y ? CB0[14].xyz.y : f87.y, f88.z ? CB0[14].xyz.z : f87.z), f85.xyz, vec3(f86)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f90 = vec4(f89.x, f89.y, f89.z, f85.w); + f90.w = VARYING2.w; + _entryPointOutput = f90; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultTransparentHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTransparentHQFS_Level512.frag new file mode 100644 index 0000000000..c8dfc81c35 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTransparentHQFS_Level512.frag @@ -0,0 +1,98 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +uniform vec4 CB0[52]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec4 f2 = texture(DiffuseMapTexture, VARYING0) * VARYING2; + vec3 f3 = normalize(VARYING5.xyz) * (gl_FrontFacing ? 1.0 : (-1.0)); + vec3 f4 = f2.xyz; + vec3 f5 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f6 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f7 = VARYING3.yzx - (VARYING3.yzx * f6); + vec4 f8 = vec4(clamp(f6, 0.0, 1.0)); + vec4 f9 = mix(texture(LightMapTexture, f7), vec4(0.0), f8); + vec4 f10 = mix(texture(LightGridSkylightTexture, f7), vec4(1.0), f8); + float f11 = f10.x; + vec4 f12 = texture(ShadowMapTexture, f5.xy); + float f13 = f5.z; + vec3 f14 = (f4 * f4).xyz; + float f15 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + float f16 = max(VARYING5.w, 0.04500000178813934326171875); + vec3 f17 = reflect(-f1, f3); + float f18 = f16 * 5.0; + vec3 f19 = vec4(f17, f18).xyz; + vec4 f20 = texture(PrecomputedBRDFTexture, vec2(f16, max(9.9999997473787516355514526367188e-05, dot(f3, f1)))); + float f21 = VARYING6.w * f15; + vec3 f22 = mix(vec3(0.039999999105930328369140625), f14, vec3(f21)); + vec3 f23 = -CB0[11].xyz; + float f24 = dot(f3, f23) * ((1.0 - ((step(f12.x, f13) * clamp(CB0[24].z + (CB0[24].w * abs(f13 - 0.5)), 0.0, 1.0)) * f12.y)) * f10.y); + vec3 f25 = normalize(f23 + f1); + float f26 = clamp(f24, 0.0, 1.0); + float f27 = f16 * f16; + float f28 = max(0.001000000047497451305389404296875, dot(f3, f25)); + float f29 = dot(f23, f25); + float f30 = 1.0 - f29; + float f31 = f30 * f30; + float f32 = (f31 * f31) * f30; + vec3 f33 = vec3(f32) + (f22 * (1.0 - f32)); + float f34 = f27 * f27; + float f35 = (((f28 * f34) - f28) * f28) + 1.0; + float f36 = 1.0 - f21; + float f37 = f15 * f36; + vec3 f38 = vec3(f36); + float f39 = f20.x; + float f40 = f20.y; + vec3 f41 = ((f22 * f39) + vec3(f40)) / vec3(f39 + f40); + vec3 f42 = f38 - (f41 * f37); + vec3 f43 = f3 * f3; + bvec3 f44 = lessThan(f3, vec3(0.0)); + vec3 f45 = vec3(f44.x ? f43.x : vec3(0.0).x, f44.y ? f43.y : vec3(0.0).y, f44.z ? f43.z : vec3(0.0).z); + vec3 f46 = f43 - f45; + float f47 = f46.x; + float f48 = f46.y; + float f49 = f46.z; + float f50 = f45.x; + float f51 = f45.y; + float f52 = f45.z; + vec3 f53 = ((((((CB0[35].xyz * f47) + (CB0[37].xyz * f48)) + (CB0[39].xyz * f49)) + (CB0[36].xyz * f50)) + (CB0[38].xyz * f51)) + (CB0[40].xyz * f52)) + (((((((CB0[29].xyz * f47) + (CB0[31].xyz * f48)) + (CB0[33].xyz * f49)) + (CB0[30].xyz * f50)) + (CB0[32].xyz * f51)) + (CB0[34].xyz * f52)) * f11); + vec3 f54 = (mix(textureLod(PrefilteredEnvIndoorTexture, f19, f18).xyz, textureLod(PrefilteredEnvTexture, f19, f18).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f17.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f11)) * f41) * f15; + vec3 f55 = ((((((((f38 - (f33 * f37)) * CB0[10].xyz) * f26) + (CB0[12].xyz * (f36 * clamp(-f24, 0.0, 1.0)))) + ((f42 * f53) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f11))) * f14) + (((f33 * (((f34 + (f34 * f34)) / (((f35 * f35) * ((f29 * 3.0) + 0.5)) * ((f28 * 0.75) + 0.25))) * f26)) * CB0[10].xyz) + f54)) + ((f9.xyz * (f9.w * 120.0)).xyz * mix(f14, f54 * (1.0 / (max(max(f53.x, f53.y), f53.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f42) * (f15 * (1.0 - f11)))); + float f56 = f2.w; + vec4 f57 = vec4(f55.x, f55.y, f55.z, vec4(0.0).w); + f57.w = f56; + float f58 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f59 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f58) * 5.0).xyz; + bvec3 f60 = bvec3(CB0[13].w != 0.0); + vec3 f61 = sqrt(clamp(mix(vec3(f60.x ? CB0[14].xyz.x : f59.x, f60.y ? CB0[14].xyz.y : f59.y, f60.z ? CB0[14].xyz.z : f59.z), f57.xyz, vec3(f58)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f62 = vec4(f61.x, f61.y, f61.z, f57.w); + f62.w = f56; + _entryPointOutput = f62; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultTransparentHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTransparentHQFS_Level520.frag new file mode 100644 index 0000000000..fd133dfdf8 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultTransparentHQFS_Level520.frag @@ -0,0 +1,119 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D DiffuseMapTexture; + +in vec2 VARYING0; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec4 f2 = texture(DiffuseMapTexture, VARYING0) * VARYING2; + vec3 f3 = normalize(VARYING5.xyz) * (gl_FrontFacing ? 1.0 : (-1.0)); + vec3 f4 = -CB0[11].xyz; + float f5 = dot(f3, f4); + vec3 f6 = f2.xyz; + vec3 f7 = VARYING6.xyz - (CB0[11].xyz * VARYING3.w); + float f8 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f9 = VARYING3.yzx - (VARYING3.yzx * f8); + vec4 f10 = vec4(clamp(f8, 0.0, 1.0)); + vec4 f11 = mix(texture(LightMapTexture, f9), vec4(0.0), f10); + vec4 f12 = mix(texture(LightGridSkylightTexture, f9), vec4(1.0), f10); + float f13 = f12.x; + float f14 = f12.y; + vec3 f15 = f7 - CB0[41].xyz; + vec3 f16 = f7 - CB0[42].xyz; + vec3 f17 = f7 - CB0[43].xyz; + vec4 f18 = vec4(f7, 1.0) * mat4(CB8[((dot(f15, f15) < CB0[41].w) ? 0 : ((dot(f16, f16) < CB0[42].w) ? 1 : ((dot(f17, f17) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f15, f15) < CB0[41].w) ? 0 : ((dot(f16, f16) < CB0[42].w) ? 1 : ((dot(f17, f17) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f15, f15) < CB0[41].w) ? 0 : ((dot(f16, f16) < CB0[42].w) ? 1 : ((dot(f17, f17) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f15, f15) < CB0[41].w) ? 0 : ((dot(f16, f16) < CB0[42].w) ? 1 : ((dot(f17, f17) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f19 = textureLod(ShadowAtlasTexture, f18.xy, 0.0); + vec2 f20 = vec2(0.0); + f20.x = CB0[45].z; + vec2 f21 = f20; + f21.y = CB0[45].w; + float f22 = (2.0 * f18.z) - 1.0; + float f23 = exp(CB0[45].z * f22); + float f24 = -exp((-CB0[45].w) * f22); + vec2 f25 = (f21 * CB0[46].y) * vec2(f23, f24); + vec2 f26 = f25 * f25; + float f27 = f19.x; + float f28 = max(f19.y - (f27 * f27), f26.x); + float f29 = f23 - f27; + float f30 = f19.z; + float f31 = max(f19.w - (f30 * f30), f26.y); + float f32 = f24 - f30; + vec3 f33 = (f6 * f6).xyz; + float f34 = CB0[26].w * clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + float f35 = max(VARYING5.w, 0.04500000178813934326171875); + vec3 f36 = reflect(-f1, f3); + float f37 = f35 * 5.0; + vec3 f38 = vec4(f36, f37).xyz; + vec4 f39 = texture(PrecomputedBRDFTexture, vec2(f35, max(9.9999997473787516355514526367188e-05, dot(f3, f1)))); + float f40 = VARYING6.w * f34; + vec3 f41 = mix(vec3(0.039999999105930328369140625), f33, vec3(f40)); + vec3 f42 = normalize(f4 + f1); + float f43 = clamp(f5 * ((f5 > 0.0) ? mix(f14, mix(min((f23 <= f27) ? 1.0 : clamp(((f28 / (f28 + (f29 * f29))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f24 <= f30) ? 1.0 : clamp(((f31 / (f31 + (f32 * f32))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f14, clamp((length(f7 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f44 = f35 * f35; + float f45 = max(0.001000000047497451305389404296875, dot(f3, f42)); + float f46 = dot(f4, f42); + float f47 = 1.0 - f46; + float f48 = f47 * f47; + float f49 = (f48 * f48) * f47; + vec3 f50 = vec3(f49) + (f41 * (1.0 - f49)); + float f51 = f44 * f44; + float f52 = (((f45 * f51) - f45) * f45) + 1.0; + float f53 = 1.0 - f40; + float f54 = f34 * f53; + vec3 f55 = vec3(f53); + float f56 = f39.x; + float f57 = f39.y; + vec3 f58 = ((f41 * f56) + vec3(f57)) / vec3(f56 + f57); + vec3 f59 = f55 - (f58 * f54); + vec3 f60 = f3 * f3; + bvec3 f61 = lessThan(f3, vec3(0.0)); + vec3 f62 = vec3(f61.x ? f60.x : vec3(0.0).x, f61.y ? f60.y : vec3(0.0).y, f61.z ? f60.z : vec3(0.0).z); + vec3 f63 = f60 - f62; + float f64 = f63.x; + float f65 = f63.y; + float f66 = f63.z; + float f67 = f62.x; + float f68 = f62.y; + float f69 = f62.z; + vec3 f70 = ((((((CB0[35].xyz * f64) + (CB0[37].xyz * f65)) + (CB0[39].xyz * f66)) + (CB0[36].xyz * f67)) + (CB0[38].xyz * f68)) + (CB0[40].xyz * f69)) + (((((((CB0[29].xyz * f64) + (CB0[31].xyz * f65)) + (CB0[33].xyz * f66)) + (CB0[30].xyz * f67)) + (CB0[32].xyz * f68)) + (CB0[34].xyz * f69)) * f13); + vec3 f71 = (mix(textureLod(PrefilteredEnvIndoorTexture, f38, f37).xyz, textureLod(PrefilteredEnvTexture, f38, f37).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f36.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f13)) * f58) * f34; + vec3 f72 = (((((((f55 - (f50 * f54)) * CB0[10].xyz) * f43) + ((f59 * f70) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f13))) * f33) + (((f50 * (((f51 + (f51 * f51)) / (((f52 * f52) * ((f46 * 3.0) + 0.5)) * ((f45 * 0.75) + 0.25))) * f43)) * CB0[10].xyz) + f71)) + ((f11.xyz * (f11.w * 120.0)).xyz * mix(f33, f71 * (1.0 / (max(max(f70.x, f70.y), f70.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f59) * (f34 * (1.0 - f13)))); + float f73 = f2.w; + vec4 f74 = vec4(f72.x, f72.y, f72.z, vec4(0.0).w); + f74.w = f73; + float f75 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f76 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f75) * 5.0).xyz; + bvec3 f77 = bvec3(CB0[13].w != 0.0); + vec3 f78 = sqrt(clamp(mix(vec3(f77.x ? CB0[14].xyz.x : f76.x, f77.y ? CB0[14].xyz.y : f76.y, f77.z ? CB0[14].xyz.z : f76.z), f74.xyz, vec3(f75)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f79 = vec4(f78.x, f78.y, f78.z, f74.w); + f79.w = f73; + _entryPointOutput = f79; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultWangHQFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultWangHQFS_Level512.frag new file mode 100644 index 0000000000..b217293f1b --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultWangHQFS_Level512.frag @@ -0,0 +1,131 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D WangTileMapTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec2 f5 = f4 * 4.0; + vec2 f6 = f5 * 0.25; + vec4 f7 = vec4(dFdx(f6), dFdy(f6)); + vec2 f8 = (texture(WangTileMapTexture, f5 * vec2(0.0078125)).xy * 0.99609375) + (fract(f5) * 0.25); + vec2 f9 = f7.xy; + vec2 f10 = f7.zw; + vec4 f11 = textureGrad(DiffuseMapTexture, f8, f9, f10); + vec2 f12 = textureGrad(NormalMapTexture, f8, f9, f10).wy * 2.0; + vec2 f13 = f12 - vec2(1.0); + float f14 = sqrt(clamp(1.0 + dot(vec2(1.0) - f12, f13), 0.0, 1.0)); + vec2 f15 = (vec3(f13, f14).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f16 = f15.x; + vec4 f17 = textureGrad(SpecularMapTexture, f8, f9, f10); + float f18 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f19 = VARYING6.xyz * f18; + vec3 f20 = VARYING5.xyz * f18; + vec3 f21 = normalize(((f19 * f16) + (cross(f20, f19) * f15.y)) + (f20 * f14)); + vec3 f22 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f11.w + CB2[2].w, 0.0, 1.0))) * f11.xyz) * (1.0 + (f16 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f23 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f24 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f25 = VARYING3.yzx - (VARYING3.yzx * f24); + vec4 f26 = vec4(clamp(f24, 0.0, 1.0)); + vec4 f27 = mix(texture(LightMapTexture, f25), vec4(0.0), f26); + vec4 f28 = mix(texture(LightGridSkylightTexture, f25), vec4(1.0), f26); + float f29 = f28.x; + vec4 f30 = texture(ShadowMapTexture, f23.xy); + float f31 = f23.z; + vec3 f32 = (f22 * f22).xyz; + float f33 = CB0[26].w * f3; + float f34 = max(f17.y, 0.04500000178813934326171875); + vec3 f35 = reflect(-f1, f21); + float f36 = f34 * 5.0; + vec3 f37 = vec4(f35, f36).xyz; + vec4 f38 = texture(PrecomputedBRDFTexture, vec2(f34, max(9.9999997473787516355514526367188e-05, dot(f21, f1)))); + float f39 = f17.x * f33; + vec3 f40 = mix(vec3(0.039999999105930328369140625), f32, vec3(f39)); + vec3 f41 = -CB0[11].xyz; + float f42 = dot(f21, f41) * ((1.0 - ((step(f30.x, f31) * clamp(CB0[24].z + (CB0[24].w * abs(f31 - 0.5)), 0.0, 1.0)) * f30.y)) * f28.y); + vec3 f43 = normalize(f41 + f1); + float f44 = clamp(f42, 0.0, 1.0); + float f45 = f34 * f34; + float f46 = max(0.001000000047497451305389404296875, dot(f21, f43)); + float f47 = dot(f41, f43); + float f48 = 1.0 - f47; + float f49 = f48 * f48; + float f50 = (f49 * f49) * f48; + vec3 f51 = vec3(f50) + (f40 * (1.0 - f50)); + float f52 = f45 * f45; + float f53 = (((f46 * f52) - f46) * f46) + 1.0; + float f54 = 1.0 - f39; + float f55 = f33 * f54; + vec3 f56 = vec3(f54); + float f57 = f38.x; + float f58 = f38.y; + vec3 f59 = ((f40 * f57) + vec3(f58)) / vec3(f57 + f58); + vec3 f60 = f56 - (f59 * f55); + vec3 f61 = f21 * f21; + bvec3 f62 = lessThan(f21, vec3(0.0)); + vec3 f63 = vec3(f62.x ? f61.x : vec3(0.0).x, f62.y ? f61.y : vec3(0.0).y, f62.z ? f61.z : vec3(0.0).z); + vec3 f64 = f61 - f63; + float f65 = f64.x; + float f66 = f64.y; + float f67 = f64.z; + float f68 = f63.x; + float f69 = f63.y; + float f70 = f63.z; + vec3 f71 = ((((((CB0[35].xyz * f65) + (CB0[37].xyz * f66)) + (CB0[39].xyz * f67)) + (CB0[36].xyz * f68)) + (CB0[38].xyz * f69)) + (CB0[40].xyz * f70)) + (((((((CB0[29].xyz * f65) + (CB0[31].xyz * f66)) + (CB0[33].xyz * f67)) + (CB0[30].xyz * f68)) + (CB0[32].xyz * f69)) + (CB0[34].xyz * f70)) * f29); + vec3 f72 = (mix(textureLod(PrefilteredEnvIndoorTexture, f37, f36).xyz, textureLod(PrefilteredEnvTexture, f37, f36).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f35.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f29)) * f59) * f33; + vec3 f73 = ((((((((f56 - (f51 * f55)) * CB0[10].xyz) * f44) + (CB0[12].xyz * (f54 * clamp(-f42, 0.0, 1.0)))) + ((f60 * f71) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f29))) * f32) + (((f51 * (((f52 + (f52 * f52)) / (((f53 * f53) * ((f47 * 3.0) + 0.5)) * ((f46 * 0.75) + 0.25))) * f44)) * CB0[10].xyz) + f72)) + ((f27.xyz * (f27.w * 120.0)).xyz * mix(f32, f72 * (1.0 / (max(max(f71.x, f71.y), f71.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f60) * (f33 * (1.0 - f29)))); + vec4 f74 = vec4(f73.x, f73.y, f73.z, vec4(0.0).w); + f74.w = VARYING2.w; + float f75 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f76 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f75) * 5.0).xyz; + bvec3 f77 = bvec3(CB0[13].w != 0.0); + vec3 f78 = sqrt(clamp(mix(vec3(f77.x ? CB0[14].xyz.x : f76.x, f77.y ? CB0[14].xyz.y : f76.y, f77.z ? CB0[14].xyz.z : f76.z), f74.xyz, vec3(f75)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f79 = vec4(f78.x, f78.y, f78.z, f74.w); + f79.w = VARYING2.w; + _entryPointOutput = f79; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$WangTileMapTexture=s9 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/DefaultWangHQFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/DefaultWangHQFS_Level520.frag new file mode 100644 index 0000000000..0abf849a6d --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/DefaultWangHQFS_Level520.frag @@ -0,0 +1,152 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB2[4]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform samplerCube PrefilteredEnvIndoorTexture; +uniform sampler2D PrecomputedBRDFTexture; +uniform sampler2D WangTileMapTexture; +uniform sampler2D DiffuseMapTexture; +uniform sampler2D NormalMapTexture; +uniform sampler2D NormalDetailMapTexture; +uniform sampler2D StudsMapTexture; +uniform sampler2D SpecularMapTexture; + +in vec2 VARYING0; +in vec2 VARYING1; +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +in float VARYING8; +out vec4 _entryPointOutput; + +void main() +{ + float f0 = length(VARYING4.xyz); + vec3 f1 = VARYING4.xyz / vec3(f0); + vec2 f2 = VARYING1; + f2.y = (fract(VARYING1.y) + VARYING8) * 0.25; + float f3 = clamp(1.0 - (VARYING4.w * CB0[23].y), 0.0, 1.0); + vec2 f4 = VARYING0 * CB2[0].x; + vec2 f5 = f4 * 4.0; + vec2 f6 = f5 * 0.25; + vec4 f7 = vec4(dFdx(f6), dFdy(f6)); + vec2 f8 = (texture(WangTileMapTexture, f5 * vec2(0.0078125)).xy * 0.99609375) + (fract(f5) * 0.25); + vec2 f9 = f7.xy; + vec2 f10 = f7.zw; + vec4 f11 = textureGrad(DiffuseMapTexture, f8, f9, f10); + vec2 f12 = textureGrad(NormalMapTexture, f8, f9, f10).wy * 2.0; + vec2 f13 = f12 - vec2(1.0); + float f14 = sqrt(clamp(1.0 + dot(vec2(1.0) - f12, f13), 0.0, 1.0)); + vec2 f15 = (vec3(f13, f14).xy + (vec3((texture(NormalDetailMapTexture, f4 * CB2[0].w).wy * 2.0) - vec2(1.0), 0.0).xy * CB2[1].x)).xy * f3; + float f16 = f15.x; + vec4 f17 = textureGrad(SpecularMapTexture, f8, f9, f10); + float f18 = gl_FrontFacing ? 1.0 : (-1.0); + vec3 f19 = VARYING6.xyz * f18; + vec3 f20 = VARYING5.xyz * f18; + vec3 f21 = normalize(((f19 * f16) + (cross(f20, f19) * f15.y)) + (f20 * f14)); + vec3 f22 = -CB0[11].xyz; + float f23 = dot(f21, f22); + vec3 f24 = vec4(((mix(vec3(1.0), VARYING2.xyz, vec3(clamp(f11.w + CB2[2].w, 0.0, 1.0))) * f11.xyz) * (1.0 + (f16 * CB2[0].z))) * (texture(StudsMapTexture, f2).x * 2.0), VARYING2.w).xyz; + vec3 f25 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f26 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f27 = VARYING3.yzx - (VARYING3.yzx * f26); + vec4 f28 = vec4(clamp(f26, 0.0, 1.0)); + vec4 f29 = mix(texture(LightMapTexture, f27), vec4(0.0), f28); + vec4 f30 = mix(texture(LightGridSkylightTexture, f27), vec4(1.0), f28); + float f31 = f30.x; + float f32 = f30.y; + vec3 f33 = f25 - CB0[41].xyz; + vec3 f34 = f25 - CB0[42].xyz; + vec3 f35 = f25 - CB0[43].xyz; + vec4 f36 = vec4(f25, 1.0) * mat4(CB8[((dot(f33, f33) < CB0[41].w) ? 0 : ((dot(f34, f34) < CB0[42].w) ? 1 : ((dot(f35, f35) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f33, f33) < CB0[41].w) ? 0 : ((dot(f34, f34) < CB0[42].w) ? 1 : ((dot(f35, f35) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f33, f33) < CB0[41].w) ? 0 : ((dot(f34, f34) < CB0[42].w) ? 1 : ((dot(f35, f35) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f33, f33) < CB0[41].w) ? 0 : ((dot(f34, f34) < CB0[42].w) ? 1 : ((dot(f35, f35) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f37 = textureLod(ShadowAtlasTexture, f36.xy, 0.0); + vec2 f38 = vec2(0.0); + f38.x = CB0[45].z; + vec2 f39 = f38; + f39.y = CB0[45].w; + float f40 = (2.0 * f36.z) - 1.0; + float f41 = exp(CB0[45].z * f40); + float f42 = -exp((-CB0[45].w) * f40); + vec2 f43 = (f39 * CB0[46].y) * vec2(f41, f42); + vec2 f44 = f43 * f43; + float f45 = f37.x; + float f46 = max(f37.y - (f45 * f45), f44.x); + float f47 = f41 - f45; + float f48 = f37.z; + float f49 = max(f37.w - (f48 * f48), f44.y); + float f50 = f42 - f48; + vec3 f51 = (f24 * f24).xyz; + float f52 = CB0[26].w * f3; + float f53 = max(f17.y, 0.04500000178813934326171875); + vec3 f54 = reflect(-f1, f21); + float f55 = f53 * 5.0; + vec3 f56 = vec4(f54, f55).xyz; + vec4 f57 = texture(PrecomputedBRDFTexture, vec2(f53, max(9.9999997473787516355514526367188e-05, dot(f21, f1)))); + float f58 = f17.x * f52; + vec3 f59 = mix(vec3(0.039999999105930328369140625), f51, vec3(f58)); + vec3 f60 = normalize(f22 + f1); + float f61 = clamp(f23 * ((f23 > 0.0) ? mix(f32, mix(min((f41 <= f45) ? 1.0 : clamp(((f46 / (f46 + (f47 * f47))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f42 <= f48) ? 1.0 : clamp(((f49 / (f49 + (f50 * f50))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f32, clamp((length(f25 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0), 0.0, 1.0); + float f62 = f53 * f53; + float f63 = max(0.001000000047497451305389404296875, dot(f21, f60)); + float f64 = dot(f22, f60); + float f65 = 1.0 - f64; + float f66 = f65 * f65; + float f67 = (f66 * f66) * f65; + vec3 f68 = vec3(f67) + (f59 * (1.0 - f67)); + float f69 = f62 * f62; + float f70 = (((f63 * f69) - f63) * f63) + 1.0; + float f71 = 1.0 - f58; + float f72 = f52 * f71; + vec3 f73 = vec3(f71); + float f74 = f57.x; + float f75 = f57.y; + vec3 f76 = ((f59 * f74) + vec3(f75)) / vec3(f74 + f75); + vec3 f77 = f73 - (f76 * f72); + vec3 f78 = f21 * f21; + bvec3 f79 = lessThan(f21, vec3(0.0)); + vec3 f80 = vec3(f79.x ? f78.x : vec3(0.0).x, f79.y ? f78.y : vec3(0.0).y, f79.z ? f78.z : vec3(0.0).z); + vec3 f81 = f78 - f80; + float f82 = f81.x; + float f83 = f81.y; + float f84 = f81.z; + float f85 = f80.x; + float f86 = f80.y; + float f87 = f80.z; + vec3 f88 = ((((((CB0[35].xyz * f82) + (CB0[37].xyz * f83)) + (CB0[39].xyz * f84)) + (CB0[36].xyz * f85)) + (CB0[38].xyz * f86)) + (CB0[40].xyz * f87)) + (((((((CB0[29].xyz * f82) + (CB0[31].xyz * f83)) + (CB0[33].xyz * f84)) + (CB0[30].xyz * f85)) + (CB0[32].xyz * f86)) + (CB0[34].xyz * f87)) * f31); + vec3 f89 = (mix(textureLod(PrefilteredEnvIndoorTexture, f56, f55).xyz, textureLod(PrefilteredEnvTexture, f56, f55).xyz * mix(CB0[26].xyz, CB0[25].xyz, vec3(clamp(f54.y * 1.58823525905609130859375, 0.0, 1.0))), vec3(f31)) * f76) * f52; + vec3 f90 = (((((((f73 - (f68 * f72)) * CB0[10].xyz) * f61) + ((f77 * f88) * CB0[25].w)) + (CB0[27].xyz + (CB0[28].xyz * f31))) * f51) + (((f68 * (((f69 + (f69 * f69)) / (((f70 * f70) * ((f64 * 3.0) + 0.5)) * ((f63 * 0.75) + 0.25))) * f61)) * CB0[10].xyz) + f89)) + ((f29.xyz * (f29.w * 120.0)).xyz * mix(f51, f89 * (1.0 / (max(max(f88.x, f88.y), f88.z) + 0.00999999977648258209228515625)), (vec3(1.0) - f77) * (f52 * (1.0 - f31)))); + vec4 f91 = vec4(f90.x, f90.y, f90.z, vec4(0.0).w); + f91.w = VARYING2.w; + float f92 = clamp(exp2((CB0[13].z * f0) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f93 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f92) * 5.0).xyz; + bvec3 f94 = bvec3(CB0[13].w != 0.0); + vec3 f95 = sqrt(clamp(mix(vec3(f94.x ? CB0[14].xyz.x : f93.x, f94.y ? CB0[14].xyz.y : f93.y, f94.z ? CB0[14].xyz.z : f93.z), f91.xyz, vec3(f92)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))) + vec3((-0.00048828125) + (0.0009765625 * fract(52.98291778564453125 * fract(dot(gl_FragCoord.xy, vec2(0.067110560834407806396484375, 0.005837149918079376220703125)))))); + vec4 f96 = vec4(f95.x, f95.y, f95.z, f91.w); + f96.w = VARYING2.w; + _entryPointOutput = f96; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$PrefilteredEnvIndoorTexture=s14 +//$$PrecomputedBRDFTexture=s11 +//$$WangTileMapTexture=s9 +//$$DiffuseMapTexture=s3 +//$$NormalMapTexture=s4 +//$$NormalDetailMapTexture=s8 +//$$StudsMapTexture=s0 +//$$SpecularMapTexture=s5 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/GridFS_Level512.frag b/shaders/shaders_glsl3/defaultDoubleSided/GridFS_Level512.frag new file mode 100644 index 0000000000..551a93ddf8 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/GridFS_Level512.frag @@ -0,0 +1,75 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowMapTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D DiffuseMapTexture; + +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = (CB0[7].xyz - VARYING4.xyz) * CB3[0].x; + vec3 f1 = abs(VARYING5.xyz); + float f2 = f1.x; + float f3 = f1.y; + float f4 = f1.z; + vec2 f5; + if ((f2 >= f3) && (f2 >= f4)) + { + f5 = f0.yz; + } + else + { + vec2 f6; + if ((f3 >= f2) && (f3 >= f4)) + { + f6 = f0.xz; + } + else + { + f6 = f0.xy; + } + f5 = f6; + } + vec4 f7 = texture(DiffuseMapTexture, f5) * VARYING2; + vec3 f8 = f7.xyz; + vec3 f9 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f10 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f11 = VARYING3.yzx - (VARYING3.yzx * f10); + vec4 f12 = vec4(clamp(f10, 0.0, 1.0)); + vec4 f13 = mix(texture(LightMapTexture, f11), vec4(0.0), f12); + vec4 f14 = mix(texture(LightGridSkylightTexture, f11), vec4(1.0), f12); + vec4 f15 = texture(ShadowMapTexture, f9.xy); + float f16 = f9.z; + float f17 = (1.0 - ((step(f15.x, f16) * clamp(CB0[24].z + (CB0[24].w * abs(f16 - 0.5)), 0.0, 1.0)) * f15.y)) * f14.y; + vec3 f18 = (((VARYING6.xyz * f17) + min((f13.xyz * (f13.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f14.x)), vec3(CB0[16].w))) * (f8 * f8).xyz) + (CB0[10].xyz * ((VARYING6.w * f17) * 0.100000001490116119384765625)); + float f19 = f7.w; + vec4 f20 = vec4(f18.x, f18.y, f18.z, vec4(0.0).w); + f20.w = f19; + float f21 = clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f22 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f21) * 5.0).xyz; + bvec3 f23 = bvec3(CB0[13].w != 0.0); + vec3 f24 = sqrt(clamp(mix(vec3(f23.x ? CB0[14].xyz.x : f22.x, f23.y ? CB0[14].xyz.y : f22.y, f23.z ? CB0[14].xyz.z : f22.z), f20.xyz, vec3(f21)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f25 = vec4(f24.x, f24.y, f24.z, f20.w); + f25.w = f19; + _entryPointOutput = f25; +} + +//$$ShadowMapTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_glsl3/defaultDoubleSided/GridFS_Level520.frag b/shaders/shaders_glsl3/defaultDoubleSided/GridFS_Level520.frag new file mode 100644 index 0000000000..abfbb4aaf0 --- /dev/null +++ b/shaders/shaders_glsl3/defaultDoubleSided/GridFS_Level520.frag @@ -0,0 +1,96 @@ +#version 150 + +#extension GL_ARB_shading_language_include : require +#include +#include +#include +uniform vec4 CB0[52]; +uniform vec4 CB8[24]; +uniform vec4 CB3[1]; +uniform sampler2D ShadowAtlasTexture; +uniform sampler3D LightMapTexture; +uniform sampler3D LightGridSkylightTexture; +uniform samplerCube PrefilteredEnvTexture; +uniform sampler2D DiffuseMapTexture; + +in vec4 VARYING2; +in vec4 VARYING3; +in vec4 VARYING4; +in vec4 VARYING5; +in vec4 VARYING6; +in vec4 VARYING7; +out vec4 _entryPointOutput; + +void main() +{ + vec3 f0 = (CB0[7].xyz - VARYING4.xyz) * CB3[0].x; + vec3 f1 = abs(VARYING5.xyz); + float f2 = f1.x; + float f3 = f1.y; + float f4 = f1.z; + vec2 f5; + if ((f2 >= f3) && (f2 >= f4)) + { + f5 = f0.yz; + } + else + { + vec2 f6; + if ((f3 >= f2) && (f3 >= f4)) + { + f6 = f0.xz; + } + else + { + f6 = f0.xy; + } + f5 = f6; + } + vec4 f7 = texture(DiffuseMapTexture, f5) * VARYING2; + vec3 f8 = f7.xyz; + vec3 f9 = VARYING7.xyz - (CB0[11].xyz * VARYING3.w); + float f10 = clamp(dot(step(CB0[19].xyz, abs(VARYING3.xyz - CB0[18].xyz)), vec3(1.0)), 0.0, 1.0); + vec3 f11 = VARYING3.yzx - (VARYING3.yzx * f10); + vec4 f12 = vec4(clamp(f10, 0.0, 1.0)); + vec4 f13 = mix(texture(LightMapTexture, f11), vec4(0.0), f12); + vec4 f14 = mix(texture(LightGridSkylightTexture, f11), vec4(1.0), f12); + float f15 = f14.y; + vec3 f16 = f9 - CB0[41].xyz; + vec3 f17 = f9 - CB0[42].xyz; + vec3 f18 = f9 - CB0[43].xyz; + vec4 f19 = vec4(f9, 1.0) * mat4(CB8[((dot(f16, f16) < CB0[41].w) ? 0 : ((dot(f17, f17) < CB0[42].w) ? 1 : ((dot(f18, f18) < CB0[43].w) ? 2 : 3))) * 4 + 0], CB8[((dot(f16, f16) < CB0[41].w) ? 0 : ((dot(f17, f17) < CB0[42].w) ? 1 : ((dot(f18, f18) < CB0[43].w) ? 2 : 3))) * 4 + 1], CB8[((dot(f16, f16) < CB0[41].w) ? 0 : ((dot(f17, f17) < CB0[42].w) ? 1 : ((dot(f18, f18) < CB0[43].w) ? 2 : 3))) * 4 + 2], CB8[((dot(f16, f16) < CB0[41].w) ? 0 : ((dot(f17, f17) < CB0[42].w) ? 1 : ((dot(f18, f18) < CB0[43].w) ? 2 : 3))) * 4 + 3]); + vec4 f20 = textureLod(ShadowAtlasTexture, f19.xy, 0.0); + vec2 f21 = vec2(0.0); + f21.x = CB0[45].z; + vec2 f22 = f21; + f22.y = CB0[45].w; + float f23 = (2.0 * f19.z) - 1.0; + float f24 = exp(CB0[45].z * f23); + float f25 = -exp((-CB0[45].w) * f23); + vec2 f26 = (f22 * CB0[46].y) * vec2(f24, f25); + vec2 f27 = f26 * f26; + float f28 = f20.x; + float f29 = max(f20.y - (f28 * f28), f27.x); + float f30 = f24 - f28; + float f31 = f20.z; + float f32 = max(f20.w - (f31 * f31), f27.y); + float f33 = f25 - f31; + float f34 = (dot(normalize(VARYING5.xyz) * (gl_FrontFacing ? 1.0 : (-1.0)), -CB0[11].xyz) > 0.0) ? mix(f15, mix(min((f24 <= f28) ? 1.0 : clamp(((f29 / (f29 + (f30 * f30))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0), (f25 <= f31) ? 1.0 : clamp(((f32 / (f32 + (f33 * f33))) - 0.20000000298023223876953125) * 1.25, 0.0, 1.0)), f15, clamp((length(f9 - CB0[7].xyz) * CB0[45].y) - (CB0[45].x * CB0[45].y), 0.0, 1.0)), CB0[46].x) : 0.0; + vec3 f35 = (((VARYING6.xyz * f34) + min((f13.xyz * (f13.w * 120.0)).xyz + (CB0[8].xyz + (CB0[9].xyz * f14.x)), vec3(CB0[16].w))) * (f8 * f8).xyz) + (CB0[10].xyz * ((VARYING6.w * f34) * 0.100000001490116119384765625)); + float f36 = f7.w; + vec4 f37 = vec4(f35.x, f35.y, f35.z, vec4(0.0).w); + f37.w = f36; + float f38 = clamp(exp2((CB0[13].z * length(VARYING4.xyz)) + CB0[13].x) - CB0[13].w, 0.0, 1.0); + vec3 f39 = textureLod(PrefilteredEnvTexture, vec4(-VARYING4.xyz, 0.0).xyz, max(CB0[13].y, f38) * 5.0).xyz; + bvec3 f40 = bvec3(CB0[13].w != 0.0); + vec3 f41 = sqrt(clamp(mix(vec3(f40.x ? CB0[14].xyz.x : f39.x, f40.y ? CB0[14].xyz.y : f39.y, f40.z ? CB0[14].xyz.z : f39.z), f37.xyz, vec3(f38)).xyz * CB0[15].y, vec3(0.0), vec3(1.0))); + vec4 f42 = vec4(f41.x, f41.y, f41.z, f37.w); + f42.w = f36; + _entryPointOutput = f42; +} + +//$$ShadowAtlasTexture=s1 +//$$LightMapTexture=s6 +//$$LightGridSkylightTexture=s7 +//$$PrefilteredEnvTexture=s15 +//$$DiffuseMapTexture=s3 diff --git a/shaders/shaders_vulkan_desktop.csv b/shaders/shaders_vulkan_desktop.csv index 2f3b37a2bb..4896cb2c28 100644 --- a/shaders/shaders_vulkan_desktop.csv +++ b/shaders/shaders_vulkan_desktop.csv @@ -36,6 +36,9 @@ BokehFarCoCFS,Fragment BokehNearCoCFS,Fragment CheapBokehFS,Fragment CheckerboardDepthFS,Fragment +CloudsCompFS,Fragment +CloudsFS,Fragment +CloudsVS,Vertex CopyGuiVS,Vertex DefaultDepthFS,Fragment DefaultDepthVS_Level0,Vertex @@ -46,6 +49,9 @@ DefaultForceFieldFS,Fragment DefaultForceFieldHQFS_Level0,Fragment DefaultForceFieldHQFS_Level8,Fragment DefaultForceFieldHQFS_Level24,Fragment +DefaultForceFieldHQFS_Level512,Fragment +DefaultForceFieldHQFS_Level520,Fragment +DefaultForceFieldHQFS_Level536,Fragment DefaultForceFieldHQVS_Level0,Vertex DefaultForceFieldHQVS_Level1,Vertex DefaultForceFieldHQVS_Level2,Vertex @@ -58,9 +64,24 @@ DefaultForceFieldHQVS_Level24,Vertex DefaultForceFieldHQVS_Level25,Vertex DefaultForceFieldHQVS_Level26,Vertex DefaultForceFieldHQVS_Level30,Vertex +DefaultForceFieldHQVS_Level512,Vertex +DefaultForceFieldHQVS_Level513,Vertex +DefaultForceFieldHQVS_Level514,Vertex +DefaultForceFieldHQVS_Level518,Vertex +DefaultForceFieldHQVS_Level520,Vertex +DefaultForceFieldHQVS_Level521,Vertex +DefaultForceFieldHQVS_Level522,Vertex +DefaultForceFieldHQVS_Level526,Vertex +DefaultForceFieldHQVS_Level536,Vertex +DefaultForceFieldHQVS_Level537,Vertex +DefaultForceFieldHQVS_Level538,Vertex +DefaultForceFieldHQVS_Level542,Vertex DefaultForceFieldSHQFS_Level0,Fragment DefaultForceFieldSHQFS_Level8,Fragment DefaultForceFieldSHQFS_Level24,Fragment +DefaultForceFieldSHQFS_Level512,Fragment +DefaultForceFieldSHQFS_Level520,Fragment +DefaultForceFieldSHQFS_Level536,Fragment DefaultForceFieldVS_Level0,Vertex DefaultForceFieldVS_Level1,Vertex DefaultForceFieldVS_Level2,Vertex @@ -68,9 +89,15 @@ DefaultForceFieldVS_Level6,Vertex DefaultGlassHQFS_Level0,Fragment DefaultGlassHQFS_Level8,Fragment DefaultGlassHQFS_Level24,Fragment +DefaultGlassHQFS_Level512,Fragment +DefaultGlassHQFS_Level520,Fragment +DefaultGlassHQFS_Level536,Fragment DefaultGlassSuperHQFS_Level0,Fragment DefaultGlassSuperHQFS_Level8,Fragment DefaultGlassSuperHQFS_Level24,Fragment +DefaultGlassSuperHQFS_Level512,Fragment +DefaultGlassSuperHQFS_Level520,Fragment +DefaultGlassSuperHQFS_Level536,Fragment DefaultHQVS_Level0,Vertex DefaultHQVS_Level1,Vertex DefaultHQVS_Level2,Vertex @@ -83,12 +110,27 @@ DefaultHQVS_Level24,Vertex DefaultHQVS_Level25,Vertex DefaultHQVS_Level26,Vertex DefaultHQVS_Level30,Vertex +DefaultHQVS_Level512,Vertex +DefaultHQVS_Level513,Vertex +DefaultHQVS_Level514,Vertex +DefaultHQVS_Level518,Vertex +DefaultHQVS_Level520,Vertex +DefaultHQVS_Level521,Vertex +DefaultHQVS_Level522,Vertex +DefaultHQVS_Level526,Vertex +DefaultHQVS_Level536,Vertex +DefaultHQVS_Level537,Vertex +DefaultHQVS_Level538,Vertex +DefaultHQVS_Level542,Vertex DefaultModelLodFS,Fragment DefaultModelLodVS,Vertex DefaultNeonFS,Fragment DefaultNeonHQFS_Level0,Fragment DefaultNeonHQFS_Level8,Fragment DefaultNeonHQFS_Level24,Fragment +DefaultNeonHQFS_Level512,Fragment +DefaultNeonHQFS_Level520,Fragment +DefaultNeonHQFS_Level536,Fragment DefaultNeonHQInGuiFS,Fragment DefaultNeonInGuiFS,Fragment DefaultNewShadowFS_Level0,Fragment @@ -119,10 +161,16 @@ DefaultOpaqueFS,Fragment DefaultOpaqueHQFS_Level0,Fragment DefaultOpaqueHQFS_Level8,Fragment DefaultOpaqueHQFS_Level24,Fragment +DefaultOpaqueHQFS_Level512,Fragment +DefaultOpaqueHQFS_Level520,Fragment +DefaultOpaqueHQFS_Level536,Fragment DefaultPlasticFS,Fragment DefaultPlasticHQFS_Level0,Fragment DefaultPlasticHQFS_Level8,Fragment DefaultPlasticHQFS_Level24,Fragment +DefaultPlasticHQFS_Level512,Fragment +DefaultPlasticHQFS_Level520,Fragment +DefaultPlasticHQFS_Level536,Fragment DefaultPlasticReflectionFS,Fragment DefaultReflectionVS_Level0,Vertex DefaultReflectionVS_Level1,Vertex @@ -136,6 +184,18 @@ DefaultReflectionVS_Level24,Vertex DefaultReflectionVS_Level25,Vertex DefaultReflectionVS_Level26,Vertex DefaultReflectionVS_Level30,Vertex +DefaultReflectionVS_Level512,Vertex +DefaultReflectionVS_Level513,Vertex +DefaultReflectionVS_Level514,Vertex +DefaultReflectionVS_Level518,Vertex +DefaultReflectionVS_Level520,Vertex +DefaultReflectionVS_Level521,Vertex +DefaultReflectionVS_Level522,Vertex +DefaultReflectionVS_Level526,Vertex +DefaultReflectionVS_Level536,Vertex +DefaultReflectionVS_Level537,Vertex +DefaultReflectionVS_Level538,Vertex +DefaultReflectionVS_Level542,Vertex DefaultShadowFS,Fragment DefaultShadowGeomVS_Level0,Vertex DefaultShadowGeomVS_Level1,Vertex @@ -150,10 +210,16 @@ DefaultSurfaceAppearanceDitheredFS,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level0,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level8,Fragment DefaultSurfaceAppearanceDitheredHQFS_Level24,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level512,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level520,Fragment +DefaultSurfaceAppearanceDitheredHQFS_Level536,Fragment DefaultSurfaceAppearanceFS,Fragment DefaultSurfaceAppearanceHQFS_Level0,Fragment DefaultSurfaceAppearanceHQFS_Level8,Fragment DefaultSurfaceAppearanceHQFS_Level24,Fragment +DefaultSurfaceAppearanceHQFS_Level512,Fragment +DefaultSurfaceAppearanceHQFS_Level520,Fragment +DefaultSurfaceAppearanceHQFS_Level536,Fragment DefaultSurfaceHQVS_Level0,Vertex DefaultSurfaceHQVS_Level1,Vertex DefaultSurfaceHQVS_Level2,Vertex @@ -166,19 +232,43 @@ DefaultSurfaceHQVS_Level24,Vertex DefaultSurfaceHQVS_Level25,Vertex DefaultSurfaceHQVS_Level26,Vertex DefaultSurfaceHQVS_Level30,Vertex +DefaultSurfaceHQVS_Level512,Vertex +DefaultSurfaceHQVS_Level513,Vertex +DefaultSurfaceHQVS_Level514,Vertex +DefaultSurfaceHQVS_Level518,Vertex +DefaultSurfaceHQVS_Level520,Vertex +DefaultSurfaceHQVS_Level521,Vertex +DefaultSurfaceHQVS_Level522,Vertex +DefaultSurfaceHQVS_Level526,Vertex +DefaultSurfaceHQVS_Level536,Vertex +DefaultSurfaceHQVS_Level537,Vertex +DefaultSurfaceHQVS_Level538,Vertex +DefaultSurfaceHQVS_Level542,Vertex DefaultTiledHideAllRepHQFS_Level0,Fragment DefaultTiledHideAllRepHQFS_Level8,Fragment DefaultTiledHideAllRepHQFS_Level24,Fragment +DefaultTiledHideAllRepHQFS_Level512,Fragment +DefaultTiledHideAllRepHQFS_Level520,Fragment +DefaultTiledHideAllRepHQFS_Level536,Fragment DefaultTiledHideDiffuseRepHQFS_Level0,Fragment DefaultTiledHideDiffuseRepHQFS_Level8,Fragment DefaultTiledHideDiffuseRepHQFS_Level24,Fragment +DefaultTiledHideDiffuseRepHQFS_Level512,Fragment +DefaultTiledHideDiffuseRepHQFS_Level520,Fragment +DefaultTiledHideDiffuseRepHQFS_Level536,Fragment DefaultTiledHQFS_Level0,Fragment DefaultTiledHQFS_Level8,Fragment DefaultTiledHQFS_Level24,Fragment +DefaultTiledHQFS_Level512,Fragment +DefaultTiledHQFS_Level520,Fragment +DefaultTiledHQFS_Level536,Fragment DefaultTransparentFS,Fragment DefaultTransparentHQFS_Level0,Fragment DefaultTransparentHQFS_Level8,Fragment DefaultTransparentHQFS_Level24,Fragment +DefaultTransparentHQFS_Level512,Fragment +DefaultTransparentHQFS_Level520,Fragment +DefaultTransparentHQFS_Level536,Fragment DefaultVS_Level0,Vertex DefaultVS_Level1,Vertex DefaultVS_Level2,Vertex @@ -186,6 +276,9 @@ DefaultVS_Level6,Vertex DefaultWangHQFS_Level0,Fragment DefaultWangHQFS_Level8,Fragment DefaultWangHQFS_Level24,Fragment +DefaultWangHQFS_Level512,Fragment +DefaultWangHQFS_Level520,Fragment +DefaultWangHQFS_Level536,Fragment DepthResolveMax2FS,Fragment DepthResolveMax4FS,Fragment DepthResolveMin2FS,Fragment @@ -233,6 +326,9 @@ GrassVS,Vertex GridFS_Level0,Fragment GridFS_Level8,Fragment GridFS_Level24,Fragment +GridFS_Level512,Fragment +GridFS_Level520,Fragment +GridFS_Level536,Fragment IBLDebugFS,Fragment IBLDebugVS,Vertex ImageProcessAlphaFS,Fragment @@ -352,6 +448,12 @@ SmoothClusterHQFS_Level24,Fragment SmoothClusterHQFS_Level256,Fragment SmoothClusterHQFS_Level264,Fragment SmoothClusterHQFS_Level280,Fragment +SmoothClusterHQFS_Level512,Fragment +SmoothClusterHQFS_Level520,Fragment +SmoothClusterHQFS_Level536,Fragment +SmoothClusterHQFS_Level768,Fragment +SmoothClusterHQFS_Level776,Fragment +SmoothClusterHQFS_Level792,Fragment SmoothClusterHQFSShadowed,Fragment SmoothClusterHQFSShadowedFSM,Fragment SmoothClusterHQVS,Vertex @@ -361,6 +463,12 @@ SmoothClusterHQVS_Level24,Vertex SmoothClusterHQVS_Level256,Vertex SmoothClusterHQVS_Level264,Vertex SmoothClusterHQVS_Level280,Vertex +SmoothClusterHQVS_Level512,Vertex +SmoothClusterHQVS_Level520,Vertex +SmoothClusterHQVS_Level536,Vertex +SmoothClusterHQVS_Level768,Vertex +SmoothClusterHQVS_Level776,Vertex +SmoothClusterHQVS_Level792,Vertex SmoothClusterHQVSShadowed,Vertex SmoothClusterHQVSShadowedFSM,Vertex SmoothClusterNewShadowFS,Fragment @@ -386,6 +494,12 @@ SmoothClusterSuperHQFS_Level24,Fragment SmoothClusterSuperHQFS_Level256,Fragment SmoothClusterSuperHQFS_Level264,Fragment SmoothClusterSuperHQFS_Level280,Fragment +SmoothClusterSuperHQFS_Level512,Fragment +SmoothClusterSuperHQFS_Level520,Fragment +SmoothClusterSuperHQFS_Level536,Fragment +SmoothClusterSuperHQFS_Level768,Fragment +SmoothClusterSuperHQFS_Level776,Fragment +SmoothClusterSuperHQFS_Level792,Fragment SmoothClusterSuperHQFSFlagHeight,Fragment SmoothClusterSuperHQFSFlagHeight_Level0,Fragment SmoothClusterSuperHQFSFlagHeight_Level8,Fragment @@ -393,6 +507,12 @@ SmoothClusterSuperHQFSFlagHeight_Level24,Fragment SmoothClusterSuperHQFSFlagHeight_Level256,Fragment SmoothClusterSuperHQFSFlagHeight_Level264,Fragment SmoothClusterSuperHQFSFlagHeight_Level280,Fragment +SmoothClusterSuperHQFSFlagHeight_Level512,Fragment +SmoothClusterSuperHQFSFlagHeight_Level520,Fragment +SmoothClusterSuperHQFSFlagHeight_Level536,Fragment +SmoothClusterSuperHQFSFlagHeight_Level768,Fragment +SmoothClusterSuperHQFSFlagHeight_Level776,Fragment +SmoothClusterSuperHQFSFlagHeight_Level792,Fragment SmoothClusterSuperHQFSShadowed,Fragment SmoothClusterSuperHQFSShadowedFlagHeight,Fragment SmoothClusterSuperHQFSShadowedFSM,Fragment @@ -405,6 +525,12 @@ SmoothClusterSuperHQVS_Level24,Vertex SmoothClusterSuperHQVS_Level256,Vertex SmoothClusterSuperHQVS_Level264,Vertex SmoothClusterSuperHQVS_Level280,Vertex +SmoothClusterSuperHQVS_Level512,Vertex +SmoothClusterSuperHQVS_Level520,Vertex +SmoothClusterSuperHQVS_Level536,Vertex +SmoothClusterSuperHQVS_Level768,Vertex +SmoothClusterSuperHQVS_Level776,Vertex +SmoothClusterSuperHQVS_Level792,Vertex SmoothClusterSuperHQVSFlagHeight,Vertex SmoothClusterSuperHQVSFlagHeight_Level0,Vertex SmoothClusterSuperHQVSFlagHeight_Level8,Vertex @@ -412,6 +538,12 @@ SmoothClusterSuperHQVSFlagHeight_Level24,Vertex SmoothClusterSuperHQVSFlagHeight_Level256,Vertex SmoothClusterSuperHQVSFlagHeight_Level264,Vertex SmoothClusterSuperHQVSFlagHeight_Level280,Vertex +SmoothClusterSuperHQVSFlagHeight_Level512,Vertex +SmoothClusterSuperHQVSFlagHeight_Level520,Vertex +SmoothClusterSuperHQVSFlagHeight_Level536,Vertex +SmoothClusterSuperHQVSFlagHeight_Level768,Vertex +SmoothClusterSuperHQVSFlagHeight_Level776,Vertex +SmoothClusterSuperHQVSFlagHeight_Level792,Vertex SmoothClusterSuperHQVSShadowed,Vertex SmoothClusterSuperHQVSShadowedFlagHeight,Vertex SmoothClusterSuperHQVSShadowedFSM,Vertex @@ -424,18 +556,27 @@ SmoothWaterHQFS,Fragment SmoothWaterHQFS_Level0,Fragment SmoothWaterHQFS_Level8,Fragment SmoothWaterHQFS_Level24,Fragment +SmoothWaterHQFS_Level512,Fragment +SmoothWaterHQFS_Level520,Fragment +SmoothWaterHQFS_Level536,Fragment SmoothWaterHQFSShadowed,Fragment SmoothWaterHQFSShadowedFSM,Fragment SmoothWaterHQVS,Vertex SmoothWaterHQVS_Level0,Vertex SmoothWaterHQVS_Level8,Vertex SmoothWaterHQVS_Level24,Vertex +SmoothWaterHQVS_Level512,Vertex +SmoothWaterHQVS_Level520,Vertex +SmoothWaterHQVS_Level536,Vertex SmoothWaterHQVSShadowed,Vertex SmoothWaterHQVSShadowedFSM,Vertex SmoothWaterSuperHQFS,Fragment SmoothWaterSuperHQFS_Level0,Fragment SmoothWaterSuperHQFS_Level8,Fragment SmoothWaterSuperHQFS_Level24,Fragment +SmoothWaterSuperHQFS_Level512,Fragment +SmoothWaterSuperHQFS_Level520,Fragment +SmoothWaterSuperHQFS_Level536,Fragment SmoothWaterSuperHQFSShadowed,Fragment SmoothWaterSuperHQFSShadowedFSM,Fragment SmoothWaterVS,Vertex diff --git a/translations/CoreScriptLocalization.csv b/translations/CoreScriptLocalization.csv index 4c2b8e58cb..160e9b6750 100644 --- a/translations/CoreScriptLocalization.csv +++ b/translations/CoreScriptLocalization.csv @@ -746,4 +746,6 @@ CoreScripts.AvatarEditorPrompts.Adding,,,Adding:,Fügt hinzu:,Adding:,Añadir:,A CoreScripts.AvatarEditorPrompts.Removing,,,Removing:,Entfernt:,Removing:,Eliminar:,Eliminar:,Enlever :,Rimuovi:,削除中:,제거 중:,Removendo:,Removendo:,,,移除:,移除: CoreScripts.AvatarEditorPrompts.NoChangedAssets,,,No item changes,Keine Item-Änderungen,No item changes,No hay cambios de objetos,No hay cambios de objetos,Aucun changements d'article,Nessuna modifica,アイテム変更なし,아이템 변경 없음,Sem mudanças nos itens,Sem mudanças nos itens,,,道具沒有變更,道具沒有變更 CoreScripts.AvatarEditorPrompts.EnterOutfitNamePromptNo,,,Cancel,Abbrechen,Cancel,Cancelar,Cancelar,Annuler,Annulla,キャンセル,취소,Cancelar,Cancelar,,,取消,取消 -InGame.EmotesMenu.VisitShopToGetEmotes,,,You don't have emotes. Visit Shop to get emotes!,,You don't have emotes. Visit Shop to get emotes!,,,,,,,,,,,, +InGame.EmotesMenu.VisitShopToGetEmotes,,,You don't have emotes. Visit Shop to get emotes!,"Du hast keine Emotes. Besuche den Shop, um Emotes zu besorgen.",You don't have emotes. Visit Shop to get emotes!,No tienes emotes. Visita la Tienda de avatares para conseguir algunos.,No tienes emotes. Visita la Tienda de avatares para conseguir algunos.,Tu n'as d'émotes. Rends-toi dans la section Acheter pour en trouver !,Non hai nessun emote. Visita il negozio per acquistare le emotes!,エモートがありません。ショップに行ってエモートをゲットしてください!,보유 중인 감정 표현이 없습니다. 상점을 방문해 감정 표현을 획득하세요!,Você não tem nenhum emote. Visite a loja para adquirir emotes!,Você não tem nenhum emote. Visite a loja para adquirir emotes!,,,您沒有動作,前往商店購買動作吧!,您沒有動作,前往商店購買動作吧! +InGame.EmotesMenu.ErrorMessageSwitchToR15,,,Switch to your R15 avatar to play Emote.,,Switch to your R15 avatar to play Emote.,,,,,,,,,,,, +InGame.EmotesMenu.ErrorMessageAnimationPlaying,,,You cannot play Emotes during this action.,,You cannot play Emotes during this action.,,,,,,,,,,,, diff --git a/version-guid.txt b/version-guid.txt index 9bfc01623c..4866a143fa 100644 --- a/version-guid.txt +++ b/version-guid.txt @@ -1 +1 @@ -version-0ffd0cc0630345e3 \ No newline at end of file +version-096c60fcfa5e4ca2 \ No newline at end of file diff --git a/version.txt b/version.txt index 09f5a61891..288da4553c 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.456.1.414231 \ No newline at end of file +0.457.0.414557 \ No newline at end of file