bloodrun-editor/makefiles/Props/Project_q3map2.props
serge_shubin 6f78fcb452 Add L2 spherical harmonics light grid to q3map2
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.
2026-04-03 13:52:07 +08:00

43 lines
1.7 KiB
XML
Executable file

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetName>q3map2</TargetName>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>
Q3MAP_VERSION="2.5.17-bloodrun";
RADIANT_VERSION="1.6.0";
RADIANT_MAJOR_VERSION="6";
RADIANT_MINOR_VERSION="0";
WIN32;_WIN32;NOMINMAX;_USE_MATH_DEFINES;
LIBXML_STATIC;
%(PreprocessorDefinitions)
</PreprocessorDefinitions>
<AdditionalIncludeDirectories>
$(Q3Map2SrcDir)shims;
$(Q3Map2SrcDir)q3map2;
$(Q3Map2SrcDir)common;
$(Q3Map2SrcDir)libs;
$(Q3Map2SrcDir)libs\ddslib;
$(Q3Map2SrcDir)include;
$(AssimpSrcDir)include;
$(LibXml2SrcDir)include;
$(LibPngSrcDir);
$(ZlibSrcDir);
$(LibJpegTurboSrcDir);
%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
<!-- q3map2 uses C++20 features (std::span, std::ranges) -->
<ExceptionHandling>Sync</ExceptionHandling>
<LanguageStandard>stdcpplatest</LanguageStandard>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<StackReserveSize>4194304</StackReserveSize>
<AdditionalDependencies>assimp$(LibExt);libxml2$(LibExt);libpng$(LibExt);zlib$(LibExt);ws2_32.lib;bcrypt.lib;libjpeg-turbo$(LibExt);%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories Condition="'$(BuildType)'=='Release'">$(ProjectRoot)build\$(Platform)\Release QC\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories Condition="'$(BuildType)'=='Debug'">$(ProjectRoot)build\$(Platform)\Debug QC\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
</Project>