Implements a new SH light grid that runs alongside the legacy Q3 light grid, storing 9 RGB L2 spherical harmonic coefficients per grid point for accurate directional lighting of dynamic objects from all angles. BSP format: v47 with 19-lump header (160 bytes) when -sh is used, v46 with 17-lump header (144 bytes) otherwise. SH data stored in LUMP_LIGHTGRID_SH (index 18) with a header containing grid bounds/size/mins followed by the coefficient array. Stock Q3 engines read v46 lumps unchanged. New CLI flags: -sh (enable), -gridscalesh (density multiplier, default 2x), -gridsh (explicit cell size). SH grid receives bounced light with -bouncegrid. Also adds libjpeg-turbo as a proper build dependency with its own vcxproj, fixing the previous external engine path requirement. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
55 lines
3.1 KiB
Text
Executable file
55 lines
3.1 KiB
Text
Executable file
|
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
# Visual Studio Version 17
|
|
VisualStudioVersion = 17.14.36908.2
|
|
MinimumVisualStudioVersion = 10.0.40219.1
|
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "q3map2", "q3map2.vcxproj", "{E1A0A3B1-2001-4001-8001-000000000005}"
|
|
EndProject
|
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "assimp", "assimp.vcxproj", "{E1A0A3B1-2001-4001-8001-000000000004}"
|
|
EndProject
|
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng.vcxproj", "{E1A0A3B1-2001-4001-8001-000000000002}"
|
|
EndProject
|
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libxml2", "libxml2.vcxproj", "{E1A0A3B1-2001-4001-8001-000000000003}"
|
|
EndProject
|
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib.vcxproj", "{E1A0A3B1-2001-4001-8001-000000000001}"
|
|
EndProject
|
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjpeg-turbo", "libjpeg-turbo.vcxproj", "{E1A0A3B1-2001-4001-8001-000000000006}"
|
|
EndProject
|
|
Global
|
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
Debug|x64 = Debug|x64
|
|
Release|x64 = Release|x64
|
|
EndGlobalSection
|
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
{E1A0A3B1-2001-4001-8001-000000000005}.Debug|x64.ActiveCfg = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000005}.Debug|x64.Build.0 = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000005}.Release|x64.ActiveCfg = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000005}.Release|x64.Build.0 = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000004}.Debug|x64.ActiveCfg = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000004}.Debug|x64.Build.0 = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000004}.Release|x64.ActiveCfg = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000004}.Release|x64.Build.0 = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000002}.Debug|x64.ActiveCfg = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000002}.Debug|x64.Build.0 = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000002}.Release|x64.ActiveCfg = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000002}.Release|x64.Build.0 = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000003}.Debug|x64.ActiveCfg = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000003}.Debug|x64.Build.0 = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000003}.Release|x64.ActiveCfg = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000003}.Release|x64.Build.0 = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000001}.Debug|x64.ActiveCfg = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000001}.Debug|x64.Build.0 = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000001}.Release|x64.ActiveCfg = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000001}.Release|x64.Build.0 = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000006}.Debug|x64.ActiveCfg = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000006}.Debug|x64.Build.0 = Debug|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000006}.Release|x64.ActiveCfg = Release|x64
|
|
{E1A0A3B1-2001-4001-8001-000000000006}.Release|x64.Build.0 = Release|x64
|
|
EndGlobalSection
|
|
GlobalSection(SolutionProperties) = preSolution
|
|
HideSolutionNode = FALSE
|
|
EndGlobalSection
|
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
|
SolutionGuid = {3C669F3A-FFB5-4A17-A9F2-F7D29754851E}
|
|
EndGlobalSection
|
|
EndGlobal
|