From e00847f64b49fb58a822e682d7ed130ef93cb531 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 23 Jun 2013 11:13:01 +0200 Subject: [PATCH] - GZDoom solution file - missing GL resources for gzdoom.pk3. --- gzdoom.sln | 177 ++++++++++++ wadsrc/static/glstuff/gllight.png | Bin 0 -> 13073 bytes wadsrc/static/glstuff/glpart.png | Bin 0 -> 13343 bytes wadsrc/static/glstuff/glpart2.png | Bin 0 -> 358 bytes wadsrc/static/glstuff/mirror.png | Bin 0 -> 26089 bytes wadsrc/static/shaders/glsl/fogboundary.fp | 36 +++ wadsrc/static/shaders/glsl/func_brightmap.fp | 9 + wadsrc/static/shaders/glsl/func_normal.fp | 7 + wadsrc/static/shaders/glsl/func_notexture.fp | 6 + wadsrc/static/shaders/glsl/func_warp1.fp | 17 ++ wadsrc/static/shaders/glsl/func_warp2.fp | 18 ++ wadsrc/static/shaders/glsl/func_wavex.fp | 13 + wadsrc/static/shaders/glsl/fuzz_jagged.fp | 25 ++ wadsrc/static/shaders/glsl/fuzz_noise.fp | 21 ++ wadsrc/static/shaders/glsl/fuzz_smooth.fp | 19 ++ .../static/shaders/glsl/fuzz_smoothnoise.fp | 20 ++ .../shaders/glsl/fuzz_smoothtranslucent.fp | 19 ++ wadsrc/static/shaders/glsl/fuzz_standard.fp | 22 ++ wadsrc/static/shaders/glsl/fuzz_swirly.fp | 19 ++ wadsrc/static/shaders/glsl/main.fp | 262 ++++++++++++++++++ wadsrc/static/shaders/glsl/main.vp | 75 +++++ wadsrc/static/shaders/glsl/main_colormap.fp | 46 +++ 22 files changed, 811 insertions(+) create mode 100644 gzdoom.sln create mode 100644 wadsrc/static/glstuff/gllight.png create mode 100644 wadsrc/static/glstuff/glpart.png create mode 100644 wadsrc/static/glstuff/glpart2.png create mode 100644 wadsrc/static/glstuff/mirror.png create mode 100644 wadsrc/static/shaders/glsl/fogboundary.fp create mode 100644 wadsrc/static/shaders/glsl/func_brightmap.fp create mode 100644 wadsrc/static/shaders/glsl/func_normal.fp create mode 100644 wadsrc/static/shaders/glsl/func_notexture.fp create mode 100644 wadsrc/static/shaders/glsl/func_warp1.fp create mode 100644 wadsrc/static/shaders/glsl/func_warp2.fp create mode 100644 wadsrc/static/shaders/glsl/func_wavex.fp create mode 100644 wadsrc/static/shaders/glsl/fuzz_jagged.fp create mode 100644 wadsrc/static/shaders/glsl/fuzz_noise.fp create mode 100644 wadsrc/static/shaders/glsl/fuzz_smooth.fp create mode 100644 wadsrc/static/shaders/glsl/fuzz_smoothnoise.fp create mode 100644 wadsrc/static/shaders/glsl/fuzz_smoothtranslucent.fp create mode 100644 wadsrc/static/shaders/glsl/fuzz_standard.fp create mode 100644 wadsrc/static/shaders/glsl/fuzz_swirly.fp create mode 100644 wadsrc/static/shaders/glsl/main.fp create mode 100644 wadsrc/static/shaders/glsl/main.vp create mode 100644 wadsrc/static/shaders/glsl/main_colormap.fp diff --git a/gzdoom.sln b/gzdoom.sln new file mode 100644 index 000000000..16d1acc3d --- /dev/null +++ b/gzdoom.sln @@ -0,0 +1,177 @@ +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gzdoom", "gzdoom.vcproj", "{8049475B-5C87-46F9-9358-635218A4EF18}" + ProjectSection(ProjectDependencies) = postProject + {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96} = {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96} + {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63} = {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63} + {6077B7D6-349F-4077-B552-3BC302EF5859} = {6077B7D6-349F-4077-B552-3BC302EF5859} + {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E} = {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E} + {0F80ACBF-460E-44F0-B28E-B3272D1774A7} = {0F80ACBF-460E-44F0-B28E-B3272D1774A7} + {DA47396F-60C1-4BDE-A977-7F7DE461CF77} = {DA47396F-60C1-4BDE-A977-7F7DE461CF77} + {1D179D4B-F008-431B-8C72-111F8372584F} = {1D179D4B-F008-431B-8C72-111F8372584F} + {B68E0ABF-B627-48A3-A92F-D8F827A75054} = {B68E0ABF-B627-48A3-A92F-D8F827A75054} + {8997289F-10BF-4678-8BAA-3BB509C84953} = {8997289F-10BF-4678-8BAA-3BB509C84953} + {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466} = {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466} + {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4} = {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4} + {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F} = {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib.vcproj", "{F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lemon", "tools\lemon\lemon.vcproj", "{0F80ACBF-460E-44F0-B28E-B3272D1774A7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "re2c", "tools\re2c\re2c.vcproj", "{667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wadsrc", "wadsrc\wadsrc.vcproj", "{1D179D4B-F008-431B-8C72-111F8372584F}" + ProjectSection(ProjectDependencies) = postProject + {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3} = {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "updaterevision", "tools\updaterevision\updaterevision.vcproj", "{6077B7D6-349F-4077-B552-3BC302EF5859}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpeg-6b", "jpeg-6b\jpeg-6b.vcproj", "{AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fixrtext", "tools\fixrtext\fixrtext.vcproj", "{DA47396F-60C1-4BDE-A977-7F7DE461CF77}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dumb_static", "dumb\vc6\dumb_static\dumb_static.vcproj", "{8997289F-10BF-4678-8BAA-3BB509C84953}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdtoa", "gdtoa\gdtoa.vcproj", "{B68E0ABF-B627-48A3-A92F-D8F827A75054}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zipdir", "tools\zipdir\zipdir.vcproj", "{24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}" + ProjectSection(ProjectDependencies) = postProject + {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4} = {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4} + {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63} = {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63} + {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F} = {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lzmalib", "lzma\lzmalib.vcproj", "{6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bzip2", "bzip2\bzip2.vcproj", "{A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "game-music-emu", "game-music-emu\game-music-emu.vcproj", "{9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8049475B-5C87-46F9-9358-635218A4EF18}.Debug|Win32.ActiveCfg = Debug|Win32 + {8049475B-5C87-46F9-9358-635218A4EF18}.Debug|Win32.Build.0 = Debug|Win32 + {8049475B-5C87-46F9-9358-635218A4EF18}.Debug|x64.ActiveCfg = Debug|x64 + {8049475B-5C87-46F9-9358-635218A4EF18}.Debug|x64.Build.0 = Debug|x64 + {8049475B-5C87-46F9-9358-635218A4EF18}.Release|Win32.ActiveCfg = Release|Win32 + {8049475B-5C87-46F9-9358-635218A4EF18}.Release|Win32.Build.0 = Release|Win32 + {8049475B-5C87-46F9-9358-635218A4EF18}.Release|x64.ActiveCfg = Release|x64 + {8049475B-5C87-46F9-9358-635218A4EF18}.Release|x64.Build.0 = Release|x64 + {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Debug|Win32.ActiveCfg = Debug|Win32 + {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Debug|Win32.Build.0 = Debug|Win32 + {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Debug|x64.ActiveCfg = Debug|x64 + {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Debug|x64.Build.0 = Debug|x64 + {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Release|Win32.ActiveCfg = Release|Win32 + {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Release|Win32.Build.0 = Release|Win32 + {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Release|x64.ActiveCfg = Release|x64 + {F9D9E7D4-E1A2-4866-9E85-B1B14137EE63}.Release|x64.Build.0 = Release|x64 + {0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Debug|Win32.ActiveCfg = Debug|Win32 + {0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Debug|Win32.Build.0 = Debug|Win32 + {0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Debug|x64.ActiveCfg = Release|Win32 + {0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Debug|x64.Build.0 = Release|Win32 + {0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Release|Win32.ActiveCfg = Release|Win32 + {0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Release|Win32.Build.0 = Release|Win32 + {0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Release|x64.ActiveCfg = Release|Win32 + {0F80ACBF-460E-44F0-B28E-B3272D1774A7}.Release|x64.Build.0 = Release|Win32 + {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Debug|Win32.ActiveCfg = Debug|Win32 + {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Debug|Win32.Build.0 = Debug|Win32 + {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Debug|x64.ActiveCfg = Release|Win32 + {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Debug|x64.Build.0 = Release|Win32 + {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Release|Win32.ActiveCfg = Release|Win32 + {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Release|Win32.Build.0 = Release|Win32 + {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Release|x64.ActiveCfg = Release|Win32 + {667D2EE7-C357-49E2-9BAB-0A4A45F0F76E}.Release|x64.Build.0 = Release|Win32 + {1D179D4B-F008-431B-8C72-111F8372584F}.Debug|Win32.ActiveCfg = Debug|Win32 + {1D179D4B-F008-431B-8C72-111F8372584F}.Debug|Win32.Build.0 = Debug|Win32 + {1D179D4B-F008-431B-8C72-111F8372584F}.Debug|x64.ActiveCfg = Release|Win32 + {1D179D4B-F008-431B-8C72-111F8372584F}.Debug|x64.Build.0 = Release|Win32 + {1D179D4B-F008-431B-8C72-111F8372584F}.Release|Win32.ActiveCfg = Release|Win32 + {1D179D4B-F008-431B-8C72-111F8372584F}.Release|Win32.Build.0 = Release|Win32 + {1D179D4B-F008-431B-8C72-111F8372584F}.Release|x64.ActiveCfg = Release|Win32 + {1D179D4B-F008-431B-8C72-111F8372584F}.Release|x64.Build.0 = Release|Win32 + {6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|Win32.ActiveCfg = Debug|Win32 + {6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|Win32.Build.0 = Debug|Win32 + {6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|x64.ActiveCfg = Debug|x64 + {6077B7D6-349F-4077-B552-3BC302EF5859}.Debug|x64.Build.0 = Debug|x64 + {6077B7D6-349F-4077-B552-3BC302EF5859}.Release|Win32.ActiveCfg = Release|Win32 + {6077B7D6-349F-4077-B552-3BC302EF5859}.Release|Win32.Build.0 = Release|Win32 + {6077B7D6-349F-4077-B552-3BC302EF5859}.Release|x64.ActiveCfg = Release|x64 + {6077B7D6-349F-4077-B552-3BC302EF5859}.Release|x64.Build.0 = Release|x64 + {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Debug|Win32.ActiveCfg = Debug|Win32 + {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Debug|Win32.Build.0 = Debug|Win32 + {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Debug|x64.ActiveCfg = Debug|x64 + {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Debug|x64.Build.0 = Debug|x64 + {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Release|Win32.ActiveCfg = Release|Win32 + {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Release|Win32.Build.0 = Release|Win32 + {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Release|x64.ActiveCfg = Release|x64 + {AC3F5340-40CB-4C3A-8AA7-CB7158DB4466}.Release|x64.Build.0 = Release|x64 + {DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Debug|Win32.ActiveCfg = Debug|Win32 + {DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Debug|Win32.Build.0 = Debug|Win32 + {DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Debug|x64.ActiveCfg = Debug|Win32 + {DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Debug|x64.Build.0 = Debug|Win32 + {DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Release|Win32.ActiveCfg = Release|Win32 + {DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Release|Win32.Build.0 = Release|Win32 + {DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Release|x64.ActiveCfg = Release|Win32 + {DA47396F-60C1-4BDE-A977-7F7DE461CF77}.Release|x64.Build.0 = Release|Win32 + {8997289F-10BF-4678-8BAA-3BB509C84953}.Debug|Win32.ActiveCfg = Debug|Win32 + {8997289F-10BF-4678-8BAA-3BB509C84953}.Debug|Win32.Build.0 = Debug|Win32 + {8997289F-10BF-4678-8BAA-3BB509C84953}.Debug|x64.ActiveCfg = Debug|x64 + {8997289F-10BF-4678-8BAA-3BB509C84953}.Debug|x64.Build.0 = Debug|x64 + {8997289F-10BF-4678-8BAA-3BB509C84953}.Release|Win32.ActiveCfg = Release|Win32 + {8997289F-10BF-4678-8BAA-3BB509C84953}.Release|Win32.Build.0 = Release|Win32 + {8997289F-10BF-4678-8BAA-3BB509C84953}.Release|x64.ActiveCfg = Release|x64 + {8997289F-10BF-4678-8BAA-3BB509C84953}.Release|x64.Build.0 = Release|x64 + {B68E0ABF-B627-48A3-A92F-D8F827A75054}.Debug|Win32.ActiveCfg = Debug|Win32 + {B68E0ABF-B627-48A3-A92F-D8F827A75054}.Debug|Win32.Build.0 = Debug|Win32 + {B68E0ABF-B627-48A3-A92F-D8F827A75054}.Debug|x64.ActiveCfg = Debug|x64 + {B68E0ABF-B627-48A3-A92F-D8F827A75054}.Debug|x64.Build.0 = Debug|x64 + {B68E0ABF-B627-48A3-A92F-D8F827A75054}.Release|Win32.ActiveCfg = Release|Win32 + {B68E0ABF-B627-48A3-A92F-D8F827A75054}.Release|Win32.Build.0 = Release|Win32 + {B68E0ABF-B627-48A3-A92F-D8F827A75054}.Release|x64.ActiveCfg = Release|x64 + {B68E0ABF-B627-48A3-A92F-D8F827A75054}.Release|x64.Build.0 = Release|x64 + {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Debug|Win32.ActiveCfg = Debug|Win32 + {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Debug|Win32.Build.0 = Debug|Win32 + {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Debug|x64.ActiveCfg = Debug|x64 + {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Debug|x64.Build.0 = Debug|x64 + {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Release|Win32.ActiveCfg = Release|Win32 + {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Release|Win32.Build.0 = Release|Win32 + {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Release|x64.ActiveCfg = Release|x64 + {24A19C02-F041-4AB0-A1A1-02E1E88EDBD3}.Release|x64.Build.0 = Release|x64 + {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Debug|Win32.ActiveCfg = Debug|Win32 + {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Debug|Win32.Build.0 = Debug|Win32 + {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Debug|x64.ActiveCfg = Debug|x64 + {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Debug|x64.Build.0 = Debug|x64 + {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Release|Win32.ActiveCfg = Release|Win32 + {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Release|Win32.Build.0 = Release|Win32 + {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Release|x64.ActiveCfg = Release|x64 + {6EB27E78-7C7A-4F08-8E19-957E8EB3A20F}.Release|x64.Build.0 = Release|x64 + {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Debug|Win32.ActiveCfg = Debug|Win32 + {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Debug|Win32.Build.0 = Debug|Win32 + {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Debug|x64.ActiveCfg = Debug|x64 + {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Debug|x64.Build.0 = Debug|x64 + {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Release|Win32.ActiveCfg = Release|Win32 + {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Release|Win32.Build.0 = Release|Win32 + {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Release|x64.ActiveCfg = Release|x64 + {A7DE5C73-D623-4118-A48A-BDFD1FAE97D4}.Release|x64.Build.0 = Release|x64 + {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Debug|Win32.ActiveCfg = Release|Win32 + {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Debug|Win32.Build.0 = Release|Win32 + {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Debug|x64.ActiveCfg = Release|x64 + {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Debug|x64.Build.0 = Release|x64 + {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Release|Win32.ActiveCfg = Release|Win32 + {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Release|Win32.Build.0 = Release|Win32 + {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Release|x64.ActiveCfg = Release|x64 + {9B465A9E-E5C7-4577-B559-3CA2F7AE7D96}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/wadsrc/static/glstuff/gllight.png b/wadsrc/static/glstuff/gllight.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a296b9f856f4654aae244e3400a4f33fd95902 GIT binary patch literal 13073 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 b^8eXyONlr0HB~$X?RD{V^>bP0l+XkK3f!mG literal 0 HcmV?d00001 diff --git a/wadsrc/static/glstuff/glpart.png b/wadsrc/static/glstuff/glpart.png new file mode 100644 index 0000000000000000000000000000000000000000..ddb0aea8ea8a74843fa0709b41264552043bede0 GIT binary patch literal 13343 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%0AgJlrFjz`@KfqxmC4=g>C( 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 Nc)I$ztaD0e0suvml*j-8 literal 0 HcmV?d00001 diff --git a/wadsrc/static/glstuff/mirror.png b/wadsrc/static/glstuff/mirror.png new file mode 100644 index 0000000000000000000000000000000000000000..08a6abcbe6705e5c76aeb85608df8784f69904f6 GIT binary patch literal 26089 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 0) + { + #if (!defined(NO_SM4) || defined(DOOMLIGHT)) && !defined SOFTLIGHT + // special lighting mode 'Doom' not available on older cards for performance reasons. + if (fogdist < fogparm.y) + { + color.rgb *= fogparm.x - (fogdist / fogparm.y) * (fogparm.x - 1.0); + } + #endif + + //color = vec4(color.rgb * (1.0 - fogfactor), color.a); + color.rgb = mix(vec3(0.0, 0.0, 0.0), color.rgb, fogfactor); + } + #endif + + #ifndef NO_GLOW + // + // handle glowing walls + // + if (topglowcolor.a > 0.0 && glowdist.x < topglowcolor.a) + { + color.rgb += desaturate(topglowcolor * (1.0 - glowdist.x / topglowcolor.a)).rgb; + } + if (bottomglowcolor.a > 0.0 && glowdist.y < bottomglowcolor.a) + { + color.rgb += desaturate(bottomglowcolor * (1.0 - glowdist.y / bottomglowcolor.a)).rgb; + } + color = min(color, 1.0); + #endif + + // calculation of actual light color is complete. + return color; +} + +//=========================================================================== +// +// Gets a texel and performs common manipulations +// +//=========================================================================== + +vec4 getTexel(vec2 st) +{ + vec4 texel = texture2D(tex, st); + + #ifndef NO_TEXTUREMODE + // + // Apply texture modes + // + if (texturemode == 2) + { + texel.a = 1.0; + } + else if (texturemode == 1) + { + texel.rgb = vec3(1.0,1.0,1.0); + } + #endif + + return desaturate(texel); +} + +//=========================================================================== +// +// Applies colored fog +// +//=========================================================================== + +#ifndef NO_FOG +vec4 applyFog(vec4 frag, float fogfactor) +{ + return vec4(mix(fogcolor.rgb, frag.rgb, fogfactor), frag.a); +} +#endif + + +//=========================================================================== +// +// Main shader routine +// +//=========================================================================== + +void main() +{ + float fogdist = 0.0; + float fogfactor = 0.0; + + #ifdef DYNLIGHT + vec4 dynlight = vec4(0.0,0.0,0.0,0.0); + vec4 addlight = vec4(0.0,0.0,0.0,0.0); + #endif + + #ifndef NO_FOG + // + // calculate fog factor + // + if (fogenabled != 0) + { + #ifndef NO_SM4 + if (fogenabled == 1 || fogenabled == -1) + { + fogdist = pixelpos.w; + } + else + { + fogdist = max(16.0, distance(pixelpos.xyz, camerapos)); + } + #elif !defined(FOG_RADIAL) + fogdist = pixelpos.w; + #else + fogdist = max(16.0, distance(pixelpos.xyz, camerapos)); + #endif + fogfactor = exp2 (fogparm.z * fogdist); + } + #endif + + vec4 frag = getLightColor(fogdist, fogfactor); + + + #ifdef DYNLIGHT + for(int i=0; i