template project, first version

This commit is contained in:
rachelchu
2017-10-11 15:01:05 +02:00
commit 8e902224cf
794 changed files with 326190 additions and 0 deletions

20
DirectXTK/.gitattributes vendored Normal file
View File

@@ -0,0 +1,20 @@
# Auto detect text files and perform LF normalization
* text=auto
# Explicitly declare code/VS files as CRLF
*.cs eol=crlf
*.cpp eol=crlf
*.cmd eol=crlf
*.h eol=crlf
*.hlsl eol=crlf
*.hlsli eol=crlf
*.fx eol=crlf
*.fxh eol=crlf
*.inc eol=crlf
*.inl eol=crlf
*.vcxproj eol=crlf
*.filters eol=crlf
*.sln eol=crlf
# Explicitly declare resource files as binary
*.pdb binary

26
DirectXTK/.gitignore vendored Normal file
View File

@@ -0,0 +1,26 @@
*.psess
*.vsp
*.log
*.err
*.wrn
*.suo
*.sdf
*.user
*.i
*.vspscc
*.opensdf
*.opendb
*.ipch
*.cache
*.tlog
*.lastbuildstate
*.ilk
*.VC.db
.vs
Bin
/Src/Shaders/Compiled/XboxOne*.inc
/Src/Shaders/Compiled/XboxOne*.pdb
/ipch
/MakeSpriteFont/obj
/Tests
/wiki

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\Inc\Audio.h" />
<ClInclude Include="SoundCommon.h" />
<ClInclude Include="WaveBankReader.h" />
<ClInclude Include="WAVFileReader.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp" />
<ClCompile Include="SoundCommon.cpp" />
<ClCompile Include="SoundEffect.cpp" />
<ClCompile Include="SoundEffectInstance.cpp" />
<ClCompile Include="WaveBank.cpp" />
<ClCompile Include="WaveBankReader.cpp" />
<ClCompile Include="WAVFileReader.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{4F150A30-CECB-49D1-8283-6A3F57438CF5}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTKAudioDX</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2013_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x86</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2013_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x64;</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2013_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x86</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2013_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x64;</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Inc">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Src">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="WaveBankReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="WAVFileReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="..\Inc\Audio.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="SoundCommon.h">
<Filter>Inc</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBankReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WAVFileReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffect.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBank.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundCommon.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,185 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\Inc\Audio.h" />
<ClInclude Include="SoundCommon.h" />
<ClInclude Include="WaveBankReader.h" />
<ClInclude Include="WAVFileReader.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp" />
<ClCompile Include="SoundCommon.cpp" />
<ClCompile Include="SoundEffect.cpp" />
<ClCompile Include="SoundEffectInstance.cpp" />
<ClCompile Include="WaveBank.cpp" />
<ClCompile Include="WaveBankReader.cpp" />
<ClCompile Include="WAVFileReader.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{4F150A30-CECB-49D1-8283-6A3F57438CF5}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTKAudio</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Inc">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Src">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="WaveBankReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="WAVFileReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="..\Inc\Audio.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="SoundCommon.h">
<Filter>Inc</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBankReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WAVFileReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffect.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBank.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundCommon.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\Inc\Audio.h" />
<ClInclude Include="SoundCommon.h" />
<ClInclude Include="WaveBankReader.h" />
<ClInclude Include="WAVFileReader.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp" />
<ClCompile Include="SoundCommon.cpp" />
<ClCompile Include="SoundEffect.cpp" />
<ClCompile Include="SoundEffectInstance.cpp" />
<ClCompile Include="WaveBank.cpp" />
<ClCompile Include="WaveBankReader.cpp" />
<ClCompile Include="WAVFileReader.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{4F150A30-CECB-49D1-8283-6A3F57438CF5}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTKAudioDX</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2015_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x86</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2015_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x64;</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2015_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x86</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2015_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x64;</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Inc">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Src">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="WaveBankReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="WAVFileReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="..\Inc\Audio.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="SoundCommon.h">
<Filter>Inc</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBankReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WAVFileReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffect.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBank.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundCommon.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,185 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\Inc\Audio.h" />
<ClInclude Include="SoundCommon.h" />
<ClInclude Include="WaveBankReader.h" />
<ClInclude Include="WAVFileReader.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp" />
<ClCompile Include="SoundCommon.cpp" />
<ClCompile Include="SoundEffect.cpp" />
<ClCompile Include="SoundEffectInstance.cpp" />
<ClCompile Include="WaveBank.cpp" />
<ClCompile Include="WaveBankReader.cpp" />
<ClCompile Include="WAVFileReader.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{4F150A30-CECB-49D1-8283-6A3F57438CF5}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTKAudio</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Inc">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Src">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="WaveBankReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="WAVFileReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="..\Inc\Audio.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="SoundCommon.h">
<Filter>Inc</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBankReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WAVFileReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffect.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBank.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundCommon.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,202 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\Inc\Audio.h" />
<ClInclude Include="SoundCommon.h" />
<ClInclude Include="WaveBankReader.h" />
<ClInclude Include="WAVFileReader.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp" />
<ClCompile Include="SoundCommon.cpp" />
<ClCompile Include="SoundEffect.cpp" />
<ClCompile Include="SoundEffectInstance.cpp" />
<ClCompile Include="WaveBank.cpp" />
<ClCompile Include="WaveBankReader.cpp" />
<ClCompile Include="WAVFileReader.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{4F150A30-CECB-49D1-8283-6A3F57438CF5}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTKAudioDX</RootNamespace>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2017_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x86</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2017_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x64;</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2017_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x86</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2017_DXSDK\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017_DXSDK\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioDX</TargetName>
<ExecutablePath>$(ExecutablePath);$(DXSDK_DIR)Utilities\bin\x64;$(DXSDK_DIR)Utilities\bin\x86</ExecutablePath>
<IncludePath>$(IncludePath);$(DXSDK_DIR)Include</IncludePath>
<LibraryPath>$(LibraryPath);$(DXSDK_DIR)Lib\x64;</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Inc">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Src">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="WaveBankReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="WAVFileReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="..\Inc\Audio.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="SoundCommon.h">
<Filter>Inc</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBankReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WAVFileReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffect.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBank.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundCommon.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,194 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\Inc\Audio.h" />
<ClInclude Include="SoundCommon.h" />
<ClInclude Include="WaveBankReader.h" />
<ClInclude Include="WAVFileReader.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp" />
<ClCompile Include="SoundCommon.cpp" />
<ClCompile Include="SoundEffect.cpp" />
<ClCompile Include="SoundEffectInstance.cpp" />
<ClCompile Include="WaveBank.cpp" />
<ClCompile Include="WaveBankReader.cpp" />
<ClCompile Include="WAVFileReader.cpp" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{4F150A30-CECB-49D1-8283-6A3F57438CF5}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTKAudio</RootNamespace>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTKAudioWin8</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0602;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\Inc;..\Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Inc">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Src">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="WaveBankReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="WAVFileReader.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="..\Inc\Audio.h">
<Filter>Inc</Filter>
</ClInclude>
<ClInclude Include="SoundCommon.h">
<Filter>Inc</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="AudioEngine.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBankReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WAVFileReader.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffect.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="WaveBank.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="SoundCommon.cpp">
<Filter>Src</Filter>
</ClCompile>
<ClCompile Include="DynamicSoundEffectInstance.cpp">
<Filter>Src</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,374 @@
//--------------------------------------------------------------------------------------
// File: DynamicSoundEffectInstance.cpp
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#include "pch.h"
#include "SoundCommon.h"
using namespace DirectX;
//======================================================================================
// DynamicSoundEffectInstance
//======================================================================================
// Internal object implementation class.
class DynamicSoundEffectInstance::Impl : public IVoiceNotify
{
public:
Impl( _In_ AudioEngine* engine,
_In_ DynamicSoundEffectInstance* object, std::function<void(DynamicSoundEffectInstance*)>& bufferNeeded,
int sampleRate, int channels, int sampleBits, SOUND_EFFECT_INSTANCE_FLAGS flags ) :
mBase(),
mBufferNeeded( nullptr ),
mObject( object )
{
if ( ( sampleRate < XAUDIO2_MIN_SAMPLE_RATE )
|| ( sampleRate > XAUDIO2_MAX_SAMPLE_RATE ) )
{
DebugTrace( "DynamicSoundEffectInstance sampleRate must be in range %u...%u\n", XAUDIO2_MIN_SAMPLE_RATE, XAUDIO2_MAX_SAMPLE_RATE );
throw std::invalid_argument( "DynamicSoundEffectInstance" );
}
if ( !channels || ( channels > 8 ) )
{
DebugTrace( "DynamicSoundEffectInstance channels must be in range 1...8\n" );
throw std::invalid_argument( "DynamicSoundEffectInstance" );
}
switch ( sampleBits )
{
case 8:
case 16:
break;
default:
DebugTrace( "DynamicSoundEffectInstance sampleBits must be 8-bit or 16-bit\n" );
throw std::invalid_argument( "DynamicSoundEffectInstance" );
}
mBufferEvent.reset( CreateEventEx( nullptr, nullptr, 0, EVENT_MODIFY_STATE | SYNCHRONIZE ) );
if ( !mBufferEvent )
{
throw std::exception( "CreateEvent" );
}
CreateIntegerPCM( &mWaveFormat, sampleRate, channels, sampleBits );
assert( engine != 0 );
engine->RegisterNotify( this, true );
mBase.Initialize( engine, &mWaveFormat, flags );
mBufferNeeded = bufferNeeded;
}
virtual ~Impl()
{
mBase.DestroyVoice();
if ( mBase.engine )
{
mBase.engine->UnregisterNotify( this, false, true );
mBase.engine = nullptr;
}
}
void Play();
void Resume();
void SubmitBuffer( _In_reads_bytes_(audioBytes) const uint8_t* pAudioData, uint32_t offset, size_t audioBytes );
const WAVEFORMATEX* GetFormat() const { return &mWaveFormat; } ;
// IVoiceNotify
virtual void __cdecl OnBufferEnd() override
{
SetEvent( mBufferEvent.get() );
}
virtual void __cdecl OnCriticalError() override
{
mBase.OnCriticalError();
}
virtual void __cdecl OnReset() override
{
mBase.OnReset();
}
virtual void __cdecl OnUpdate() override;
virtual void __cdecl OnDestroyEngine() override
{
mBase.OnDestroy();
}
virtual void __cdecl OnTrim() override
{
mBase.OnTrim();
}
virtual void __cdecl GatherStatistics( AudioStatistics& stats ) const override
{
mBase.GatherStatistics(stats);
}
SoundEffectInstanceBase mBase;
private:
ScopedHandle mBufferEvent;
std::function<void(DynamicSoundEffectInstance*)> mBufferNeeded;
DynamicSoundEffectInstance* mObject;
WAVEFORMATEX mWaveFormat;
};
void DynamicSoundEffectInstance::Impl::Play()
{
if ( !mBase.voice )
{
mBase.AllocateVoice( &mWaveFormat );
}
(void)mBase.Play();
if ( mBase.voice && ( mBase.state == PLAYING ) && ( mBase.GetPendingBufferCount() <= 2 ) )
{
SetEvent( mBufferEvent.get() );
}
}
void DynamicSoundEffectInstance::Impl::Resume()
{
if ( mBase.voice && ( mBase.state == PAUSED ) )
{
mBase.Resume();
if ( ( mBase.state == PLAYING ) && ( mBase.GetPendingBufferCount() <= 2 ) )
{
SetEvent( mBufferEvent.get() );
}
}
}
_Use_decl_annotations_
void DynamicSoundEffectInstance::Impl::SubmitBuffer( const uint8_t* pAudioData, uint32_t offset, size_t audioBytes )
{
if ( !pAudioData || !audioBytes )
throw std::exception( "Invalid audio data buffer" );
if ( audioBytes > UINT32_MAX )
throw std::out_of_range( "SubmitBuffer" );
XAUDIO2_BUFFER buffer = {};
buffer.AudioBytes = static_cast<UINT32>( audioBytes );
buffer.pAudioData = pAudioData;
if( offset )
{
assert( mWaveFormat.wFormatTag == WAVE_FORMAT_PCM );
buffer.PlayBegin = offset / mWaveFormat.nBlockAlign;
buffer.PlayLength = static_cast<UINT32>( ( audioBytes - offset ) / mWaveFormat.nBlockAlign );
}
buffer.pContext = this;
HRESULT hr = mBase.voice->SubmitSourceBuffer( &buffer, nullptr );
if ( FAILED(hr) )
{
#ifdef _DEBUG
DebugTrace( "ERROR: DynamicSoundEffectInstance failed (%08X) when submitting buffer:\n", hr );
DebugTrace( "\tFormat Tag %u, %u channels, %u-bit, %u Hz, %Iu bytes [%u offset)\n", mWaveFormat.wFormatTag,
mWaveFormat.nChannels, mWaveFormat.wBitsPerSample, mWaveFormat.nSamplesPerSec, audioBytes, offset );
#endif
throw std::exception( "SubmitSourceBuffer" );
}
}
void DynamicSoundEffectInstance::Impl::OnUpdate()
{
DWORD result = WaitForSingleObjectEx( mBufferEvent.get(), 0, FALSE );
switch( result )
{
case WAIT_TIMEOUT:
break;
case WAIT_OBJECT_0:
if( mBufferNeeded )
{
// This callback happens on the same thread that called AudioEngine::Update()
mBufferNeeded( mObject );
}
break;
case WAIT_FAILED:
throw std::exception( "WaitForSingleObjectEx" );
}
}
//--------------------------------------------------------------------------------------
// DynamicSoundEffectInstance
//--------------------------------------------------------------------------------------
#pragma warning( disable : 4355 )
// Public constructors
_Use_decl_annotations_
DynamicSoundEffectInstance::DynamicSoundEffectInstance( AudioEngine* engine,
std::function<void(DynamicSoundEffectInstance*)> bufferNeeded,
int sampleRate, int channels, int sampleBits, SOUND_EFFECT_INSTANCE_FLAGS flags ) :
pImpl( new Impl( engine, this, bufferNeeded, sampleRate, channels, sampleBits, flags ) )
{
}
// Move constructor.
DynamicSoundEffectInstance::DynamicSoundEffectInstance(DynamicSoundEffectInstance&& moveFrom)
: pImpl(std::move(moveFrom.pImpl))
{
}
// Move assignment.
DynamicSoundEffectInstance& DynamicSoundEffectInstance::operator= (DynamicSoundEffectInstance&& moveFrom)
{
pImpl = std::move(moveFrom.pImpl);
return *this;
}
// Public destructor.
DynamicSoundEffectInstance::~DynamicSoundEffectInstance()
{
}
// Public methods.
void DynamicSoundEffectInstance::Play()
{
pImpl->Play();
}
void DynamicSoundEffectInstance::Stop( bool immediate )
{
bool looped = false;
pImpl->mBase.Stop( immediate, looped );
}
void DynamicSoundEffectInstance::Pause()
{
pImpl->mBase.Pause();
}
void DynamicSoundEffectInstance::Resume()
{
pImpl->Resume();
}
void DynamicSoundEffectInstance::SetVolume( float volume )
{
pImpl->mBase.SetVolume( volume );
}
void DynamicSoundEffectInstance::SetPitch( float pitch )
{
pImpl->mBase.SetPitch( pitch );
}
void DynamicSoundEffectInstance::SetPan( float pan )
{
pImpl->mBase.SetPan( pan );
}
void DynamicSoundEffectInstance::Apply3D( const AudioListener& listener, const AudioEmitter& emitter, bool rhcoords )
{
pImpl->mBase.Apply3D( listener, emitter, rhcoords );
}
_Use_decl_annotations_
void DynamicSoundEffectInstance::SubmitBuffer( const uint8_t* pAudioData, size_t audioBytes )
{
pImpl->SubmitBuffer( pAudioData, 0, audioBytes );
}
_Use_decl_annotations_
void DynamicSoundEffectInstance::SubmitBuffer( const uint8_t* pAudioData, uint32_t offset, size_t audioBytes )
{
pImpl->SubmitBuffer( pAudioData, offset, audioBytes );
}
// Public accessors.
SoundState DynamicSoundEffectInstance::GetState()
{
return pImpl->mBase.GetState( false );
}
size_t DynamicSoundEffectInstance::GetSampleDuration( size_t bytes ) const
{
auto wfx = pImpl->GetFormat();
if ( !wfx || !wfx->wBitsPerSample || !wfx->nChannels )
return 0;
return static_cast<size_t>( ( uint64_t( bytes ) * 8 )
/ uint64_t( wfx->wBitsPerSample * wfx->nChannels ) );
}
size_t DynamicSoundEffectInstance::GetSampleDurationMS( size_t bytes ) const
{
auto wfx = pImpl->GetFormat();
if ( !wfx || !wfx->nAvgBytesPerSec )
return 0;
return static_cast<size_t>( ( uint64_t(bytes) * 1000 ) / wfx->nAvgBytesPerSec );
}
size_t DynamicSoundEffectInstance::GetSampleSizeInBytes( uint64_t duration ) const
{
auto wfx = pImpl->GetFormat();
if ( !wfx || !wfx->nSamplesPerSec )
return 0;
return static_cast<size_t>( ( ( duration * wfx->nSamplesPerSec ) / 1000 ) * wfx->nBlockAlign );
}
int DynamicSoundEffectInstance::GetPendingBufferCount() const
{
return pImpl->mBase.GetPendingBufferCount();
}
const WAVEFORMATEX* DynamicSoundEffectInstance::GetFormat() const
{
return pImpl->GetFormat();
}

View File

@@ -0,0 +1,789 @@
//--------------------------------------------------------------------------------------
// File: SoundCommon.cpp
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#include "pch.h"
#include "SoundCommon.h"
using namespace DirectX;
namespace
{
template <typename T> WORD ChannelsSpecifiedInMask(T x)
{
WORD bitCount = 0;
while (x) {++bitCount; x &= (x-1);}
return bitCount;
}
}
//======================================================================================
// Wave format utilities
//======================================================================================
bool DirectX::IsValid( _In_ const WAVEFORMATEX* wfx )
{
if ( !wfx )
return false;
if ( !wfx->nChannels )
{
DebugTrace( "ERROR: Wave format must have at least 1 channel\n" );
return false;
}
if ( wfx->nChannels > XAUDIO2_MAX_AUDIO_CHANNELS )
{
DebugTrace( "ERROR: Wave format must have less than %u channels (%u)\n", XAUDIO2_MAX_AUDIO_CHANNELS, wfx->nChannels );
return false;
}
if ( !wfx->nSamplesPerSec )
{
DebugTrace( "ERROR: Wave format cannot have a sample rate of 0\n" );
return false;
}
if ( ( wfx->nSamplesPerSec < XAUDIO2_MIN_SAMPLE_RATE )
|| ( wfx->nSamplesPerSec > XAUDIO2_MAX_SAMPLE_RATE ) )
{
DebugTrace( "ERROR: Wave format channel count must be in range %u..%u (%u)\n", XAUDIO2_MIN_SAMPLE_RATE, XAUDIO2_MAX_SAMPLE_RATE, wfx->nSamplesPerSec );
return false;
}
switch ( wfx->wFormatTag )
{
case WAVE_FORMAT_PCM:
switch( wfx->wBitsPerSample )
{
case 8:
case 16:
case 24:
case 32:
break;
default:
DebugTrace( "ERROR: Wave format integer PCM must have 8, 16, 24, or 32 bits per sample (%u)\n", wfx->wBitsPerSample );
return false;
}
if ( wfx->nBlockAlign != ( wfx->nChannels * wfx->wBitsPerSample / 8 ) )
{
DebugTrace( "ERROR: Wave format integer PCM - nBlockAlign (%u) != nChannels (%u) * wBitsPerSample (%u) / 8\n",
wfx->nBlockAlign, wfx->nChannels, wfx->wBitsPerSample );
return false;
}
if ( wfx->nAvgBytesPerSec != ( wfx->nSamplesPerSec * wfx->nBlockAlign ) )
{
DebugTrace( "ERROR: Wave format integer PCM - nAvgBytesPerSec (%lu) != nSamplesPerSec (%lu) * nBlockAlign (%u)\n",
wfx->nAvgBytesPerSec, wfx->nSamplesPerSec, wfx->nBlockAlign );
return false;
}
return true;
case WAVE_FORMAT_IEEE_FLOAT:
if ( wfx->wBitsPerSample != 32 )
{
DebugTrace( "ERROR: Wave format float PCM must have 32-bits per sample (%u)\n", wfx->wBitsPerSample );
return false;
}
if ( wfx->nBlockAlign != ( wfx->nChannels * wfx->wBitsPerSample / 8 ) )
{
DebugTrace( "ERROR: Wave format float PCM - nBlockAlign (%u) != nChannels (%u) * wBitsPerSample (%u) / 8\n",
wfx->nBlockAlign, wfx->nChannels, wfx->wBitsPerSample );
return false;
}
if ( wfx->nAvgBytesPerSec != ( wfx->nSamplesPerSec * wfx->nBlockAlign ) )
{
DebugTrace( "ERROR: Wave format float PCM - nAvgBytesPerSec (%lu) != nSamplesPerSec (%lu) * nBlockAlign (%u)\n",
wfx->nAvgBytesPerSec, wfx->nSamplesPerSec, wfx->nBlockAlign );
return false;
}
return true;
case WAVE_FORMAT_ADPCM:
if ( ( wfx->nChannels != 1 ) && ( wfx->nChannels != 2 ) )
{
DebugTrace( "ERROR: Wave format ADPCM must have 1 or 2 channels (%u)\n", wfx->nChannels );
return false;
}
if ( wfx->wBitsPerSample != 4 /*MSADPCM_BITS_PER_SAMPLE*/ )
{
DebugTrace( "ERROR: Wave format ADPCM must have 4 bits per sample (%u)\n", wfx->wBitsPerSample );
return false;
}
if ( wfx->cbSize != 32 /*MSADPCM_FORMAT_EXTRA_BYTES*/ )
{
DebugTrace( "ERROR: Wave format ADPCM must have cbSize = 32 (%u)\n", wfx->cbSize );
return false;
}
else
{
auto wfadpcm = reinterpret_cast<const ADPCMWAVEFORMAT*>( wfx );
if ( wfadpcm->wNumCoef != 7 /*MSADPCM_NUM_COEFFICIENTS*/ )
{
DebugTrace( "ERROR: Wave format ADPCM must have 7 coefficients (%u)\n", wfadpcm->wNumCoef );
return false;
}
bool valid = true;
for ( int j = 0; j < 7 /*MSADPCM_NUM_COEFFICIENTS*/; ++j )
{
// Microsoft ADPCM standard encoding coefficients
static const short g_pAdpcmCoefficients1[] = {256, 512, 0, 192, 240, 460, 392};
static const short g_pAdpcmCoefficients2[] = { 0, -256, 0, 64, 0, -208, -232};
if ( wfadpcm->aCoef[j].iCoef1 != g_pAdpcmCoefficients1[j]
|| wfadpcm->aCoef[j].iCoef2 != g_pAdpcmCoefficients2[j] )
{
valid = false;
}
}
if ( !valid )
{
DebugTrace( "ERROR: Wave formt ADPCM found non-standard coefficients\n" );
return false;
}
if ( ( wfadpcm->wSamplesPerBlock < 4 /*MSADPCM_MIN_SAMPLES_PER_BLOCK*/ )
|| ( wfadpcm->wSamplesPerBlock > 64000 /*MSADPCM_MAX_SAMPLES_PER_BLOCK*/ ) )
{
DebugTrace( "ERROR: Wave format ADPCM wSamplesPerBlock must be 4..64000 (%u)\n", wfadpcm->wSamplesPerBlock );
return false;
}
if ( wfadpcm->wfx.nChannels == 1 && ( wfadpcm->wSamplesPerBlock % 2 ) )
{
DebugTrace( "ERROR: Wave format ADPCM mono files must have even wSamplesPerBlock\n" );
return false;
}
int nHeaderBytes = 7 /*MSADPCM_HEADER_LENGTH*/ * wfx->nChannels;
int nBitsPerFrame = 4 /*MSADPCM_BITS_PER_SAMPLE*/ * wfx->nChannels;
int nPcmFramesPerBlock = (wfx->nBlockAlign - nHeaderBytes) * 8 / nBitsPerFrame + 2;
if ( wfadpcm->wSamplesPerBlock != nPcmFramesPerBlock )
{
DebugTrace( "ERROR: Wave format ADPCM %u-channel with nBlockAlign = %u must have wSamplesPerBlock = %u (%u)\n",
wfx->nChannels, wfx->nBlockAlign, nPcmFramesPerBlock, wfadpcm->wSamplesPerBlock );
return false;
}
}
return true;
case WAVE_FORMAT_WMAUDIO2:
case WAVE_FORMAT_WMAUDIO3:
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
if ( wfx->wBitsPerSample != 16 )
{
DebugTrace( "ERROR: Wave format xWMA only supports 16-bit data\n" );
return false;
}
if ( !wfx->nBlockAlign )
{
DebugTrace( "ERROR: Wave format xWMA must have a non-zero nBlockAlign\n" );
return false;
}
if ( !wfx->nAvgBytesPerSec )
{
DebugTrace( "ERROR: Wave format xWMA must have a non-zero nAvgBytesPerSec\n" );
return false;
}
return true;
#else
DebugTrace( "ERROR: Wave format xWMA not supported by this version of DirectXTK for Audio\n" );
return false;
#endif
case 0x166 /* WAVE_FORMAT_XMA2 */:
#if defined(_XBOX_ONE) && defined(_TITLE)
if ( wfx->nBlockAlign != wfx->nChannels * XMA_OUTPUT_SAMPLE_BYTES)
{
DebugTrace( "ERROR: Wave format XMA2 - nBlockAlign (%u) != nChannels(%u) * %u\n", wfx->nBlockAlign, wfx->nChannels, XMA_OUTPUT_SAMPLE_BYTES );
return false;
}
if ( wfx->wBitsPerSample != XMA_OUTPUT_SAMPLE_BITS )
{
DebugTrace( "ERROR: Wave format XMA2 wBitsPerSample (%u) should be %u\n", wfx->wBitsPerSample, XMA_OUTPUT_SAMPLE_BITS );
return false;
}
if ( wfx->cbSize != ( sizeof(XMA2WAVEFORMATEX) - sizeof(WAVEFORMATEX) ) )
{
DebugTrace( "ERROR: Wave format XMA2 - cbSize must be %Iu (%u)\n", ( sizeof(XMA2WAVEFORMATEX) - sizeof(WAVEFORMATEX) ), wfx->cbSize );
return false;
}
else
{
auto xmaFmt = reinterpret_cast<const XMA2WAVEFORMATEX*>( wfx );
if ( xmaFmt->EncoderVersion < 3 )
{
DebugTrace( "ERROR: Wave format XMA2 encoder version (%u) - 3 or higher is required\n", xmaFmt->EncoderVersion );
return false;
}
if ( !xmaFmt->BlockCount )
{
DebugTrace( "ERROR: Wave format XMA2 BlockCount must be non-zero\n" );
return false;
}
if ( !xmaFmt->BytesPerBlock || ( xmaFmt->BytesPerBlock > XMA_READBUFFER_MAX_BYTES ) )
{
DebugTrace( "ERROR: Wave format XMA2 BytesPerBlock (%u) is invalid\n", xmaFmt->BytesPerBlock );
return false;
}
if ( xmaFmt->ChannelMask )
{
auto channelBits = ChannelsSpecifiedInMask( xmaFmt->ChannelMask );
if ( channelBits != wfx->nChannels )
{
DebugTrace( "ERROR: Wave format XMA2 - nChannels=%u but ChannelMask (%08X) has %u bits set\n",
xmaFmt->ChannelMask, wfx->nChannels, channelBits );
return false;
}
}
if ( xmaFmt->NumStreams != ( ( wfx->nChannels + 1) / 2 ) )
{
DebugTrace( "ERROR: Wave format XMA2 - NumStreams (%u) != ( nChannels(%u) + 1 ) / 2\n", xmaFmt->NumStreams, wfx->nChannels );
return false;
}
if ( ( xmaFmt->PlayBegin + xmaFmt->PlayLength ) > xmaFmt->SamplesEncoded )
{
DebugTrace( "ERROR: Wave format XMA2 play region too large (%u + %u > %u)\n", xmaFmt->PlayBegin, xmaFmt->PlayLength, xmaFmt->SamplesEncoded );
return false;
}
if ( ( xmaFmt->LoopBegin + xmaFmt->LoopLength ) > xmaFmt->SamplesEncoded )
{
DebugTrace( "ERROR: Wave format XMA2 loop region too large (%u + %u > %u)\n", xmaFmt->LoopBegin, xmaFmt->LoopLength, xmaFmt->SamplesEncoded );
return false;
}
}
return true;
#else
DebugTrace( "ERROR: Wave format XMA2 not supported by this version of DirectXTK for Audio\n" );
return false;
#endif
case WAVE_FORMAT_EXTENSIBLE:
if ( wfx->cbSize < ( sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX) ) )
{
DebugTrace( "ERROR: Wave format WAVE_FORMAT_EXTENSIBLE - cbSize must be %Iu (%u)\n", ( sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX) ), wfx->cbSize );
return false;
}
else
{
static const GUID s_wfexBase = {0x00000000, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71};
auto wfex = reinterpret_cast<const WAVEFORMATEXTENSIBLE*>( wfx );
if ( memcmp( reinterpret_cast<const BYTE*>(&wfex->SubFormat) + sizeof(DWORD),
reinterpret_cast<const BYTE*>(&s_wfexBase) + sizeof(DWORD), sizeof(GUID) - sizeof(DWORD) ) != 0 )
{
DebugTrace( "ERROR: Wave format WAVEFORMATEXTENSIBLE encountered with unknown GUID ({%8.8lX-%4.4X-%4.4X-%2.2X%2.2X-%2.2X%2.2X%2.2X%2.2X%2.2X%2.2X})\n",
wfex->SubFormat.Data1, wfex->SubFormat.Data2, wfex->SubFormat.Data3,
wfex->SubFormat.Data4[0], wfex->SubFormat.Data4[1], wfex->SubFormat.Data4[2], wfex->SubFormat.Data4[3],
wfex->SubFormat.Data4[4], wfex->SubFormat.Data4[5], wfex->SubFormat.Data4[6], wfex->SubFormat.Data4[7] );
return false;
}
switch( wfex->SubFormat.Data1 )
{
case WAVE_FORMAT_PCM:
switch( wfx->wBitsPerSample )
{
case 8:
case 16:
case 24:
case 32:
break;
default:
DebugTrace( "ERROR: Wave format integer PCM must have 8, 16, 24, or 32 bits per sample (%u)\n", wfx->wBitsPerSample );
return false;
}
switch( wfex->Samples.wValidBitsPerSample )
{
case 0:
case 8:
case 16:
case 20:
case 24:
case 32:
break;
default:
DebugTrace( "ERROR: Wave format integer PCM must have 8, 16, 20, 24, or 32 valid bits per sample (%u)\n", wfex->Samples.wValidBitsPerSample );
return false;
}
if ( wfex->Samples.wValidBitsPerSample
&& ( wfex->Samples.wValidBitsPerSample > wfx->wBitsPerSample ) )
{
DebugTrace( "ERROR: Wave format ingter PCM wValidBitsPerSample (%u) is greater than wBitsPerSample (%u)\n", wfex->Samples.wValidBitsPerSample, wfx->wBitsPerSample );
return false;
}
if ( wfx->nBlockAlign != ( wfx->nChannels * wfx->wBitsPerSample / 8 ) )
{
DebugTrace( "ERROR: Wave format integer PCM - nBlockAlign (%u) != nChannels (%u) * wBitsPerSample (%u) / 8\n",
wfx->nBlockAlign, wfx->nChannels, wfx->wBitsPerSample );
return false;
}
if ( wfx->nAvgBytesPerSec != ( wfx->nSamplesPerSec * wfx->nBlockAlign ) )
{
DebugTrace( "ERROR: Wave format integer PCM - nAvgBytesPerSec (%lu) != nSamplesPerSec (%lu) * nBlockAlign (%u)\n",
wfx->nAvgBytesPerSec, wfx->nSamplesPerSec, wfx->nBlockAlign );
return false;
}
break;
case WAVE_FORMAT_IEEE_FLOAT:
if ( wfx->wBitsPerSample != 32 )
{
DebugTrace( "ERROR: Wave format float PCM must have 32-bits per sample (%u)\n", wfx->wBitsPerSample );
return false;
}
switch( wfex->Samples.wValidBitsPerSample )
{
case 0:
case 32:
break;
default:
DebugTrace( "ERROR: Wave format float PCM must have 32 valid bits per sample (%u)\n", wfex->Samples.wValidBitsPerSample );
return false;
}
if ( wfx->nBlockAlign != ( wfx->nChannels * wfx->wBitsPerSample / 8 ) )
{
DebugTrace( "ERROR: Wave format float PCM - nBlockAlign (%u) != nChannels (%u) * wBitsPerSample (%u) / 8\n",
wfx->nBlockAlign, wfx->nChannels, wfx->wBitsPerSample );
return false;
}
if ( wfx->nAvgBytesPerSec != ( wfx->nSamplesPerSec * wfx->nBlockAlign ) )
{
DebugTrace( "ERROR: Wave format float PCM - nAvgBytesPerSec (%lu) != nSamplesPerSec (%lu) * nBlockAlign (%u)\n",
wfx->nAvgBytesPerSec, wfx->nSamplesPerSec, wfx->nBlockAlign );
return false;
}
break;
case WAVE_FORMAT_ADPCM:
DebugTrace( "ERROR: Wave format ADPCM is not supported as a WAVEFORMATEXTENSIBLE\n" );
return false;
case WAVE_FORMAT_WMAUDIO2:
case WAVE_FORMAT_WMAUDIO3:
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
if ( wfx->wBitsPerSample != 16 )
{
DebugTrace( "ERROR: Wave format xWMA only supports 16-bit data\n" );
return false;
}
if ( !wfx->nBlockAlign )
{
DebugTrace( "ERROR: Wave format xWMA must have a non-zero nBlockAlign\n" );
return false;
}
if ( !wfx->nAvgBytesPerSec )
{
DebugTrace( "ERROR: Wave format xWMA must have a non-zero nAvgBytesPerSec\n" );
return false;
}
break;
#else
DebugTrace( "ERROR: Wave format xWMA not supported by this version of DirectXTK for Audio\n" );
return false;
#endif
case 0x166 /* WAVE_FORMAT_XMA2 */:
DebugTrace( "ERROR: Wave format XMA2 is not supported as a WAVEFORMATEXTENSIBLE\n" );
return false;
default:
DebugTrace( "ERROR: Unknown WAVEFORMATEXTENSIBLE format tag (%u)\n", wfex->SubFormat.Data1 );
return false;
}
if ( wfex->dwChannelMask )
{
auto channelBits = ChannelsSpecifiedInMask( wfex->dwChannelMask );
if ( channelBits != wfx->nChannels )
{
DebugTrace( "ERROR: WAVEFORMATEXTENSIBLE: nChannels=%u but ChannelMask has %u bits set\n",
wfx->nChannels, channelBits );
return false;
}
}
return true;
}
default:
DebugTrace( "ERROR: Unknown WAVEFORMATEX format tag (%u)\n", wfx->wFormatTag );
return false;
}
}
uint32_t DirectX::GetDefaultChannelMask( int channels )
{
switch( channels )
{
case 1: return SPEAKER_MONO;
case 2: return SPEAKER_STEREO;
case 3: return SPEAKER_2POINT1;
case 4: return SPEAKER_QUAD;
case 5: return SPEAKER_4POINT1;
case 6: return SPEAKER_5POINT1;
case 7: return SPEAKER_5POINT1 | SPEAKER_BACK_CENTER;
case 8: return SPEAKER_7POINT1;
default: return 0;
}
}
_Use_decl_annotations_
void DirectX::CreateIntegerPCM( WAVEFORMATEX* wfx, int sampleRate, int channels, int sampleBits )
{
int blockAlign = channels * sampleBits / 8;
wfx->wFormatTag = WAVE_FORMAT_PCM;
wfx->nChannels = static_cast<WORD>( channels );
wfx->nSamplesPerSec = static_cast<DWORD>( sampleRate );
wfx->nAvgBytesPerSec = static_cast<DWORD>( blockAlign * sampleRate );
wfx->nBlockAlign = static_cast<WORD>( blockAlign );
wfx->wBitsPerSample = static_cast<WORD>( sampleBits );
wfx->cbSize = 0;
assert( IsValid( wfx ) );
}
_Use_decl_annotations_
void DirectX::CreateFloatPCM( WAVEFORMATEX* wfx, int sampleRate, int channels )
{
int blockAlign = channels * 4;
wfx->wFormatTag = WAVE_FORMAT_IEEE_FLOAT;
wfx->nChannels = static_cast<WORD>( channels );
wfx->nSamplesPerSec = static_cast<DWORD>( sampleRate );
wfx->nAvgBytesPerSec = static_cast<DWORD>( blockAlign * sampleRate );
wfx->nBlockAlign = static_cast<WORD>( blockAlign );
wfx->wBitsPerSample = 32;
wfx->cbSize = 0;
assert( IsValid( wfx ) );
}
_Use_decl_annotations_
void DirectX::CreateADPCM( WAVEFORMATEX* wfx, size_t wfxSize, int sampleRate, int channels, int samplesPerBlock )
{
if ( wfxSize < ( sizeof(WAVEFORMATEX) + 32 /*MSADPCM_FORMAT_EXTRA_BYTES*/ ) )
{
DebugTrace( "CreateADPCM needs at least %Iu bytes for the result\n", ( sizeof(WAVEFORMATEX) + 32 /*MSADPCM_FORMAT_EXTRA_BYTES*/ ) );
throw std::invalid_argument( "ADPCMWAVEFORMAT" );
}
if ( !samplesPerBlock )
{
DebugTrace( "CreateADPCM needs a non-zero samples per block count\n" );
throw std::invalid_argument( "ADPCMWAVEFORMAT" );
}
int blockAlign = (7 /*MSADPCM_HEADER_LENGTH*/) * channels
+ (samplesPerBlock - 2) * (4 /* MSADPCM_BITS_PER_SAMPLE */) * channels / 8;
wfx->wFormatTag = WAVE_FORMAT_ADPCM;
wfx->nChannels = static_cast<WORD>( channels );
wfx->nSamplesPerSec = static_cast<DWORD>( sampleRate );
wfx->nAvgBytesPerSec = static_cast<DWORD>( blockAlign * sampleRate / samplesPerBlock );
wfx->nBlockAlign = static_cast<WORD>( blockAlign );
wfx->wBitsPerSample = 4 /* MSADPCM_BITS_PER_SAMPLE */;
wfx->cbSize = 32 /*MSADPCM_FORMAT_EXTRA_BYTES*/;
auto adpcm = reinterpret_cast<ADPCMWAVEFORMAT*>( wfx );
adpcm->wSamplesPerBlock = static_cast<WORD>( samplesPerBlock );
adpcm->wNumCoef = 7 /* MSADPCM_NUM_COEFFICIENTS */;
static ADPCMCOEFSET aCoef[7] = { { 256, 0}, {512, -256}, {0,0}, {192,64}, {240,0}, {460, -208}, {392,-232} };
memcpy( &adpcm->aCoef, aCoef, sizeof(aCoef) );
assert( IsValid( wfx ) );
}
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
_Use_decl_annotations_
void DirectX::CreateXWMA( WAVEFORMATEX* wfx, int sampleRate, int channels, int blockAlign, int avgBytes, bool wma3 )
{
wfx->wFormatTag = (wma3) ? WAVE_FORMAT_WMAUDIO3 : WAVE_FORMAT_WMAUDIO2;
wfx->nChannels = static_cast<WORD>( channels );
wfx->nSamplesPerSec = static_cast<DWORD>( sampleRate );
wfx->nAvgBytesPerSec = static_cast<DWORD>( avgBytes );
wfx->nBlockAlign = static_cast<WORD>( blockAlign );
wfx->wBitsPerSample = 16;
wfx->cbSize = 0;
assert( IsValid( wfx ) );
}
#endif
#if defined(_XBOX_ONE) && defined(_TITLE)
_Use_decl_annotations_
void DirectX::CreateXMA2( WAVEFORMATEX* wfx, size_t wfxSize, int sampleRate, int channels, int bytesPerBlock, int blockCount, int samplesEncoded )
{
if ( wfxSize < sizeof(XMA2WAVEFORMATEX) )
{
DebugTrace( "XMA2 needs at least %Iu bytes for the result\n", sizeof(XMA2WAVEFORMATEX) );
throw std::invalid_argument( "XMA2WAVEFORMATEX" );
}
if ( !bytesPerBlock || ( bytesPerBlock > XMA_READBUFFER_MAX_BYTES ) )
{
DebugTrace( "XMA2 needs a valid bytes per block\n" );
throw std::invalid_argument( "XMA2WAVEFORMATEX" );
}
int blockAlign = (channels * ( 16 /*XMA_OUTPUT_SAMPLE_BITS*/ ) / 8);
wfx->wFormatTag = WAVE_FORMAT_XMA2;
wfx->nChannels = static_cast<WORD>( channels );
wfx->nSamplesPerSec = static_cast<WORD>( sampleRate );
wfx->nAvgBytesPerSec = static_cast<DWORD>( blockAlign * sampleRate );
wfx->nBlockAlign = static_cast<WORD>( blockAlign );
wfx->wBitsPerSample = 16 /* XMA_OUTPUT_SAMPLE_BITS */;
wfx->cbSize = sizeof(XMA2WAVEFORMATEX) - sizeof(WAVEFORMATEX);
auto xmaFmt = reinterpret_cast<XMA2WAVEFORMATEX*>(wfx);
xmaFmt->NumStreams = static_cast<WORD>( (channels + 1) / 2 );
xmaFmt->ChannelMask = GetDefaultChannelMask( channels );
xmaFmt->SamplesEncoded = static_cast<DWORD>( samplesEncoded );
xmaFmt->BytesPerBlock = bytesPerBlock;
xmaFmt->PlayBegin = xmaFmt->PlayLength =
xmaFmt->LoopBegin = xmaFmt->LoopLength = xmaFmt->LoopCount = 0;
xmaFmt->EncoderVersion = 4 /* XMAENCODER_VERSION_XMA2 */;
xmaFmt->BlockCount = static_cast<WORD>( blockCount );
assert( IsValid( wfx ) );
}
#endif // _XBOX_ONE && _TITLE
_Use_decl_annotations_
bool DirectX::ComputePan( float pan, int channels, float* matrix )
{
memset( matrix, 0, sizeof(float) * 16 );
if (channels == 1)
{
// Mono panning
float left = ( pan >= 0 ) ? ( 1.f - pan ) : 1.f;
left = std::min<float>( 1.f, left );
left = std::max<float>( -1.f, left );
float right = ( pan <= 0 ) ? ( - pan - 1.f ) : 1.f;
right = std::min<float>( 1.f, right );
right = std::max<float>( -1.f, right );
matrix[0] = left;
matrix[1] = right;
}
else if (channels == 2)
{
// Stereo panning
if ( -1.f <= pan && pan <= 0.f )
{
matrix[0] = .5f * pan + 1.f; // .5 when pan is -1, 1 when pan is 0
matrix[1] = .5f * -pan; // .5 when pan is -1, 0 when pan is 0
matrix[2] = 0.f; // 0 when pan is -1, 0 when pan is 0
matrix[3] = pan + 1.f; // 0 when pan is -1, 1 when pan is 0
}
else
{
matrix[0] = -pan + 1.f; // 1 when pan is 0, 0 when pan is 1
matrix[1] = 0.f; // 0 when pan is 0, 0 when pan is 1
matrix[2] = .5f * pan; // 0 when pan is 0, .5f when pan is 1
matrix[3] = .5f * -pan + 1.f; // 1 when pan is 0. .5f when pan is 1
}
}
else
{
if ( pan != 0.f )
{
DebugTrace( "WARNING: Only supports panning on mono or stereo source data, ignored\n" );
}
return false;
}
return true;
}
//======================================================================================
// SoundEffectInstanceBase
//======================================================================================
void SoundEffectInstanceBase::SetPan( float pan )
{
assert( pan >= -1.f && pan <= 1.f );
mPan = pan;
if ( !voice )
return;
float matrix[16];
if ( ComputePan( pan, mDSPSettings.SrcChannelCount, matrix ) )
{
HRESULT hr = voice->SetOutputMatrix( nullptr, mDSPSettings.SrcChannelCount, mDSPSettings.DstChannelCount, matrix );
ThrowIfFailed( hr );
}
}
void SoundEffectInstanceBase::Apply3D( const AudioListener& listener, const AudioEmitter& emitter, bool rhcoords )
{
if ( !voice )
return;
if ( !( mFlags & SoundEffectInstance_Use3D ) )
{
DebugTrace( "ERROR: Apply3D called for an instance created without SoundEffectInstance_Use3D set\n" );
throw std::exception( "Apply3D" );
}
DWORD dwCalcFlags = X3DAUDIO_CALCULATE_MATRIX | X3DAUDIO_CALCULATE_DOPPLER | X3DAUDIO_CALCULATE_LPF_DIRECT;
if ( mFlags & SoundEffectInstance_UseRedirectLFE )
{
// On devices with an LFE channel, allow the mono source data to be routed to the LFE destination channel.
dwCalcFlags |= X3DAUDIO_CALCULATE_REDIRECT_TO_LFE;
}
auto reverb = mReverbVoice;
if ( reverb )
{
dwCalcFlags |= X3DAUDIO_CALCULATE_LPF_REVERB | X3DAUDIO_CALCULATE_REVERB;
}
float matrix[XAUDIO2_MAX_AUDIO_CHANNELS * 8] = {};
assert( mDSPSettings.SrcChannelCount <= XAUDIO2_MAX_AUDIO_CHANNELS );
assert( mDSPSettings.DstChannelCount <= 8 );
mDSPSettings.pMatrixCoefficients = matrix;
assert( engine != 0 );
if (rhcoords)
{
X3DAUDIO_EMITTER lhEmitter;
memcpy(&lhEmitter, &emitter, sizeof(X3DAUDIO_EMITTER));
lhEmitter.OrientFront.z = -emitter.OrientFront.z;
lhEmitter.OrientTop.z = -emitter.OrientTop.z;
lhEmitter.Position.z = -emitter.Position.z;
lhEmitter.Velocity.z = -emitter.Velocity.z;
X3DAUDIO_LISTENER lhListener;
memcpy(&lhListener, &listener, sizeof(X3DAUDIO_LISTENER));
lhListener.OrientFront.z = -listener.OrientFront.z;
lhListener.OrientTop.z = -listener.OrientTop.z;
lhListener.Position.z = -listener.Position.z;
lhListener.Velocity.z = -listener.Velocity.z;
X3DAudioCalculate( engine->Get3DHandle(), &lhListener, &lhEmitter, dwCalcFlags, &mDSPSettings );
}
else
{
X3DAudioCalculate( engine->Get3DHandle(), &listener, &emitter, dwCalcFlags, &mDSPSettings );
}
mDSPSettings.pMatrixCoefficients = nullptr;
(void)voice->SetFrequencyRatio( mFreqRatio * mDSPSettings.DopplerFactor );
auto direct = mDirectVoice;
assert( direct != 0 );
(void)voice->SetOutputMatrix( direct, mDSPSettings.SrcChannelCount, mDSPSettings.DstChannelCount, matrix );
if ( reverb )
{
for ( size_t j = 0; j < mDSPSettings.SrcChannelCount; ++j )
{
matrix[j] = mDSPSettings.ReverbLevel;
}
(void)voice->SetOutputMatrix( reverb, mDSPSettings.SrcChannelCount, 1, matrix );
}
if ( mFlags & SoundEffectInstance_ReverbUseFilters )
{
XAUDIO2_FILTER_PARAMETERS filterDirect = { LowPassFilter, 2.0f * sinf(X3DAUDIO_PI/6.0f * mDSPSettings.LPFDirectCoefficient), 1.0f };
// see XAudio2CutoffFrequencyToRadians() in XAudio2.h for more information on the formula used here
(void)voice->SetOutputFilterParameters( direct, &filterDirect );
if ( reverb )
{
XAUDIO2_FILTER_PARAMETERS filterReverb = { LowPassFilter, 2.0f * sinf(X3DAUDIO_PI/6.0f * mDSPSettings.LPFReverbCoefficient), 1.0f };
// see XAudio2CutoffFrequencyToRadians() in XAudio2.h for more information on the formula used here
(void)voice->SetOutputFilterParameters( reverb, &filterReverb );
}
}
}

View File

@@ -0,0 +1,370 @@
//--------------------------------------------------------------------------------------
// File: SoundCommon.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#include "Audio.h"
#include "PlatformHelpers.h"
namespace DirectX
{
// Helper for getting a format tag from a WAVEFORMATEX
inline uint32_t GetFormatTag( const WAVEFORMATEX* wfx )
{
if ( wfx->wFormatTag == WAVE_FORMAT_EXTENSIBLE )
{
if ( wfx->cbSize < ( sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX) ) )
return 0;
static const GUID s_wfexBase = {0x00000000, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71};
auto wfex = reinterpret_cast<const WAVEFORMATEXTENSIBLE*>( wfx );
if ( memcmp( reinterpret_cast<const BYTE*>(&wfex->SubFormat) + sizeof(DWORD),
reinterpret_cast<const BYTE*>(&s_wfexBase) + sizeof(DWORD), sizeof(GUID) - sizeof(DWORD) ) != 0 )
{
return 0;
}
return wfex->SubFormat.Data1;
}
else
{
return wfx->wFormatTag;
}
}
// Helper for validating wave format structure
bool IsValid( _In_ const WAVEFORMATEX* wfx );
// Helper for getting a default channel mask from channels
uint32_t GetDefaultChannelMask( int channels );
// Helpers for creating various wave format structures
void CreateIntegerPCM( _Out_ WAVEFORMATEX* wfx, int sampleRate, int channels, int sampleBits );
void CreateFloatPCM( _Out_ WAVEFORMATEX* wfx, int sampleRate, int channels );
void CreateADPCM( _Out_writes_bytes_(wfxSize) WAVEFORMATEX* wfx, size_t wfxSize, int sampleRate, int channels, int samplesPerBlock );
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
void CreateXWMA( _Out_ WAVEFORMATEX* wfx, int sampleRate, int channels, int blockAlign, int avgBytes, bool wma3 );
#endif
#if defined(_XBOX_ONE) && defined(_TITLE)
void CreateXMA2( _Out_writes_bytes_(wfxSize) WAVEFORMATEX* wfx, size_t wfxSize, int sampleRate, int channels, int bytesPerBlock, int blockCount, int samplesEncoded );
#endif
// Helper for computing pan volume matrix
bool ComputePan( float pan, int channels, _Out_writes_(16) float* matrix );
// Helper class for implementing SoundEffectInstance
class SoundEffectInstanceBase
{
public:
SoundEffectInstanceBase() :
voice( nullptr ),
state( STOPPED ),
engine( nullptr ),
mVolume( 1.f ),
mPitch( 0.f ),
mFreqRatio( 1.f ),
mPan( 0.f ),
mFlags( SoundEffectInstance_Default ),
mDirectVoice( nullptr ),
mReverbVoice( nullptr ),
mDSPSettings{}
{
}
~SoundEffectInstanceBase()
{
assert( !voice );
}
void Initialize( _In_ AudioEngine* eng, _In_ const WAVEFORMATEX* wfx, SOUND_EFFECT_INSTANCE_FLAGS flags )
{
assert( eng != 0 );
engine = eng;
mDirectVoice = eng->GetMasterVoice();
mReverbVoice = eng->GetReverbVoice();
if ( eng->GetChannelMask() & SPEAKER_LOW_FREQUENCY )
mFlags = flags | SoundEffectInstance_UseRedirectLFE;
else
mFlags = static_cast<SOUND_EFFECT_INSTANCE_FLAGS>( static_cast<int>(flags) & ~SoundEffectInstance_UseRedirectLFE );
memset( &mDSPSettings, 0, sizeof(X3DAUDIO_DSP_SETTINGS) );
assert( wfx != 0 );
mDSPSettings.SrcChannelCount = wfx->nChannels;
mDSPSettings.DstChannelCount = eng->GetOutputChannels();
}
void AllocateVoice( _In_ const WAVEFORMATEX* wfx )
{
if ( voice )
return;
assert( engine != 0 );
engine->AllocateVoice( wfx, mFlags, false, &voice );
}
void DestroyVoice()
{
if ( voice )
{
assert( engine != 0 );
engine->DestroyVoice( voice );
voice = nullptr;
}
}
bool Play() // Returns true if STOPPED -> PLAYING
{
if ( voice )
{
if ( state == PAUSED )
{
HRESULT hr = voice->Start( 0 );
ThrowIfFailed( hr );
state = PLAYING;
}
else if ( state != PLAYING )
{
if ( mVolume != 1.f )
{
HRESULT hr = voice->SetVolume( mVolume );
ThrowIfFailed( hr );
}
if ( mPitch != 0.f )
{
mFreqRatio = XAudio2SemitonesToFrequencyRatio( mPitch * 12.f );
HRESULT hr = voice->SetFrequencyRatio( mFreqRatio );
ThrowIfFailed( hr );
}
if ( mPan != 0.f )
{
SetPan( mPan );
}
HRESULT hr = voice->Start( 0 );
ThrowIfFailed( hr );
state = PLAYING;
return true;
}
}
return false;
}
void Stop( bool immediate, bool& looped )
{
if ( !voice )
{
state = STOPPED;
return;
}
if ( immediate )
{
state = STOPPED;
(void)voice->Stop( 0 );
(void)voice->FlushSourceBuffers();
}
else if ( looped )
{
looped = false;
(void)voice->ExitLoop();
}
else
{
(void)voice->Stop( XAUDIO2_PLAY_TAILS );
}
}
void Pause()
{
if ( voice && state == PLAYING )
{
state = PAUSED;
(void)voice->Stop( 0 );
}
}
void Resume()
{
if ( voice && state == PAUSED )
{
HRESULT hr = voice->Start( 0 );
ThrowIfFailed( hr );
state = PLAYING;
}
}
void SetVolume( float volume )
{
assert( volume >= -XAUDIO2_MAX_VOLUME_LEVEL && volume <= XAUDIO2_MAX_VOLUME_LEVEL );
mVolume = volume;
if ( voice )
{
HRESULT hr = voice->SetVolume( volume );
ThrowIfFailed( hr );
}
}
void SetPitch( float pitch )
{
assert( pitch >= -1.f && pitch <= 1.f );
if ( ( mFlags & SoundEffectInstance_NoSetPitch ) && pitch != 0.f )
{
DebugTrace( "ERROR: Sound effect instance was created with the NoSetPitch flag\n" );
throw std::exception( "SetPitch" );
}
mPitch = pitch;
if ( voice )
{
mFreqRatio = XAudio2SemitonesToFrequencyRatio( mPitch * 12.f );
HRESULT hr = voice->SetFrequencyRatio( mFreqRatio );
ThrowIfFailed( hr );
}
}
void SetPan( float pan );
void Apply3D( const AudioListener& listener, const AudioEmitter& emitter, bool rhcoords );
SoundState GetState( bool autostop )
{
if ( autostop && voice && ( state == PLAYING ) )
{
XAUDIO2_VOICE_STATE xstate;
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
voice->GetState( &xstate, XAUDIO2_VOICE_NOSAMPLESPLAYED );
#else
voice->GetState( &xstate );
#endif
if ( !xstate.BuffersQueued )
{
// Automatic stop if the buffer has finished playing
(void)voice->Stop();
state = STOPPED;
}
}
return state;
}
int GetPendingBufferCount() const
{
if ( !voice )
return 0;
XAUDIO2_VOICE_STATE xstate;
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
voice->GetState( &xstate, XAUDIO2_VOICE_NOSAMPLESPLAYED );
#else
voice->GetState( &xstate );
#endif
return static_cast<int>( xstate.BuffersQueued );
}
void OnCriticalError()
{
if ( voice )
{
voice->DestroyVoice();
voice = nullptr;
}
state = STOPPED;
mDirectVoice = nullptr;
mReverbVoice = nullptr;
}
void OnReset()
{
assert( engine != 0 );
mDirectVoice = engine->GetMasterVoice();
mReverbVoice = engine->GetReverbVoice();
if ( engine->GetChannelMask() & SPEAKER_LOW_FREQUENCY )
mFlags = mFlags | SoundEffectInstance_UseRedirectLFE;
else
mFlags = static_cast<SOUND_EFFECT_INSTANCE_FLAGS>( static_cast<int>(mFlags) & ~SoundEffectInstance_UseRedirectLFE );
mDSPSettings.DstChannelCount = engine->GetOutputChannels();
}
void OnDestroy()
{
if ( voice )
{
(void)voice->Stop( 0 );
(void)voice->FlushSourceBuffers();
voice->DestroyVoice();
voice = nullptr;
}
state = STOPPED;
engine = nullptr;
mDirectVoice = nullptr;
mReverbVoice = nullptr;
}
void OnTrim()
{
if ( voice && ( state == STOPPED ) )
{
engine->DestroyVoice( voice );
voice = nullptr;
}
}
void GatherStatistics( AudioStatistics& stats ) const
{
++stats.allocatedInstances;
if ( voice )
{
++stats.allocatedVoices;
if ( mFlags & SoundEffectInstance_Use3D )
++stats.allocatedVoices3d;
if ( state == PLAYING )
++stats.playingInstances;
}
}
IXAudio2SourceVoice* voice;
SoundState state;
AudioEngine* engine;
private:
float mVolume;
float mPitch;
float mFreqRatio;
float mPan;
SOUND_EFFECT_INSTANCE_FLAGS mFlags;
IXAudio2Voice* mDirectVoice;
IXAudio2Voice* mReverbVoice;
X3DAUDIO_DSP_SETTINGS mDSPSettings;
};
}

View File

@@ -0,0 +1,611 @@
//--------------------------------------------------------------------------------------
// File: SoundEffect.cpp
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#include "pch.h"
#include "WAVFileReader.h"
#include "SoundCommon.h"
#include <list>
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <apu.h>
#endif
using namespace DirectX;
//======================================================================================
// SoundEffect
//======================================================================================
// Internal object implementation class.
class SoundEffect::Impl : public IVoiceNotify
{
public:
explicit Impl( _In_ AudioEngine* engine ) :
mWaveFormat( nullptr ),
mStartAudio( nullptr ),
mAudioBytes( 0 ),
mLoopStart( 0 ),
mLoopLength( 0 ),
mEngine( engine ),
mOneShots( 0 )
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
, mSeekCount( 0 )
, mSeekTable( nullptr )
#endif
#if defined(_XBOX_ONE) && defined(_TITLE)
, mXMAMemory( nullptr )
#endif
{
assert( mEngine != 0 );
mEngine->RegisterNotify( this, false );
}
virtual ~Impl()
{
if ( !mInstances.empty() )
{
DebugTrace( "WARNING: Destroying SoundEffect with %Iu outstanding SoundEffectInstances\n", mInstances.size() );
for( auto it = mInstances.begin(); it != mInstances.end(); ++it )
{
assert( *it != 0 );
(*it)->OnDestroyParent();
}
mInstances.clear();
}
if ( mOneShots > 0 )
{
DebugTrace( "WARNING: Destroying SoundEffect with %u outstanding one shot effects\n", mOneShots );
}
if ( mEngine )
{
mEngine->UnregisterNotify( this, true, false );
mEngine = nullptr;
}
#if defined(_XBOX_ONE) && defined(_TITLE)
if ( mXMAMemory )
{
ApuFree( mXMAMemory );
mXMAMemory = nullptr;
}
#endif
}
HRESULT Initialize( _In_ AudioEngine* engine, _Inout_ std::unique_ptr<uint8_t[]>& wavData,
_In_ const WAVEFORMATEX* wfx, _In_reads_bytes_(audioBytes) const uint8_t* startAudio, size_t audioBytes,
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
_In_reads_opt_(seekCount) const uint32_t* seekTable, size_t seekCount,
#endif
uint32_t loopStart, uint32_t loopLength );
void Play( float volume, float pitch, float pan );
// IVoiceNotify
virtual void __cdecl OnBufferEnd() override
{
InterlockedDecrement( &mOneShots );
}
virtual void __cdecl OnCriticalError() override
{
mOneShots = 0;
}
virtual void __cdecl OnReset() override
{
// No action required
}
virtual void __cdecl OnUpdate() override
{
// We do not register for update notification
assert(false);
}
virtual void __cdecl OnDestroyEngine() override
{
mEngine = nullptr;
mOneShots = 0;
}
virtual void __cdecl OnTrim() override
{
// No action required
}
virtual void __cdecl GatherStatistics( AudioStatistics& stats ) const override
{
stats.playingOneShots += mOneShots;
stats.audioBytes += mAudioBytes;
#if defined(_XBOX_ONE) && defined(_TITLE)
if ( mXMAMemory )
stats.xmaAudioBytes += mAudioBytes;
#endif
}
const WAVEFORMATEX* mWaveFormat;
const uint8_t* mStartAudio;
uint32_t mAudioBytes;
uint32_t mLoopStart;
uint32_t mLoopLength;
AudioEngine* mEngine;
std::list<SoundEffectInstance*> mInstances;
uint32_t mOneShots;
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
uint32_t mSeekCount;
const uint32_t* mSeekTable;
#endif
private:
std::unique_ptr<uint8_t[]> mWavData;
#if defined(_XBOX_ONE) && defined(_TITLE)
void* mXMAMemory;
#endif
};
_Use_decl_annotations_
HRESULT SoundEffect::Impl::Initialize( AudioEngine* engine, std::unique_ptr<uint8_t[]>& wavData,
const WAVEFORMATEX* wfx, const uint8_t* startAudio, size_t audioBytes,
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
const uint32_t* seekTable, size_t seekCount,
#endif
uint32_t loopStart, uint32_t loopLength )
{
if ( !engine || !IsValid( wfx ) || !startAudio || !audioBytes || !wavData )
return E_INVALIDARG;
if ( audioBytes > UINT32_MAX )
return E_INVALIDARG;
switch( GetFormatTag( wfx ) )
{
case WAVE_FORMAT_PCM:
case WAVE_FORMAT_IEEE_FLOAT:
case WAVE_FORMAT_ADPCM:
// Take ownership of the buffer
mWavData.reset( wavData.release() );
// WARNING: We assume the wfx and startAudio parameters are pointers into the wavData memory buffer
mWaveFormat = wfx;
mStartAudio = startAudio;
break;
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
case WAVE_FORMAT_WMAUDIO2:
case WAVE_FORMAT_WMAUDIO3:
if ( !seekCount || !seekTable )
{
DebugTrace( "ERROR: SoundEffect format xWMA requires seek table\n" );
return E_FAIL;
}
if ( seekCount > UINT32_MAX )
return E_INVALIDARG;
// Take ownership of the buffer
mWavData.reset( wavData.release() );
// WARNING: We assume the wfx, startAudio, and mSeekTable parameters are pointers into the wavData memory buffer
mWaveFormat = wfx;
mStartAudio = startAudio;
mSeekCount = static_cast<uint32_t>( seekCount );
mSeekTable = seekTable;
break;
#endif // _XBOX_ONE || _WIN32_WINNT < _WIN32_WINNT_WIN8 || _WIN32_WINNT >= _WIN32_WINNT_WIN10
#if defined(_XBOX_ONE) && defined(_TITLE)
case WAVE_FORMAT_XMA2:
if ( !seekCount || !seekTable )
{
DebugTrace( "ERROR: SoundEffect format XMA2 requires seek table\n" );
return E_FAIL;
}
if ( seekCount > UINT32_MAX )
return E_INVALIDARG;
{
HRESULT hr = ApuAlloc( &mXMAMemory, nullptr,
static_cast<UINT32>( audioBytes ), SHAPE_XMA_INPUT_BUFFER_ALIGNMENT );
if ( FAILED(hr) )
{
DebugTrace( "ERROR: ApuAlloc failed. Did you allocate a large enough heap with ApuCreateHeap for all your XMA wave data?\n" );
return hr;
}
}
memcpy( mXMAMemory, startAudio, audioBytes );
mStartAudio = reinterpret_cast<const uint8_t*>( mXMAMemory );
mWavData.reset( new uint8_t[ sizeof(XMA2WAVEFORMATEX) + ( seekCount * sizeof(uint32_t) ) ] );
memcpy( mWavData.get(), wfx, sizeof(XMA2WAVEFORMATEX) );
mWaveFormat = reinterpret_cast<WAVEFORMATEX*>( mWavData.get() );
// XMA seek table is Big-Endian
{
auto dest = reinterpret_cast<uint32_t*>( mWavData.get() + sizeof(XMA2WAVEFORMATEX) );
for( size_t k = 0; k < seekCount; ++k )
{
dest[ k ] = _byteswap_ulong( seekTable[ k ]) ;
}
}
mSeekCount = static_cast<uint32_t>( seekCount );
mSeekTable = reinterpret_cast<const uint32_t*>( mWavData.get() + sizeof(XMA2WAVEFORMATEX) );
wavData.reset();
break;
#endif // _XBOX_ONE && _TITLE
default:
{
DebugTrace( "ERROR: SoundEffect encountered an unsupported format tag (%u)\n", wfx->wFormatTag );
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
}
}
mAudioBytes = static_cast<uint32_t>( audioBytes );
mLoopStart = loopStart;
mLoopLength = loopLength;
return S_OK;
}
void SoundEffect::Impl::Play( float volume, float pitch, float pan )
{
assert( volume >= -XAUDIO2_MAX_VOLUME_LEVEL && volume <= XAUDIO2_MAX_VOLUME_LEVEL );
assert( pitch >= -1.f && pitch <= 1.f );
assert( pan >= -1.f && pan <= 1.f );
IXAudio2SourceVoice* voice = nullptr;
mEngine->AllocateVoice( mWaveFormat, SoundEffectInstance_Default, true, &voice );
if ( !voice )
return;
if ( volume != 1.f )
{
HRESULT hr = voice->SetVolume( volume );
ThrowIfFailed( hr );
}
if ( pitch != 0.f )
{
float fr = XAudio2SemitonesToFrequencyRatio( pitch * 12.f );
HRESULT hr = voice->SetFrequencyRatio( fr );
ThrowIfFailed( hr );
}
if ( pan != 0.f )
{
float matrix[16];
if (ComputePan(pan, mWaveFormat->nChannels, matrix))
{
HRESULT hr = voice->SetOutputMatrix(nullptr, mWaveFormat->nChannels, mEngine->GetOutputChannels(), matrix);
ThrowIfFailed( hr );
}
}
HRESULT hr = voice->Start( 0 );
ThrowIfFailed( hr );
XAUDIO2_BUFFER buffer = {};
buffer.AudioBytes = mAudioBytes;
buffer.pAudioData = mStartAudio;
buffer.Flags = XAUDIO2_END_OF_STREAM;
buffer.pContext = this;
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
uint32_t tag = GetFormatTag( mWaveFormat );
if ( tag == WAVE_FORMAT_WMAUDIO2 || tag == WAVE_FORMAT_WMAUDIO3 )
{
XAUDIO2_BUFFER_WMA wmaBuffer = {};
wmaBuffer.PacketCount = mSeekCount;
wmaBuffer.pDecodedPacketCumulativeBytes = mSeekTable;
hr = voice->SubmitSourceBuffer( &buffer, &wmaBuffer );
}
else
#endif
{
hr = voice->SubmitSourceBuffer( &buffer, nullptr );
}
if ( FAILED(hr) )
{
DebugTrace( "ERROR: SoundEffect failed (%08X) when submitting buffer:\n", hr );
DebugTrace( "\tFormat Tag %u, %u channels, %u-bit, %u Hz, %u bytes\n", mWaveFormat->wFormatTag,
mWaveFormat->nChannels, mWaveFormat->wBitsPerSample, mWaveFormat->nSamplesPerSec, mAudioBytes );
throw std::exception( "SubmitSourceBuffer" );
}
InterlockedIncrement( &mOneShots );
}
//--------------------------------------------------------------------------------------
// SoundEffect
//--------------------------------------------------------------------------------------
// Public constructors.
_Use_decl_annotations_
SoundEffect::SoundEffect( AudioEngine* engine, const wchar_t* waveFileName )
: pImpl(new Impl(engine) )
{
WAVData wavInfo;
std::unique_ptr<uint8_t[]> wavData;
HRESULT hr = LoadWAVAudioFromFileEx( waveFileName, wavData, wavInfo );
if ( FAILED(hr) )
{
DebugTrace( "ERROR: SoundEffect failed (%08X) to load from .wav file \"%ls\"\n", hr, waveFileName );
throw std::exception( "SoundEffect" );
}
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
hr = pImpl->Initialize( engine, wavData, wavInfo.wfx, wavInfo.startAudio, wavInfo.audioBytes,
wavInfo.seek, wavInfo.seekCount,
wavInfo.loopStart, wavInfo.loopLength );
#else
hr = pImpl->Initialize( engine, wavData, wavInfo.wfx, wavInfo.startAudio, wavInfo.audioBytes,
wavInfo.loopStart, wavInfo.loopLength );
#endif
if ( FAILED(hr) )
{
DebugTrace( "ERROR: SoundEffect failed (%08X) to intialize from .wav file \"%ls\"\n", hr, waveFileName );
throw std::exception( "SoundEffect" );
}
}
_Use_decl_annotations_
SoundEffect::SoundEffect( AudioEngine* engine, std::unique_ptr<uint8_t[]>& wavData,
const WAVEFORMATEX* wfx, const uint8_t* startAudio, size_t audioBytes )
: pImpl(new Impl(engine) )
{
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
HRESULT hr = pImpl->Initialize( engine, wavData, wfx, startAudio, audioBytes, nullptr, 0, 0, 0 );
#else
HRESULT hr = pImpl->Initialize( engine, wavData, wfx, startAudio, audioBytes, 0, 0 );
#endif
if ( FAILED(hr) )
{
DebugTrace( "ERROR: SoundEffect failed (%08X) to intialize\n", hr );
throw std::exception( "SoundEffect" );
}
}
_Use_decl_annotations_
SoundEffect::SoundEffect( AudioEngine* engine, std::unique_ptr<uint8_t[]>& wavData,
const WAVEFORMATEX* wfx, const uint8_t* startAudio, size_t audioBytes,
uint32_t loopStart, uint32_t loopLength )
: pImpl(new Impl(engine) )
{
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
HRESULT hr = pImpl->Initialize( engine, wavData, wfx, startAudio, audioBytes, nullptr, 0, loopStart, loopLength );
#else
HRESULT hr = pImpl->Initialize( engine, wavData, wfx, startAudio, audioBytes, loopStart, loopLength );
#endif
if ( FAILED(hr) )
{
DebugTrace( "ERROR: SoundEffect failed (%08X) to intialize\n", hr );
throw std::exception( "SoundEffect" );
}
}
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
_Use_decl_annotations_
SoundEffect::SoundEffect( AudioEngine* engine, std::unique_ptr<uint8_t[]>& wavData,
const WAVEFORMATEX* wfx, const uint8_t* startAudio, size_t audioBytes,
const uint32_t* seekTable, size_t seekCount )
{
HRESULT hr = pImpl->Initialize( engine, wavData, wfx, startAudio, audioBytes, seekTable, seekCount, 0, 0 );
if ( FAILED(hr) )
{
DebugTrace( "ERROR: SoundEffect failed (%08X) to intialize\n", hr );
throw std::exception( "SoundEffect" );
}
}
#endif
// Move constructor.
SoundEffect::SoundEffect(SoundEffect&& moveFrom)
: pImpl(std::move(moveFrom.pImpl))
{
}
// Move assignment.
SoundEffect& SoundEffect::operator= (SoundEffect&& moveFrom)
{
pImpl = std::move(moveFrom.pImpl);
return *this;
}
// Public destructor.
SoundEffect::~SoundEffect()
{
}
// Public methods.
void SoundEffect::Play()
{
pImpl->Play( 1.f, 0.f, 0.f );
}
void SoundEffect::Play( float volume, float pitch, float pan )
{
pImpl->Play( volume, pitch, pan );
}
std::unique_ptr<SoundEffectInstance> SoundEffect::CreateInstance( SOUND_EFFECT_INSTANCE_FLAGS flags )
{
auto effect = new SoundEffectInstance( pImpl->mEngine, this, flags );
assert( effect != 0 );
pImpl->mInstances.emplace_back( effect );
return std::unique_ptr<SoundEffectInstance>( effect );
}
void SoundEffect::UnregisterInstance( _In_ SoundEffectInstance* instance )
{
auto it = std::find( pImpl->mInstances.begin(), pImpl->mInstances.end(), instance );
if ( it == pImpl->mInstances.end() )
return;
pImpl->mInstances.erase( it );
}
// Public accessors.
bool SoundEffect::IsInUse() const
{
return ( pImpl->mOneShots > 0 ) || !pImpl->mInstances.empty();
}
size_t SoundEffect::GetSampleSizeInBytes() const
{
return pImpl->mAudioBytes;
}
size_t SoundEffect::GetSampleDuration() const
{
if ( !pImpl->mWaveFormat || !pImpl->mWaveFormat->nChannels )
return 0;
switch( GetFormatTag( pImpl->mWaveFormat ) )
{
case WAVE_FORMAT_ADPCM:
{
auto adpcmFmt = reinterpret_cast<const ADPCMWAVEFORMAT*>( pImpl->mWaveFormat );
uint64_t duration = uint64_t( pImpl->mAudioBytes / adpcmFmt->wfx.nBlockAlign ) * adpcmFmt->wSamplesPerBlock;
int partial = pImpl->mAudioBytes % adpcmFmt->wfx.nBlockAlign;
if ( partial )
{
if ( partial >= ( 7 * adpcmFmt->wfx.nChannels ) )
duration += ( partial * 2 / adpcmFmt->wfx.nChannels - 12 );
}
return static_cast<size_t>( duration );
}
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
case WAVE_FORMAT_WMAUDIO2:
case WAVE_FORMAT_WMAUDIO3:
if ( pImpl->mSeekTable && pImpl->mSeekCount > 0 )
{
return pImpl->mSeekTable[ pImpl->mSeekCount - 1 ] / uint32_t( 2 * pImpl->mWaveFormat->nChannels );
}
break;
#endif
#if defined(_XBOX_ONE) && defined(_TITLE)
case WAVE_FORMAT_XMA2:
return reinterpret_cast<const XMA2WAVEFORMATEX*>( pImpl->mWaveFormat )->SamplesEncoded;
#endif
default:
if ( pImpl->mWaveFormat->wBitsPerSample > 0 )
{
return static_cast<size_t>( ( uint64_t( pImpl->mAudioBytes ) * 8 )
/ uint64_t( pImpl->mWaveFormat->wBitsPerSample * pImpl->mWaveFormat->nChannels ) );
}
}
return 0;
}
size_t SoundEffect::GetSampleDurationMS() const
{
if ( !pImpl->mWaveFormat || !pImpl->mWaveFormat->nSamplesPerSec )
return 0;
uint64_t samples = GetSampleDuration();
return static_cast<size_t>( ( samples * 1000 ) / pImpl->mWaveFormat->nSamplesPerSec );
}
const WAVEFORMATEX* SoundEffect::GetFormat() const
{
return pImpl->mWaveFormat;
}
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
bool SoundEffect::FillSubmitBuffer( _Out_ XAUDIO2_BUFFER& buffer, _Out_ XAUDIO2_BUFFER_WMA& wmaBuffer ) const
{
memset( &buffer, 0, sizeof(buffer) );
memset( &wmaBuffer, 0, sizeof(wmaBuffer) );
buffer.AudioBytes = pImpl->mAudioBytes;
buffer.pAudioData = pImpl->mStartAudio;
buffer.LoopBegin = pImpl->mLoopStart;
buffer.LoopLength = pImpl->mLoopLength;
uint32_t tag = GetFormatTag( pImpl->mWaveFormat );
if ( tag == WAVE_FORMAT_WMAUDIO2 || tag == WAVE_FORMAT_WMAUDIO3 )
{
wmaBuffer.PacketCount = pImpl->mSeekCount;
wmaBuffer.pDecodedPacketCumulativeBytes = pImpl->mSeekTable;
return true;
}
return false;
}
#else
void SoundEffect::FillSubmitBuffer( _Out_ XAUDIO2_BUFFER& buffer ) const
{
memset( &buffer, 0, sizeof(buffer) );
buffer.AudioBytes = pImpl->mAudioBytes;
buffer.pAudioData = pImpl->mStartAudio;
buffer.LoopBegin = pImpl->mLoopStart;
buffer.LoopLength = pImpl->mLoopLength;
}
#endif

View File

@@ -0,0 +1,334 @@
//--------------------------------------------------------------------------------------
// File: SoundEffectInstance.cpp
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#include "pch.h"
#include "SoundCommon.h"
using namespace DirectX;
//======================================================================================
// SoundEffectInstance
//======================================================================================
// Internal object implementation class.
class SoundEffectInstance::Impl : public IVoiceNotify
{
public:
Impl( _In_ AudioEngine* engine, _In_ SoundEffect* effect, SOUND_EFFECT_INSTANCE_FLAGS flags ) :
mBase(),
mEffect( effect ),
mWaveBank( nullptr ),
mIndex( 0 ),
mLooped( false )
{
assert( engine != 0 );
engine->RegisterNotify( this, false );
assert( mEffect != 0 );
mBase.Initialize( engine, effect->GetFormat(), flags );
}
Impl( _In_ AudioEngine* engine, _In_ WaveBank* waveBank, uint32_t index, SOUND_EFFECT_INSTANCE_FLAGS flags ) :
mBase(),
mEffect( nullptr ),
mWaveBank( waveBank ),
mIndex( index ),
mLooped( false )
{
assert( engine != 0 );
engine->RegisterNotify( this, false );
char buff[64];
auto wfx = reinterpret_cast<WAVEFORMATEX*>( buff );
assert( mWaveBank != 0 );
mBase.Initialize( engine, mWaveBank->GetFormat( index, wfx, 64 ), flags );
}
virtual ~Impl()
{
mBase.DestroyVoice();
if ( mBase.engine )
{
mBase.engine->UnregisterNotify( this, false, false );
mBase.engine = nullptr;
}
}
void Play( bool loop );
// IVoiceNotify
virtual void __cdecl OnBufferEnd() override
{
// We don't register for this notification for SoundEffectInstances, so this should not be invoked
assert( false );
}
virtual void __cdecl OnCriticalError() override
{
mBase.OnCriticalError();
}
virtual void __cdecl OnReset() override
{
mBase.OnReset();
}
virtual void __cdecl OnUpdate() override
{
// We do not register for update notification
assert(false);
}
virtual void __cdecl OnDestroyEngine() override
{
mBase.OnDestroy();
}
virtual void __cdecl OnTrim() override
{
mBase.OnTrim();
}
virtual void __cdecl GatherStatistics( AudioStatistics& stats ) const override
{
mBase.GatherStatistics(stats);
}
SoundEffectInstanceBase mBase;
SoundEffect* mEffect;
WaveBank* mWaveBank;
uint32_t mIndex;
bool mLooped;
};
void SoundEffectInstance::Impl::Play( bool loop )
{
if ( !mBase.voice )
{
if ( mWaveBank )
{
char buff[64];
auto wfx = reinterpret_cast<WAVEFORMATEX*>( buff );
mBase.AllocateVoice( mWaveBank->GetFormat( mIndex, wfx, 64) );
}
else
{
assert( mEffect != 0 );
mBase.AllocateVoice( mEffect->GetFormat() );
}
}
if ( !mBase.Play() )
return;
// Submit audio data for STOPPED -> PLAYING state transition
XAUDIO2_BUFFER buffer;
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
bool iswma = false;
XAUDIO2_BUFFER_WMA wmaBuffer;
if ( mWaveBank )
{
iswma = mWaveBank->FillSubmitBuffer( mIndex, buffer, wmaBuffer );
}
else
{
assert( mEffect != 0 );
iswma = mEffect->FillSubmitBuffer( buffer, wmaBuffer );
}
#else
if ( mWaveBank )
{
mWaveBank->FillSubmitBuffer( mIndex, buffer );
}
else
{
assert( mEffect != 0 );
mEffect->FillSubmitBuffer( buffer );
}
#endif
buffer.Flags = XAUDIO2_END_OF_STREAM;
if ( loop )
{
mLooped = true;
buffer.LoopCount = XAUDIO2_LOOP_INFINITE;
}
else
{
mLooped = false;
buffer.LoopCount = buffer.LoopBegin = buffer.LoopLength = 0;
}
buffer.pContext = nullptr;
HRESULT hr;
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
if ( iswma )
{
hr = mBase.voice->SubmitSourceBuffer( &buffer, &wmaBuffer );
}
else
#endif
{
hr = mBase.voice->SubmitSourceBuffer( &buffer, nullptr );
}
if ( FAILED(hr) )
{
#ifdef _DEBUG
DebugTrace( "ERROR: SoundEffectInstance failed (%08X) when submitting buffer:\n", hr );
char buff[64];
auto wfx = ( mWaveBank ) ? mWaveBank->GetFormat( mIndex, reinterpret_cast<WAVEFORMATEX*>( buff ), 64 )
: mEffect->GetFormat();
size_t length = ( mWaveBank ) ? mWaveBank->GetSampleSizeInBytes( mIndex ) : mEffect->GetSampleSizeInBytes();
DebugTrace( "\tFormat Tag %u, %u channels, %u-bit, %u Hz, %Iu bytes\n", wfx->wFormatTag,
wfx->nChannels, wfx->wBitsPerSample, wfx->nSamplesPerSec, length );
#endif
mBase.Stop( true, mLooped );
throw std::exception( "SubmitSourceBuffer" );
}
}
//--------------------------------------------------------------------------------------
// SoundEffectInstance
//--------------------------------------------------------------------------------------
// Private constructors
_Use_decl_annotations_
SoundEffectInstance::SoundEffectInstance( AudioEngine* engine, SoundEffect* effect, SOUND_EFFECT_INSTANCE_FLAGS flags ) :
pImpl( new Impl( engine, effect, flags ) )
{
}
_Use_decl_annotations_
SoundEffectInstance::SoundEffectInstance( AudioEngine* engine, WaveBank* waveBank, int index, SOUND_EFFECT_INSTANCE_FLAGS flags ) :
pImpl( new Impl( engine, waveBank, index, flags ) )
{
}
// Move constructor.
SoundEffectInstance::SoundEffectInstance(SoundEffectInstance&& moveFrom)
: pImpl(std::move(moveFrom.pImpl))
{
}
// Move assignment.
SoundEffectInstance& SoundEffectInstance::operator= (SoundEffectInstance&& moveFrom)
{
pImpl = std::move(moveFrom.pImpl);
return *this;
}
// Public destructor.
SoundEffectInstance::~SoundEffectInstance()
{
if( pImpl )
{
if ( pImpl->mWaveBank )
{
pImpl->mWaveBank->UnregisterInstance( this );
pImpl->mWaveBank = nullptr;
}
if ( pImpl->mEffect )
{
pImpl->mEffect->UnregisterInstance( this );
pImpl->mEffect = nullptr;
}
}
}
// Public methods.
void SoundEffectInstance::Play( bool loop )
{
pImpl->Play( loop );
}
void SoundEffectInstance::Stop( bool immediate )
{
pImpl->mBase.Stop( immediate, pImpl->mLooped );
}
void SoundEffectInstance::Pause()
{
pImpl->mBase.Pause();
}
void SoundEffectInstance::Resume()
{
pImpl->mBase.Resume();
}
void SoundEffectInstance::SetVolume( float volume )
{
pImpl->mBase.SetVolume( volume );
}
void SoundEffectInstance::SetPitch( float pitch )
{
pImpl->mBase.SetPitch( pitch );
}
void SoundEffectInstance::SetPan( float pan )
{
pImpl->mBase.SetPan( pan );
}
void SoundEffectInstance::Apply3D( const AudioListener& listener, const AudioEmitter& emitter, bool rhcoords )
{
pImpl->mBase.Apply3D( listener, emitter, rhcoords );
}
// Public accessors.
bool SoundEffectInstance::IsLooped() const
{
return pImpl->mLooped;
}
SoundState SoundEffectInstance::GetState()
{
return pImpl->mBase.GetState( true );
}
// Notifications.
void SoundEffectInstance::OnDestroyParent()
{
pImpl->mBase.OnDestroy();
pImpl->mWaveBank = nullptr;
pImpl->mEffect = nullptr;
}

View File

@@ -0,0 +1,681 @@
//--------------------------------------------------------------------------------------
// File: WAVFileReader.cpp
//
// Functions for loading WAV audio files
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//-------------------------------------------------------------------------------------
#include "pch.h"
#include "PlatformHelpers.h"
#include "WAVFileReader.h"
using namespace DirectX;
namespace
{
//--------------------------------------------------------------------------------------
// .WAV files
//--------------------------------------------------------------------------------------
const uint32_t FOURCC_RIFF_TAG = 'FFIR';
const uint32_t FOURCC_FORMAT_TAG = ' tmf';
const uint32_t FOURCC_DATA_TAG = 'atad';
const uint32_t FOURCC_WAVE_FILE_TAG = 'EVAW';
const uint32_t FOURCC_XWMA_FILE_TAG = 'AMWX';
const uint32_t FOURCC_DLS_SAMPLE = 'pmsw';
const uint32_t FOURCC_MIDI_SAMPLE = 'lpms';
const uint32_t FOURCC_XWMA_DPDS = 'sdpd';
const uint32_t FOURCC_XMA_SEEK = 'kees';
#pragma pack(push,1)
struct RIFFChunk
{
uint32_t tag;
uint32_t size;
};
struct RIFFChunkHeader
{
uint32_t tag;
uint32_t size;
uint32_t riff;
};
struct DLSLoop
{
static const uint32_t LOOP_TYPE_FORWARD = 0x00000000;
static const uint32_t LOOP_TYPE_RELEASE = 0x00000001;
uint32_t size;
uint32_t loopType;
uint32_t loopStart;
uint32_t loopLength;
};
struct RIFFDLSSample
{
static const uint32_t OPTIONS_NOTRUNCATION = 0x00000001;
static const uint32_t OPTIONS_NOCOMPRESSION = 0x00000002;
uint32_t size;
uint16_t unityNote;
int16_t fineTune;
int32_t gain;
uint32_t options;
uint32_t loopCount;
};
struct MIDILoop
{
static const uint32_t LOOP_TYPE_FORWARD = 0x00000000;
static const uint32_t LOOP_TYPE_ALTERNATING = 0x00000001;
static const uint32_t LOOP_TYPE_BACKWARD = 0x00000002;
uint32_t cuePointId;
uint32_t type;
uint32_t start;
uint32_t end;
uint32_t fraction;
uint32_t playCount;
};
struct RIFFMIDISample
{
uint32_t manufacturerId;
uint32_t productId;
uint32_t samplePeriod;
uint32_t unityNode;
uint32_t pitchFraction;
uint32_t SMPTEFormat;
uint32_t SMPTEOffset;
uint32_t loopCount;
uint32_t samplerData;
};
#pragma pack(pop)
static_assert( sizeof(RIFFChunk) == 8, "structure size mismatch");
static_assert( sizeof(RIFFChunkHeader) == 12, "structure size mismatch");
static_assert( sizeof(DLSLoop) == 16, "structure size mismatch");
static_assert( sizeof(RIFFDLSSample) == 20, "structure size mismatch");
static_assert( sizeof(MIDILoop) == 24, "structure size mismatch");
static_assert( sizeof(RIFFMIDISample) == 36, "structure size mismatch");
};
//--------------------------------------------------------------------------------------
static const RIFFChunk* FindChunk( _In_reads_bytes_(sizeBytes) const uint8_t* data, _In_ size_t sizeBytes, _In_ uint32_t tag )
{
if ( !data )
return nullptr;
const uint8_t* ptr = data;
const uint8_t* end = data + sizeBytes;
while ( end > ( ptr + sizeof(RIFFChunk) ) )
{
auto header = reinterpret_cast<const RIFFChunk*>( ptr );
if ( header->tag == tag )
return header;
ptrdiff_t offset = header->size + sizeof(RIFFChunk);
ptr += offset;
}
return nullptr;
}
//--------------------------------------------------------------------------------------
static HRESULT WaveFindFormatAndData( _In_reads_bytes_(wavDataSize) const uint8_t* wavData, _In_ size_t wavDataSize,
_Outptr_ const WAVEFORMATEX** pwfx, _Outptr_ const uint8_t** pdata, _Out_ uint32_t* dataSize,
_Out_ bool& dpds, _Out_ bool& seek )
{
if ( !wavData || !pwfx )
return E_POINTER;
dpds = seek = false;
if (wavDataSize < (sizeof(RIFFChunk)*2 + sizeof(uint32_t) + sizeof(WAVEFORMAT) ) )
{
return E_FAIL;
}
const uint8_t* wavEnd = wavData + wavDataSize;
// Locate RIFF 'WAVE'
auto riffChunk = FindChunk( wavData, wavDataSize, FOURCC_RIFF_TAG );
if ( !riffChunk || riffChunk->size < 4 )
{
return E_FAIL;
}
auto riffHeader = reinterpret_cast<const RIFFChunkHeader*>( riffChunk );
if ( riffHeader->riff != FOURCC_WAVE_FILE_TAG && riffHeader->riff != FOURCC_XWMA_FILE_TAG )
{
return E_FAIL;
}
// Locate 'fmt '
auto ptr = reinterpret_cast<const uint8_t*>( riffHeader ) + sizeof(RIFFChunkHeader);
if ( ( ptr + sizeof(RIFFChunk) ) > wavEnd )
{
return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF );
}
auto fmtChunk = FindChunk( ptr, riffHeader->size, FOURCC_FORMAT_TAG );
if ( !fmtChunk || fmtChunk->size < sizeof(PCMWAVEFORMAT) )
{
return E_FAIL;
}
ptr = reinterpret_cast<const uint8_t*>( fmtChunk ) + sizeof( RIFFChunk );
if ( ptr + fmtChunk->size > wavEnd )
{
return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF );
}
auto wf = reinterpret_cast<const WAVEFORMAT*>( ptr );
// Validate WAVEFORMAT (focused on chunk size and format tag, not other data that XAUDIO2 will validate)
switch( wf->wFormatTag )
{
case WAVE_FORMAT_PCM:
case WAVE_FORMAT_IEEE_FLOAT:
// Can be a PCMWAVEFORMAT (8 bytes) or WAVEFORMATEX (10 bytes)
// We validiated chunk as at least sizeof(PCMWAVEFORMAT) above
break;
default:
{
if ( fmtChunk->size < sizeof(WAVEFORMATEX) )
{
return E_FAIL;
}
auto wfx = reinterpret_cast<const WAVEFORMATEX*>( ptr );
if ( fmtChunk->size < ( sizeof(WAVEFORMATEX) + wfx->cbSize ) )
{
return E_FAIL;
}
switch( wfx->wFormatTag )
{
case WAVE_FORMAT_WMAUDIO2:
case WAVE_FORMAT_WMAUDIO3:
dpds = true;
break;
case 0x166 /*WAVE_FORMAT_XMA2*/: // XMA2 is supported by Xbox One
if ( ( fmtChunk->size < 52 /*sizeof(XMA2WAVEFORMATEX)*/ ) || ( wfx->cbSize < 34 /*( sizeof(XMA2WAVEFORMATEX) - sizeof(WAVEFORMATEX) )*/ ) )
{
return E_FAIL;
}
seek = true;
break;
case WAVE_FORMAT_ADPCM:
if ( ( fmtChunk->size < ( sizeof(WAVEFORMATEX) + 32 ) ) || ( wfx->cbSize < 32 /*MSADPCM_FORMAT_EXTRA_BYTES*/ ) )
{
return E_FAIL;
}
break;
case WAVE_FORMAT_EXTENSIBLE:
if ( ( fmtChunk->size < sizeof(WAVEFORMATEXTENSIBLE) ) || ( wfx->cbSize < ( sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX) ) ) )
{
return E_FAIL;
}
else
{
static const GUID s_wfexBase = {0x00000000, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71};
auto wfex = reinterpret_cast<const WAVEFORMATEXTENSIBLE*>( ptr );
if ( memcmp( reinterpret_cast<const BYTE*>(&wfex->SubFormat) + sizeof(DWORD),
reinterpret_cast<const BYTE*>(&s_wfexBase) + sizeof(DWORD), sizeof(GUID) - sizeof(DWORD) ) != 0 )
{
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
}
switch( wfex->SubFormat.Data1 )
{
case WAVE_FORMAT_PCM:
case WAVE_FORMAT_IEEE_FLOAT:
break;
// MS-ADPCM and XMA2 are not supported as WAVEFORMATEXTENSIBLE
case WAVE_FORMAT_WMAUDIO2:
case WAVE_FORMAT_WMAUDIO3:
dpds = true;
break;
default:
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
}
}
break;
default:
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
}
}
}
// Locate 'data'
ptr = reinterpret_cast<const uint8_t*>( riffHeader ) + sizeof(RIFFChunkHeader);
if ( ( ptr + sizeof(RIFFChunk) ) > wavEnd )
{
return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF );
}
auto dataChunk = FindChunk( ptr, riffChunk->size, FOURCC_DATA_TAG );
if ( !dataChunk || !dataChunk->size )
{
return HRESULT_FROM_WIN32( ERROR_INVALID_DATA );
}
ptr = reinterpret_cast<const uint8_t*>( dataChunk ) + sizeof( RIFFChunk );
if ( ptr + dataChunk->size > wavEnd )
{
return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF );
}
*pwfx = reinterpret_cast<const WAVEFORMATEX*>( wf );
*pdata = ptr;
*dataSize = dataChunk->size;
return S_OK;
}
//--------------------------------------------------------------------------------------
static HRESULT WaveFindLoopInfo( _In_reads_bytes_(wavDataSize) const uint8_t* wavData, _In_ size_t wavDataSize,
_Out_ uint32_t* pLoopStart, _Out_ uint32_t* pLoopLength )
{
if ( !wavData || !pLoopStart || !pLoopLength )
return E_POINTER;
if (wavDataSize < ( sizeof(RIFFChunk) + sizeof(uint32_t) ) )
{
return E_FAIL;
}
*pLoopStart = 0;
*pLoopLength = 0;
const uint8_t* wavEnd = wavData + wavDataSize;
// Locate RIFF 'WAVE'
auto riffChunk = FindChunk( wavData, wavDataSize, FOURCC_RIFF_TAG );
if ( !riffChunk || riffChunk->size < 4 )
{
return E_FAIL;
}
auto riffHeader = reinterpret_cast<const RIFFChunkHeader*>( riffChunk );
if ( riffHeader->riff == FOURCC_XWMA_FILE_TAG )
{
// xWMA files do not contain loop information
return S_OK;
}
if ( riffHeader->riff != FOURCC_WAVE_FILE_TAG )
{
return E_FAIL;
}
// Locate 'wsmp' (DLS Chunk)
auto ptr = reinterpret_cast<const uint8_t*>( riffHeader ) + sizeof(RIFFChunkHeader);
if ( ( ptr + sizeof(RIFFChunk) ) > wavEnd )
{
return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF );
}
auto dlsChunk = FindChunk( ptr, riffChunk->size, FOURCC_DLS_SAMPLE );
if ( dlsChunk )
{
ptr = reinterpret_cast<const uint8_t*>( dlsChunk ) + sizeof( RIFFChunk );
if ( ptr + dlsChunk->size > wavEnd )
{
return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF );
}
if ( dlsChunk->size >= sizeof(RIFFDLSSample) )
{
auto dlsSample = reinterpret_cast<const RIFFDLSSample*>( ptr );
if ( dlsChunk->size >= ( dlsSample->size + dlsSample->loopCount * sizeof(DLSLoop) ) )
{
auto loops = reinterpret_cast<const DLSLoop*>( ptr + dlsSample->size );
for( uint32_t j = 0; j < dlsSample->loopCount; ++j )
{
if ( ( loops[j].loopType == DLSLoop::LOOP_TYPE_FORWARD || loops[j].loopType == DLSLoop::LOOP_TYPE_RELEASE ) )
{
// Return 'forward' loop
*pLoopStart = loops[j].loopStart;
*pLoopLength = loops[j].loopLength;
return S_OK;
}
}
}
}
}
// Locate 'smpl' (Sample Chunk)
auto midiChunk = FindChunk( ptr, riffChunk->size, FOURCC_MIDI_SAMPLE );
if ( midiChunk )
{
ptr = reinterpret_cast<const uint8_t*>( midiChunk ) + sizeof( RIFFChunk );
if ( ptr + midiChunk->size > wavEnd )
{
return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF );
}
if ( midiChunk->size >= sizeof(RIFFMIDISample) )
{
auto midiSample = reinterpret_cast<const RIFFMIDISample*>( ptr );
if ( midiChunk->size >= ( sizeof(RIFFMIDISample) + midiSample->loopCount * sizeof(MIDILoop) ) )
{
auto loops = reinterpret_cast<const MIDILoop*>( ptr + sizeof(RIFFMIDISample) );
for( uint32_t j = 0; j < midiSample->loopCount; ++j )
{
if ( loops[j].type == MIDILoop::LOOP_TYPE_FORWARD )
{
// Return 'forward' loop
*pLoopStart = loops[j].start;
*pLoopLength = loops[j].end + loops[j].start + 1;
return S_OK;
}
}
}
}
}
return S_OK;
}
//--------------------------------------------------------------------------------------
static HRESULT WaveFindTable( _In_reads_bytes_(wavDataSize) const uint8_t* wavData, _In_ size_t wavDataSize, _In_ uint32_t tag,
_Outptr_result_maybenull_ const uint32_t** pData, _Out_ uint32_t* dataCount )
{
if ( !wavData || !pData || !dataCount )
return E_POINTER;
if (wavDataSize < ( sizeof(RIFFChunk) + sizeof(uint32_t) ) )
{
return E_FAIL;
}
*pData = nullptr;
*dataCount = 0;
const uint8_t* wavEnd = wavData + wavDataSize;
// Locate RIFF 'WAVE'
auto riffChunk = FindChunk( wavData, wavDataSize, FOURCC_RIFF_TAG );
if ( !riffChunk || riffChunk->size < 4 )
{
return E_FAIL;
}
auto riffHeader = reinterpret_cast<const RIFFChunkHeader*>( riffChunk );
if ( riffHeader->riff != FOURCC_WAVE_FILE_TAG && riffHeader->riff != FOURCC_XWMA_FILE_TAG )
{
return E_FAIL;
}
// Locate tag
auto ptr = reinterpret_cast<const uint8_t*>( riffHeader ) + sizeof(RIFFChunkHeader);
if ( ( ptr + sizeof(RIFFChunk) ) > wavEnd )
{
return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF );
}
auto tableChunk = FindChunk( ptr, riffChunk->size, tag );
if ( tableChunk )
{
ptr = reinterpret_cast<const uint8_t*>( tableChunk ) + sizeof( RIFFChunk );
if ( ptr + tableChunk->size > wavEnd )
{
return HRESULT_FROM_WIN32( ERROR_HANDLE_EOF );
}
if ( ( tableChunk->size % sizeof(uint32_t) ) != 0 )
{
return E_FAIL;
}
*pData = reinterpret_cast<const uint32_t*>( ptr );
*dataCount = tableChunk->size / 4;
}
return S_OK;
}
//--------------------------------------------------------------------------------------
static HRESULT LoadAudioFromFile( _In_z_ const wchar_t* szFileName, _Inout_ std::unique_ptr<uint8_t[]>& wavData, _Out_ DWORD* bytesRead )
{
if ( !szFileName )
return E_INVALIDARG;
// open the file
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
ScopedHandle hFile( safe_handle( CreateFile2( szFileName,
GENERIC_READ,
FILE_SHARE_READ,
OPEN_EXISTING,
nullptr ) ) );
#else
ScopedHandle hFile( safe_handle( CreateFileW( szFileName,
GENERIC_READ,
FILE_SHARE_READ,
nullptr,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
nullptr ) ) );
#endif
if ( !hFile )
{
return HRESULT_FROM_WIN32( GetLastError() );
}
// Get the file size
FILE_STANDARD_INFO fileInfo;
if ( !GetFileInformationByHandleEx( hFile.get(), FileStandardInfo, &fileInfo, sizeof(fileInfo) ) )
{
return HRESULT_FROM_WIN32( GetLastError() );
}
// File is too big for 32-bit allocation, so reject read
if (fileInfo.EndOfFile.HighPart > 0)
{
return E_FAIL;
}
// Need at least enough data to have a valid minimal WAV file
if (fileInfo.EndOfFile.LowPart < ( sizeof(RIFFChunk)*2 + sizeof(DWORD) + sizeof(WAVEFORMAT) ) )
{
return E_FAIL;
}
// create enough space for the file data
wavData.reset( new (std::nothrow) uint8_t[ fileInfo.EndOfFile.LowPart ] );
if (!wavData)
{
return E_OUTOFMEMORY;
}
// read the data in
if (!ReadFile( hFile.get(),
wavData.get(),
fileInfo.EndOfFile.LowPart,
bytesRead,
nullptr
))
{
return HRESULT_FROM_WIN32( GetLastError() );
}
return (*bytesRead < fileInfo.EndOfFile.LowPart) ? E_FAIL : S_OK;
}
//--------------------------------------------------------------------------------------
_Use_decl_annotations_
HRESULT DirectX::LoadWAVAudioInMemory( const uint8_t* wavData,
size_t wavDataSize,
const WAVEFORMATEX** wfx,
const uint8_t** startAudio,
uint32_t* audioBytes )
{
if ( !wavData || !wfx || !startAudio || !audioBytes )
return E_INVALIDARG;
*wfx = nullptr;
*startAudio = nullptr;
*audioBytes = 0;
// Need at least enough data to have a valid minimal WAV file
if (wavDataSize < (sizeof(RIFFChunk)*2 + sizeof(DWORD) + sizeof(WAVEFORMAT) ) )
{
return E_FAIL;
}
bool dpds, seek;
HRESULT hr = WaveFindFormatAndData( wavData, wavDataSize, wfx, startAudio, audioBytes, dpds, seek );
if ( FAILED(hr) )
return hr;
return (dpds || seek) ? E_FAIL : S_OK;
}
//--------------------------------------------------------------------------------------
_Use_decl_annotations_
HRESULT DirectX::LoadWAVAudioFromFile( const wchar_t* szFileName,
std::unique_ptr<uint8_t[]>& wavData,
const WAVEFORMATEX** wfx,
const uint8_t** startAudio,
uint32_t* audioBytes )
{
if ( !szFileName || !wfx || !startAudio || !audioBytes )
return E_INVALIDARG;
*wfx = nullptr;
*startAudio = nullptr;
*audioBytes = 0;
DWORD bytesRead = 0;
HRESULT hr = LoadAudioFromFile( szFileName, wavData, &bytesRead );
if ( FAILED(hr) )
{
return hr;
}
bool dpds, seek;
hr = WaveFindFormatAndData( wavData.get(), bytesRead, wfx, startAudio, audioBytes, dpds, seek );
if ( FAILED(hr) )
return hr;
return (dpds || seek) ? E_FAIL : S_OK;
}
//--------------------------------------------------------------------------------------
_Use_decl_annotations_
HRESULT DirectX::LoadWAVAudioInMemoryEx( const uint8_t* wavData, size_t wavDataSize, DirectX::WAVData& result )
{
if ( !wavData )
return E_INVALIDARG;
memset( &result, 0, sizeof(result) );
// Need at least enough data to have a valid minimal WAV file
if (wavDataSize < (sizeof(RIFFChunk)*2 + sizeof(DWORD) + sizeof(WAVEFORMAT) ) )
{
return E_FAIL;
}
bool dpds, seek;
HRESULT hr = WaveFindFormatAndData( wavData, wavDataSize, &result.wfx, &result.startAudio, &result.audioBytes, dpds, seek );
if ( FAILED(hr) )
return hr;
hr = WaveFindLoopInfo( wavData, wavDataSize, &result.loopStart, &result.loopLength );
if ( FAILED(hr) )
return hr;
if ( dpds )
{
hr = WaveFindTable( wavData, wavDataSize, FOURCC_XWMA_DPDS, &result.seek, &result.seekCount );
if ( FAILED(hr) )
return hr;
}
else if ( seek )
{
hr = WaveFindTable( wavData, wavDataSize, FOURCC_XMA_SEEK, &result.seek, &result.seekCount );
if ( FAILED(hr) )
return hr;
}
return S_OK;
}
//--------------------------------------------------------------------------------------
_Use_decl_annotations_
HRESULT DirectX::LoadWAVAudioFromFileEx( const wchar_t* szFileName, std::unique_ptr<uint8_t[]>& wavData, DirectX::WAVData& result )
{
if ( !szFileName )
return E_INVALIDARG;
memset( &result, 0, sizeof(result) );
DWORD bytesRead = 0;
HRESULT hr = LoadAudioFromFile( szFileName, wavData, &bytesRead );
if ( FAILED(hr) )
{
return hr;
}
bool dpds, seek;
hr = WaveFindFormatAndData( wavData.get(), bytesRead, &result.wfx, &result.startAudio, &result.audioBytes, dpds, seek );
if ( FAILED(hr) )
return hr;
hr = WaveFindLoopInfo( wavData.get(), bytesRead, &result.loopStart, &result.loopLength );
if ( FAILED(hr) )
return hr;
if ( dpds )
{
hr = WaveFindTable( wavData.get(), bytesRead, FOURCC_XWMA_DPDS, &result.seek, &result.seekCount );
if ( FAILED(hr) )
return hr;
}
else if ( seek )
{
hr = WaveFindTable( wavData.get(), bytesRead, FOURCC_XMA_SEEK, &result.seek, &result.seekCount );
if ( FAILED(hr) )
return hr;
}
return S_OK;
}

View File

@@ -0,0 +1,55 @@
//--------------------------------------------------------------------------------------
// File: WAVFileReader.h
//
// Functions for loading WAV audio files
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//-------------------------------------------------------------------------------------
#pragma once
#include <stdint.h>
#include <objbase.h>
#include <memory>
#include <mmreg.h>
namespace DirectX
{
HRESULT LoadWAVAudioInMemory( _In_reads_bytes_(wavDataSize) const uint8_t* wavData,
_In_ size_t wavDataSize,
_Outptr_ const WAVEFORMATEX** wfx,
_Outptr_ const uint8_t** startAudio,
_Out_ uint32_t* audioBytes );
HRESULT LoadWAVAudioFromFile( _In_z_ const wchar_t* szFileName,
_Inout_ std::unique_ptr<uint8_t[]>& wavData,
_Outptr_ const WAVEFORMATEX** wfx,
_Outptr_ const uint8_t** startAudio,
_Out_ uint32_t* audioBytes );
struct WAVData
{
const WAVEFORMATEX* wfx;
const uint8_t* startAudio;
uint32_t audioBytes;
uint32_t loopStart;
uint32_t loopLength;
const uint32_t* seek; // Note: XMA Seek data is Big-Endian
uint32_t seekCount;
};
HRESULT LoadWAVAudioInMemoryEx( _In_reads_bytes_(wavDataSize) const uint8_t* wavData,
_In_ size_t wavDataSize, _Out_ WAVData& result );
HRESULT LoadWAVAudioFromFileEx( _In_z_ const wchar_t* szFileName,
_Inout_ std::unique_ptr<uint8_t[]>& wavData,
_Out_ WAVData& result );
}

View File

@@ -0,0 +1,511 @@
//--------------------------------------------------------------------------------------
// File: WaveBank.cpp
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#include "pch.h"
#include "Audio.h"
#include "WaveBankReader.h"
#include "SoundCommon.h"
#include "PlatformHelpers.h"
#include <list>
using namespace DirectX;
//======================================================================================
// WaveBank
//======================================================================================
// Internal object implementation class.
class WaveBank::Impl : public IVoiceNotify
{
public:
explicit Impl( _In_ AudioEngine* engine ) :
mEngine( engine ),
mOneShots( 0 ),
mPrepared( false ),
mStreaming( false )
{
assert( mEngine != 0 );
mEngine->RegisterNotify( this, false );
}
virtual ~Impl()
{
if ( !mInstances.empty() )
{
DebugTrace( "WARNING: Destroying WaveBank \"%hs\" with %Iu outstanding SoundEffectInstances\n", mReader.BankName(), mInstances.size() );
for( auto it = mInstances.begin(); it != mInstances.end(); ++it )
{
assert( *it != 0 );
(*it)->OnDestroyParent();
}
mInstances.clear();
}
if ( mOneShots > 0 )
{
DebugTrace( "WARNING: Destroying WaveBank \"%hs\" with %u outstanding one shot effects\n", mReader.BankName(), mOneShots );
}
if ( mEngine )
{
mEngine->UnregisterNotify( this, true, false );
mEngine = nullptr;
}
}
HRESULT Initialize( _In_ AudioEngine* engine, _In_z_ const wchar_t* wbFileName );
void Play( int index, float volume, float pitch, float pan );
// IVoiceNotify
virtual void __cdecl OnBufferEnd() override
{
InterlockedDecrement( &mOneShots );
}
virtual void __cdecl OnCriticalError() override
{
mOneShots = 0;
}
virtual void __cdecl OnReset() override
{
// No action required
}
virtual void __cdecl OnUpdate() override
{
// We do not register for update notification
assert(false);
}
virtual void __cdecl OnDestroyEngine() override
{
mEngine = nullptr;
mOneShots = 0;
}
virtual void __cdecl OnTrim() override
{
// No action required
}
virtual void __cdecl GatherStatistics( AudioStatistics& stats ) const override
{
stats.playingOneShots += mOneShots;
if ( !mStreaming )
{
stats.audioBytes += mReader.BankAudioSize();
#if defined(_XBOX_ONE) && defined(_TITLE)
if ( mReader.HasXMA() )
stats.xmaAudioBytes += mReader.BankAudioSize();
#endif
}
}
AudioEngine* mEngine;
std::list<SoundEffectInstance*> mInstances;
WaveBankReader mReader;
uint32_t mOneShots;
bool mPrepared;
bool mStreaming;
};
_Use_decl_annotations_
HRESULT WaveBank::Impl::Initialize( AudioEngine* engine, const wchar_t* wbFileName )
{
if ( !engine || !wbFileName )
return E_INVALIDARG;
HRESULT hr = mReader.Open( wbFileName );
if ( FAILED(hr) )
return hr;
mStreaming = mReader.IsStreamingBank();
return S_OK;
}
void WaveBank::Impl::Play( int index, float volume, float pitch, float pan )
{
assert( volume >= -XAUDIO2_MAX_VOLUME_LEVEL && volume <= XAUDIO2_MAX_VOLUME_LEVEL );
assert( pitch >= -1.f && pitch <= 1.f );
assert( pan >= -1.f && pan <= 1.f );
if ( mStreaming )
{
DebugTrace( "ERROR: One-shots can only be created from an in-memory wave bank\n");
throw std::exception( "WaveBank::Play" );
}
if ( index < 0 || uint32_t(index) >= mReader.Count() )
{
DebugTrace( "WARNING: Index %d not found in wave bank with only %u entries, one-shot not triggered\n", index, mReader.Count() );
return;
}
if ( !mPrepared )
{
mReader.WaitOnPrepare();
mPrepared = true;
}
char wfxbuff[64];
auto wfx = reinterpret_cast<WAVEFORMATEX*>( wfxbuff );
HRESULT hr = mReader.GetFormat( index, wfx, 64 );
ThrowIfFailed( hr );
IXAudio2SourceVoice* voice = nullptr;
mEngine->AllocateVoice( wfx, SoundEffectInstance_Default, true, &voice );
if ( !voice )
return;
if ( volume != 1.f )
{
hr = voice->SetVolume( volume );
ThrowIfFailed( hr );
}
if ( pitch != 0.f )
{
float fr = XAudio2SemitonesToFrequencyRatio( pitch * 12.f );
hr = voice->SetFrequencyRatio( fr );
ThrowIfFailed( hr );
}
if ( pan != 0.f )
{
float matrix[16];
if ( ComputePan( pan, wfx->nChannels, matrix ) )
{
hr = voice->SetOutputMatrix( nullptr, wfx->nChannels, mEngine->GetOutputChannels(), matrix );
ThrowIfFailed( hr );
}
}
hr = voice->Start( 0 );
ThrowIfFailed( hr );
XAUDIO2_BUFFER buffer = {};
hr = mReader.GetWaveData( index, &buffer.pAudioData, buffer.AudioBytes );
ThrowIfFailed( hr );
WaveBankReader::Metadata metadata;
hr = mReader.GetMetadata( index, metadata );
ThrowIfFailed( hr );
buffer.Flags = XAUDIO2_END_OF_STREAM;
buffer.pContext = this;
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
XAUDIO2_BUFFER_WMA wmaBuffer = {};
uint32_t tag;
hr = mReader.GetSeekTable( index, &wmaBuffer.pDecodedPacketCumulativeBytes, wmaBuffer.PacketCount, tag );
ThrowIfFailed( hr );
if ( tag == WAVE_FORMAT_WMAUDIO2 || tag == WAVE_FORMAT_WMAUDIO3 )
{
hr = voice->SubmitSourceBuffer( &buffer, &wmaBuffer );
}
else
#endif
{
hr = voice->SubmitSourceBuffer( &buffer, nullptr );
}
if ( FAILED(hr) )
{
DebugTrace( "ERROR: WaveBank failed (%08X) when submitting buffer:\n", hr );
DebugTrace( "\tFormat Tag %u, %u channels, %u-bit, %u Hz, %u bytes\n", wfx->wFormatTag,
wfx->nChannels, wfx->wBitsPerSample, wfx->nSamplesPerSec, metadata.lengthBytes );
throw std::exception( "SubmitSourceBuffer" );
}
InterlockedIncrement( &mOneShots );
}
//--------------------------------------------------------------------------------------
// WaveBank
//--------------------------------------------------------------------------------------
// Public constructors.
_Use_decl_annotations_
WaveBank::WaveBank( AudioEngine* engine, const wchar_t* wbFileName )
: pImpl(new Impl(engine) )
{
HRESULT hr = pImpl->Initialize( engine, wbFileName );
if ( FAILED(hr) )
{
DebugTrace( "ERROR: WaveBank failed (%08X) to intialize from .xwb file \"%ls\"\n", hr, wbFileName );
throw std::exception( "WaveBank" );
}
DebugTrace( "INFO: WaveBank \"%hs\" with %u entries loaded from .xwb file \"%ls\"\n",
pImpl->mReader.BankName(), pImpl->mReader.Count(), wbFileName );
}
// Move constructor.
WaveBank::WaveBank(WaveBank&& moveFrom)
: pImpl(std::move(moveFrom.pImpl))
{
}
// Move assignment.
WaveBank& WaveBank::operator= (WaveBank&& moveFrom)
{
pImpl = std::move(moveFrom.pImpl);
return *this;
}
// Public destructor.
WaveBank::~WaveBank()
{
}
// Public methods.
void WaveBank::Play( int index )
{
pImpl->Play( index, 1.f, 0.f, 0.f );
}
void WaveBank::Play( int index, float volume, float pitch, float pan )
{
pImpl->Play( index, volume, pitch, pan );
}
void WaveBank::Play( _In_z_ const char* name )
{
int index = static_cast<int>( pImpl->mReader.Find( name ) );
if ( index == -1 )
{
DebugTrace( "WARNING: Name '%hs' not found in wave bank, one-shot not triggered\n", name );
return;
}
pImpl->Play( index, 1.f, 0.f, 0.f );
}
void WaveBank::Play( _In_z_ const char* name, float volume, float pitch, float pan )
{
int index = static_cast<int>( pImpl->mReader.Find( name ) );
if ( index == -1 )
{
DebugTrace( "WARNING: Name '%hs' not found in wave bank, one-shot not triggered\n", name );
return;
}
pImpl->Play( index, volume, pitch, pan );
}
std::unique_ptr<SoundEffectInstance> WaveBank::CreateInstance( int index, SOUND_EFFECT_INSTANCE_FLAGS flags )
{
auto& wb = pImpl->mReader;
if ( pImpl->mStreaming )
{
DebugTrace( "ERROR: SoundEffectInstances can only be created from an in-memory wave bank\n");
throw std::exception( "WaveBank::CreateInstance" );
}
if ( index < 0 || uint32_t(index) >= wb.Count() )
{
// We don't throw an exception here as titles often simply ignore missing assets rather than fail
return std::unique_ptr<SoundEffectInstance>();
}
if ( !pImpl->mPrepared )
{
wb.WaitOnPrepare();
pImpl->mPrepared = true;
}
auto effect = new SoundEffectInstance( pImpl->mEngine, this, index, flags );
assert( effect != 0 );
pImpl->mInstances.emplace_back( effect );
return std::unique_ptr<SoundEffectInstance>( effect );
}
std::unique_ptr<SoundEffectInstance> WaveBank::CreateInstance( _In_z_ const char* name, SOUND_EFFECT_INSTANCE_FLAGS flags )
{
int index = static_cast<int>( pImpl->mReader.Find( name ) );
if ( index == -1 )
{
// We don't throw an exception here as titles often simply ignore missing assets rather than fail
return std::unique_ptr<SoundEffectInstance>();
}
return CreateInstance( index, flags );
}
void WaveBank::UnregisterInstance( _In_ SoundEffectInstance* instance )
{
auto it = std::find( pImpl->mInstances.begin(), pImpl->mInstances.end(), instance );
if ( it == pImpl->mInstances.end() )
return;
pImpl->mInstances.erase( it );
}
// Public accessors.
bool WaveBank::IsPrepared() const
{
if ( pImpl->mPrepared )
return true;
if ( !pImpl->mReader.IsPrepared() )
return false;
pImpl->mPrepared = true;
return true;
}
bool WaveBank::IsInUse() const
{
return ( pImpl->mOneShots > 0 ) || !pImpl->mInstances.empty();
}
bool WaveBank::IsStreamingBank() const
{
return pImpl->mReader.IsStreamingBank();
}
size_t WaveBank::GetSampleSizeInBytes( int index ) const
{
if ( index < 0 || uint32_t(index) >= pImpl->mReader.Count() )
return 0;
WaveBankReader::Metadata metadata;
HRESULT hr = pImpl->mReader.GetMetadata( index, metadata );
ThrowIfFailed( hr );
return metadata.lengthBytes;
}
size_t WaveBank::GetSampleDuration( int index ) const
{
if ( index < 0 || uint32_t(index) >= pImpl->mReader.Count() )
return 0;
WaveBankReader::Metadata metadata;
HRESULT hr = pImpl->mReader.GetMetadata( index, metadata );
ThrowIfFailed( hr );
return metadata.duration;
}
size_t WaveBank::GetSampleDurationMS( int index ) const
{
if ( index < 0 || uint32_t(index) >= pImpl->mReader.Count() )
return 0;
char buff[64];
auto wfx = reinterpret_cast<WAVEFORMATEX*>( buff );
HRESULT hr = pImpl->mReader.GetFormat( index, wfx, 64 );
ThrowIfFailed( hr );
WaveBankReader::Metadata metadata;
hr = pImpl->mReader.GetMetadata( index, metadata );
ThrowIfFailed( hr );
return static_cast<size_t>( ( uint64_t(metadata.duration) * 1000 ) / wfx->nSamplesPerSec );
}
_Use_decl_annotations_
const WAVEFORMATEX* WaveBank::GetFormat( int index, WAVEFORMATEX* wfx, size_t maxsize ) const
{
if ( index < 0 || uint32_t(index) >= pImpl->mReader.Count() )
return nullptr;
HRESULT hr = pImpl->mReader.GetFormat( index, wfx, maxsize );
ThrowIfFailed( hr );
return wfx;
}
_Use_decl_annotations_
int WaveBank::Find( const char* name ) const
{
return static_cast<int>( pImpl->mReader.Find( name ) );
}
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
_Use_decl_annotations_
bool WaveBank::FillSubmitBuffer( int index, XAUDIO2_BUFFER& buffer, XAUDIO2_BUFFER_WMA& wmaBuffer ) const
{
memset( &buffer, 0, sizeof(buffer) );
memset( &wmaBuffer, 0, sizeof(wmaBuffer) );
HRESULT hr = pImpl->mReader.GetWaveData( index, &buffer.pAudioData, buffer.AudioBytes );
ThrowIfFailed( hr );
WaveBankReader::Metadata metadata;
hr = pImpl->mReader.GetMetadata( index, metadata );
ThrowIfFailed( hr );
buffer.LoopBegin = metadata.loopStart;
buffer.LoopLength = metadata.loopLength;
uint32_t tag;
hr = pImpl->mReader.GetSeekTable( index, &wmaBuffer.pDecodedPacketCumulativeBytes, wmaBuffer.PacketCount, tag );
ThrowIfFailed( hr );
return ( tag == WAVE_FORMAT_WMAUDIO2 || tag == WAVE_FORMAT_WMAUDIO3 );
}
#else
_Use_decl_annotations_
void WaveBank::FillSubmitBuffer( int index, XAUDIO2_BUFFER& buffer ) const
{
memset( &buffer, 0, sizeof(buffer) );
HRESULT hr = pImpl->mReader.GetWaveData( index, &buffer.pAudioData, buffer.AudioBytes );
ThrowIfFailed( hr );
WaveBankReader::Metadata metadata;
hr = pImpl->mReader.GetMetadata( index, metadata );
ThrowIfFailed( hr );
buffer.LoopBegin = metadata.loopStart;
buffer.LoopLength = metadata.loopLength;
}
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,85 @@
//--------------------------------------------------------------------------------------
// File: WaveBankReader.h
//
// Functions for loading audio data from Wave Banks
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//-------------------------------------------------------------------------------------
#pragma once
#include <stdint.h>
#include <objbase.h>
#include <memory>
#include <mmreg.h>
namespace DirectX
{
class WaveBankReader
{
public:
WaveBankReader();
#if !defined(_MSC_VER) || _MSC_VER >= 1900
WaveBankReader(WaveBankReader&&) = default;
WaveBankReader& operator= (WaveBankReader&&) = default;
#endif
WaveBankReader(WaveBankReader const&) = delete;
WaveBankReader& operator= (WaveBankReader const&) = delete;
~WaveBankReader();
HRESULT Open( _In_z_ const wchar_t* szFileName );
uint32_t Find( _In_z_ const char* name ) const;
bool IsPrepared();
void WaitOnPrepare();
bool HasNames() const;
bool IsStreamingBank() const;
#if defined(_XBOX_ONE) && defined(_TITLE)
bool HasXMA() const;
#endif
const char* BankName() const;
uint32_t Count() const;
uint32_t BankAudioSize() const;
HRESULT GetFormat( _In_ uint32_t index, _Out_writes_bytes_(maxsize) WAVEFORMATEX* pFormat, _In_ size_t maxsize ) const;
HRESULT GetWaveData( _In_ uint32_t index, _Outptr_ const uint8_t** pData, _Out_ uint32_t& dataSize ) const;
HRESULT GetSeekTable( _In_ uint32_t index, _Out_ const uint32_t** pData, _Out_ uint32_t& dataCount, _Out_ uint32_t& tag ) const;
HANDLE GetAsyncHandle() const;
struct Metadata
{
uint32_t duration;
uint32_t loopStart;
uint32_t loopLength;
uint32_t offsetBytes;
uint32_t lengthBytes;
};
HRESULT GetMetadata( _In_ uint32_t index, _Out_ Metadata& metadata ) const;
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
}

View File

@@ -0,0 +1,76 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_Desktop_2013", "DirectXTK_Desktop_2013.vcxproj", "{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MakeSpriteFont", "MakeSpriteFont\MakeSpriteFont.csproj", "{7329B02D-C504-482A-A156-181D48CE493C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTKAudio_Desktop_2013_Win8", "Audio\DirectXTKAudio_Desktop_2013_Win8.vcxproj", "{4F150A30-CECB-49D1-8283-6A3F57438CF5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XWBTool_Desktop_2013", "XWBTool\XWBTool_Desktop_2013.vcxproj", "{C7AB4186-54B2-4244-A533-77494763EA1D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.ActiveCfg = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.Build.0 = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.ActiveCfg = Release|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.Build.0 = Release|x64
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.Build.0 = Release|Any CPU
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.ActiveCfg = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.Build.0 = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.ActiveCfg = Release|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.Build.0 = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.ActiveCfg = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.Build.0 = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.ActiveCfg = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,592 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\PostProcess.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SimpleMath.inl" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\DDS.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\ToneMapPostProcess.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Readme.txt" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\SpriteEffect.fx" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\Shaders\Utilities.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\PostProcess.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\ToneMap.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VSVersion)' == '' and '$(VisualStudioVersion)' == ''">$(VCTargetsPath11)</VCTargetsPath>
</PropertyGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTK</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2013\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,76 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_Desktop_2013", "DirectXTK_Desktop_2013.vcxproj", "{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MakeSpriteFont", "MakeSpriteFont\MakeSpriteFont.csproj", "{7329B02D-C504-482A-A156-181D48CE493C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTKAudio_Desktop_2013_DXSDK", "Audio\DirectXTKAudio_Desktop_2013_DXSDK.vcxproj", "{4F150A30-CECB-49D1-8283-6A3F57438CF5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xwbtool_Desktop_2013", "XWBTool\xwbtool_Desktop_2013.vcxproj", "{C7AB4186-54B2-4244-A533-77494763EA1D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.ActiveCfg = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.Build.0 = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.ActiveCfg = Release|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.Build.0 = Release|x64
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.Build.0 = Release|Any CPU
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.ActiveCfg = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.Build.0 = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.ActiveCfg = Release|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.Build.0 = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.ActiveCfg = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.Build.0 = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.ActiveCfg = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,76 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2015
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_Desktop_2015", "DirectXTK_Desktop_2015.vcxproj", "{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MakeSpriteFont", "MakeSpriteFont\MakeSpriteFont.csproj", "{7329B02D-C504-482A-A156-181D48CE493C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTKAudio_Desktop_2015_Win8", "Audio\DirectXTKAudio_Desktop_2015_Win8.vcxproj", "{4F150A30-CECB-49D1-8283-6A3F57438CF5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XWBTool_Desktop_2015", "XWBTool\XWBTool_Desktop_2015.vcxproj", "{C7AB4186-54B2-4244-A533-77494763EA1D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.ActiveCfg = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.Build.0 = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.ActiveCfg = Release|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.Build.0 = Release|x64
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.Build.0 = Release|Any CPU
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.ActiveCfg = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.Build.0 = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.ActiveCfg = Release|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.Build.0 = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.ActiveCfg = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.Build.0 = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.ActiveCfg = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,590 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\PostProcess.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SimpleMath.inl" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\DDS.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\ToneMapPostProcess.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Readme.txt" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\SpriteEffect.fx" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\Shaders\Utilities.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\PostProcess.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\ToneMap.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals" />
<PropertyGroup Label="Globals">
<ProjectGuid>{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTK</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,76 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2015
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_Desktop_2015", "DirectXTK_Desktop_2015.vcxproj", "{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MakeSpriteFont", "MakeSpriteFont\MakeSpriteFont.csproj", "{7329B02D-C504-482A-A156-181D48CE493C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTKAudio_Desktop_2015_DXSDK", "Audio\DirectXTKAudio_Desktop_2015_DXSDK.vcxproj", "{4F150A30-CECB-49D1-8283-6A3F57438CF5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xwbtool_Desktop_2015", "XWBTool\xwbtool_Desktop_2015.vcxproj", "{C7AB4186-54B2-4244-A533-77494763EA1D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.ActiveCfg = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.Build.0 = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.ActiveCfg = Release|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.Build.0 = Release|x64
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.Build.0 = Release|Any CPU
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.ActiveCfg = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.Build.0 = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.ActiveCfg = Release|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.Build.0 = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.ActiveCfg = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.Build.0 = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.ActiveCfg = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,74 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2015
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_Desktop_2015_Win10", "DirectXTK_Desktop_2015_Win10.vcxproj", "{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MakeSpriteFont", "MakeSpriteFont\MakeSpriteFont.csproj", "{7329B02D-C504-482A-A156-181D48CE493C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XWBTool_Desktop_2015", "XWBTool\XWBTool_Desktop_2015.vcxproj", "{C7AB4186-54B2-4244-A533-77494763EA1D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.ActiveCfg = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.Build.0 = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.ActiveCfg = Release|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.Build.0 = Release|x64
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.Build.0 = Release|Any CPU
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.ActiveCfg = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.Build.0 = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.ActiveCfg = Release|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.Build.0 = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.ActiveCfg = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.Build.0 = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.ActiveCfg = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,603 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Audio\SoundCommon.h" />
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\PostProcess.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SimpleMath.inl" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\DDS.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Audio\AudioEngine.cpp" />
<ClCompile Include="Audio\DynamicSoundEffectInstance.cpp" />
<ClCompile Include="Audio\SoundCommon.cpp" />
<ClCompile Include="Audio\SoundEffect.cpp" />
<ClCompile Include="Audio\SoundEffectInstance.cpp" />
<ClCompile Include="Audio\WaveBank.cpp" />
<ClCompile Include="Audio\WaveBankReader.cpp" />
<ClCompile Include="Audio\WAVFileReader.cpp" />
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\ToneMapPostProcess.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Readme.txt" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\SpriteEffect.fx" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\Shaders\Utilities.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\PostProcess.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\ToneMap.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals" />
<PropertyGroup Label="Globals">
<ProjectGuid>{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTK</RootNamespace>
<WindowsTargetPlatformVersion>10.0.14393.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2015_Win10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0A00;_WIN7_PLATFORM_UPDATE;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0A00;_WIN7_PLATFORM_UPDATE;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0A00;_WIN7_PLATFORM_UPDATE;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0A00;_WIN7_PLATFORM_UPDATE;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,76 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2017
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_Desktop_2017", "DirectXTK_Desktop_2017.vcxproj", "{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MakeSpriteFont", "MakeSpriteFont\MakeSpriteFont.csproj", "{7329B02D-C504-482A-A156-181D48CE493C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTKAudio_Desktop_2017_Win8", "Audio\DirectXTKAudio_Desktop_2017_Win8.vcxproj", "{4F150A30-CECB-49D1-8283-6A3F57438CF5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XWBTool_Desktop_2017", "XWBTool\XWBTool_Desktop_2017.vcxproj", "{C7AB4186-54B2-4244-A533-77494763EA1D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.ActiveCfg = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.Build.0 = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.ActiveCfg = Release|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.Build.0 = Release|x64
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.Build.0 = Release|Any CPU
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.ActiveCfg = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.Build.0 = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.ActiveCfg = Release|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.Build.0 = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.ActiveCfg = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.Build.0 = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.ActiveCfg = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,601 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\PostProcess.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SimpleMath.inl" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\DDS.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\ToneMapPostProcess.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Readme.txt" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\SpriteEffect.fx" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\Shaders\Utilities.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\PostProcess.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\ToneMap.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals" />
<PropertyGroup Label="Globals">
<ProjectGuid>{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTK</RootNamespace>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0600;_WIN7_PLATFORM_UPDATE;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,76 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2017
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_Desktop_2017", "DirectXTK_Desktop_2017.vcxproj", "{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MakeSpriteFont", "MakeSpriteFont\MakeSpriteFont.csproj", "{7329B02D-C504-482A-A156-181D48CE493C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTKAudio_Desktop_2017_DXSDK", "Audio\DirectXTKAudio_Desktop_2017_DXSDK.vcxproj", "{4F150A30-CECB-49D1-8283-6A3F57438CF5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xwbtool_Desktop_2017", "XWBTool\xwbtool_Desktop_2017.vcxproj", "{C7AB4186-54B2-4244-A533-77494763EA1D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.ActiveCfg = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.Build.0 = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.ActiveCfg = Release|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.Build.0 = Release|x64
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.Build.0 = Release|Any CPU
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.ActiveCfg = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.Build.0 = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.ActiveCfg = Release|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.Build.0 = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.ActiveCfg = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.Build.0 = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.ActiveCfg = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,74 @@
fx
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2017
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_Desktop_2017_Win10", "DirectXTK_Desktop_2017_Win10.vcxproj", "{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MakeSpriteFont", "MakeSpriteFont\MakeSpriteFont.csproj", "{7329B02D-C504-482A-A156-181D48CE493C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XWBTool_Desktop_2017", "XWBTool\XWBTool_Desktop_2017.vcxproj", "{C7AB4186-54B2-4244-A533-77494763EA1D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Mixed Platforms = Release|Mixed Platforms
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.ActiveCfg = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.Build.0 = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Mixed Platforms.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.ActiveCfg = Release|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.Build.0 = Release|x64
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|Win32.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.ActiveCfg = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Debug|x64.Build.0 = Debug|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|Win32.Build.0 = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.ActiveCfg = Release|Any CPU
{7329B02D-C504-482A-A156-181D48CE493C}.Release|x64.Build.0 = Release|Any CPU
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.ActiveCfg = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|Win32.Build.0 = Debug|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.ActiveCfg = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Debug|x64.Build.0 = Debug|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Mixed Platforms.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.ActiveCfg = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|Win32.Build.0 = Release|Win32
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.ActiveCfg = Release|x64
{4F150A30-CECB-49D1-8283-6A3F57438CF5}.Release|x64.Build.0 = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.ActiveCfg = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|Win32.Build.0 = Debug|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.ActiveCfg = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Debug|x64.Build.0 = Debug|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Mixed Platforms.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.ActiveCfg = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|Win32.Build.0 = Release|Win32
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.ActiveCfg = Release|x64
{C7AB4186-54B2-4244-A533-77494763EA1D}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,607 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Audio\SoundCommon.h" />
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\PostProcess.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SimpleMath.inl" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\DDS.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Audio\AudioEngine.cpp" />
<ClCompile Include="Audio\DynamicSoundEffectInstance.cpp" />
<ClCompile Include="Audio\SoundCommon.cpp" />
<ClCompile Include="Audio\SoundEffect.cpp" />
<ClCompile Include="Audio\SoundEffectInstance.cpp" />
<ClCompile Include="Audio\WaveBank.cpp" />
<ClCompile Include="Audio\WaveBankReader.cpp" />
<ClCompile Include="Audio\WAVFileReader.cpp" />
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\ToneMapPostProcess.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Readme.txt" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\SpriteEffect.fx" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\Shaders\Utilities.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\PostProcess.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\ToneMap.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals" />
<PropertyGroup Label="Globals">
<ProjectGuid>{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTK</RootNamespace>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Desktop_2017_Win10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0A00;_WIN7_PLATFORM_UPDATE;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WIN32_WINNT=0x0A00;_WIN7_PLATFORM_UPDATE;WIN32;_DEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0A00;_WIN7_PLATFORM_UPDATE;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_WIN32_WINNT=0x0A00;_WIN7_PLATFORM_UPDATE;WIN32;NDEBUG;_LIB;_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,34 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2017
VisualStudioVersion = 14.0.22605.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_Windows10", "DirectXTK_Windows10.vcxproj", "{F4776924-619C-42C7-88B2-82C947CCC9E7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM = Release|ARM
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.ActiveCfg = Debug|ARM
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|ARM.Build.0 = Debug|ARM
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.ActiveCfg = Debug|x64
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x64.Build.0 = Debug|x64
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.ActiveCfg = Debug|Win32
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Debug|x86.Build.0 = Debug|Win32
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.ActiveCfg = Release|ARM
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|ARM.Build.0 = Release|ARM
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.ActiveCfg = Release|x64
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x64.Build.0 = Release|x64
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.ActiveCfg = Release|Win32
{F4776924-619C-42C7-88B2-82C947CCC9E7}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,690 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Audio\SoundCommon.h" />
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\PostProcess.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\dds.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<None Include="Inc\SimpleMath.inl" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\Shaders\Utilities.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Audio\AudioEngine.cpp" />
<ClCompile Include="Audio\DynamicSoundEffectInstance.cpp" />
<ClCompile Include="Audio\SoundCommon.cpp" />
<ClCompile Include="Audio\SoundEffect.cpp" />
<ClCompile Include="Audio\SoundEffectInstance.cpp" />
<ClCompile Include="Audio\WaveBank.cpp" />
<ClCompile Include="Audio\WaveBankReader.cpp" />
<ClCompile Include="Audio\WAVFileReader.cpp" />
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\ToneMapPostProcess.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SpriteEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<Text Include="Readme.txt" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\PostProcess.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\ToneMap.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{f4776924-619c-42c7-88b2-82c947ccc9e7}</ProjectGuid>
<Keyword>StaticLibrary</Keyword>
<ProjectName>DirectXTK</ProjectName>
<RootNamespace>DirectXTK</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformMinVersion>10.0.14393.0</WindowsTargetPlatformMinVersion>
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Windows10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Windows10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<OutDir>Bin\Windows10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<OutDir>Bin\Windows10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Windows10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Windows10\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows10\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PreprocessorDefinitions>_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PreprocessorDefinitions>_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|arm'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PreprocessorDefinitions>_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|arm'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PreprocessorDefinitions>_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PreprocessorDefinitions>_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PreprocessorDefinitions>_CRT_STDIO_ARBITRARY_WIDE_SPECIFIERS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions>/permissive- /Zc:twoPhase- %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,34 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_Windows81", "DirectXTK_Windows81.vcxproj", "{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|ARM = Release|ARM
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|ARM.ActiveCfg = Debug|ARM
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|ARM.Build.0 = Debug|ARM
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.ActiveCfg = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|x64.Build.0 = Debug|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|ARM.ActiveCfg = Release|ARM
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|ARM.Build.0 = Release|ARM
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.Build.0 = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.ActiveCfg = Release|x64
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,705 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Audio\SoundCommon.h" />
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\PostProcess.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SimpleMath.inl" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\DDS.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Audio\AudioEngine.cpp" />
<ClCompile Include="Audio\DynamicSoundEffectInstance.cpp" />
<ClCompile Include="Audio\SoundCommon.cpp" />
<ClCompile Include="Audio\SoundEffect.cpp" />
<ClCompile Include="Audio\SoundEffectInstance.cpp" />
<ClCompile Include="Audio\WaveBank.cpp" />
<ClCompile Include="Audio\WaveBankReader.cpp" />
<ClCompile Include="Audio\WAVFileReader.cpp" />
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\ToneMapPostProcess.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Readme.txt" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\PostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\ToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\SpriteEffect.fx" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\Shaders\Utilities.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\PostProcess.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\ToneMap.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCTargetsPath Condition="'$(VCTargetsPath11)' != '' and '$(VSVersion)' == '' and '$(VisualStudioVersion)' == ''">$(VCTargetsPath11)</VCTargetsPath>
<ProjectGuid>{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>DirectXTK</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Store</ApplicationType>
<ApplicationTypeRevision>8.1</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<OutDir>Bin\Windows81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows81\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<OutDir>Bin\Windows81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows81\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Bin\Windows81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows81\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Bin\Windows81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows81\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>Bin\Windows81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows81\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>Bin\Windows81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\Windows81\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_UNICODE;UNICODE;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4628</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<AdditionalOptions>/IGNORE:4264 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_UNICODE;UNICODE;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4628</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<AdditionalOptions>/IGNORE:4264 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_UNICODE;UNICODE;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4628</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<Lib>
<AdditionalOptions>/IGNORE:4264 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_UNICODE;UNICODE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4628</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<AdditionalOptions>/IGNORE:4264 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_UNICODE;UNICODE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4628</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<AdditionalOptions>/IGNORE:4264 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>EnableAllWarnings</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_UNICODE;UNICODE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4628</DisableSpecificWarnings>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
<Lib>
<AdditionalOptions>/IGNORE:4264 %(AdditionalOptions)</AdditionalOptions>
</Lib>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30303.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_WindowsPhone81", "DirectXTK_WindowsPhone81.vcxproj", "{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|Win32 = Debug|Win32
Release|ARM = Release|ARM
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|ARM.ActiveCfg = Debug|ARM
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|ARM.Build.0 = Debug|ARM
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.ActiveCfg = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Debug|Win32.Build.0 = Debug|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|ARM.ActiveCfg = Release|ARM
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|ARM.Build.0 = Release|ARM
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.ActiveCfg = Release|Win32
{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,498 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Audio\SoundCommon.h" />
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SimpleMath.inl" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\DDS.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Audio\AudioEngine.cpp" />
<ClCompile Include="Audio\DynamicSoundEffectInstance.cpp" />
<ClCompile Include="Audio\SoundCommon.cpp" />
<ClCompile Include="Audio\SoundEffect.cpp" />
<ClCompile Include="Audio\SoundEffectInstance.cpp" />
<ClCompile Include="Audio\WaveBank.cpp" />
<ClCompile Include="Audio\WaveBankReader.cpp" />
<ClCompile Include="Audio\WAVFileReader.cpp" />
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Readme.txt" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\SpriteEffect.fx" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E0B52AE7-E160-4D32-BF3F-910B785E5A8E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<ProjectName>DirectXTK</ProjectName>
<RootNamespace>DirectXTK</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Phone</ApplicationType>
<ApplicationTypeRevision>8.1</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120_wp81</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_wp81</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120_wp81</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_wp81</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<GenerateManifest>false</GenerateManifest>
<TargetName>DirectXTK</TargetName>
<OutDir>Bin\WindowsPhone81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\WindowsPhone81\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>Disabled</Optimization>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>_LIB;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PreprocessorDefinitions>_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>Disabled</Optimization>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<PreprocessorDefinitions>_LIB;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup>
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<WarningLevel>EnableAllWarnings</WarningLevel>
<CompileAsWinRT>false</CompileAsWinRT>
<ProgramDataBaseFileName Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<EnableEnhancedInstructionSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Fast</FloatingPointModel>
<FloatingPointModel Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Fast</FloatingPointModel>
<FloatingPointModel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Fast</FloatingPointModel>
<FloatingPointModel Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Fast</FloatingPointModel>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')"
WorkingDirectory="$(ProjectDir)src/Shaders"
Command="CompileShaders" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30626.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_XAMLSilverlight_WindowsPhone81", "DirectXTK_XAMLSilverlight_WindowsPhone81.vcxproj", "{E6360FF2-827F-44C1-87C6-3E1F98F5DA2E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|Win32 = Debug|Win32
Release|ARM = Release|ARM
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{E6360FF2-827F-44C1-87C6-3E1F98F5DA2E}.Debug|ARM.ActiveCfg = Debug|ARM
{E6360FF2-827F-44C1-87C6-3E1F98F5DA2E}.Debug|ARM.Build.0 = Debug|ARM
{E6360FF2-827F-44C1-87C6-3E1F98F5DA2E}.Debug|Win32.ActiveCfg = Debug|Win32
{E6360FF2-827F-44C1-87C6-3E1F98F5DA2E}.Debug|Win32.Build.0 = Debug|Win32
{E6360FF2-827F-44C1-87C6-3E1F98F5DA2E}.Release|ARM.ActiveCfg = Release|ARM
{E6360FF2-827F-44C1-87C6-3E1F98F5DA2E}.Release|ARM.Build.0 = Release|ARM
{E6360FF2-827F-44C1-87C6-3E1F98F5DA2E}.Release|Win32.ActiveCfg = Release|Win32
{E6360FF2-827F-44C1-87C6-3E1F98F5DA2E}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,541 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Audio\SoundCommon.h" />
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\dds.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<None Include="Inc\SimpleMath.inl" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\AlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\BasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\DGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\DGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\DualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\EnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\NormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\SkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\SpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Audio\AudioEngine.cpp" />
<ClCompile Include="Audio\DynamicSoundEffectInstance.cpp" />
<ClCompile Include="Audio\SoundCommon.cpp" />
<ClCompile Include="Audio\SoundEffect.cpp" />
<ClCompile Include="Audio\SoundEffectInstance.cpp" />
<ClCompile Include="Audio\WaveBank.cpp" />
<ClCompile Include="Audio\WaveBankReader.cpp" />
<ClCompile Include="Audio\WAVFileReader.cpp" />
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SpriteEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<Text Include="Readme.txt" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{e6360ff2-827f-44c1-87c6-3e1f98f5da2e}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<ProjectName>DirectXTK</ProjectName>
<RootNamespace>DirectXTK</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>12.0</MinimumVisualStudioVersion>
<AppContainerApplication>true</AppContainerApplication>
<ApplicationType>Windows Phone Silverlight</ApplicationType>
<ApplicationTypeRevision>8.1</ApplicationTypeRevision>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<TargetName>DirectXTK</TargetName>
<OutDir>Bin\XAMLSilverLightWindowsPhone81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\XAMLSilverLightWindowsPhone81\$(Platform)\$(Configuration)\</IntDir>
<IncludePath>$(VC_IncludePath);$(WindowsPhoneSilverlightSDK_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<TargetName>DirectXTK</TargetName>
<OutDir>Bin\XAMLSilverLightWindowsPhone81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\XAMLSilverLightWindowsPhone81\$(Platform)\$(Configuration)\</IntDir>
<IncludePath>$(VC_IncludePath);$(WindowsPhoneSilverlightSDK_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<TargetName>DirectXTK</TargetName>
<OutDir>Bin\XAMLSilverLightWindowsPhone81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\XAMLSilverLightWindowsPhone81\$(Platform)\$(Configuration)\</IntDir>
<IncludePath>$(VC_IncludePath);$(WindowsPhoneSilverlightSDK_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<TargetName>DirectXTK</TargetName>
<OutDir>Bin\XAMLSilverLightWindowsPhone81\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\XAMLSilverLightWindowsPhone81\$(Platform)\$(Configuration)\</IntDir>
<IncludePath>$(VC_IncludePath);$(WindowsPhoneSilverlightSDK_IncludePath);$(WindowsSDK_IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<FloatingPointModel>Fast</FloatingPointModel>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/SpriteEffect_SpriteVertexShader.inc')"
WorkingDirectory="$(ProjectDir)src/Shaders"
Command="CompileShaders" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_XboxOneXDK_2015", "DirectXTK_XboxOneXDK_2015.vcxproj", "{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Durango = Debug|Durango
Profile|Durango = Profile|Durango
Release|Durango = Release|Durango
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Debug|Durango.ActiveCfg = Debug|Durango
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Debug|Durango.Build.0 = Debug|Durango
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Profile|Durango.ActiveCfg = Profile|Durango
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Profile|Durango.Build.0 = Profile|Durango
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Release|Durango.ActiveCfg = Release|Durango
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Release|Durango.Build.0 = Release|Durango
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,621 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Durango">
<Configuration>Release</Configuration>
<Platform>Durango</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Profile|Durango">
<Configuration>Profile</Configuration>
<Platform>Durango</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Durango">
<Configuration>Debug</Configuration>
<Platform>Durango</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Audio\SoundCommon.h" />
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\PostProcess.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Inc\XboxDDSTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\dds.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Audio\AudioEngine.cpp" />
<ClCompile Include="Audio\DynamicSoundEffectInstance.cpp" />
<ClCompile Include="Audio\SoundCommon.cpp" />
<ClCompile Include="Audio\SoundEffect.cpp" />
<ClCompile Include="Audio\SoundEffectInstance.cpp" />
<ClCompile Include="Audio\WaveBank.cpp" />
<ClCompile Include="Audio\WaveBankReader.cpp" />
<ClCompile Include="Audio\WAVFileReader.cpp" />
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Durango'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\ToneMapPostProcess.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
<ClCompile Include="Src\XboxDDSTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Inc\SimpleMath.inl" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\Shaders\Utilities.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SpriteEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<Text Include="Readme.txt" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\PostProcess.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\ToneMap.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals">
<RootNamespace>DirectXTK</RootNamespace>
<ProjectGuid>{4fdfdccd-ee2e-415c-b458-1e8fdb0d85f2}</ProjectGuid>
<DefaultLanguage>en-US</DefaultLanguage>
<Keyword>Win32Proj</Keyword>
<ApplicationEnvironment>title</ApplicationEnvironment>
<!-- - - - -->
<PlatformToolset>v140</PlatformToolset>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<TargetRuntime>Native</TargetRuntime>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<EmbedManifest>false</EmbedManifest>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Durango'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<EmbedManifest>false</EmbedManifest>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<EmbedManifest>false</EmbedManifest>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Durango'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
<ReferencePath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</ReferencePath>
<LibraryPath>$(Console_SdkLibPath)</LibraryPath>
<LibraryWPath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</LibraryWPath>
<IncludePath>$(Console_SdkIncludeRoot)</IncludePath>
<ExecutablePath>$(Console_SdkRoot)bin;$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);</ExecutablePath>
<OutDir>Bin\XboxOneXDK_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\XboxOneXDK_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Durango'">
<ReferencePath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</ReferencePath>
<LibraryPath>$(Console_SdkLibPath)</LibraryPath>
<LibraryWPath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</LibraryWPath>
<IncludePath>$(Console_SdkIncludeRoot)</IncludePath>
<ExecutablePath>$(Console_SdkRoot)bin;$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);</ExecutablePath>
<OutDir>Bin\XboxOneXDK_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\XboxOneXDK_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
<ReferencePath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</ReferencePath>
<LibraryPath>$(Console_SdkLibPath)</LibraryPath>
<LibraryWPath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</LibraryWPath>
<IncludePath>$(Console_SdkIncludeRoot)</IncludePath>
<ExecutablePath>$(Console_SdkRoot)bin;$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);</ExecutablePath>
<OutDir>Bin\XboxOneXDK_2015\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\XboxOneXDK_2015\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
<Link>
<AdditionalDependencies>d3d11_x.lib;combase.lib;kernelx.lib;toolhelpx.lib;uuid.lib;</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalUsingDirectories>$(Console_SdkPackagesRoot);$(Console_SdkWindowsMetadataPath);%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>EnableAllWarnings</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Durango'">
<Link>
<AdditionalDependencies>pixEvt.lib;d3d11_x.lib;combase.lib;kernelx.lib;toolhelpx.lib;uuid.lib;</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalUsingDirectories>$(Console_SdkPackagesRoot);$(Console_SdkWindowsMetadataPath);%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;PROFILE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>EnableAllWarnings</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
<Link>
<AdditionalDependencies>d3d11_x.lib;combase.lib;kernelx.lib;toolhelpx.lib;uuid.lib;</AdditionalDependencies>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
<ClCompile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<PrecompiledHeader>Use</PrecompiledHeader>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalUsingDirectories>$(Console_SdkPackagesRoot);$(Console_SdkWindowsMetadataPath);%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/XboxOneSpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders xbox" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2017
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DirectXTK_XboxOneXDK_2017", "DirectXTK_XboxOneXDK_2017.vcxproj", "{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Durango = Debug|Durango
Profile|Durango = Profile|Durango
Release|Durango = Release|Durango
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Debug|Durango.ActiveCfg = Debug|Durango
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Debug|Durango.Build.0 = Debug|Durango
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Profile|Durango.ActiveCfg = Profile|Durango
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Profile|Durango.Build.0 = Profile|Durango
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Release|Durango.ActiveCfg = Release|Durango
{4FDFDCCD-EE2E-415C-B458-1E8FDB0D85F2}.Release|Durango.Build.0 = Release|Durango
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,621 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Durango">
<Configuration>Release</Configuration>
<Platform>Durango</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Profile|Durango">
<Configuration>Profile</Configuration>
<Platform>Durango</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Durango">
<Configuration>Debug</Configuration>
<Platform>Durango</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="Audio\SoundCommon.h" />
<ClInclude Include="Audio\WaveBankReader.h" />
<ClInclude Include="Audio\WAVFileReader.h" />
<ClInclude Include="Inc\Audio.h" />
<ClInclude Include="Inc\CommonStates.h" />
<ClInclude Include="Inc\DDSTextureLoader.h" />
<ClInclude Include="Inc\DirectXHelpers.h" />
<ClInclude Include="Inc\Effects.h" />
<ClInclude Include="Inc\GamePad.h" />
<ClInclude Include="Inc\GeometricPrimitive.h" />
<ClInclude Include="Inc\GraphicsMemory.h" />
<ClInclude Include="Inc\Keyboard.h" />
<ClInclude Include="Inc\Model.h" />
<ClInclude Include="Inc\Mouse.h" />
<ClInclude Include="Inc\PostProcess.h" />
<ClInclude Include="Inc\PrimitiveBatch.h" />
<ClInclude Include="Inc\ScreenGrab.h" />
<ClInclude Include="Inc\SimpleMath.h" />
<ClInclude Include="Inc\SpriteBatch.h" />
<ClInclude Include="Inc\SpriteFont.h" />
<ClInclude Include="Inc\VertexTypes.h" />
<ClInclude Include="Inc\WICTextureLoader.h" />
<ClInclude Include="Inc\XboxDDSTextureLoader.h" />
<ClInclude Include="Src\AlignedNew.h" />
<ClInclude Include="Src\Bezier.h" />
<ClInclude Include="Src\BinaryReader.h" />
<ClInclude Include="Src\ConstantBuffer.h" />
<ClInclude Include="Src\dds.h" />
<ClInclude Include="Src\DemandCreate.h" />
<ClInclude Include="Src\EffectCommon.h" />
<ClInclude Include="Src\Geometry.h" />
<ClInclude Include="Src\LoaderHelpers.h" />
<ClInclude Include="Src\pch.h" />
<ClInclude Include="Src\PlatformHelpers.h" />
<ClInclude Include="Src\SDKMesh.h" />
<ClInclude Include="Src\SharedResourcePool.h" />
<ClInclude Include="Src\vbo.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Audio\AudioEngine.cpp" />
<ClCompile Include="Audio\DynamicSoundEffectInstance.cpp" />
<ClCompile Include="Audio\SoundCommon.cpp" />
<ClCompile Include="Audio\SoundEffect.cpp" />
<ClCompile Include="Audio\SoundEffectInstance.cpp" />
<ClCompile Include="Audio\WaveBank.cpp" />
<ClCompile Include="Audio\WaveBankReader.cpp" />
<ClCompile Include="Audio\WAVFileReader.cpp" />
<ClCompile Include="Src\AlphaTestEffect.cpp" />
<ClCompile Include="Src\BasicEffect.cpp" />
<ClCompile Include="Src\BasicPostProcess.cpp" />
<ClCompile Include="Src\BinaryReader.cpp" />
<ClCompile Include="Src\CommonStates.cpp" />
<ClCompile Include="Src\DDSTextureLoader.cpp" />
<ClCompile Include="Src\DGSLEffect.cpp" />
<ClCompile Include="Src\DGSLEffectFactory.cpp" />
<ClCompile Include="Src\DualPostProcess.cpp" />
<ClCompile Include="Src\DualTextureEffect.cpp" />
<ClCompile Include="Src\EffectCommon.cpp" />
<ClCompile Include="Src\EffectFactory.cpp" />
<ClCompile Include="Src\EnvironmentMapEffect.cpp" />
<ClCompile Include="Src\GamePad.cpp" />
<ClCompile Include="Src\GeometricPrimitive.cpp" />
<ClCompile Include="Src\Geometry.cpp" />
<ClCompile Include="Src\GraphicsMemory.cpp" />
<ClCompile Include="Src\Keyboard.cpp" />
<ClCompile Include="Src\Model.cpp" />
<ClCompile Include="Src\ModelLoadCMO.cpp" />
<ClCompile Include="Src\ModelLoadSDKMESH.cpp" />
<ClCompile Include="Src\ModelLoadVBO.cpp" />
<ClCompile Include="Src\Mouse.cpp" />
<ClCompile Include="Src\NormalMapEffect.cpp" />
<ClCompile Include="Src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Profile|Durango'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="Src\PrimitiveBatch.cpp" />
<ClCompile Include="Src\ScreenGrab.cpp" />
<ClCompile Include="Src\SimpleMath.cpp" />
<ClCompile Include="Src\SkinnedEffect.cpp" />
<ClCompile Include="Src\SpriteBatch.cpp" />
<ClCompile Include="Src\SpriteFont.cpp" />
<ClCompile Include="Src\ToneMapPostProcess.cpp" />
<ClCompile Include="Src\VertexTypes.cpp" />
<ClCompile Include="Src\WICTextureLoader.cpp" />
<ClCompile Include="Src\XboxDDSTextureLoader.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="Inc\SimpleMath.inl" />
<None Include="Src\Shaders\Common.fxh" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNe.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNe.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNeNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestEqNeNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGt.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGt.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGtNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_PSAlphaTestLtGtNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTest.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTest.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneAlphaTestEffect_VSAlphaTestVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_PSBasicVertexLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLight.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLight.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicOneLightVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicPixelLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicTxVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneBasicEffect_VSBasicVertexLightingVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main1BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main2BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4Bones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4Bones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4BonesVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_main4BonesVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_mainVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLEffect_mainVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLLambert_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLPhong_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_main.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_main.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTxTk.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDGSLUnlit_mainTxTk.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_PSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTexture.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTexture.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVcNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneDualTextureEffect_VSDualTextureVcNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingFresnelNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapPixelLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecular.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecular.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecularNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_PSEnvMapSpecularNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMap.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMap.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLight.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLight.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnel.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnel.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnelBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapOneLightFresnelBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLightingBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneEnvironmentMapEffect_VSEnvMapPixelLightingBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFogSpec.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoFogSpec.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoSpec.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_PSNormalPixelLightingTxNoSpec.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTx.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTx.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVc.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVc.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVcBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneNormalMapEffect_VSNormalPixelLightingTxVcBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomBlur.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomBlur.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomCombine.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomCombine.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomExtract.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSBloomExtract.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale2x2.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale2x2.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale4x4.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSDownScale4x4.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSGaussianBlur5x5.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSGaussianBlur5x5.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMerge.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMerge.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMonochrome.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSMonochrome.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSSepia.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_PSSepia.pdb" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\XboxOnePostProcess_VSQuad.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedPixelLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedPixelLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLighting.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLighting.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLightingNoFog.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_PSSkinnedVertexLightingNoFog.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedOneLightTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedPixelLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingFourBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBone.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBone.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBoneBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingOneBoneBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBones.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBones.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSkinnedEffect_VSSkinnedVertexLightingTwoBonesBn.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpritePixelShader.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpritePixelShader.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpriteVertexShader.inc" />
<None Include="Src\Shaders\Compiled\XboxOneSpriteEffect_SpriteVertexShader.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSCopy.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSCopy.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_ACESFilmic_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Reinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSHDR10_Saturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSReinhard_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PSSaturate_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PS_SRGB.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_PS_SRGB.pdb" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_VSQuad.inc" />
<None Include="Src\Shaders\Compiled\XboxOneToneMap_VSQuad.pdb" />
<None Include="Src\Shaders\CompileShaders.cmd" />
<None Include="Src\Shaders\Lighting.fxh" />
<None Include="Src\Shaders\Structures.fxh" />
<None Include="Src\Shaders\Utilities.fxh" />
<None Include="Src\TeapotData.inc" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\AlphaTestEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\BasicEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLLambert.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLPhong.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DGSLUnlit.hlsl">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\DualTextureEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\EnvironmentMapEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SkinnedEffect.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\SpriteEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<Text Include="Readme.txt" />
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\NormalMapEffect.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<ItemGroup>
<None Include="Src\Shaders\PostProcess.fx">
<FileType>Document</FileType>
</None>
<None Include="Src\Shaders\ToneMap.fx">
<FileType>Document</FileType>
</None>
</ItemGroup>
<PropertyGroup Label="Globals">
<RootNamespace>DirectXTK</RootNamespace>
<ProjectGuid>{4fdfdccd-ee2e-415c-b458-1e8fdb0d85f2}</ProjectGuid>
<DefaultLanguage>en-US</DefaultLanguage>
<Keyword>Win32Proj</Keyword>
<ApplicationEnvironment>title</ApplicationEnvironment>
<!-- - - - -->
<PlatformToolset>v141</PlatformToolset>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
<TargetRuntime>Native</TargetRuntime>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<EmbedManifest>false</EmbedManifest>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Durango'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseDebugLibraries>false</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<EmbedManifest>false</EmbedManifest>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<EmbedManifest>false</EmbedManifest>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Durango'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
<ReferencePath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</ReferencePath>
<LibraryPath>$(Console_SdkLibPath)</LibraryPath>
<LibraryWPath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</LibraryWPath>
<IncludePath>$(Console_SdkIncludeRoot)</IncludePath>
<ExecutablePath>$(Console_SdkRoot)bin;$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);</ExecutablePath>
<OutDir>Bin\XboxOneXDK_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\XboxOneXDK_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Durango'">
<ReferencePath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</ReferencePath>
<LibraryPath>$(Console_SdkLibPath)</LibraryPath>
<LibraryWPath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</LibraryWPath>
<IncludePath>$(Console_SdkIncludeRoot)</IncludePath>
<ExecutablePath>$(Console_SdkRoot)bin;$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);</ExecutablePath>
<OutDir>Bin\XboxOneXDK_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\XboxOneXDK_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
<ReferencePath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</ReferencePath>
<LibraryPath>$(Console_SdkLibPath)</LibraryPath>
<LibraryWPath>$(Console_SdkLibPath);$(Console_SdkWindowsMetadataPath)</LibraryWPath>
<IncludePath>$(Console_SdkIncludeRoot)</IncludePath>
<ExecutablePath>$(Console_SdkRoot)bin;$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSDK_ExecutablePath_x86);$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(MSBuildToolsPath32);$(FxCopDir);$(PATH);</ExecutablePath>
<OutDir>Bin\XboxOneXDK_2017\$(Platform)\$(Configuration)\</OutDir>
<IntDir>Bin\XboxOneXDK_2017\$(Platform)\$(Configuration)\</IntDir>
<TargetName>DirectXTK</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Durango'">
<Link>
<AdditionalDependencies>d3d11_x.lib;combase.lib;kernelx.lib;toolhelpx.lib;uuid.lib;</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalUsingDirectories>$(Console_SdkPackagesRoot);$(Console_SdkWindowsMetadataPath);%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>EnableAllWarnings</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Durango'">
<Link>
<AdditionalDependencies>pixEvt.lib;d3d11_x.lib;combase.lib;kernelx.lib;toolhelpx.lib;uuid.lib;</AdditionalDependencies>
<EntryPointSymbol>
</EntryPointSymbol>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<AdditionalUsingDirectories>$(Console_SdkPackagesRoot);$(Console_SdkWindowsMetadataPath);%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>NDEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;PROFILE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>EnableAllWarnings</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Durango'">
<Link>
<AdditionalDependencies>d3d11_x.lib;combase.lib;kernelx.lib;toolhelpx.lib;uuid.lib;</AdditionalDependencies>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
</Link>
<ClCompile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<PrecompiledHeader>Use</PrecompiledHeader>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalUsingDirectories>$(Console_SdkPackagesRoot);$(Console_SdkWindowsMetadataPath);%(AdditionalUsingDirectories)</AdditionalUsingDirectories>
<WarningLevel>EnableAllWarnings</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;__WRL_NO_DEFAULT_LIB__;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalIncludeDirectories>$(ProjectDir)Inc;$(ProjectDir)Src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ProgramDataBaseFileName>$(IntDir)$(TargetName).pdb</ProgramDataBaseFileName>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Target Name="ATGEnsureShaders" BeforeTargets="PrepareForBuild">
<Exec Condition="!Exists('src/Shaders/Compiled/XboxOneSpriteEffect_SpriteVertexShader.inc')" WorkingDirectory="$(ProjectDir)src/Shaders" Command="CompileShaders xbox" />
</Target>
</Project>

File diff suppressed because it is too large Load Diff

682
DirectXTK/Inc/Audio.h Normal file
View File

@@ -0,0 +1,682 @@
//--------------------------------------------------------------------------------------
// File: Audio.h
//
// DirectXTK for Audio header
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#include <objbase.h>
#include <mmreg.h>
#include <audioclient.h>
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <xma2defs.h>
#pragma comment(lib,"acphal.lib")
#endif
#if defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
#pragma comment(lib,"PhoneAudioSes.lib")
#endif
#ifndef XAUDIO2_HELPER_FUNCTIONS
#define XAUDIO2_HELPER_FUNCTIONS
#endif
#if (_WIN32_WINNT >= 0x0602 /*_WIN32_WINNT_WIN8*/)
#if defined(_MSC_VER) && (_MSC_VER < 1700)
#error DirectX Tool Kit for Audio does not support VS 2010 without the DirectX SDK
#endif
#include <xaudio2.h>
#include <xaudio2fx.h>
#include <x3daudio.h>
#include <xapofx.h>
#pragma comment(lib,"xaudio2.lib")
#else
// Using XAudio 2.7 requires the DirectX SDK
#include <C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\comdecl.h>
#include <C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\xaudio2.h>
#include <C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\xaudio2fx.h>
#include <C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\xapofx.h>
#pragma warning(push)
#pragma warning( disable : 4005 )
#include <C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include\x3daudio.h>
#pragma warning(pop)
#pragma comment(lib,"x3daudio.lib")
#pragma comment(lib,"xapofx.lib")
#endif
#include <DirectXMath.h>
#include <stdint.h>
#include <functional>
#include <memory>
#include <string>
#include <vector>
namespace DirectX
{
class SoundEffectInstance;
//----------------------------------------------------------------------------------
struct AudioStatistics
{
size_t playingOneShots; // Number of one-shot sounds currently playing
size_t playingInstances; // Number of sound effect instances currently playing
size_t allocatedInstances; // Number of SoundEffectInstance allocated
size_t allocatedVoices; // Number of XAudio2 voices allocated (standard, 3D, one-shots, and idle one-shots)
size_t allocatedVoices3d; // Number of XAudio2 voices allocated for 3D
size_t allocatedVoicesOneShot; // Number of XAudio2 voices allocated for one-shot sounds
size_t allocatedVoicesIdle; // Number of XAudio2 voices allocated for one-shot sounds but not currently in use
size_t audioBytes; // Total wave data (in bytes) in SoundEffects and in-memory WaveBanks
#if defined(_XBOX_ONE) && defined(_TITLE)
size_t xmaAudioBytes; // Total wave data (in bytes) in SoundEffects and in-memory WaveBanks allocated with ApuAlloc
#endif
};
//----------------------------------------------------------------------------------
class IVoiceNotify
{
public:
virtual void __cdecl OnBufferEnd() = 0;
// Notfication that a voice buffer has finished
// Note this is called from XAudio2's worker thread, so it should perform very minimal and thread-safe operations
virtual void __cdecl OnCriticalError() = 0;
// Notification that the audio engine encountered a critical error
virtual void __cdecl OnReset() = 0;
// Notification of an audio engine reset
virtual void __cdecl OnUpdate() = 0;
// Notification of an audio engine per-frame update (opt-in)
virtual void __cdecl OnDestroyEngine() = 0;
// Notification that the audio engine is being destroyed
virtual void __cdecl OnTrim() = 0;
// Notification of a request to trim the voice pool
virtual void __cdecl GatherStatistics( AudioStatistics& stats ) const = 0;
// Contribute to statistics request
};
//----------------------------------------------------------------------------------
enum AUDIO_ENGINE_FLAGS
{
AudioEngine_Default = 0x0,
AudioEngine_EnvironmentalReverb = 0x1,
AudioEngine_ReverbUseFilters = 0x2,
AudioEngine_UseMasteringLimiter = 0x4,
AudioEngine_Debug = 0x10000,
AudioEngine_ThrowOnNoAudioHW = 0x20000,
AudioEngine_DisableVoiceReuse = 0x40000,
};
inline AUDIO_ENGINE_FLAGS operator|(AUDIO_ENGINE_FLAGS a, AUDIO_ENGINE_FLAGS b) { return static_cast<AUDIO_ENGINE_FLAGS>( static_cast<int>(a) | static_cast<int>(b) ); }
enum SOUND_EFFECT_INSTANCE_FLAGS
{
SoundEffectInstance_Default = 0x0,
SoundEffectInstance_Use3D = 0x1,
SoundEffectInstance_ReverbUseFilters = 0x2,
SoundEffectInstance_NoSetPitch = 0x4,
SoundEffectInstance_UseRedirectLFE = 0x10000,
};
inline SOUND_EFFECT_INSTANCE_FLAGS operator|(SOUND_EFFECT_INSTANCE_FLAGS a, SOUND_EFFECT_INSTANCE_FLAGS b) { return static_cast<SOUND_EFFECT_INSTANCE_FLAGS>( static_cast<int>(a) | static_cast<int>(b) ); }
enum AUDIO_ENGINE_REVERB
{
Reverb_Off,
Reverb_Default,
Reverb_Generic,
Reverb_Forest,
Reverb_PaddedCell,
Reverb_Room,
Reverb_Bathroom,
Reverb_LivingRoom,
Reverb_StoneRoom,
Reverb_Auditorium,
Reverb_ConcertHall,
Reverb_Cave,
Reverb_Arena,
Reverb_Hangar,
Reverb_CarpetedHallway,
Reverb_Hallway,
Reverb_StoneCorridor,
Reverb_Alley,
Reverb_City,
Reverb_Mountains,
Reverb_Quarry,
Reverb_Plain,
Reverb_ParkingLot,
Reverb_SewerPipe,
Reverb_Underwater,
Reverb_SmallRoom,
Reverb_MediumRoom,
Reverb_LargeRoom,
Reverb_MediumHall,
Reverb_LargeHall,
Reverb_Plate,
Reverb_MAX
};
enum SoundState
{
STOPPED = 0,
PLAYING,
PAUSED
};
//----------------------------------------------------------------------------------
class AudioEngine
{
public:
explicit AudioEngine( AUDIO_ENGINE_FLAGS flags = AudioEngine_Default, _In_opt_ const WAVEFORMATEX* wfx = nullptr, _In_opt_z_ const wchar_t* deviceId = nullptr,
AUDIO_STREAM_CATEGORY category = AudioCategory_GameEffects );
AudioEngine(AudioEngine&& moveFrom);
AudioEngine& operator= (AudioEngine&& moveFrom);
AudioEngine(AudioEngine const&) = delete;
AudioEngine& operator= (AudioEngine const&) = delete;
virtual ~AudioEngine();
bool __cdecl Update();
// Performs per-frame processing for the audio engine, returns false if in 'silent mode'
bool __cdecl Reset( _In_opt_ const WAVEFORMATEX* wfx = nullptr, _In_opt_z_ const wchar_t* deviceId = nullptr );
// Reset audio engine from critical error/silent mode using a new device; can also 'migrate' the graph
// Returns true if succesfully reset, false if in 'silent mode' due to no default device
// Note: One shots are lost, all SoundEffectInstances are in the STOPPED state after successful reset
void __cdecl Suspend();
void __cdecl Resume();
// Suspend/resumes audio processing (i.e. global pause/resume)
float __cdecl GetMasterVolume() const;
void __cdecl SetMasterVolume( float volume );
// Master volume property for all sounds
void __cdecl SetReverb( AUDIO_ENGINE_REVERB reverb );
void __cdecl SetReverb( _In_opt_ const XAUDIO2FX_REVERB_PARAMETERS* native );
// Sets environmental reverb for 3D positional audio (if active)
void __cdecl SetMasteringLimit( int release, int loudness );
// Sets the mastering volume limiter properties (if active)
AudioStatistics __cdecl GetStatistics() const;
// Gathers audio engine statistics
WAVEFORMATEXTENSIBLE __cdecl GetOutputFormat() const;
// Returns the format consumed by the mastering voice (which is the same as the device output if defaults are used)
uint32_t __cdecl GetChannelMask() const;
// Returns the output channel mask
int __cdecl GetOutputChannels() const;
// Returns the number of output channels
bool __cdecl IsAudioDevicePresent() const;
// Returns true if the audio graph is operating normally, false if in 'silent mode'
bool __cdecl IsCriticalError() const;
// Returns true if the audio graph is halted due to a critical error (which also places the engine into 'silent mode')
// Voice pool management.
void __cdecl SetDefaultSampleRate( int sampleRate );
// Sample rate for voices in the reuse pool (defaults to 44100)
void __cdecl SetMaxVoicePool( size_t maxOneShots, size_t maxInstances );
// Maximum number of voices to allocate for one-shots and instances
// Note: one-shots over this limit are ignored; too many instance voices throws an exception
void __cdecl TrimVoicePool();
// Releases any currently unused voices
// Internal-use functions
void __cdecl AllocateVoice( _In_ const WAVEFORMATEX* wfx, SOUND_EFFECT_INSTANCE_FLAGS flags, bool oneshot, _Outptr_result_maybenull_ IXAudio2SourceVoice** voice );
void __cdecl DestroyVoice( _In_ IXAudio2SourceVoice* voice );
// Should only be called for instance voices, not one-shots
void __cdecl RegisterNotify( _In_ IVoiceNotify* notify, bool usesUpdate );
void __cdecl UnregisterNotify( _In_ IVoiceNotify* notify, bool usesOneShots, bool usesUpdate );
// XAudio2 interface access
IXAudio2* __cdecl GetInterface() const;
IXAudio2MasteringVoice* __cdecl GetMasterVoice() const;
IXAudio2SubmixVoice* __cdecl GetReverbVoice() const;
X3DAUDIO_HANDLE& __cdecl Get3DHandle() const;
// Static functions
struct RendererDetail
{
std::wstring deviceId;
std::wstring description;
};
static std::vector<RendererDetail> __cdecl GetRendererDetails();
// Returns a list of valid audio endpoint devices
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
//----------------------------------------------------------------------------------
class WaveBank
{
public:
WaveBank( _In_ AudioEngine* engine, _In_z_ const wchar_t* wbFileName );
WaveBank(WaveBank&& moveFrom);
WaveBank& operator= (WaveBank&& moveFrom);
WaveBank(WaveBank const&) = delete;
WaveBank& operator= (WaveBank const&) = delete;
virtual ~WaveBank();
void __cdecl Play( int index );
void __cdecl Play( int index, float volume, float pitch, float pan );
void __cdecl Play( _In_z_ const char* name );
void __cdecl Play( _In_z_ const char* name, float volume, float pitch, float pan );
std::unique_ptr<SoundEffectInstance> __cdecl CreateInstance( int index, SOUND_EFFECT_INSTANCE_FLAGS flags = SoundEffectInstance_Default );
std::unique_ptr<SoundEffectInstance> __cdecl CreateInstance( _In_z_ const char* name, SOUND_EFFECT_INSTANCE_FLAGS flags = SoundEffectInstance_Default );
bool __cdecl IsPrepared() const;
bool __cdecl IsInUse() const;
bool __cdecl IsStreamingBank() const;
size_t __cdecl GetSampleSizeInBytes( int index ) const;
// Returns size of wave audio data
size_t __cdecl GetSampleDuration( int index ) const;
// Returns the duration in samples
size_t __cdecl GetSampleDurationMS( int index ) const;
// Returns the duration in milliseconds
const WAVEFORMATEX* __cdecl GetFormat( int index, _Out_writes_bytes_(maxsize) WAVEFORMATEX* wfx, size_t maxsize ) const;
int __cdecl Find( _In_z_ const char* name ) const;
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/ )
bool __cdecl FillSubmitBuffer( int index, _Out_ XAUDIO2_BUFFER& buffer, _Out_ XAUDIO2_BUFFER_WMA& wmaBuffer ) const;
#else
void __cdecl FillSubmitBuffer( int index, _Out_ XAUDIO2_BUFFER& buffer ) const;
#endif
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
// Private interface
void __cdecl UnregisterInstance( _In_ SoundEffectInstance* instance );
friend class SoundEffectInstance;
};
//----------------------------------------------------------------------------------
class SoundEffect
{
public:
SoundEffect( _In_ AudioEngine* engine, _In_z_ const wchar_t* waveFileName );
SoundEffect( _In_ AudioEngine* engine, _Inout_ std::unique_ptr<uint8_t[]>& wavData,
_In_ const WAVEFORMATEX* wfx, _In_reads_bytes_(audioBytes) const uint8_t* startAudio, size_t audioBytes );
SoundEffect( _In_ AudioEngine* engine, _Inout_ std::unique_ptr<uint8_t[]>& wavData,
_In_ const WAVEFORMATEX* wfx, _In_reads_bytes_(audioBytes) const uint8_t* startAudio, size_t audioBytes,
uint32_t loopStart, uint32_t loopLength );
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/)
SoundEffect( _In_ AudioEngine* engine, _Inout_ std::unique_ptr<uint8_t[]>& wavData,
_In_ const WAVEFORMATEX* wfx, _In_reads_bytes_(audioBytes) const uint8_t* startAudio, size_t audioBytes,
_In_reads_(seekCount) const uint32_t* seekTable, size_t seekCount );
#endif
SoundEffect(SoundEffect&& moveFrom);
SoundEffect& operator= (SoundEffect&& moveFrom);
SoundEffect(SoundEffect const&) = delete;
SoundEffect& operator= (SoundEffect const&) = delete;
virtual ~SoundEffect();
void __cdecl Play();
void __cdecl Play(float volume, float pitch, float pan);
std::unique_ptr<SoundEffectInstance> __cdecl CreateInstance( SOUND_EFFECT_INSTANCE_FLAGS flags = SoundEffectInstance_Default );
bool __cdecl IsInUse() const;
size_t __cdecl GetSampleSizeInBytes() const;
// Returns size of wave audio data
size_t __cdecl GetSampleDuration() const;
// Returns the duration in samples
size_t __cdecl GetSampleDurationMS() const;
// Returns the duration in milliseconds
const WAVEFORMATEX* __cdecl GetFormat() const;
#if defined(_XBOX_ONE) || (_WIN32_WINNT < _WIN32_WINNT_WIN8) || (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/)
bool __cdecl FillSubmitBuffer( _Out_ XAUDIO2_BUFFER& buffer, _Out_ XAUDIO2_BUFFER_WMA& wmaBuffer ) const;
#else
void __cdecl FillSubmitBuffer( _Out_ XAUDIO2_BUFFER& buffer ) const;
#endif
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
// Private interface
void __cdecl UnregisterInstance( _In_ SoundEffectInstance* instance );
friend class SoundEffectInstance;
};
//----------------------------------------------------------------------------------
struct AudioListener : public X3DAUDIO_LISTENER
{
AudioListener()
{
memset( this, 0, sizeof(X3DAUDIO_LISTENER) );
OrientFront.z = -1.f;
OrientTop.y = 1.f;
}
void XM_CALLCONV SetPosition( FXMVECTOR v )
{
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &Position ), v );
}
void __cdecl SetPosition( const XMFLOAT3& pos )
{
Position.x = pos.x;
Position.y = pos.y;
Position.z = pos.z;
}
void XM_CALLCONV SetVelocity( FXMVECTOR v )
{
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &Velocity ), v );
}
void __cdecl SetVelocity( const XMFLOAT3& vel )
{
Velocity.x = vel.x;
Velocity.y = vel.y;
Velocity.z = vel.z;
}
void XM_CALLCONV SetOrientation( FXMVECTOR forward, FXMVECTOR up )
{
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientFront ), forward );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientTop ), up );
}
void __cdecl SetOrientation( const XMFLOAT3& forward, const XMFLOAT3& up )
{
OrientFront.x = forward.x; OrientTop.x = up.x;
OrientFront.y = forward.y; OrientTop.y = up.y;
OrientFront.z = forward.z; OrientTop.z = up.z;
}
void XM_CALLCONV SetOrientationFromQuaternion( FXMVECTOR quat )
{
XMVECTOR forward = XMVector3Rotate( g_XMIdentityR2, quat );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientFront ), forward );
XMVECTOR up = XMVector3Rotate( g_XMIdentityR1, quat );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientTop ), up );
}
void XM_CALLCONV Update( FXMVECTOR newPos, XMVECTOR upDir, float dt )
// Updates velocity and orientation by tracking changes in position over time...
{
if ( dt > 0.f )
{
XMVECTOR lastPos = XMLoadFloat3( reinterpret_cast<const XMFLOAT3*>( &Position ) );
XMVECTOR vDelta = ( newPos - lastPos );
XMVECTOR v = vDelta / dt;
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &Velocity ), v );
vDelta = XMVector3Normalize( vDelta );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientFront ), vDelta );
v = XMVector3Cross( upDir, vDelta );
v = XMVector3Normalize( v );
v = XMVector3Cross( vDelta, v );
v = XMVector3Normalize( v );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientTop ), v );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &Position ), newPos );
}
}
};
//----------------------------------------------------------------------------------
struct AudioEmitter : public X3DAUDIO_EMITTER
{
float EmitterAzimuths[XAUDIO2_MAX_AUDIO_CHANNELS];
AudioEmitter()
{
memset( this, 0, sizeof(X3DAUDIO_EMITTER) );
memset( EmitterAzimuths, 0, sizeof(EmitterAzimuths) );
OrientFront.z = -1.f;
OrientTop.y =
ChannelRadius =
CurveDistanceScaler =
DopplerScaler = 1.f;
ChannelCount = 1;
pChannelAzimuths = EmitterAzimuths;
InnerRadiusAngle = X3DAUDIO_PI / 4.0f;
}
void XM_CALLCONV SetPosition( FXMVECTOR v )
{
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &Position ), v );
}
void __cdecl SetPosition( const XMFLOAT3& pos )
{
Position.x = pos.x;
Position.y = pos.y;
Position.z = pos.z;
}
void XM_CALLCONV SetVelocity( FXMVECTOR v )
{
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &Velocity ), v );
}
void __cdecl SetVelocity( const XMFLOAT3& vel )
{
Velocity.x = vel.x;
Velocity.y = vel.y;
Velocity.z = vel.z;
}
void XM_CALLCONV SetOrientation( FXMVECTOR forward, FXMVECTOR up )
{
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientFront ), forward );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientTop ), up );
}
void __cdecl SetOrientation( const XMFLOAT3& forward, const XMFLOAT3& up )
{
OrientFront.x = forward.x; OrientTop.x = up.x;
OrientFront.y = forward.y; OrientTop.y = up.y;
OrientFront.z = forward.z; OrientTop.z = up.z;
}
void XM_CALLCONV SetOrientationFromQuaternion( FXMVECTOR quat )
{
XMVECTOR forward = XMVector3Rotate( g_XMIdentityR2, quat );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientFront ), forward );
XMVECTOR up = XMVector3Rotate( g_XMIdentityR1, quat );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientTop ), up );
}
void XM_CALLCONV Update( FXMVECTOR newPos, XMVECTOR upDir, float dt )
// Updates velocity and orientation by tracking changes in position over time...
{
if ( dt > 0.f )
{
XMVECTOR lastPos = XMLoadFloat3( reinterpret_cast<const XMFLOAT3*>( &Position ) );
XMVECTOR vDelta = ( newPos - lastPos );
XMVECTOR v = vDelta / dt;
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &Velocity ), v );
vDelta = XMVector3Normalize( vDelta );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientFront ), vDelta );
v = XMVector3Cross( upDir, vDelta );
v = XMVector3Normalize( v );
v = XMVector3Cross( vDelta, v );
v = XMVector3Normalize( v );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &OrientTop ), v );
XMStoreFloat3( reinterpret_cast<XMFLOAT3*>( &Position ), newPos );
}
}
};
//----------------------------------------------------------------------------------
class SoundEffectInstance
{
public:
SoundEffectInstance(SoundEffectInstance&& moveFrom);
SoundEffectInstance& operator= (SoundEffectInstance&& moveFrom);
SoundEffectInstance(SoundEffectInstance const&) = delete;
SoundEffectInstance& operator= (SoundEffectInstance const&) = delete;
virtual ~SoundEffectInstance();
void __cdecl Play( bool loop = false );
void __cdecl Stop( bool immediate = true );
void __cdecl Pause();
void __cdecl Resume();
void __cdecl SetVolume( float volume );
void __cdecl SetPitch( float pitch );
void __cdecl SetPan( float pan );
void __cdecl Apply3D( const AudioListener& listener, const AudioEmitter& emitter, bool rhcoords = true );
bool __cdecl IsLooped() const;
SoundState __cdecl GetState();
// Notifications.
void __cdecl OnDestroyParent();
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
// Private constructors
SoundEffectInstance( _In_ AudioEngine* engine, _In_ SoundEffect* effect, SOUND_EFFECT_INSTANCE_FLAGS flags );
SoundEffectInstance( _In_ AudioEngine* engine, _In_ WaveBank* effect, int index, SOUND_EFFECT_INSTANCE_FLAGS flags );
friend std::unique_ptr<SoundEffectInstance> __cdecl SoundEffect::CreateInstance( SOUND_EFFECT_INSTANCE_FLAGS );
friend std::unique_ptr<SoundEffectInstance> __cdecl WaveBank::CreateInstance( int, SOUND_EFFECT_INSTANCE_FLAGS );
};
//----------------------------------------------------------------------------------
class DynamicSoundEffectInstance
{
public:
DynamicSoundEffectInstance( _In_ AudioEngine* engine,
_In_opt_ std::function<void __cdecl(DynamicSoundEffectInstance*)> bufferNeeded,
int sampleRate, int channels, int sampleBits = 16,
SOUND_EFFECT_INSTANCE_FLAGS flags = SoundEffectInstance_Default );
DynamicSoundEffectInstance(DynamicSoundEffectInstance&& moveFrom);
DynamicSoundEffectInstance& operator= (DynamicSoundEffectInstance&& moveFrom);
DynamicSoundEffectInstance(DynamicSoundEffectInstance const&) = delete;
DynamicSoundEffectInstance& operator= (DynamicSoundEffectInstance const&) = delete;
virtual ~DynamicSoundEffectInstance();
void __cdecl Play();
void __cdecl Stop( bool immediate = true );
void __cdecl Pause();
void __cdecl Resume();
void __cdecl SetVolume( float volume );
void __cdecl SetPitch( float pitch );
void __cdecl SetPan( float pan );
void __cdecl Apply3D( const AudioListener& listener, const AudioEmitter& emitter, bool rhcoords = true );
void __cdecl SubmitBuffer( _In_reads_bytes_(audioBytes) const uint8_t* pAudioData, size_t audioBytes );
void __cdecl SubmitBuffer( _In_reads_bytes_(audioBytes) const uint8_t* pAudioData, uint32_t offset, size_t audioBytes );
SoundState __cdecl GetState();
size_t __cdecl GetSampleDuration( size_t bytes ) const;
// Returns duration in samples of a buffer of a given size
size_t __cdecl GetSampleDurationMS( size_t bytes ) const;
// Returns duration in milliseconds of a buffer of a given size
size_t __cdecl GetSampleSizeInBytes( uint64_t duration ) const;
// Returns size of a buffer for a duration given in milliseconds
int __cdecl GetPendingBufferCount() const;
const WAVEFORMATEX* __cdecl GetFormat() const;
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
}

View File

@@ -0,0 +1,70 @@
//--------------------------------------------------------------------------------------
// File: CommonStates.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <memory>
namespace DirectX
{
class CommonStates
{
public:
explicit CommonStates(_In_ ID3D11Device* device);
CommonStates(CommonStates&& moveFrom);
CommonStates& operator= (CommonStates&& moveFrom);
CommonStates(CommonStates const&) = delete;
CommonStates& operator= (CommonStates const&) = delete;
virtual ~CommonStates();
// Blend states.
ID3D11BlendState* __cdecl Opaque() const;
ID3D11BlendState* __cdecl AlphaBlend() const;
ID3D11BlendState* __cdecl Additive() const;
ID3D11BlendState* __cdecl NonPremultiplied() const;
// Depth stencil states.
ID3D11DepthStencilState* __cdecl DepthNone() const;
ID3D11DepthStencilState* __cdecl DepthDefault() const;
ID3D11DepthStencilState* __cdecl DepthRead() const;
// Rasterizer states.
ID3D11RasterizerState* __cdecl CullNone() const;
ID3D11RasterizerState* __cdecl CullClockwise() const;
ID3D11RasterizerState* __cdecl CullCounterClockwise() const;
ID3D11RasterizerState* __cdecl Wireframe() const;
// Sampler states.
ID3D11SamplerState* __cdecl PointWrap() const;
ID3D11SamplerState* __cdecl PointClamp() const;
ID3D11SamplerState* __cdecl LinearWrap() const;
ID3D11SamplerState* __cdecl LinearClamp() const;
ID3D11SamplerState* __cdecl AnisotropicWrap() const;
ID3D11SamplerState* __cdecl AnisotropicClamp() const;
private:
// Private implementation.
class Impl;
std::shared_ptr<Impl> pImpl;
};
}

View File

@@ -0,0 +1,158 @@
//--------------------------------------------------------------------------------------
// File: DDSTextureLoader.h
//
// Functions for loading a DDS texture and creating a Direct3D runtime resource for it
//
// Note these functions are useful as a light-weight runtime loader for DDS files. For
// a full-featured DDS file reader, writer, and texture processing pipeline see
// the 'Texconv' sample and the 'DirectXTex' library.
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248926
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <stdint.h>
namespace DirectX
{
enum DDS_ALPHA_MODE
{
DDS_ALPHA_MODE_UNKNOWN = 0,
DDS_ALPHA_MODE_STRAIGHT = 1,
DDS_ALPHA_MODE_PREMULTIPLIED = 2,
DDS_ALPHA_MODE_OPAQUE = 3,
DDS_ALPHA_MODE_CUSTOM = 4,
};
// Standard version
HRESULT __cdecl CreateDDSTextureFromMemory(
_In_ ID3D11Device* d3dDevice,
_In_reads_bytes_(ddsDataSize) const uint8_t* ddsData,
_In_ size_t ddsDataSize,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_In_ size_t maxsize = 0,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr);
HRESULT __cdecl CreateDDSTextureFromFile(
_In_ ID3D11Device* d3dDevice,
_In_z_ const wchar_t* szFileName,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_In_ size_t maxsize = 0,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr);
// Standard version with optional auto-gen mipmap support
HRESULT __cdecl CreateDDSTextureFromMemory(
#if defined(_XBOX_ONE) && defined(_TITLE)
_In_ ID3D11DeviceX* d3dDevice,
_In_opt_ ID3D11DeviceContextX* d3dContext,
#else
_In_ ID3D11Device* d3dDevice,
_In_opt_ ID3D11DeviceContext* d3dContext,
#endif
_In_reads_bytes_(ddsDataSize) const uint8_t* ddsData,
_In_ size_t ddsDataSize,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_In_ size_t maxsize = 0,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr);
HRESULT __cdecl CreateDDSTextureFromFile(
#if defined(_XBOX_ONE) && defined(_TITLE)
_In_ ID3D11DeviceX* d3dDevice,
_In_opt_ ID3D11DeviceContextX* d3dContext,
#else
_In_ ID3D11Device* d3dDevice,
_In_opt_ ID3D11DeviceContext* d3dContext,
#endif
_In_z_ const wchar_t* szFileName,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_In_ size_t maxsize = 0,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr);
// Extended version
HRESULT __cdecl CreateDDSTextureFromMemoryEx(
_In_ ID3D11Device* d3dDevice,
_In_reads_bytes_(ddsDataSize) const uint8_t* ddsData,
_In_ size_t ddsDataSize,
_In_ size_t maxsize,
_In_ D3D11_USAGE usage,
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ bool forceSRGB,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr);
HRESULT __cdecl CreateDDSTextureFromFileEx(
_In_ ID3D11Device* d3dDevice,
_In_z_ const wchar_t* szFileName,
_In_ size_t maxsize,
_In_ D3D11_USAGE usage,
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ bool forceSRGB,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr);
// Extended version with optional auto-gen mipmap support
HRESULT __cdecl CreateDDSTextureFromMemoryEx(
#if defined(_XBOX_ONE) && defined(_TITLE)
_In_ ID3D11DeviceX* d3dDevice,
_In_opt_ ID3D11DeviceContextX* d3dContext,
#else
_In_ ID3D11Device* d3dDevice,
_In_opt_ ID3D11DeviceContext* d3dContext,
#endif
_In_reads_bytes_(ddsDataSize) const uint8_t* ddsData,
_In_ size_t ddsDataSize,
_In_ size_t maxsize,
_In_ D3D11_USAGE usage,
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ bool forceSRGB,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr);
HRESULT __cdecl CreateDDSTextureFromFileEx(
#if defined(_XBOX_ONE) && defined(_TITLE)
_In_ ID3D11DeviceX* d3dDevice,
_In_opt_ ID3D11DeviceContextX* d3dContext,
#else
_In_ ID3D11Device* d3dDevice,
_In_opt_ ID3D11DeviceContext* d3dContext,
#endif
_In_z_ const wchar_t* szFileName,
_In_ size_t maxsize,
_In_ D3D11_USAGE usage,
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ bool forceSRGB,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr);
}

View File

@@ -0,0 +1,150 @@
//--------------------------------------------------------------------------------------
// File: DirectXHelpers.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) )
#if !defined(_XBOX_ONE) || !defined(_TITLE)
#pragma comment(lib,"dxguid.lib")
#endif
#endif
#ifndef IID_GRAPHICS_PPV_ARGS
#define IID_GRAPHICS_PPV_ARGS(x) IID_PPV_ARGS(x)
#endif
#include <exception>
#include <stdint.h>
//
// The core Direct3D headers provide the following helper C++ classes
// CD3D11_RECT
// CD3D11_BOX
// CD3D11_DEPTH_STENCIL_DESC
// CD3D11_BLEND_DESC, CD3D11_BLEND_DESC1
// CD3D11_RASTERIZER_DESC, CD3D11_RASTERIZER_DESC1
// CD3D11_BUFFER_DESC
// CD3D11_TEXTURE1D_DESC
// CD3D11_TEXTURE2D_DESC
// CD3D11_TEXTURE3D_DESC
// CD3D11_SHADER_RESOURCE_VIEW_DESC
// CD3D11_RENDER_TARGET_VIEW_DESC
// CD3D11_VIEWPORT
// CD3D11_DEPTH_STENCIL_VIEW_DESC
// CD3D11_UNORDERED_ACCESS_VIEW_DESC
// CD3D11_SAMPLER_DESC
// CD3D11_QUERY_DESC
// CD3D11_COUNTER_DESC
//
namespace DirectX
{
// simliar to std::lock_guard for exception-safe Direct3D resource locking
class MapGuard : public D3D11_MAPPED_SUBRESOURCE
{
public:
MapGuard( _In_ ID3D11DeviceContext* context,
_In_ ID3D11Resource *resource,
_In_ UINT subresource,
_In_ D3D11_MAP mapType,
_In_ UINT mapFlags )
: mContext(context), mResource(resource), mSubresource(subresource)
{
HRESULT hr = mContext->Map( resource, subresource, mapType, mapFlags, this );
if (FAILED(hr))
{
throw std::exception();
}
}
~MapGuard()
{
mContext->Unmap( mResource, mSubresource );
}
uint8_t* get() const
{
return reinterpret_cast<uint8_t*>( pData );
}
uint8_t* get(size_t slice) const
{
return reinterpret_cast<uint8_t*>( pData ) + ( slice * DepthPitch );
}
uint8_t* scanline(size_t row) const
{
return reinterpret_cast<uint8_t*>( pData ) + ( row * RowPitch );
}
uint8_t* scanline(size_t slice, size_t row) const
{
return reinterpret_cast<uint8_t*>( pData ) + ( slice * DepthPitch ) + ( row * RowPitch );
}
private:
ID3D11DeviceContext* mContext;
ID3D11Resource* mResource;
UINT mSubresource;
MapGuard(MapGuard const&);
MapGuard& operator= (MapGuard const&);
};
// Helper sets a D3D resource name string (used by PIX and debug layer leak reporting).
template<UINT TNameLength>
inline void SetDebugObjectName(_In_ ID3D11DeviceChild* resource, _In_z_ const char (&name)[TNameLength])
{
#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) )
#if defined(_XBOX_ONE) && defined(_TITLE)
wchar_t wname[MAX_PATH];
int result = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, name, TNameLength, wname, MAX_PATH );
if ( result > 0 )
{
resource->SetName( wname );
}
#else
resource->SetPrivateData(WKPDID_D3DDebugObjectName, TNameLength - 1, name);
#endif
#else
UNREFERENCED_PARAMETER(resource);
UNREFERENCED_PARAMETER(name);
#endif
}
template<UINT TNameLength>
inline void SetDebugObjectName(_In_ ID3D11DeviceChild* resource, _In_z_ const wchar_t (&name)[TNameLength])
{
#if !defined(NO_D3D11_DEBUG_NAME) && ( defined(_DEBUG) || defined(PROFILE) )
#if defined(_XBOX_ONE) && defined(_TITLE)
resource->SetName( name );
#else
char aname[MAX_PATH];
int result = WideCharToMultiByte( CP_ACP, 0, name, TNameLength, aname, MAX_PATH, nullptr, nullptr );
if ( result > 0 )
{
resource->SetPrivateData(WKPDID_D3DDebugObjectName, TNameLength - 1, aname);
}
#endif
#else
UNREFERENCED_PARAMETER(resource);
UNREFERENCED_PARAMETER(name);
#endif
}
}

691
DirectXTK/Inc/Effects.h Normal file
View File

@@ -0,0 +1,691 @@
//--------------------------------------------------------------------------------------
// File: Effects.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <DirectXMath.h>
#include <memory>
namespace DirectX
{
//----------------------------------------------------------------------------------
// Abstract interface representing any effect which can be applied onto a D3D device context.
class IEffect
{
public:
virtual ~IEffect() { }
virtual void __cdecl Apply(_In_ ID3D11DeviceContext* deviceContext) = 0;
virtual void __cdecl GetVertexShaderBytecode(_Out_ void const** pShaderByteCode, _Out_ size_t* pByteCodeLength) = 0;
};
// Abstract interface for effects with world, view, and projection matrices.
class IEffectMatrices
{
public:
virtual ~IEffectMatrices() { }
virtual void XM_CALLCONV SetWorld(FXMMATRIX value) = 0;
virtual void XM_CALLCONV SetView(FXMMATRIX value) = 0;
virtual void XM_CALLCONV SetProjection(FXMMATRIX value) = 0;
virtual void XM_CALLCONV SetMatrices(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection);
};
// Abstract interface for effects which support directional lighting.
class IEffectLights
{
public:
virtual ~IEffectLights() { }
virtual void __cdecl SetLightingEnabled(bool value) = 0;
virtual void __cdecl SetPerPixelLighting(bool value) = 0;
virtual void XM_CALLCONV SetAmbientLightColor(FXMVECTOR value) = 0;
virtual void __cdecl SetLightEnabled(int whichLight, bool value) = 0;
virtual void XM_CALLCONV SetLightDirection(int whichLight, FXMVECTOR value) = 0;
virtual void XM_CALLCONV SetLightDiffuseColor(int whichLight, FXMVECTOR value) = 0;
virtual void XM_CALLCONV SetLightSpecularColor(int whichLight, FXMVECTOR value) = 0;
virtual void __cdecl EnableDefaultLighting() = 0;
static const int MaxDirectionalLights = 3;
};
// Abstract interface for effects which support fog.
class IEffectFog
{
public:
virtual ~IEffectFog() { }
virtual void __cdecl SetFogEnabled(bool value) = 0;
virtual void __cdecl SetFogStart(float value) = 0;
virtual void __cdecl SetFogEnd(float value) = 0;
virtual void XM_CALLCONV SetFogColor(FXMVECTOR value) = 0;
};
// Abstract interface for effects which support skinning
class IEffectSkinning
{
public:
virtual ~IEffectSkinning() { }
virtual void __cdecl SetWeightsPerVertex(int value) = 0;
virtual void __cdecl SetBoneTransforms(_In_reads_(count) XMMATRIX const* value, size_t count) = 0;
virtual void __cdecl ResetBoneTransforms() = 0;
static const int MaxBones = 72;
};
//----------------------------------------------------------------------------------
// Built-in shader supports optional texture mapping, vertex coloring, directional lighting, and fog.
class BasicEffect : public IEffect, public IEffectMatrices, public IEffectLights, public IEffectFog
{
public:
explicit BasicEffect(_In_ ID3D11Device* device);
BasicEffect(BasicEffect&& moveFrom);
BasicEffect& operator= (BasicEffect&& moveFrom);
BasicEffect(BasicEffect const&) = delete;
BasicEffect& operator= (BasicEffect const&) = delete;
virtual ~BasicEffect();
// IEffect methods.
void __cdecl Apply(_In_ ID3D11DeviceContext* deviceContext) override;
void __cdecl GetVertexShaderBytecode(_Out_ void const** pShaderByteCode, _Out_ size_t* pByteCodeLength) override;
// Camera settings.
void XM_CALLCONV SetWorld(FXMMATRIX value) override;
void XM_CALLCONV SetView(FXMMATRIX value) override;
void XM_CALLCONV SetProjection(FXMMATRIX value) override;
void XM_CALLCONV SetMatrices(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection) override;
// Material settings.
void XM_CALLCONV SetDiffuseColor(FXMVECTOR value);
void XM_CALLCONV SetEmissiveColor(FXMVECTOR value);
void XM_CALLCONV SetSpecularColor(FXMVECTOR value);
void __cdecl SetSpecularPower(float value);
void __cdecl DisableSpecular();
void __cdecl SetAlpha(float value);
void XM_CALLCONV SetColorAndAlpha(FXMVECTOR value);
// Light settings.
void __cdecl SetLightingEnabled(bool value) override;
void __cdecl SetPerPixelLighting(bool value) override;
void XM_CALLCONV SetAmbientLightColor(FXMVECTOR value) override;
void __cdecl SetLightEnabled(int whichLight, bool value) override;
void XM_CALLCONV SetLightDirection(int whichLight, FXMVECTOR value) override;
void XM_CALLCONV SetLightDiffuseColor(int whichLight, FXMVECTOR value) override;
void XM_CALLCONV SetLightSpecularColor(int whichLight, FXMVECTOR value) override;
void __cdecl EnableDefaultLighting() override;
// Fog settings.
void __cdecl SetFogEnabled(bool value) override;
void __cdecl SetFogStart(float value) override;
void __cdecl SetFogEnd(float value) override;
void XM_CALLCONV SetFogColor(FXMVECTOR value) override;
// Vertex color setting.
void __cdecl SetVertexColorEnabled(bool value);
// Texture setting.
void __cdecl SetTextureEnabled(bool value);
void __cdecl SetTexture(_In_opt_ ID3D11ShaderResourceView* value);
// Normal compression settings.
void __cdecl SetBiasedVertexNormals(bool value);
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
// Built-in shader supports per-pixel alpha testing.
class AlphaTestEffect : public IEffect, public IEffectMatrices, public IEffectFog
{
public:
explicit AlphaTestEffect(_In_ ID3D11Device* device);
AlphaTestEffect(AlphaTestEffect&& moveFrom);
AlphaTestEffect& operator= (AlphaTestEffect&& moveFrom);
AlphaTestEffect(AlphaTestEffect const&) = delete;
AlphaTestEffect& operator= (AlphaTestEffect const&) = delete;
virtual ~AlphaTestEffect();
// IEffect methods.
void __cdecl Apply(_In_ ID3D11DeviceContext* deviceContext) override;
void __cdecl GetVertexShaderBytecode(_Out_ void const** pShaderByteCode, _Out_ size_t* pByteCodeLength) override;
// Camera settings.
void XM_CALLCONV SetWorld(FXMMATRIX value) override;
void XM_CALLCONV SetView(FXMMATRIX value) override;
void XM_CALLCONV SetProjection(FXMMATRIX value) override;
void XM_CALLCONV SetMatrices(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection) override;
// Material settings.
void XM_CALLCONV SetDiffuseColor(FXMVECTOR value);
void __cdecl SetAlpha(float value);
void XM_CALLCONV SetColorAndAlpha(FXMVECTOR value);
// Fog settings.
void __cdecl SetFogEnabled(bool value) override;
void __cdecl SetFogStart(float value) override;
void __cdecl SetFogEnd(float value) override;
void XM_CALLCONV SetFogColor(FXMVECTOR value) override;
// Vertex color setting.
void __cdecl SetVertexColorEnabled(bool value);
// Texture setting.
void __cdecl SetTexture(_In_opt_ ID3D11ShaderResourceView* value);
// Alpha test settings.
void __cdecl SetAlphaFunction(D3D11_COMPARISON_FUNC value);
void __cdecl SetReferenceAlpha(int value);
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
// Built-in shader supports two layer multitexturing (eg. for lightmaps or detail textures).
class DualTextureEffect : public IEffect, public IEffectMatrices, public IEffectFog
{
public:
explicit DualTextureEffect(_In_ ID3D11Device* device);
DualTextureEffect(DualTextureEffect&& moveFrom);
DualTextureEffect& operator= (DualTextureEffect&& moveFrom);
DualTextureEffect(DualTextureEffect const&) = delete;
DualTextureEffect& operator= (DualTextureEffect const&) = delete;
~DualTextureEffect();
// IEffect methods.
void __cdecl Apply(_In_ ID3D11DeviceContext* deviceContext) override;
void __cdecl GetVertexShaderBytecode(_Out_ void const** pShaderByteCode, _Out_ size_t* pByteCodeLength) override;
// Camera settings.
void XM_CALLCONV SetWorld(FXMMATRIX value) override;
void XM_CALLCONV SetView(FXMMATRIX value) override;
void XM_CALLCONV SetProjection(FXMMATRIX value) override;
void XM_CALLCONV SetMatrices(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection) override;
// Material settings.
void XM_CALLCONV SetDiffuseColor(FXMVECTOR value);
void __cdecl SetAlpha(float value);
void XM_CALLCONV SetColorAndAlpha(FXMVECTOR value);
// Fog settings.
void __cdecl SetFogEnabled(bool value) override;
void __cdecl SetFogStart(float value) override;
void __cdecl SetFogEnd(float value) override;
void XM_CALLCONV SetFogColor(FXMVECTOR value) override;
// Vertex color setting.
void __cdecl SetVertexColorEnabled(bool value);
// Texture settings.
void __cdecl SetTexture(_In_opt_ ID3D11ShaderResourceView* value);
void __cdecl SetTexture2(_In_opt_ ID3D11ShaderResourceView* value);
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
// Built-in shader supports cubic environment mapping.
class EnvironmentMapEffect : public IEffect, public IEffectMatrices, public IEffectLights, public IEffectFog
{
public:
explicit EnvironmentMapEffect(_In_ ID3D11Device* device);
EnvironmentMapEffect(EnvironmentMapEffect&& moveFrom);
EnvironmentMapEffect& operator= (EnvironmentMapEffect&& moveFrom);
EnvironmentMapEffect(EnvironmentMapEffect const&) = delete;
EnvironmentMapEffect& operator= (EnvironmentMapEffect const&) = delete;
virtual ~EnvironmentMapEffect();
// IEffect methods.
void __cdecl Apply(_In_ ID3D11DeviceContext* deviceContext) override;
void __cdecl GetVertexShaderBytecode(_Out_ void const** pShaderByteCode, _Out_ size_t* pByteCodeLength) override;
// Camera settings.
void XM_CALLCONV SetWorld(FXMMATRIX value) override;
void XM_CALLCONV SetView(FXMMATRIX value) override;
void XM_CALLCONV SetProjection(FXMMATRIX value) override;
void XM_CALLCONV SetMatrices(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection) override;
// Material settings.
void XM_CALLCONV SetDiffuseColor(FXMVECTOR value);
void XM_CALLCONV SetEmissiveColor(FXMVECTOR value);
void __cdecl SetAlpha(float value);
void XM_CALLCONV SetColorAndAlpha(FXMVECTOR value);
// Light settings.
void XM_CALLCONV SetAmbientLightColor(FXMVECTOR value) override;
void __cdecl SetPerPixelLighting(bool value) override;
void __cdecl SetLightEnabled(int whichLight, bool value) override;
void XM_CALLCONV SetLightDirection(int whichLight, FXMVECTOR value) override;
void XM_CALLCONV SetLightDiffuseColor(int whichLight, FXMVECTOR value) override;
void __cdecl EnableDefaultLighting() override;
// Fog settings.
void __cdecl SetFogEnabled(bool value) override;
void __cdecl SetFogStart(float value) override;
void __cdecl SetFogEnd(float value) override;
void XM_CALLCONV SetFogColor(FXMVECTOR value) override;
// Texture setting.
void __cdecl SetTexture(_In_opt_ ID3D11ShaderResourceView* value);
// Environment map settings.
void __cdecl SetEnvironmentMap(_In_opt_ ID3D11ShaderResourceView* value);
void __cdecl SetEnvironmentMapAmount(float value);
void XM_CALLCONV SetEnvironmentMapSpecular(FXMVECTOR value);
void __cdecl SetFresnelFactor(float value);
// Normal compression settings.
void __cdecl SetBiasedVertexNormals(bool value);
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
// Unsupported interface methods.
void __cdecl SetLightingEnabled(bool value) override;
void XM_CALLCONV SetLightSpecularColor(int whichLight, FXMVECTOR value) override;
};
// Built-in shader supports skinned animation.
class SkinnedEffect : public IEffect, public IEffectMatrices, public IEffectLights, public IEffectFog, public IEffectSkinning
{
public:
explicit SkinnedEffect(_In_ ID3D11Device* device);
SkinnedEffect(SkinnedEffect&& moveFrom);
SkinnedEffect& operator= (SkinnedEffect&& moveFrom);
SkinnedEffect(SkinnedEffect const&) = delete;
SkinnedEffect& operator= (SkinnedEffect const&) = delete;
virtual ~SkinnedEffect();
// IEffect methods.
void __cdecl Apply(_In_ ID3D11DeviceContext* deviceContext) override;
void __cdecl GetVertexShaderBytecode(_Out_ void const** pShaderByteCode, _Out_ size_t* pByteCodeLength) override;
// Camera settings.
void XM_CALLCONV SetWorld(FXMMATRIX value) override;
void XM_CALLCONV SetView(FXMMATRIX value) override;
void XM_CALLCONV SetProjection(FXMMATRIX value) override;
void XM_CALLCONV SetMatrices(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection) override;
// Material settings.
void XM_CALLCONV SetDiffuseColor(FXMVECTOR value);
void XM_CALLCONV SetEmissiveColor(FXMVECTOR value);
void XM_CALLCONV SetSpecularColor(FXMVECTOR value);
void __cdecl SetSpecularPower(float value);
void __cdecl DisableSpecular();
void __cdecl SetAlpha(float value);
void XM_CALLCONV SetColorAndAlpha(FXMVECTOR value);
// Light settings.
void __cdecl SetPerPixelLighting(bool value) override;
void XM_CALLCONV SetAmbientLightColor(FXMVECTOR value) override;
void __cdecl SetLightEnabled(int whichLight, bool value) override;
void XM_CALLCONV SetLightDirection(int whichLight, FXMVECTOR value) override;
void XM_CALLCONV SetLightDiffuseColor(int whichLight, FXMVECTOR value) override;
void XM_CALLCONV SetLightSpecularColor(int whichLight, FXMVECTOR value) override;
void __cdecl EnableDefaultLighting() override;
// Fog settings.
void __cdecl SetFogEnabled(bool value) override;
void __cdecl SetFogStart(float value) override;
void __cdecl SetFogEnd(float value) override;
void XM_CALLCONV SetFogColor(FXMVECTOR value) override;
// Texture setting.
void __cdecl SetTexture(_In_opt_ ID3D11ShaderResourceView* value);
// Animation settings.
void __cdecl SetWeightsPerVertex(int value) override;
void __cdecl SetBoneTransforms(_In_reads_(count) XMMATRIX const* value, size_t count) override;
void __cdecl ResetBoneTransforms() override;
// Normal compression settings.
void __cdecl SetBiasedVertexNormals(bool value);
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
// Unsupported interface method.
void __cdecl SetLightingEnabled(bool value) override;
};
//----------------------------------------------------------------------------------
// Built-in effect for Visual Studio Shader Designer (DGSL) shaders
class DGSLEffect : public IEffect, public IEffectMatrices, public IEffectLights, public IEffectSkinning
{
public:
explicit DGSLEffect( _In_ ID3D11Device* device, _In_opt_ ID3D11PixelShader* pixelShader = nullptr,
_In_ bool enableSkinning = false );
DGSLEffect(DGSLEffect&& moveFrom);
DGSLEffect& operator= (DGSLEffect&& moveFrom);
DGSLEffect(DGSLEffect const&) = delete;
DGSLEffect& operator= (DGSLEffect const&) = delete;
virtual ~DGSLEffect();
// IEffect methods.
void __cdecl Apply(_In_ ID3D11DeviceContext* deviceContext) override;
void __cdecl GetVertexShaderBytecode(_Out_ void const** pShaderByteCode, _Out_ size_t* pByteCodeLength) override;
// Camera settings.
void XM_CALLCONV SetWorld(FXMMATRIX value) override;
void XM_CALLCONV SetView(FXMMATRIX value) override;
void XM_CALLCONV SetProjection(FXMMATRIX value) override;
void XM_CALLCONV SetMatrices(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection) override;
// Material settings.
void XM_CALLCONV SetAmbientColor(FXMVECTOR value);
void XM_CALLCONV SetDiffuseColor(FXMVECTOR value);
void XM_CALLCONV SetEmissiveColor(FXMVECTOR value);
void XM_CALLCONV SetSpecularColor(FXMVECTOR value);
void __cdecl SetSpecularPower(float value);
void __cdecl DisableSpecular();
void __cdecl SetAlpha(float value);
void XM_CALLCONV SetColorAndAlpha(FXMVECTOR value);
// Additional settings.
void XM_CALLCONV SetUVTransform(FXMMATRIX value);
void __cdecl SetViewport( float width, float height );
void __cdecl SetTime( float time );
void __cdecl SetAlphaDiscardEnable(bool value);
// Light settings.
void __cdecl SetLightingEnabled(bool value) override;
void XM_CALLCONV SetAmbientLightColor(FXMVECTOR value) override;
void __cdecl SetLightEnabled(int whichLight, bool value) override;
void XM_CALLCONV SetLightDirection(int whichLight, FXMVECTOR value) override;
void XM_CALLCONV SetLightDiffuseColor(int whichLight, FXMVECTOR value) override;
void XM_CALLCONV SetLightSpecularColor(int whichLight, FXMVECTOR value) override;
void __cdecl EnableDefaultLighting() override;
static const int MaxDirectionalLights = 4;
// Vertex color setting.
void __cdecl SetVertexColorEnabled(bool value);
// Texture settings.
void __cdecl SetTextureEnabled(bool value);
void __cdecl SetTexture(_In_opt_ ID3D11ShaderResourceView* value);
void __cdecl SetTexture(int whichTexture, _In_opt_ ID3D11ShaderResourceView* value);
static const int MaxTextures = 8;
// Animation setting.
void __cdecl SetWeightsPerVertex(int value) override;
void __cdecl SetBoneTransforms(_In_reads_(count) XMMATRIX const* value, size_t count) override;
void __cdecl ResetBoneTransforms() override;
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
// Unsupported interface methods.
void __cdecl SetPerPixelLighting(bool value) override;
};
//----------------------------------------------------------------------------------
// Built-in shader extends BasicEffect with normal maps and optional specular maps
class NormalMapEffect : public IEffect, public IEffectMatrices, public IEffectLights, public IEffectFog
{
public:
explicit NormalMapEffect(_In_ ID3D11Device* device);
NormalMapEffect(NormalMapEffect&& moveFrom);
NormalMapEffect& operator= (NormalMapEffect&& moveFrom);
NormalMapEffect(NormalMapEffect const&) = delete;
NormalMapEffect& operator= (NormalMapEffect const&) = delete;
virtual ~NormalMapEffect();
// IEffect methods.
void __cdecl Apply(_In_ ID3D11DeviceContext* deviceContext) override;
void __cdecl GetVertexShaderBytecode(_Out_ void const** pShaderByteCode, _Out_ size_t* pByteCodeLength) override;
// Camera settings.
void XM_CALLCONV SetWorld(FXMMATRIX value) override;
void XM_CALLCONV SetView(FXMMATRIX value) override;
void XM_CALLCONV SetProjection(FXMMATRIX value) override;
void XM_CALLCONV SetMatrices(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection) override;
// Material settings.
void XM_CALLCONV SetDiffuseColor(FXMVECTOR value);
void XM_CALLCONV SetEmissiveColor(FXMVECTOR value);
void XM_CALLCONV SetSpecularColor(FXMVECTOR value);
void __cdecl SetSpecularPower(float value);
void __cdecl DisableSpecular();
void __cdecl SetAlpha(float value);
void XM_CALLCONV SetColorAndAlpha(FXMVECTOR value);
// Light settings.
void XM_CALLCONV SetAmbientLightColor(FXMVECTOR value) override;
void __cdecl SetLightEnabled(int whichLight, bool value) override;
void XM_CALLCONV SetLightDirection(int whichLight, FXMVECTOR value) override;
void XM_CALLCONV SetLightDiffuseColor(int whichLight, FXMVECTOR value) override;
void XM_CALLCONV SetLightSpecularColor(int whichLight, FXMVECTOR value) override;
void __cdecl EnableDefaultLighting() override;
// Fog settings.
void __cdecl SetFogEnabled(bool value) override;
void __cdecl SetFogStart(float value) override;
void __cdecl SetFogEnd(float value) override;
void XM_CALLCONV SetFogColor(FXMVECTOR value) override;
// Vertex color setting.
void __cdecl SetVertexColorEnabled(bool value);
// Texture setting - albedo, normal and specular intensity
void __cdecl SetTexture(_In_opt_ ID3D11ShaderResourceView* value);
void __cdecl SetNormalTexture(_In_opt_ ID3D11ShaderResourceView* value);
void __cdecl SetSpecularTexture(_In_opt_ ID3D11ShaderResourceView* value);
// Normal compression settings.
void __cdecl SetBiasedVertexNormalsAndTangents(bool value);
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
// Unsupported interface methods.
void __cdecl SetLightingEnabled(bool value) override;
void __cdecl SetPerPixelLighting(bool value) override;
};
//----------------------------------------------------------------------------------
// Abstract interface to factory for sharing effects and texture resources
class IEffectFactory
{
public:
virtual ~IEffectFactory() {}
struct EffectInfo
{
const wchar_t* name;
bool perVertexColor;
bool enableSkinning;
bool enableDualTexture;
bool enableNormalMaps;
bool biasedVertexNormals;
float specularPower;
float alpha;
DirectX::XMFLOAT3 ambientColor;
DirectX::XMFLOAT3 diffuseColor;
DirectX::XMFLOAT3 specularColor;
DirectX::XMFLOAT3 emissiveColor;
const wchar_t* diffuseTexture;
const wchar_t* specularTexture;
const wchar_t* normalTexture;
EffectInfo() { memset( this, 0, sizeof(EffectInfo) ); };
};
virtual std::shared_ptr<IEffect> __cdecl CreateEffect( _In_ const EffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext ) = 0;
virtual void __cdecl CreateTexture( _In_z_ const wchar_t* name, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ) = 0;
};
// Factory for sharing effects and texture resources
class EffectFactory : public IEffectFactory
{
public:
explicit EffectFactory(_In_ ID3D11Device* device);
EffectFactory(EffectFactory&& moveFrom);
EffectFactory& operator= (EffectFactory&& moveFrom);
EffectFactory(EffectFactory const&) = delete;
EffectFactory& operator= (EffectFactory const&) = delete;
virtual ~EffectFactory();
// IEffectFactory methods.
virtual std::shared_ptr<IEffect> __cdecl CreateEffect( _In_ const EffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext ) override;
virtual void __cdecl CreateTexture( _In_z_ const wchar_t* name, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ) override;
// Settings.
void __cdecl ReleaseCache();
void __cdecl SetSharing( bool enabled );
void __cdecl EnableNormalMapEffect( bool enabled );
void __cdecl EnableForceSRGB( bool forceSRGB );
void __cdecl SetDirectory( _In_opt_z_ const wchar_t* path );
private:
// Private implementation.
class Impl;
std::shared_ptr<Impl> pImpl;
};
// Factory for sharing Visual Studio Shader Designer (DGSL) shaders and texture resources
class DGSLEffectFactory : public IEffectFactory
{
public:
explicit DGSLEffectFactory(_In_ ID3D11Device* device);
DGSLEffectFactory(DGSLEffectFactory&& moveFrom);
DGSLEffectFactory& operator= (DGSLEffectFactory&& moveFrom);
DGSLEffectFactory(DGSLEffectFactory const&) = delete;
DGSLEffectFactory& operator= (DGSLEffectFactory const&) = delete;
virtual ~DGSLEffectFactory();
// IEffectFactory methods.
virtual std::shared_ptr<IEffect> __cdecl CreateEffect( _In_ const EffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext ) override;
virtual void __cdecl CreateTexture( _In_z_ const wchar_t* name, _In_opt_ ID3D11DeviceContext* deviceContext, _Outptr_ ID3D11ShaderResourceView** textureView ) override;
// DGSL methods.
struct DGSLEffectInfo : public EffectInfo
{
static const int BaseTextureOffset = 3;
const wchar_t* textures[DGSLEffect::MaxTextures - BaseTextureOffset];
const wchar_t* pixelShader;
DGSLEffectInfo() { memset( this, 0, sizeof(DGSLEffectInfo) ); };
};
virtual std::shared_ptr<IEffect> __cdecl CreateDGSLEffect( _In_ const DGSLEffectInfo& info, _In_opt_ ID3D11DeviceContext* deviceContext );
virtual void __cdecl CreatePixelShader( _In_z_ const wchar_t* shader, _Outptr_ ID3D11PixelShader** pixelShader );
// Settings.
void __cdecl ReleaseCache();
void __cdecl SetSharing( bool enabled );
void __cdecl EnableForceSRGB( bool forceSRGB );
void __cdecl SetDirectory( _In_opt_z_ const wchar_t* path );
private:
// Private implementation.
class Impl;
std::shared_ptr<Impl> pImpl;
};
}

272
DirectXTK/Inc/GamePad.h Normal file
View File

@@ -0,0 +1,272 @@
//--------------------------------------------------------------------------------------
// File: GamePad.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if (_WIN32_WINNT < 0x0A00 /*_WIN32_WINNT_WIN10*/)
#ifndef _XBOX_ONE
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP)
#if (_WIN32_WINNT >= 0x0602 /*_WIN32_WINNT_WIN8*/ )
#pragma comment(lib,"xinput.lib")
#else
#pragma comment(lib,"xinput9_1_0.lib")
#endif
#endif
#endif
#endif
#include <memory>
#include <stdint.h>
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
#include <string>
#endif
namespace DirectX
{
class GamePad
{
public:
GamePad();
GamePad(GamePad&& moveFrom);
GamePad& operator= (GamePad&& moveFrom);
GamePad(GamePad const&) = delete;
GamePad& operator=(GamePad const&) = delete;
virtual ~GamePad();
#if (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/ ) || defined(_XBOX_ONE)
static const int MAX_PLAYER_COUNT = 8;
#else
static const int MAX_PLAYER_COUNT = 4;
#endif
enum DeadZone
{
DEAD_ZONE_INDEPENDENT_AXES = 0,
DEAD_ZONE_CIRCULAR,
DEAD_ZONE_NONE,
};
struct Buttons
{
bool a;
bool b;
bool x;
bool y;
bool leftStick;
bool rightStick;
bool leftShoulder;
bool rightShoulder;
union
{
bool back;
bool view;
};
union
{
bool start;
bool menu;
};
};
struct DPad
{
bool up;
bool down;
bool right;
bool left;
};
struct ThumbSticks
{
float leftX;
float leftY;
float rightX;
float rightY;
};
struct Triggers
{
float left;
float right;
};
struct State
{
bool connected;
uint64_t packet;
Buttons buttons;
DPad dpad;
ThumbSticks thumbSticks;
Triggers triggers;
bool __cdecl IsConnected() const { return connected; }
// Is the button pressed currently?
bool __cdecl IsAPressed() const { return buttons.a; }
bool __cdecl IsBPressed() const { return buttons.b; }
bool __cdecl IsXPressed() const { return buttons.x; }
bool __cdecl IsYPressed() const { return buttons.y; }
bool __cdecl IsLeftStickPressed() const { return buttons.leftStick; }
bool __cdecl IsRightStickPressed() const { return buttons.rightStick; }
bool __cdecl IsLeftShoulderPressed() const { return buttons.leftShoulder; }
bool __cdecl IsRightShoulderPressed() const { return buttons.rightShoulder; }
bool __cdecl IsBackPressed() const { return buttons.back; }
bool __cdecl IsViewPressed() const { return buttons.view; }
bool __cdecl IsStartPressed() const { return buttons.start; }
bool __cdecl IsMenuPressed() const { return buttons.menu; }
bool __cdecl IsDPadDownPressed() const { return dpad.down; };
bool __cdecl IsDPadUpPressed() const { return dpad.up; };
bool __cdecl IsDPadLeftPressed() const { return dpad.left; };
bool __cdecl IsDPadRightPressed() const { return dpad.right; };
bool __cdecl IsLeftThumbStickUp() const { return (thumbSticks.leftY > 0.5f) != 0; }
bool __cdecl IsLeftThumbStickDown() const { return (thumbSticks.leftY < -0.5f) != 0; }
bool __cdecl IsLeftThumbStickLeft() const { return (thumbSticks.leftX < -0.5f) != 0; }
bool __cdecl IsLeftThumbStickRight() const { return (thumbSticks.leftX > 0.5f) != 0; }
bool __cdecl IsRightThumbStickUp() const { return (thumbSticks.rightY > 0.5f ) != 0; }
bool __cdecl IsRightThumbStickDown() const { return (thumbSticks.rightY < -0.5f) != 0; }
bool __cdecl IsRightThumbStickLeft() const { return (thumbSticks.rightX < -0.5f) != 0; }
bool __cdecl IsRightThumbStickRight() const { return (thumbSticks.rightX > 0.5f) != 0; }
bool __cdecl IsLeftTriggerPressed() const { return (triggers.left > 0.5f) != 0; }
bool __cdecl IsRightTriggerPressed() const { return (triggers.right > 0.5f) != 0; }
};
struct Capabilities
{
enum Type
{
UNKNOWN = 0,
GAMEPAD,
WHEEL,
ARCADE_STICK,
FLIGHT_STICK,
DANCE_PAD,
GUITAR,
GUITAR_ALTERNATE,
DRUM_KIT,
GUITAR_BASS = 11,
ARCADE_PAD = 19,
};
bool connected;
Type gamepadType;
#if (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/)
std::wstring id;
#else
uint64_t id;
#endif
bool __cdecl IsConnected() const { return connected; }
};
class ButtonStateTracker
{
public:
enum ButtonState
{
UP = 0, // Button is up
HELD = 1, // Button is held down
RELEASED = 2, // Button was just released
PRESSED = 3, // Buton was just pressed
};
ButtonState a;
ButtonState b;
ButtonState x;
ButtonState y;
ButtonState leftStick;
ButtonState rightStick;
ButtonState leftShoulder;
ButtonState rightShoulder;
union
{
ButtonState back;
ButtonState view;
};
union
{
ButtonState start;
ButtonState menu;
};
ButtonState dpadUp;
ButtonState dpadDown;
ButtonState dpadLeft;
ButtonState dpadRight;
ButtonState leftStickUp;
ButtonState leftStickDown;
ButtonState leftStickLeft;
ButtonState leftStickRight;
ButtonState rightStickUp;
ButtonState rightStickDown;
ButtonState rightStickLeft;
ButtonState rightStickRight;
ButtonState leftTrigger;
ButtonState rightTrigger;
ButtonStateTracker() { Reset(); }
void __cdecl Update( const State& state );
void __cdecl Reset();
State __cdecl GetLastState() const { return lastState; }
private:
State lastState;
};
// Retrieve the current state of the gamepad of the associated player index
State __cdecl GetState(int player, DeadZone deadZoneMode = DEAD_ZONE_INDEPENDENT_AXES);
// Retrieve the current capabilities of the gamepad of the associated player index
Capabilities __cdecl GetCapabilities(int player);
// Set the vibration motor speeds of the gamepad
bool __cdecl SetVibration( int player, float leftMotor, float rightMotor, float leftTrigger = 0.f, float rightTrigger = 0.f );
// Handle suspending/resuming
void __cdecl Suspend();
void __cdecl Resume();
#if (_WIN32_WINNT >= 0x0A00 /*_WIN32_WINNT_WIN10*/ ) || defined(_XBOX_ONE)
void __cdecl RegisterEvents(void* ctrlChanged, void* userChanged);
#endif
// Singleton
static GamePad& __cdecl Get();
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
}

View File

@@ -0,0 +1,83 @@
//--------------------------------------------------------------------------------------
// File: GeometricPrimitive.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#include "VertexTypes.h"
#include <DirectXColors.h>
#include <functional>
#include <memory>
#include <vector>
namespace DirectX
{
class IEffect;
class GeometricPrimitive
{
public:
GeometricPrimitive(GeometricPrimitive const&) = delete;
GeometricPrimitive& operator= (GeometricPrimitive const&) = delete;
virtual ~GeometricPrimitive();
// Factory methods.
static std::unique_ptr<GeometricPrimitive> __cdecl CreateCube (_In_ ID3D11DeviceContext* deviceContext, float size = 1, bool rhcoords = true);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateBox (_In_ ID3D11DeviceContext* deviceContext, const XMFLOAT3& size, bool rhcoords = true, bool invertn = false);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateSphere (_In_ ID3D11DeviceContext* deviceContext, float diameter = 1, size_t tessellation = 16, bool rhcoords = true, bool invertn = false);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateGeoSphere (_In_ ID3D11DeviceContext* deviceContext, float diameter = 1, size_t tessellation = 3, bool rhcoords = true);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateCylinder (_In_ ID3D11DeviceContext* deviceContext, float height = 1, float diameter = 1, size_t tessellation = 32, bool rhcoords = true);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateCone (_In_ ID3D11DeviceContext* deviceContext, float diameter = 1, float height = 1, size_t tessellation = 32, bool rhcoords = true);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateTorus (_In_ ID3D11DeviceContext* deviceContext, float diameter = 1, float thickness = 0.333f, size_t tessellation = 32, bool rhcoords = true);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateTetrahedron (_In_ ID3D11DeviceContext* deviceContext, float size = 1, bool rhcoords = true);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateOctahedron (_In_ ID3D11DeviceContext* deviceContext, float size = 1, bool rhcoords = true);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateDodecahedron (_In_ ID3D11DeviceContext* deviceContext, float size = 1, bool rhcoords = true);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateIcosahedron (_In_ ID3D11DeviceContext* deviceContext, float size = 1, bool rhcoords = true);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateTeapot (_In_ ID3D11DeviceContext* deviceContext, float size = 1, size_t tessellation = 8, bool rhcoords = true);
static std::unique_ptr<GeometricPrimitive> __cdecl CreateCustom (_In_ ID3D11DeviceContext* deviceContext, const std::vector<VertexPositionNormalTexture>& vertices, const std::vector<uint16_t>& indices);
static void __cdecl CreateCube (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float size = 1, bool rhcoords = true);
static void __cdecl CreateBox (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, const XMFLOAT3& size, bool rhcoords = true, bool invertn = false);
static void __cdecl CreateSphere (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float diameter = 1, size_t tessellation = 16, bool rhcoords = true, bool invertn = false);
static void __cdecl CreateGeoSphere (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float diameter = 1, size_t tessellation = 3, bool rhcoords = true);
static void __cdecl CreateCylinder (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float height = 1, float diameter = 1, size_t tessellation = 32, bool rhcoords = true);
static void __cdecl CreateCone (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float diameter = 1, float height = 1, size_t tessellation = 32, bool rhcoords = true);
static void __cdecl CreateTorus (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float diameter = 1, float thickness = 0.333f, size_t tessellation = 32, bool rhcoords = true);
static void __cdecl CreateTetrahedron (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float size = 1, bool rhcoords = true);
static void __cdecl CreateOctahedron (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float size = 1, bool rhcoords = true);
static void __cdecl CreateDodecahedron (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float size = 1, bool rhcoords = true);
static void __cdecl CreateIcosahedron (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float size = 1, bool rhcoords = true);
static void __cdecl CreateTeapot (std::vector<VertexPositionNormalTexture>& vertices, std::vector<uint16_t>& indices, float size = 1, size_t tessellation = 8, bool rhcoords = true);
// Draw the primitive.
void XM_CALLCONV Draw(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection, FXMVECTOR color = Colors::White, _In_opt_ ID3D11ShaderResourceView* texture = nullptr, bool wireframe = false,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr ) const;
// Draw the primitive using a custom effect.
void __cdecl Draw( _In_ IEffect* effect, _In_ ID3D11InputLayout* inputLayout, bool alpha = false, bool wireframe = false,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr ) const;
// Create input layout for drawing with a custom effect.
void __cdecl CreateInputLayout( _In_ IEffect* effect, _Outptr_ ID3D11InputLayout** inputLayout ) const;
private:
GeometricPrimitive();
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
}

View File

@@ -0,0 +1,56 @@
//--------------------------------------------------------------------------------------
// File: GraphicsMemory.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <memory>
namespace DirectX
{
class GraphicsMemory
{
public:
#if defined(_XBOX_ONE) && defined(_TITLE)
GraphicsMemory(_In_ ID3D11DeviceX* device, UINT backBufferCount = 2);
#else
GraphicsMemory(_In_ ID3D11Device* device, UINT backBufferCount = 2);
#endif
GraphicsMemory(GraphicsMemory&& moveFrom);
GraphicsMemory& operator= (GraphicsMemory&& moveFrom);
GraphicsMemory(GraphicsMemory const&) = delete;
GraphicsMemory& operator=(GraphicsMemory const&) = delete;
virtual ~GraphicsMemory();
void* __cdecl Allocate(_In_opt_ ID3D11DeviceContext* context, size_t size, int alignment);
void __cdecl Commit();
// Singleton
static GraphicsMemory& __cdecl Get();
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
}

482
DirectXTK/Inc/Keyboard.h Normal file
View File

@@ -0,0 +1,482 @@
//--------------------------------------------------------------------------------------
// File: Keyboard.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#include <memory>
#include <stdint.h>
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
namespace ABI { namespace Windows { namespace UI { namespace Core { struct ICoreWindow; } } } }
#endif
namespace DirectX
{
class Keyboard
{
public:
Keyboard();
Keyboard(Keyboard&& moveFrom);
Keyboard& operator= (Keyboard&& moveFrom);
Keyboard(Keyboard const&) = delete;
Keyboard& operator=(Keyboard const&) = delete;
virtual ~Keyboard();
enum Keys
{
None = 0,
Back = 0x8,
Tab = 0x9,
Enter = 0xd,
Pause = 0x13,
CapsLock = 0x14,
Kana = 0x15,
Kanji = 0x19,
Escape = 0x1b,
ImeConvert = 0x1c,
ImeNoConvert = 0x1d,
Space = 0x20,
PageUp = 0x21,
PageDown = 0x22,
End = 0x23,
Home = 0x24,
Left = 0x25,
Up = 0x26,
Right = 0x27,
Down = 0x28,
Select = 0x29,
Print = 0x2a,
Execute = 0x2b,
PrintScreen = 0x2c,
Insert = 0x2d,
Delete = 0x2e,
Help = 0x2f,
D0 = 0x30,
D1 = 0x31,
D2 = 0x32,
D3 = 0x33,
D4 = 0x34,
D5 = 0x35,
D6 = 0x36,
D7 = 0x37,
D8 = 0x38,
D9 = 0x39,
A = 0x41,
B = 0x42,
C = 0x43,
D = 0x44,
E = 0x45,
F = 0x46,
G = 0x47,
H = 0x48,
I = 0x49,
J = 0x4a,
K = 0x4b,
L = 0x4c,
M = 0x4d,
N = 0x4e,
O = 0x4f,
P = 0x50,
Q = 0x51,
R = 0x52,
S = 0x53,
T = 0x54,
U = 0x55,
V = 0x56,
W = 0x57,
X = 0x58,
Y = 0x59,
Z = 0x5a,
LeftWindows = 0x5b,
RightWindows = 0x5c,
Apps = 0x5d,
Sleep = 0x5f,
NumPad0 = 0x60,
NumPad1 = 0x61,
NumPad2 = 0x62,
NumPad3 = 0x63,
NumPad4 = 0x64,
NumPad5 = 0x65,
NumPad6 = 0x66,
NumPad7 = 0x67,
NumPad8 = 0x68,
NumPad9 = 0x69,
Multiply = 0x6a,
Add = 0x6b,
Separator = 0x6c,
Subtract = 0x6d,
Decimal = 0x6e,
Divide = 0x6f,
F1 = 0x70,
F2 = 0x71,
F3 = 0x72,
F4 = 0x73,
F5 = 0x74,
F6 = 0x75,
F7 = 0x76,
F8 = 0x77,
F9 = 0x78,
F10 = 0x79,
F11 = 0x7a,
F12 = 0x7b,
F13 = 0x7c,
F14 = 0x7d,
F15 = 0x7e,
F16 = 0x7f,
F17 = 0x80,
F18 = 0x81,
F19 = 0x82,
F20 = 0x83,
F21 = 0x84,
F22 = 0x85,
F23 = 0x86,
F24 = 0x87,
NumLock = 0x90,
Scroll = 0x91,
LeftShift = 0xa0,
RightShift = 0xa1,
LeftControl = 0xa2,
RightControl = 0xa3,
LeftAlt = 0xa4,
RightAlt = 0xa5,
BrowserBack = 0xa6,
BrowserForward = 0xa7,
BrowserRefresh = 0xa8,
BrowserStop = 0xa9,
BrowserSearch = 0xaa,
BrowserFavorites = 0xab,
BrowserHome = 0xac,
VolumeMute = 0xad,
VolumeDown = 0xae,
VolumeUp = 0xaf,
MediaNextTrack = 0xb0,
MediaPreviousTrack = 0xb1,
MediaStop = 0xb2,
MediaPlayPause = 0xb3,
LaunchMail = 0xb4,
SelectMedia = 0xb5,
LaunchApplication1 = 0xb6,
LaunchApplication2 = 0xb7,
OemSemicolon = 0xba,
OemPlus = 0xbb,
OemComma = 0xbc,
OemMinus = 0xbd,
OemPeriod = 0xbe,
OemQuestion = 0xbf,
OemTilde = 0xc0,
OemOpenBrackets = 0xdb,
OemPipe = 0xdc,
OemCloseBrackets = 0xdd,
OemQuotes = 0xde,
Oem8 = 0xdf,
OemBackslash = 0xe2,
ProcessKey = 0xe5,
OemCopy = 0xf2,
OemAuto = 0xf3,
OemEnlW = 0xf4,
Attn = 0xf6,
Crsel = 0xf7,
Exsel = 0xf8,
EraseEof = 0xf9,
Play = 0xfa,
Zoom = 0xfb,
Pa1 = 0xfd,
OemClear = 0xfe,
};
struct State
{
bool Reserved0 : 8;
bool Back : 1; // VK_BACK, 0x8
bool Tab : 1; // VK_TAB, 0x9
bool Reserved1 : 3;
bool Enter : 1; // VK_RETURN, 0xD
bool Reserved2 : 2;
bool Reserved3 : 3;
bool Pause : 1; // VK_PAUSE, 0x13
bool CapsLock : 1; // VK_CAPITAL, 0x14
bool Kana : 1; // VK_KANA, 0x15
bool Reserved4 : 2;
bool Reserved5 : 1;
bool Kanji : 1; // VK_KANJI, 0x19
bool Reserved6 : 1;
bool Escape : 1; // VK_ESCAPE, 0x1B
bool ImeConvert : 1; // VK_CONVERT, 0x1C
bool ImeNoConvert : 1; // VK_NONCONVERT, 0x1D
bool Reserved7 : 2;
bool Space : 1; // VK_SPACE, 0x20
bool PageUp : 1; // VK_PRIOR, 0x21
bool PageDown : 1; // VK_NEXT, 0x22
bool End : 1; // VK_END, 0x23
bool Home : 1; // VK_HOME, 0x24
bool Left : 1; // VK_LEFT, 0x25
bool Up : 1; // VK_UP, 0x26
bool Right : 1; // VK_RIGHT, 0x27
bool Down : 1; // VK_DOWN, 0x28
bool Select : 1; // VK_SELECT, 0x29
bool Print : 1; // VK_PRINT, 0x2A
bool Execute : 1; // VK_EXECUTE, 0x2B
bool PrintScreen : 1; // VK_SNAPSHOT, 0x2C
bool Insert : 1; // VK_INSERT, 0x2D
bool Delete : 1; // VK_DELETE, 0x2E
bool Help : 1; // VK_HELP, 0x2F
bool D0 : 1; // 0x30
bool D1 : 1; // 0x31
bool D2 : 1; // 0x32
bool D3 : 1; // 0x33
bool D4 : 1; // 0x34
bool D5 : 1; // 0x35
bool D6 : 1; // 0x36
bool D7 : 1; // 0x37
bool D8 : 1; // 0x38
bool D9 : 1; // 0x39
bool Reserved8 : 6;
bool Reserved9 : 1;
bool A : 1; // 0x41
bool B : 1; // 0x42
bool C : 1; // 0x43
bool D : 1; // 0x44
bool E : 1; // 0x45
bool F : 1; // 0x46
bool G : 1; // 0x47
bool H : 1; // 0x48
bool I : 1; // 0x49
bool J : 1; // 0x4A
bool K : 1; // 0x4B
bool L : 1; // 0x4C
bool M : 1; // 0x4D
bool N : 1; // 0x4E
bool O : 1; // 0x4F
bool P : 1; // 0x50
bool Q : 1; // 0x51
bool R : 1; // 0x52
bool S : 1; // 0x53
bool T : 1; // 0x54
bool U : 1; // 0x55
bool V : 1; // 0x56
bool W : 1; // 0x57
bool X : 1; // 0x58
bool Y : 1; // 0x59
bool Z : 1; // 0x5A
bool LeftWindows : 1; // VK_LWIN, 0x5B
bool RightWindows : 1; // VK_RWIN, 0x5C
bool Apps : 1; // VK_APPS, 0x5D
bool Reserved10 : 1;
bool Sleep : 1; // VK_SLEEP, 0x5F
bool NumPad0 : 1; // VK_NUMPAD0, 0x60
bool NumPad1 : 1; // VK_NUMPAD1, 0x61
bool NumPad2 : 1; // VK_NUMPAD2, 0x62
bool NumPad3 : 1; // VK_NUMPAD3, 0x63
bool NumPad4 : 1; // VK_NUMPAD4, 0x64
bool NumPad5 : 1; // VK_NUMPAD5, 0x65
bool NumPad6 : 1; // VK_NUMPAD6, 0x66
bool NumPad7 : 1; // VK_NUMPAD7, 0x67
bool NumPad8 : 1; // VK_NUMPAD8, 0x68
bool NumPad9 : 1; // VK_NUMPAD9, 0x69
bool Multiply : 1; // VK_MULTIPLY, 0x6A
bool Add : 1; // VK_ADD, 0x6B
bool Separator : 1; // VK_SEPARATOR, 0x6C
bool Subtract : 1; // VK_SUBTRACT, 0x6D
bool Decimal : 1; // VK_DECIMANL, 0x6E
bool Divide : 1; // VK_DIVIDE, 0x6F
bool F1 : 1; // VK_F1, 0x70
bool F2 : 1; // VK_F2, 0x71
bool F3 : 1; // VK_F3, 0x72
bool F4 : 1; // VK_F4, 0x73
bool F5 : 1; // VK_F5, 0x74
bool F6 : 1; // VK_F6, 0x75
bool F7 : 1; // VK_F7, 0x76
bool F8 : 1; // VK_F8, 0x77
bool F9 : 1; // VK_F9, 0x78
bool F10 : 1; // VK_F10, 0x79
bool F11 : 1; // VK_F11, 0x7A
bool F12 : 1; // VK_F12, 0x7B
bool F13 : 1; // VK_F13, 0x7C
bool F14 : 1; // VK_F14, 0x7D
bool F15 : 1; // VK_F15, 0x7E
bool F16 : 1; // VK_F16, 0x7F
bool F17 : 1; // VK_F17, 0x80
bool F18 : 1; // VK_F18, 0x81
bool F19 : 1; // VK_F19, 0x82
bool F20 : 1; // VK_F20, 0x83
bool F21 : 1; // VK_F21, 0x84
bool F22 : 1; // VK_F22, 0x85
bool F23 : 1; // VK_F23, 0x86
bool F24 : 1; // VK_F24, 0x87
bool Reserved11 : 8;
bool NumLock : 1; // VK_NUMLOCK, 0x90
bool Scroll : 1; // VK_SCROLL, 0x91
bool Reserved12 : 6;
bool Reserved13 : 8;
bool LeftShift : 1; // VK_LSHIFT, 0xA0
bool RightShift : 1; // VK_RSHIFT, 0xA1
bool LeftControl : 1; // VK_LCONTROL, 0xA2
bool RightControl : 1; // VK_RCONTROL, 0xA3
bool LeftAlt : 1; // VK_LMENU, 0xA4
bool RightAlt : 1; // VK_RMENU, 0xA5
bool BrowserBack : 1; // VK_BROWSER_BACK, 0xA6
bool BrowserForward : 1; // VK_BROWSER_FORWARD, 0xA7
bool BrowserRefresh : 1; // VK_BROWSER_REFRESH, 0xA8
bool BrowserStop : 1; // VK_BROWSER_STOP, 0xA9
bool BrowserSearch : 1; // VK_BROWSER_SEARCH, 0xAA
bool BrowserFavorites : 1; // VK_BROWSER_FAVORITES, 0xAB
bool BrowserHome : 1; // VK_BROWSER_HOME, 0xAC
bool VolumeMute : 1; // VK_VOLUME_MUTE, 0xAD
bool VolumeDown : 1; // VK_VOLUME_DOWN, 0xAE
bool VolumeUp : 1; // VK_VOLUME_UP, 0xAF
bool MediaNextTrack : 1; // VK_MEDIA_NEXT_TRACK, 0xB0
bool MediaPreviousTrack : 1;// VK_MEDIA_PREV_TRACK, 0xB1
bool MediaStop : 1; // VK_MEDIA_STOP, 0xB2
bool MediaPlayPause : 1; // VK_MEDIA_PLAY_PAUSE, 0xB3
bool LaunchMail : 1; // VK_LAUNCH_MAIL, 0xB4
bool SelectMedia : 1; // VK_LAUNCH_MEDIA_SELECT, 0xB5
bool LaunchApplication1 : 1;// VK_LAUNCH_APP1, 0xB6
bool LaunchApplication2 : 1;// VK_LAUNCH_APP2, 0xB7
bool Reserved14 : 2;
bool OemSemicolon : 1; // VK_OEM_1, 0xBA
bool OemPlus : 1; // VK_OEM_PLUS, 0xBB
bool OemComma : 1; // VK_OEM_COMMA, 0xBC
bool OemMinus : 1; // VK_OEM_MINUS, 0xBD
bool OemPeriod : 1; // VK_OEM_PERIOD, 0xBE
bool OemQuestion : 1; // VK_OEM_2, 0xBF
bool OemTilde : 1; // VK_OEM_3, 0xC0
bool Reserved15 : 7;
bool Reserved16 : 8;
bool Reserved17 : 8;
bool Reserved18 : 3;
bool OemOpenBrackets : 1; // VK_OEM_4, 0xDB
bool OemPipe : 1; // VK_OEM_5, 0xDC
bool OemCloseBrackets : 1; // VK_OEM_6, 0xDD
bool OemQuotes : 1; // VK_OEM_7, 0xDE
bool Oem8 : 1; // VK_OEM_8, 0xDF
bool Reserved19 : 2;
bool OemBackslash : 1; // VK_OEM_102, 0xE2
bool Reserved20 : 2;
bool ProcessKey : 1; // VK_PROCESSKEY, 0xE5
bool Reserved21 : 2;
bool Reserved22 : 8;
bool Reserved23 : 2;
bool OemCopy : 1; // 0XF2
bool OemAuto : 1; // 0xF3
bool OemEnlW : 1; // 0xF4
bool Reserved24 : 1;
bool Attn : 1; // VK_ATTN, 0xF6
bool Crsel : 1; // VK_CRSEL, 0xF7
bool Exsel : 1; // VK_EXSEL, 0xF8
bool EraseEof : 1; // VK_EREOF, 0xF9
bool Play : 1; // VK_PLAY, 0xFA
bool Zoom : 1; // VK_ZOOM, 0xFB
bool Reserved25 : 1;
bool Pa1 : 1; // VK_PA1, 0xFD
bool OemClear : 1; // VK_OEM_CLEAR, 0xFE
bool Reserved26: 1;
bool __cdecl IsKeyDown(Keys key) const
{
if (key >= 0 && key <= 0xfe)
{
auto ptr = reinterpret_cast<const uint32_t*>(this);
unsigned int bf = 1u << (key & 0x1f);
return (ptr[(key >> 5)] & bf) != 0;
}
return false;
}
bool __cdecl IsKeyUp(Keys key) const
{
if (key >= 0 && key <= 0xfe)
{
auto ptr = reinterpret_cast<const uint32_t*>(this);
unsigned int bf = 1u << (key & 0x1f);
return (ptr[(key >> 5)] & bf) == 0;
}
return false;
}
};
class KeyboardStateTracker
{
public:
State released;
State pressed;
KeyboardStateTracker() { Reset(); }
void __cdecl Update(const State& state);
void __cdecl Reset();
bool __cdecl IsKeyPressed(Keys key) const { return pressed.IsKeyDown(key); }
bool __cdecl IsKeyReleased(Keys key) const { return released.IsKeyDown(key); }
State __cdecl GetLastState() const { return lastState; }
public:
State lastState;
};
// Retrieve the current state of the keyboard
State __cdecl GetState() const;
// Reset the keyboard state
void __cdecl Reset();
// Feature detection
bool __cdecl IsConnected() const;
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) && defined(WM_USER)
static void __cdecl ProcessMessage(UINT message, WPARAM wParam, LPARAM lParam);
#endif
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
void __cdecl SetWindow(ABI::Windows::UI::Core::ICoreWindow* window);
#ifdef __cplusplus_winrt
void __cdecl SetWindow(Windows::UI::Core::CoreWindow^ window)
{
// See https://msdn.microsoft.com/en-us/library/hh755802.aspx
SetWindow(reinterpret_cast<ABI::Windows::UI::Core::ICoreWindow*>(window));
}
#endif
#endif
// Singleton
static Keyboard& __cdecl Get();
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
}

145
DirectXTK/Inc/Model.h Normal file
View File

@@ -0,0 +1,145 @@
//--------------------------------------------------------------------------------------
// File: Model.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <DirectXMath.h>
#include <DirectXCollision.h>
#include <memory>
#include <functional>
#include <set>
#include <string>
#include <vector>
#include <stdint.h>
#include <wrl\client.h>
namespace DirectX
{
class IEffect;
class IEffectFactory;
class CommonStates;
class ModelMesh;
//----------------------------------------------------------------------------------
// Each mesh part is a submesh with a single effect
class ModelMeshPart
{
public:
ModelMeshPart();
virtual ~ModelMeshPart();
uint32_t indexCount;
uint32_t startIndex;
uint32_t vertexOffset;
uint32_t vertexStride;
D3D_PRIMITIVE_TOPOLOGY primitiveType;
DXGI_FORMAT indexFormat;
Microsoft::WRL::ComPtr<ID3D11InputLayout> inputLayout;
Microsoft::WRL::ComPtr<ID3D11Buffer> indexBuffer;
Microsoft::WRL::ComPtr<ID3D11Buffer> vertexBuffer;
std::shared_ptr<IEffect> effect;
std::shared_ptr<std::vector<D3D11_INPUT_ELEMENT_DESC>> vbDecl;
bool isAlpha;
typedef std::vector<std::unique_ptr<ModelMeshPart>> Collection;
// Draw mesh part with custom effect
void __cdecl Draw( _In_ ID3D11DeviceContext* deviceContext, _In_ IEffect* ieffect, _In_ ID3D11InputLayout* iinputLayout,
_In_opt_ std::function<void __cdecl()> setCustomState = nullptr ) const;
// Create input layout for drawing with a custom effect.
void __cdecl CreateInputLayout( _In_ ID3D11Device* d3dDevice, _In_ IEffect* ieffect, _Outptr_ ID3D11InputLayout** iinputLayout ) const;
// Change effect used by part and regenerate input layout (be sure to call Model::Modified as well)
void __cdecl ModifyEffect( _In_ ID3D11Device* d3dDevice, _In_ std::shared_ptr<IEffect>& ieffect, bool isalpha = false );
};
//----------------------------------------------------------------------------------
// A mesh consists of one or more model mesh parts
class ModelMesh
{
public:
ModelMesh();
virtual ~ModelMesh();
BoundingSphere boundingSphere;
BoundingBox boundingBox;
ModelMeshPart::Collection meshParts;
std::wstring name;
bool ccw;
bool pmalpha;
typedef std::vector<std::shared_ptr<ModelMesh>> Collection;
// Setup states for drawing mesh
void __cdecl PrepareForRendering( _In_ ID3D11DeviceContext* deviceContext, const CommonStates& states, bool alpha = false, bool wireframe = false ) const;
// Draw the mesh
void XM_CALLCONV Draw( _In_ ID3D11DeviceContext* deviceContext, FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection,
bool alpha = false, _In_opt_ std::function<void __cdecl()> setCustomState = nullptr ) const;
};
//----------------------------------------------------------------------------------
// A model consists of one or more meshes
class Model
{
public:
virtual ~Model();
ModelMesh::Collection meshes;
std::wstring name;
// Draw all the meshes in the model
void XM_CALLCONV Draw( _In_ ID3D11DeviceContext* deviceContext, const CommonStates& states, FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection,
bool wireframe = false, _In_opt_ std::function<void __cdecl()> setCustomState = nullptr ) const;
// Notify model that effects, parts list, or mesh list has changed
void __cdecl Modified() { mEffectCache.clear(); }
// Update all effects used by the model
void __cdecl UpdateEffects( _In_ std::function<void __cdecl(IEffect*)> setEffect );
// Loads a model from a Visual Studio Starter Kit .CMO file
static std::unique_ptr<Model> __cdecl CreateFromCMO( _In_ ID3D11Device* d3dDevice, _In_reads_bytes_(dataSize) const uint8_t* meshData, size_t dataSize,
_In_ IEffectFactory& fxFactory, bool ccw = true, bool pmalpha = false );
static std::unique_ptr<Model> __cdecl CreateFromCMO( _In_ ID3D11Device* d3dDevice, _In_z_ const wchar_t* szFileName,
_In_ IEffectFactory& fxFactory, bool ccw = true, bool pmalpha = false );
// Loads a model from a DirectX SDK .SDKMESH file
static std::unique_ptr<Model> __cdecl CreateFromSDKMESH( _In_ ID3D11Device* d3dDevice, _In_reads_bytes_(dataSize) const uint8_t* meshData, _In_ size_t dataSize,
_In_ IEffectFactory& fxFactory, bool ccw = false, bool pmalpha = false );
static std::unique_ptr<Model> __cdecl CreateFromSDKMESH( _In_ ID3D11Device* d3dDevice, _In_z_ const wchar_t* szFileName,
_In_ IEffectFactory& fxFactory, bool ccw = false, bool pmalpha = false );
// Loads a model from a .VBO file
static std::unique_ptr<Model> __cdecl CreateFromVBO( _In_ ID3D11Device* d3dDevice, _In_reads_bytes_(dataSize) const uint8_t* meshData, _In_ size_t dataSize,
_In_opt_ std::shared_ptr<IEffect> ieffect = nullptr, bool ccw = false, bool pmalpha = false );
static std::unique_ptr<Model> __cdecl CreateFromVBO( _In_ ID3D11Device* d3dDevice, _In_z_ const wchar_t* szFileName,
_In_opt_ std::shared_ptr<IEffect> ieffect = nullptr, bool ccw = false, bool pmalpha = false );
private:
std::set<IEffect*> mEffectCache;
};
}

123
DirectXTK/Inc/Mouse.h Normal file
View File

@@ -0,0 +1,123 @@
//--------------------------------------------------------------------------------------
// File: Mouse.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#include <memory>
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
namespace ABI { namespace Windows { namespace UI { namespace Core { struct ICoreWindow; } } } }
#endif
namespace DirectX
{
class Mouse
{
public:
Mouse();
Mouse(Mouse&& moveFrom);
Mouse& operator= (Mouse&& moveFrom);
Mouse(Mouse const&) = delete;
Mouse& operator=(Mouse const&) = delete;
virtual ~Mouse();
enum Mode
{
MODE_ABSOLUTE = 0,
MODE_RELATIVE,
};
struct State
{
bool leftButton;
bool middleButton;
bool rightButton;
bool xButton1;
bool xButton2;
int x;
int y;
int scrollWheelValue;
Mode positionMode;
};
class ButtonStateTracker
{
public:
enum ButtonState
{
UP = 0, // Button is up
HELD = 1, // Button is held down
RELEASED = 2, // Button was just released
PRESSED = 3, // Buton was just pressed
};
ButtonState leftButton;
ButtonState middleButton;
ButtonState rightButton;
ButtonState xButton1;
ButtonState xButton2;
ButtonStateTracker() { Reset(); }
void __cdecl Update( const State& state );
void __cdecl Reset();
State __cdecl GetLastState() const { return lastState; }
private:
State lastState;
};
// Retrieve the current state of the mouse
State __cdecl GetState() const;
// Resets the accumulated scroll wheel value
void __cdecl ResetScrollWheelValue();
// Sets mouse mode (defaults to absolute)
void __cdecl SetMode(Mode mode);
// Feature detection
bool __cdecl IsConnected() const;
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) && defined(WM_USER)
void __cdecl SetWindow(HWND window);
static void __cdecl ProcessMessage(UINT message, WPARAM wParam, LPARAM lParam);
#endif
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
void __cdecl SetWindow(ABI::Windows::UI::Core::ICoreWindow* window);
#ifdef __cplusplus_winrt
void __cdecl SetWindow(Windows::UI::Core::CoreWindow^ window)
{
// See https://msdn.microsoft.com/en-us/library/hh755802.aspx
SetWindow(reinterpret_cast<ABI::Windows::UI::Core::ICoreWindow*>(window));
}
#endif
static void __cdecl SetDpi(float dpi);
#endif
// Singleton
static Mouse& __cdecl Get();
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
}

201
DirectXTK/Inc/PostProcess.h Normal file
View File

@@ -0,0 +1,201 @@
//--------------------------------------------------------------------------------------
// File: PostProcess.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(WINAPI_FAMILY) && WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP
#error Post-processing not supported for Windows Phone 8.x; requires Direct3D hardware Feature Level 10.0 or better
#endif
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <DirectXMath.h>
#include <memory>
#include <functional>
namespace DirectX
{
//----------------------------------------------------------------------------------
// Abstract interface representing a post-process pass
class IPostProcess
{
public:
virtual ~IPostProcess() { }
virtual void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext, _In_opt_ std::function<void __cdecl()> setCustomState = nullptr) = 0;
};
//----------------------------------------------------------------------------------
// Basic post-process
class BasicPostProcess : public IPostProcess
{
public:
enum Effect
{
Copy,
Monochrome,
Sepia,
DownScale_2x2,
DownScale_4x4,
GaussianBlur_5x5,
BloomExtract,
BloomBlur,
Effect_Max
};
explicit BasicPostProcess(_In_ ID3D11Device* device);
BasicPostProcess(BasicPostProcess&& moveFrom);
BasicPostProcess& operator= (BasicPostProcess&& moveFrom);
BasicPostProcess(BasicPostProcess const&) = delete;
BasicPostProcess& operator= (BasicPostProcess const&) = delete;
virtual ~BasicPostProcess();
// IPostProcess methods.
void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext, _In_opt_ std::function<void __cdecl()> setCustomState = nullptr) override;
// Shader control
void __cdecl SetEffect(Effect fx);
// Properties
void __cdecl SetSourceTexture(_In_opt_ ID3D11ShaderResourceView* value);
// Sets multiplier for GaussianBlur_5x5
void __cdecl SetGaussianParameter(float multiplier);
// Sets parameters for BloomExtract
void __cdecl SetBloomExtractParameter(float threshold);
// Sets parameters for BloomBlur
void __cdecl SetBloomBlurParameters(bool horizontal, float size, float brightness);
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
//----------------------------------------------------------------------------------
// Dual-texure post-process
class DualPostProcess : public IPostProcess
{
public:
enum Effect
{
Merge,
BloomCombine,
Effect_Max
};
explicit DualPostProcess(_In_ ID3D11Device* device);
DualPostProcess(DualPostProcess&& moveFrom);
DualPostProcess& operator= (DualPostProcess&& moveFrom);
DualPostProcess(DualPostProcess const&) = delete;
DualPostProcess& operator= (DualPostProcess const&) = delete;
virtual ~DualPostProcess();
// IPostProcess methods.
void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext, _In_opt_ std::function<void __cdecl()> setCustomState = nullptr) override;
// Shader control
void __cdecl SetEffect(Effect fx);
// Properties
void __cdecl SetSourceTexture(_In_opt_ ID3D11ShaderResourceView* value);
void __cdecl SetSourceTexture2(_In_opt_ ID3D11ShaderResourceView* value);
// Sets parameters for Merge
void __cdecl SetMergeParameters(float weight1, float weight2);
// Sets parameters for BloomCombine
void __cdecl SetBloomCombineParameters(float bloom, float base, float bloomSaturation, float baseSaturation);
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
//----------------------------------------------------------------------------------
// Tone-map post-process
class ToneMapPostProcess : public IPostProcess
{
public:
enum Operator // Tone-mapping operator
{
None, // Pass-through
Saturate, // Clamp [0,1]
Reinhard, // x/(1+x)
ACESFilmic,
Operator_Max
};
enum TransferFunction // Electro-Optical Transfer Function (EOTF)
{
Linear, // Pass-through
SRGB, // sRGB (Rec.709 and approximate sRGB display curve)
ST2084, // HDR10 (Rec.2020 color primaries and ST.2084 display curve)
TransferFunction_Max
};
explicit ToneMapPostProcess(_In_ ID3D11Device* device);
ToneMapPostProcess(ToneMapPostProcess&& moveFrom);
ToneMapPostProcess& operator= (ToneMapPostProcess&& moveFrom);
ToneMapPostProcess(ToneMapPostProcess const&) = delete;
ToneMapPostProcess& operator= (ToneMapPostProcess const&) = delete;
virtual ~ToneMapPostProcess();
// IPostProcess methods.
void __cdecl Process(_In_ ID3D11DeviceContext* deviceContext, _In_opt_ std::function<void __cdecl()> setCustomState = nullptr) override;
// Shader control
void __cdecl SetOperator(Operator op);
void __cdecl SetTransferFunction(TransferFunction func);
#if defined(_XBOX_ONE) && defined(_TITLE)
// Uses Multiple Render Targets to generate both HDR10 and GameDVR SDR signals
void __cdecl SetMRTOutput(bool value = true);
#endif
// Properties
void __cdecl SetHDRSourceTexture(_In_opt_ ID3D11ShaderResourceView* value);
// Sets exposure value for LDR tonemap operators
void SetExposure(float exposureValue);
// Sets ST.2084 parameter for how bright white should be in nits
void SetST2084Parameter(float paperWhiteNits);
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
}

View File

@@ -0,0 +1,143 @@
//--------------------------------------------------------------------------------------
// File: PrimitiveBatch.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <memory>
#include <utility>
#include <stdint.h>
namespace DirectX
{
namespace Internal
{
// Base class, not to be used directly: clients should access this via the derived PrimitiveBatch<T>.
class PrimitiveBatchBase
{
protected:
PrimitiveBatchBase(_In_ ID3D11DeviceContext* deviceContext, size_t maxIndices, size_t maxVertices, size_t vertexSize);
PrimitiveBatchBase(PrimitiveBatchBase&& moveFrom);
PrimitiveBatchBase& operator= (PrimitiveBatchBase&& moveFrom);
PrimitiveBatchBase(PrimitiveBatchBase const&) = delete;
PrimitiveBatchBase& operator= (PrimitiveBatchBase const&) = delete;
virtual ~PrimitiveBatchBase();
public:
// Begin/End a batch of primitive drawing operations.
void __cdecl Begin();
void __cdecl End();
protected:
// Internal, untyped drawing method.
void __cdecl Draw(D3D11_PRIMITIVE_TOPOLOGY topology, bool isIndexed, _In_opt_count_(indexCount) uint16_t const* indices, size_t indexCount, size_t vertexCount, _Out_ void** pMappedVertices);
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
};
}
// Template makes the API typesafe, eg. PrimitiveBatch<VertexPositionColor>.
template<typename TVertex>
class PrimitiveBatch : public Internal::PrimitiveBatchBase
{
static const size_t DefaultBatchSize = 2048;
public:
explicit PrimitiveBatch(_In_ ID3D11DeviceContext* deviceContext, size_t maxIndices = DefaultBatchSize * 3, size_t maxVertices = DefaultBatchSize)
: PrimitiveBatchBase(deviceContext, maxIndices, maxVertices, sizeof(TVertex))
{ }
PrimitiveBatch(PrimitiveBatch&& moveFrom)
: PrimitiveBatchBase(std::move(moveFrom))
{ }
PrimitiveBatch& operator= (PrimitiveBatch&& moveFrom)
{
PrimitiveBatchBase::operator=(std::move(moveFrom));
return *this;
}
// Similar to the D3D9 API DrawPrimitiveUP.
void Draw(D3D11_PRIMITIVE_TOPOLOGY topology, _In_reads_(vertexCount) TVertex const* vertices, size_t vertexCount)
{
void* mappedVertices;
PrimitiveBatchBase::Draw(topology, false, nullptr, 0, vertexCount, &mappedVertices);
memcpy(mappedVertices, vertices, vertexCount * sizeof(TVertex));
}
// Similar to the D3D9 API DrawIndexedPrimitiveUP.
void DrawIndexed(D3D11_PRIMITIVE_TOPOLOGY topology, _In_reads_(indexCount) uint16_t const* indices, size_t indexCount, _In_reads_(vertexCount) TVertex const* vertices, size_t vertexCount)
{
void* mappedVertices;
PrimitiveBatchBase::Draw(topology, true, indices, indexCount, vertexCount, &mappedVertices);
memcpy(mappedVertices, vertices, vertexCount * sizeof(TVertex));
}
void DrawLine(TVertex const& v1, TVertex const& v2)
{
TVertex* mappedVertices;
PrimitiveBatchBase::Draw(D3D11_PRIMITIVE_TOPOLOGY_LINELIST, false, nullptr, 0, 2, reinterpret_cast<void**>(&mappedVertices));
mappedVertices[0] = v1;
mappedVertices[1] = v2;
}
void DrawTriangle(TVertex const& v1, TVertex const& v2, TVertex const& v3)
{
TVertex* mappedVertices;
PrimitiveBatchBase::Draw(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST, false, nullptr, 0, 3, reinterpret_cast<void**>(&mappedVertices));
mappedVertices[0] = v1;
mappedVertices[1] = v2;
mappedVertices[2] = v3;
}
void DrawQuad(TVertex const& v1, TVertex const& v2, TVertex const& v3, TVertex const& v4)
{
static const uint16_t quadIndices[] = { 0, 1, 2, 0, 2, 3 };
TVertex* mappedVertices;
PrimitiveBatchBase::Draw(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST, true, quadIndices, 6, 4, reinterpret_cast<void**>(&mappedVertices));
mappedVertices[0] = v1;
mappedVertices[1] = v2;
mappedVertices[2] = v3;
mappedVertices[3] = v4;
}
};
}

View File

@@ -0,0 +1,50 @@
//--------------------------------------------------------------------------------------
// File: ScreenGrab.h
//
// Function for capturing a 2D texture and saving it to a file (aka a 'screenshot'
// when used on a Direct3D Render Target).
//
// Note these functions are useful as a light-weight runtime screen grabber. For
// full-featured texture capture, DDS writer, and texture processing pipeline,
// see the 'Texconv' sample and the 'DirectXTex' library.
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248926
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <ocidl.h>
#include <functional>
#include <stdint.h>
namespace DirectX
{
HRESULT __cdecl SaveDDSTextureToFile(
_In_ ID3D11DeviceContext* pContext,
_In_ ID3D11Resource* pSource,
_In_z_ const wchar_t* fileName);
HRESULT __cdecl SaveWICTextureToFile(
_In_ ID3D11DeviceContext* pContext,
_In_ ID3D11Resource* pSource,
_In_ REFGUID guidContainerFormat,
_In_z_ const wchar_t* fileName,
_In_opt_ const GUID* targetFormat = nullptr,
_In_opt_ std::function<void __cdecl(IPropertyBag2*)> setCustomProps = nullptr);
}

1026
DirectXTK/Inc/SimpleMath.h Normal file

File diff suppressed because it is too large Load Diff

3706
DirectXTK/Inc/SimpleMath.inl Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,96 @@
//--------------------------------------------------------------------------------------
// File: SpriteBatch.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <DirectXMath.h>
#include <DirectXColors.h>
#include <functional>
#include <memory>
namespace DirectX
{
enum SpriteSortMode
{
SpriteSortMode_Deferred,
SpriteSortMode_Immediate,
SpriteSortMode_Texture,
SpriteSortMode_BackToFront,
SpriteSortMode_FrontToBack,
};
enum SpriteEffects
{
SpriteEffects_None = 0,
SpriteEffects_FlipHorizontally = 1,
SpriteEffects_FlipVertically = 2,
SpriteEffects_FlipBoth = SpriteEffects_FlipHorizontally | SpriteEffects_FlipVertically,
};
class SpriteBatch
{
public:
explicit SpriteBatch(_In_ ID3D11DeviceContext* deviceContext);
SpriteBatch(SpriteBatch&& moveFrom);
SpriteBatch& operator= (SpriteBatch&& moveFrom);
SpriteBatch(SpriteBatch const&) = delete;
SpriteBatch& operator= (SpriteBatch const&) = delete;
virtual ~SpriteBatch();
// Begin/End a batch of sprite drawing operations.
void XM_CALLCONV Begin(SpriteSortMode sortMode = SpriteSortMode_Deferred, _In_opt_ ID3D11BlendState* blendState = nullptr, _In_opt_ ID3D11SamplerState* samplerState = nullptr, _In_opt_ ID3D11DepthStencilState* depthStencilState = nullptr, _In_opt_ ID3D11RasterizerState* rasterizerState = nullptr,
_In_opt_ std::function<void __cdecl()> setCustomShaders = nullptr, FXMMATRIX transformMatrix = MatrixIdentity);
void __cdecl End();
// Draw overloads specifying position, origin and scale as XMFLOAT2.
void XM_CALLCONV Draw(_In_ ID3D11ShaderResourceView* texture, XMFLOAT2 const& position, FXMVECTOR color = Colors::White);
void XM_CALLCONV Draw(_In_ ID3D11ShaderResourceView* texture, XMFLOAT2 const& position, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color = Colors::White, float rotation = 0, XMFLOAT2 const& origin = Float2Zero, float scale = 1, SpriteEffects effects = SpriteEffects_None, float layerDepth = 0);
void XM_CALLCONV Draw(_In_ ID3D11ShaderResourceView* texture, XMFLOAT2 const& position, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color, float rotation, XMFLOAT2 const& origin, XMFLOAT2 const& scale, SpriteEffects effects = SpriteEffects_None, float layerDepth = 0);
// Draw overloads specifying position, origin and scale via the first two components of an XMVECTOR.
void XM_CALLCONV Draw(_In_ ID3D11ShaderResourceView* texture, FXMVECTOR position, FXMVECTOR color = Colors::White);
void XM_CALLCONV Draw(_In_ ID3D11ShaderResourceView* texture, FXMVECTOR position, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color = Colors::White, float rotation = 0, FXMVECTOR origin = g_XMZero, float scale = 1, SpriteEffects effects = SpriteEffects_None, float layerDepth = 0);
void XM_CALLCONV Draw(_In_ ID3D11ShaderResourceView* texture, FXMVECTOR position, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color, float rotation, FXMVECTOR origin, GXMVECTOR scale, SpriteEffects effects = SpriteEffects_None, float layerDepth = 0);
// Draw overloads specifying position as a RECT.
void XM_CALLCONV Draw(_In_ ID3D11ShaderResourceView* texture, RECT const& destinationRectangle, FXMVECTOR color = Colors::White);
void XM_CALLCONV Draw(_In_ ID3D11ShaderResourceView* texture, RECT const& destinationRectangle, _In_opt_ RECT const* sourceRectangle, FXMVECTOR color = Colors::White, float rotation = 0, XMFLOAT2 const& origin = Float2Zero, SpriteEffects effects = SpriteEffects_None, float layerDepth = 0);
// Rotation mode to be applied to the sprite transformation
void __cdecl SetRotation( DXGI_MODE_ROTATION mode );
DXGI_MODE_ROTATION __cdecl GetRotation() const;
// Set viewport for sprite transformation
void __cdecl SetViewport( const D3D11_VIEWPORT& viewPort );
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
static const XMMATRIX MatrixIdentity;
static const XMFLOAT2 Float2Zero;
};
}

View File

@@ -0,0 +1,81 @@
//--------------------------------------------------------------------------------------
// File: SpriteFont.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#include "SpriteBatch.h"
namespace DirectX
{
class SpriteFont
{
public:
struct Glyph;
SpriteFont(_In_ ID3D11Device* device, _In_z_ wchar_t const* fileName, bool forceSRGB = false);
SpriteFont(_In_ ID3D11Device* device, _In_reads_bytes_(dataSize) uint8_t const* dataBlob, _In_ size_t dataSize, bool forceSRGB = false);
SpriteFont(_In_ ID3D11ShaderResourceView* texture, _In_reads_(glyphCount) Glyph const* glyphs, _In_ size_t glyphCount, _In_ float lineSpacing);
SpriteFont(SpriteFont&& moveFrom);
SpriteFont& operator= (SpriteFont&& moveFrom);
SpriteFont(SpriteFont const&) = delete;
SpriteFont& operator= (SpriteFont const&) = delete;
virtual ~SpriteFont();
void XM_CALLCONV DrawString(_In_ SpriteBatch* spriteBatch, _In_z_ wchar_t const* text, XMFLOAT2 const& position, FXMVECTOR color = Colors::White, float rotation = 0, XMFLOAT2 const& origin = Float2Zero, float scale = 1, SpriteEffects effects = SpriteEffects_None, float layerDepth = 0) const;
void XM_CALLCONV DrawString(_In_ SpriteBatch* spriteBatch, _In_z_ wchar_t const* text, XMFLOAT2 const& position, FXMVECTOR color, float rotation, XMFLOAT2 const& origin, XMFLOAT2 const& scale, SpriteEffects effects = SpriteEffects_None, float layerDepth = 0) const;
void XM_CALLCONV DrawString(_In_ SpriteBatch* spriteBatch, _In_z_ wchar_t const* text, FXMVECTOR position, FXMVECTOR color = Colors::White, float rotation = 0, FXMVECTOR origin = g_XMZero, float scale = 1, SpriteEffects effects = SpriteEffects_None, float layerDepth = 0) const;
void XM_CALLCONV DrawString(_In_ SpriteBatch* spriteBatch, _In_z_ wchar_t const* text, FXMVECTOR position, FXMVECTOR color, float rotation, FXMVECTOR origin, GXMVECTOR scale, SpriteEffects effects = SpriteEffects_None, float layerDepth = 0) const;
XMVECTOR XM_CALLCONV MeasureString(_In_z_ wchar_t const* text) const;
RECT __cdecl MeasureDrawBounds(_In_z_ wchar_t const* text, XMFLOAT2 const& position) const;
RECT XM_CALLCONV MeasureDrawBounds(_In_z_ wchar_t const* text, FXMVECTOR position) const;
// Spacing properties
float __cdecl GetLineSpacing() const;
void __cdecl SetLineSpacing(float spacing);
// Font properties
wchar_t __cdecl GetDefaultCharacter() const;
void __cdecl SetDefaultCharacter(wchar_t character);
bool __cdecl ContainsCharacter(wchar_t character) const;
// Custom layout/rendering
Glyph const* __cdecl FindGlyph(wchar_t character) const;
void __cdecl GetSpriteSheet( ID3D11ShaderResourceView** texture ) const;
// Describes a single character glyph.
struct Glyph
{
uint32_t Character;
RECT Subrect;
float XOffset;
float YOffset;
float XAdvance;
};
private:
// Private implementation.
class Impl;
std::unique_ptr<Impl> pImpl;
static const XMFLOAT2 Float2Zero;
};
}

366
DirectXTK/Inc/VertexTypes.h Normal file
View File

@@ -0,0 +1,366 @@
//--------------------------------------------------------------------------------------
// File: VertexTypes.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <DirectXMath.h>
namespace DirectX
{
// Vertex struct holding position information.
struct VertexPosition
{
VertexPosition() = default;
VertexPosition(XMFLOAT3 const& position)
: position(position)
{ }
VertexPosition(FXMVECTOR position)
{
XMStoreFloat3(&this->position, position);
}
XMFLOAT3 position;
static const int InputElementCount = 1;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
// Vertex struct holding position and color information.
struct VertexPositionColor
{
VertexPositionColor() = default;
VertexPositionColor(XMFLOAT3 const& position, XMFLOAT4 const& color)
: position(position),
color(color)
{ }
VertexPositionColor(FXMVECTOR position, FXMVECTOR color)
{
XMStoreFloat3(&this->position, position);
XMStoreFloat4(&this->color, color);
}
XMFLOAT3 position;
XMFLOAT4 color;
static const int InputElementCount = 2;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
// Vertex struct holding position and texture mapping information.
struct VertexPositionTexture
{
VertexPositionTexture() = default;
VertexPositionTexture(XMFLOAT3 const& position, XMFLOAT2 const& textureCoordinate)
: position(position),
textureCoordinate(textureCoordinate)
{ }
VertexPositionTexture(FXMVECTOR position, FXMVECTOR textureCoordinate)
{
XMStoreFloat3(&this->position, position);
XMStoreFloat2(&this->textureCoordinate, textureCoordinate);
}
XMFLOAT3 position;
XMFLOAT2 textureCoordinate;
static const int InputElementCount = 2;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
// Vertex struct holding position and dual texture mapping information.
struct VertexPositionDualTexture
{
VertexPositionDualTexture() = default;
VertexPositionDualTexture(XMFLOAT3 const& position, XMFLOAT2 const& textureCoordinate0, XMFLOAT2 const& textureCoordinate1)
: position(position),
textureCoordinate0(textureCoordinate0),
textureCoordinate1(textureCoordinate1)
{ }
VertexPositionDualTexture(FXMVECTOR position,
FXMVECTOR textureCoordinate0,
FXMVECTOR textureCoordinate1)
{
XMStoreFloat3(&this->position, position);
XMStoreFloat2(&this->textureCoordinate0, textureCoordinate0);
XMStoreFloat2(&this->textureCoordinate1, textureCoordinate1);
}
XMFLOAT3 position;
XMFLOAT2 textureCoordinate0;
XMFLOAT2 textureCoordinate1;
static const int InputElementCount = 3;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
// Vertex struct holding position and normal vector.
struct VertexPositionNormal
{
VertexPositionNormal() = default;
VertexPositionNormal(XMFLOAT3 const& position, XMFLOAT3 const& normal)
: position(position),
normal(normal)
{ }
VertexPositionNormal(FXMVECTOR position, FXMVECTOR normal)
{
XMStoreFloat3(&this->position, position);
XMStoreFloat3(&this->normal, normal);
}
XMFLOAT3 position;
XMFLOAT3 normal;
static const int InputElementCount = 2;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
// Vertex struct holding position, color, and texture mapping information.
struct VertexPositionColorTexture
{
VertexPositionColorTexture() = default;
VertexPositionColorTexture(XMFLOAT3 const& position, XMFLOAT4 const& color, XMFLOAT2 const& textureCoordinate)
: position(position),
color(color),
textureCoordinate(textureCoordinate)
{ }
VertexPositionColorTexture(FXMVECTOR position, FXMVECTOR color, FXMVECTOR textureCoordinate)
{
XMStoreFloat3(&this->position, position);
XMStoreFloat4(&this->color, color);
XMStoreFloat2(&this->textureCoordinate, textureCoordinate);
}
XMFLOAT3 position;
XMFLOAT4 color;
XMFLOAT2 textureCoordinate;
static const int InputElementCount = 3;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
// Vertex struct holding position, normal vector, and color information.
struct VertexPositionNormalColor
{
VertexPositionNormalColor() = default;
VertexPositionNormalColor(XMFLOAT3 const& position, XMFLOAT3 const& normal, XMFLOAT4 const& color)
: position(position),
normal(normal),
color(color)
{ }
VertexPositionNormalColor(FXMVECTOR position, FXMVECTOR normal, FXMVECTOR color)
{
XMStoreFloat3(&this->position, position);
XMStoreFloat3(&this->normal, normal);
XMStoreFloat4(&this->color, color);
}
XMFLOAT3 position;
XMFLOAT3 normal;
XMFLOAT4 color;
static const int InputElementCount = 3;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
// Vertex struct holding position, normal vector, and texture mapping information.
struct VertexPositionNormalTexture
{
VertexPositionNormalTexture() = default;
VertexPositionNormalTexture(XMFLOAT3 const& position, XMFLOAT3 const& normal, XMFLOAT2 const& textureCoordinate)
: position(position),
normal(normal),
textureCoordinate(textureCoordinate)
{ }
VertexPositionNormalTexture(FXMVECTOR position, FXMVECTOR normal, FXMVECTOR textureCoordinate)
{
XMStoreFloat3(&this->position, position);
XMStoreFloat3(&this->normal, normal);
XMStoreFloat2(&this->textureCoordinate, textureCoordinate);
}
XMFLOAT3 position;
XMFLOAT3 normal;
XMFLOAT2 textureCoordinate;
static const int InputElementCount = 3;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
// Vertex struct holding position, normal vector, color, and texture mapping information.
struct VertexPositionNormalColorTexture
{
VertexPositionNormalColorTexture() = default;
VertexPositionNormalColorTexture(XMFLOAT3 const& position, XMFLOAT3 const& normal, XMFLOAT4 const& color, XMFLOAT2 const& textureCoordinate)
: position(position),
normal(normal),
color(color),
textureCoordinate(textureCoordinate)
{ }
VertexPositionNormalColorTexture(FXMVECTOR position, FXMVECTOR normal, FXMVECTOR color, CXMVECTOR textureCoordinate)
{
XMStoreFloat3(&this->position, position);
XMStoreFloat3(&this->normal, normal);
XMStoreFloat4(&this->color, color);
XMStoreFloat2(&this->textureCoordinate, textureCoordinate);
}
XMFLOAT3 position;
XMFLOAT3 normal;
XMFLOAT4 color;
XMFLOAT2 textureCoordinate;
static const int InputElementCount = 4;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
// Vertex struct for Visual Studio Shader Designer (DGSL) holding position, normal,
// tangent, color (RGBA), and texture mapping information
struct VertexPositionNormalTangentColorTexture
{
VertexPositionNormalTangentColorTexture() = default;
XMFLOAT3 position;
XMFLOAT3 normal;
XMFLOAT4 tangent;
uint32_t color;
XMFLOAT2 textureCoordinate;
VertexPositionNormalTangentColorTexture(XMFLOAT3 const& position, XMFLOAT3 const& normal, XMFLOAT4 const& tangent, uint32_t rgba, XMFLOAT2 const& textureCoordinate)
: position(position),
normal(normal),
tangent(tangent),
color(rgba),
textureCoordinate(textureCoordinate)
{
}
VertexPositionNormalTangentColorTexture(FXMVECTOR position, FXMVECTOR normal, FXMVECTOR tangent, uint32_t rgba, CXMVECTOR textureCoordinate)
: color(rgba)
{
XMStoreFloat3(&this->position, position);
XMStoreFloat3(&this->normal, normal);
XMStoreFloat4(&this->tangent, tangent);
XMStoreFloat2(&this->textureCoordinate, textureCoordinate);
}
VertexPositionNormalTangentColorTexture(XMFLOAT3 const& position, XMFLOAT3 const& normal, XMFLOAT4 const& tangent, XMFLOAT4 const& color, XMFLOAT2 const& textureCoordinate)
: position(position),
normal(normal),
tangent(tangent),
textureCoordinate(textureCoordinate)
{
SetColor( color );
}
VertexPositionNormalTangentColorTexture(FXMVECTOR position, FXMVECTOR normal, FXMVECTOR tangent, CXMVECTOR color, CXMVECTOR textureCoordinate)
{
XMStoreFloat3(&this->position, position);
XMStoreFloat3(&this->normal, normal);
XMStoreFloat4(&this->tangent, tangent);
XMStoreFloat2(&this->textureCoordinate, textureCoordinate);
SetColor( color );
}
void __cdecl SetColor( XMFLOAT4 const& icolor ) { SetColor( XMLoadFloat4( &icolor ) ); }
void XM_CALLCONV SetColor( FXMVECTOR icolor );
static const int InputElementCount = 5;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
// Vertex struct for Visual Studio Shader Designer (DGSL) holding position, normal,
// tangent, color (RGBA), texture mapping information, and skinning weights
struct VertexPositionNormalTangentColorTextureSkinning : public VertexPositionNormalTangentColorTexture
{
VertexPositionNormalTangentColorTextureSkinning() = default;
uint32_t indices;
uint32_t weights;
VertexPositionNormalTangentColorTextureSkinning(XMFLOAT3 const& position, XMFLOAT3 const& normal, XMFLOAT4 const& tangent, uint32_t rgba,
XMFLOAT2 const& textureCoordinate, XMUINT4 const& indices, XMFLOAT4 const& weights)
: VertexPositionNormalTangentColorTexture(position,normal,tangent,rgba,textureCoordinate)
{
SetBlendIndices( indices );
SetBlendWeights( weights );
}
VertexPositionNormalTangentColorTextureSkinning(FXMVECTOR position, FXMVECTOR normal, FXMVECTOR tangent, uint32_t rgba, CXMVECTOR textureCoordinate,
XMUINT4 const& indices, CXMVECTOR weights)
: VertexPositionNormalTangentColorTexture(position,normal,tangent,rgba,textureCoordinate)
{
SetBlendIndices( indices );
SetBlendWeights( weights );
}
VertexPositionNormalTangentColorTextureSkinning(XMFLOAT3 const& position, XMFLOAT3 const& normal, XMFLOAT4 const& tangent, XMFLOAT4 const& color,
XMFLOAT2 const& textureCoordinate, XMUINT4 const& indices, XMFLOAT4 const& weights)
: VertexPositionNormalTangentColorTexture(position,normal,tangent,color,textureCoordinate)
{
SetBlendIndices( indices );
SetBlendWeights( weights );
}
VertexPositionNormalTangentColorTextureSkinning(FXMVECTOR position, FXMVECTOR normal, FXMVECTOR tangent, CXMVECTOR color, CXMVECTOR textureCoordinate,
XMUINT4 const& indices, CXMVECTOR weights)
: VertexPositionNormalTangentColorTexture(position,normal,tangent,color,textureCoordinate)
{
SetBlendIndices( indices );
SetBlendWeights( weights );
}
void __cdecl SetBlendIndices( XMUINT4 const& iindices );
void __cdecl SetBlendWeights( XMFLOAT4 const& iweights ) { SetBlendWeights( XMLoadFloat4( &iweights ) ); }
void XM_CALLCONV SetBlendWeights( FXMVECTOR iweights );
static const int InputElementCount = 7;
static const D3D11_INPUT_ELEMENT_DESC InputElements[InputElementCount];
};
}

View File

@@ -0,0 +1,155 @@
//--------------------------------------------------------------------------------------
// File: WICTextureLoader.h
//
// Function for loading a WIC image and creating a Direct3D runtime texture for it
// (auto-generating mipmaps if possible)
//
// Note: Assumes application has already called CoInitializeEx
//
// Warning: CreateWICTexture* functions are not thread-safe if given a d3dContext instance for
// auto-gen mipmap support.
//
// Note these functions are useful for images created as simple 2D textures. For
// more complex resources, DDSTextureLoader is an excellent light-weight runtime loader.
// For a full-featured DDS file reader, writer, and texture processing pipeline see
// the 'Texconv' sample and the 'DirectXTex' library.
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248926
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if defined(_XBOX_ONE) && defined(_TITLE)
#include <d3d11_x.h>
#else
#include <d3d11_1.h>
#endif
#include <stdint.h>
namespace DirectX
{
enum WIC_LOADER_FLAGS
{
WIC_LOADER_DEFAULT = 0,
WIC_LOADER_FORCE_SRGB = 0x1,
WIC_LOADER_IGNORE_SRGB = 0x2,
};
// Standard version
HRESULT __cdecl CreateWICTextureFromMemory(
_In_ ID3D11Device* d3dDevice,
_In_reads_bytes_(wicDataSize) const uint8_t* wicData,
_In_ size_t wicDataSize,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_In_ size_t maxsize = 0);
HRESULT __cdecl CreateWICTextureFromFile(
_In_ ID3D11Device* d3dDevice,
_In_z_ const wchar_t* szFileName,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_In_ size_t maxsize = 0);
// Standard version with optional auto-gen mipmap support
HRESULT __cdecl CreateWICTextureFromMemory(
#if defined(_XBOX_ONE) && defined(_TITLE)
_In_ ID3D11DeviceX* d3dDevice,
_In_opt_ ID3D11DeviceContextX* d3dContext,
#else
_In_ ID3D11Device* d3dDevice,
_In_opt_ ID3D11DeviceContext* d3dContext,
#endif
_In_reads_bytes_(wicDataSize) const uint8_t* wicData,
_In_ size_t wicDataSize,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_In_ size_t maxsize = 0);
HRESULT __cdecl CreateWICTextureFromFile(
#if defined(_XBOX_ONE) && defined(_TITLE)
_In_ ID3D11DeviceX* d3dDevice,
_In_opt_ ID3D11DeviceContextX* d3dContext,
#else
_In_ ID3D11Device* d3dDevice,
_In_opt_ ID3D11DeviceContext* d3dContext,
#endif
_In_z_ const wchar_t* szFileName,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_In_ size_t maxsize = 0);
// Extended version
HRESULT __cdecl CreateWICTextureFromMemoryEx(
_In_ ID3D11Device* d3dDevice,
_In_reads_bytes_(wicDataSize) const uint8_t* wicData,
_In_ size_t wicDataSize,
_In_ size_t maxsize,
_In_ D3D11_USAGE usage,
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ unsigned int loadFlags,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView);
HRESULT __cdecl CreateWICTextureFromFileEx(
_In_ ID3D11Device* d3dDevice,
_In_z_ const wchar_t* szFileName,
_In_ size_t maxsize,
_In_ D3D11_USAGE usage,
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ unsigned int loadFlags,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView);
// Extended version with optional auto-gen mipmap support
HRESULT __cdecl CreateWICTextureFromMemoryEx(
#if defined(_XBOX_ONE) && defined(_TITLE)
_In_ ID3D11DeviceX* d3dDevice,
_In_opt_ ID3D11DeviceContextX* d3dContext,
#else
_In_ ID3D11Device* d3dDevice,
_In_opt_ ID3D11DeviceContext* d3dContext,
#endif
_In_reads_bytes_(wicDataSize) const uint8_t* wicData,
_In_ size_t wicDataSize,
_In_ size_t maxsize,
_In_ D3D11_USAGE usage,
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ unsigned int loadFlags,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView);
HRESULT __cdecl CreateWICTextureFromFileEx(
#if defined(_XBOX_ONE) && defined(_TITLE)
_In_ ID3D11DeviceX* d3dDevice,
_In_opt_ ID3D11DeviceContextX* d3dContext,
#else
_In_ ID3D11Device* d3dDevice,
_In_opt_ ID3D11DeviceContext* d3dContext,
#endif
_In_z_ const wchar_t* szFileName,
_In_ size_t maxsize,
_In_ D3D11_USAGE usage,
_In_ unsigned int bindFlags,
_In_ unsigned int cpuAccessFlags,
_In_ unsigned int miscFlags,
_In_ unsigned int loadFlags,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView);
}

View File

@@ -0,0 +1,62 @@
//--------------------------------------------------------------------------------------
// File: XboxDDSTextureLoader.h
//
// Functions for loading a DDS texture using the XBOX extended header and creating a
// Direct3D11.X runtime resource for it via the CreatePlacement APIs
//
// Note these functions will not load standard DDS files. Use the DDSTextureLoader
// module in the DirectXTex package or as part of the DirectXTK library to load
// these files which use standard Direct3D resource creation APIs.
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248926
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#if !defined(_XBOX_ONE) || !defined(_TITLE)
#error This module only supports Xbox One exclusive apps
#endif
#include <d3d11_x.h>
#include <stdint.h>
namespace Xbox
{
enum DDS_ALPHA_MODE
{
DDS_ALPHA_MODE_UNKNOWN = 0,
DDS_ALPHA_MODE_STRAIGHT = 1,
DDS_ALPHA_MODE_PREMULTIPLIED = 2,
DDS_ALPHA_MODE_OPAQUE = 3,
DDS_ALPHA_MODE_CUSTOM = 4,
};
HRESULT __cdecl CreateDDSTextureFromMemory(
_In_ ID3D11DeviceX* d3dDevice,
_In_reads_bytes_(ddsDataSize) const uint8_t* ddsData,
_In_ size_t ddsDataSize,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_Outptr_ void** grfxMemory,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr,
_In_ bool forceSRGB = false);
HRESULT __cdecl CreateDDSTextureFromFile( _In_ ID3D11DeviceX* d3dDevice,
_In_z_ const wchar_t* szFileName,
_Outptr_opt_ ID3D11Resource** texture,
_Outptr_opt_ ID3D11ShaderResourceView** textureView,
_Outptr_ void** grfxMemory,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr,
_In_ bool forceSRGB = false);
void FreeDDSTextureMemory( _In_opt_ void* grfxMemory );
}

21
DirectXTK/LICENSE Normal file
View File

@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2017 Microsoft Corp
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify,
merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be included in all copies
or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -0,0 +1,125 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System;
using System.Linq;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
namespace MakeSpriteFont
{
// Extracts font glyphs from a specially marked 2D bitmap. Characters should be
// arranged in a grid ordered from top left to bottom right. Monochrome characters
// should use white for solid areas and black for transparent areas. To include
// multicolored characters, add an alpha channel to the bitmap and use that to
// control which parts of the character are solid. The spaces between characters
// and around the edges of the grid should be filled with bright pink (red=255,
// green=0, blue=255). It doesn't matter if your grid includes lots of wasted space,
// because the converter will rearrange characters, packing as tightly as possible.
public class BitmapImporter : IFontImporter
{
// Properties hold the imported font data.
public IEnumerable<Glyph> Glyphs { get; private set; }
public float LineSpacing { get; private set; }
public void Import(CommandLineOptions options)
{
// Load the source bitmap.
Bitmap bitmap;
try
{
bitmap = new Bitmap(options.SourceFont);
}
catch
{
throw new Exception(string.Format("Unable to load '{0}'.", options.SourceFont));
}
// Convert to our desired pixel format.
bitmap = BitmapUtils.ChangePixelFormat(bitmap, PixelFormat.Format32bppArgb);
// What characters are included in this font?
var characters = CharacterRegion.Flatten(options.CharacterRegions).ToArray();
int characterIndex = 0;
char currentCharacter = '\0';
// Split the source image into a list of individual glyphs.
var glyphList = new List<Glyph>();
Glyphs = glyphList;
LineSpacing = 0;
foreach (Rectangle rectangle in FindGlyphs(bitmap))
{
if (characterIndex < characters.Length)
currentCharacter = characters[characterIndex++];
else
currentCharacter++;
glyphList.Add(new Glyph(currentCharacter, bitmap, rectangle));
LineSpacing = Math.Max(LineSpacing, rectangle.Height);
}
// If the bitmap doesn't already have an alpha channel, create one now.
if (BitmapUtils.IsAlphaEntirely(255, bitmap))
{
BitmapUtils.ConvertGreyToAlpha(bitmap);
}
}
// Searches a 2D bitmap for characters that are surrounded by a marker pink color.
static IEnumerable<Rectangle> FindGlyphs(Bitmap bitmap)
{
using (var bitmapData = new BitmapUtils.PixelAccessor(bitmap, ImageLockMode.ReadOnly))
{
for (int y = 1; y < bitmap.Height; y++)
{
for (int x = 1; x < bitmap.Width; x++)
{
// Look for the top left corner of a character (a pixel that is not pink, but was pink immediately to the left and above it)
if (!IsMarkerColor(bitmapData[x, y]) &&
IsMarkerColor(bitmapData[x - 1, y]) &&
IsMarkerColor(bitmapData[x, y - 1]))
{
// Measure the size of this character.
int w = 1, h = 1;
while ((x + w < bitmap.Width) && !IsMarkerColor(bitmapData[x + w, y]))
{
w++;
}
while ((y + h < bitmap.Height) && !IsMarkerColor(bitmapData[x, y + h]))
{
h++;
}
yield return new Rectangle(x, y, w, h);
}
}
}
}
}
// Checks whether a color is the magic magenta marker value.
static bool IsMarkerColor(Color color)
{
return color.ToArgb() == Color.Magenta.ToArgb();
}
}
}

View File

@@ -0,0 +1,244 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
namespace MakeSpriteFont
{
// Assorted helpers for doing useful things with bitmaps.
public static class BitmapUtils
{
// Copies a rectangular area from one bitmap to another.
public static void CopyRect(Bitmap source, Rectangle sourceRegion, Bitmap output, Rectangle outputRegion)
{
if (sourceRegion.Width != outputRegion.Width ||
sourceRegion.Height != outputRegion.Height)
{
throw new ArgumentException();
}
using (var sourceData = new PixelAccessor(source, ImageLockMode.ReadOnly, sourceRegion))
using (var outputData = new PixelAccessor(output, ImageLockMode.WriteOnly, outputRegion))
{
for (int y = 0; y < sourceRegion.Height; y++)
{
for (int x = 0; x < sourceRegion.Width; x++)
{
outputData[x, y] = sourceData[x, y];
}
}
}
}
// Checks whether an area of a bitmap contains entirely the specified alpha value.
public static bool IsAlphaEntirely(byte expectedAlpha, Bitmap bitmap, Rectangle? region = null)
{
using (var bitmapData = new PixelAccessor(bitmap, ImageLockMode.ReadOnly, region))
{
for (int y = 0; y < bitmapData.Region.Height; y++)
{
for (int x = 0; x < bitmapData.Region.Width; x++)
{
byte alpha = bitmapData[x, y].A;
if (alpha != expectedAlpha)
return false;
}
}
}
return true;
}
// Checks whether a bitmap contains entirely the specified RGB value.
public static bool IsRgbEntirely(Color expectedRgb, Bitmap bitmap)
{
using (var bitmapData = new PixelAccessor(bitmap, ImageLockMode.ReadOnly))
{
for (int y = 0; y < bitmap.Height; y++)
{
for (int x = 0; x < bitmap.Width; x++)
{
Color color = bitmapData[x, y];
if (color.A == 0)
continue;
if ((color.R != expectedRgb.R) ||
(color.G != expectedRgb.G) ||
(color.B != expectedRgb.B))
{
return false;
}
}
}
}
return true;
}
// Converts greyscale luminosity to alpha data.
public static void ConvertGreyToAlpha(Bitmap bitmap)
{
using (var bitmapData = new PixelAccessor(bitmap, ImageLockMode.ReadWrite))
{
for (int y = 0; y < bitmap.Height; y++)
{
for (int x = 0; x < bitmap.Width; x++)
{
Color color = bitmapData[x, y];
// Average the red, green and blue values to compute brightness.
int alpha = (color.R + color.G + color.B) / 3;
bitmapData[x, y] = Color.FromArgb(alpha, 255, 255, 255);
}
}
}
}
// Converts a bitmap to premultiplied alpha format.
public static void PremultiplyAlpha(Bitmap bitmap)
{
using (var bitmapData = new PixelAccessor(bitmap, ImageLockMode.ReadWrite))
{
for (int y = 0; y < bitmap.Height; y++)
{
for (int x = 0; x < bitmap.Width; x++)
{
Color color = bitmapData[x, y];
int a = color.A;
int r = color.R * a / 255;
int g = color.G * a / 255;
int b = color.B * a / 255;
bitmapData[x, y] = Color.FromArgb(a, r, g, b);
}
}
}
}
// To avoid filtering artifacts when scaling or rotating fonts that do not use premultiplied alpha,
// make sure the one pixel border around each glyph contains the same RGB values as the edge of the
// glyph itself, but with zero alpha. This processing is an elaborate no-op when using premultiplied
// alpha, because the premultiply conversion will change the RGB of all such zero alpha pixels to black.
public static void PadBorderPixels(Bitmap bitmap, Rectangle region)
{
using (var bitmapData = new PixelAccessor(bitmap, ImageLockMode.ReadWrite))
{
// Pad the top and bottom.
for (int x = region.Left; x < region.Right; x++)
{
CopyBorderPixel(bitmapData, x, region.Top, x, region.Top - 1);
CopyBorderPixel(bitmapData, x, region.Bottom - 1, x, region.Bottom);
}
// Pad the left and right.
for (int y = region.Top; y < region.Bottom; y++)
{
CopyBorderPixel(bitmapData, region.Left, y, region.Left - 1, y);
CopyBorderPixel(bitmapData, region.Right - 1, y, region.Right, y);
}
// Pad the four corners.
CopyBorderPixel(bitmapData, region.Left, region.Top, region.Left - 1, region.Top - 1);
CopyBorderPixel(bitmapData, region.Right - 1, region.Top, region.Right, region.Top - 1);
CopyBorderPixel(bitmapData, region.Left, region.Bottom - 1, region.Left - 1, region.Bottom);
CopyBorderPixel(bitmapData, region.Right - 1, region.Bottom - 1, region.Right, region.Bottom);
}
}
// Copies a single pixel within a bitmap, preserving RGB but forcing alpha to zero.
static void CopyBorderPixel(PixelAccessor bitmapData, int sourceX, int sourceY, int destX, int destY)
{
Color color = bitmapData[sourceX, sourceY];
bitmapData[destX, destY] = Color.FromArgb(0, color);
}
// Converts a bitmap to the specified pixel format.
public static Bitmap ChangePixelFormat(Bitmap bitmap, PixelFormat format)
{
Rectangle bounds = new Rectangle(0, 0, bitmap.Width, bitmap.Height);
return bitmap.Clone(bounds, format);
}
// Helper for locking a bitmap and efficiently reading or writing its pixels.
public sealed class PixelAccessor : IDisposable
{
// Constructor locks the bitmap.
public PixelAccessor(Bitmap bitmap, ImageLockMode mode, Rectangle? region = null)
{
this.bitmap = bitmap;
this.Region = region.GetValueOrDefault(new Rectangle(0, 0, bitmap.Width, bitmap.Height));
this.data = bitmap.LockBits(Region, mode, PixelFormat.Format32bppArgb);
}
// Dispose unlocks the bitmap.
public void Dispose()
{
if (data != null)
{
bitmap.UnlockBits(data);
data = null;
}
}
// Query what part of the bitmap is locked.
public Rectangle Region { get; private set; }
// Get or set a pixel value.
public Color this[int x, int y]
{
get
{
return Color.FromArgb(Marshal.ReadInt32(PixelAddress(x, y)));
}
set
{
Marshal.WriteInt32(PixelAddress(x, y), value.ToArgb());
}
}
// Helper computes the address of the specified pixel.
IntPtr PixelAddress(int x, int y)
{
return data.Scan0 + (y * data.Stride) + (x * sizeof(int));
}
// Fields.
Bitmap bitmap;
BitmapData data;
}
}
}

View File

@@ -0,0 +1,137 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System;
using System.Linq;
using System.ComponentModel;
using System.Globalization;
using System.Collections.Generic;
namespace MakeSpriteFont
{
// Describes a range of consecutive characters that should be included in the font.
[TypeConverter(typeof(CharacterRegionTypeConverter))]
public class CharacterRegion
{
// Constructor.
public CharacterRegion(char start, char end)
{
if (start > end)
throw new ArgumentException();
this.Start = start;
this.End = end;
}
// Fields.
public char Start;
public char End;
// Enumerates all characters within the region.
public IEnumerable<Char> Characters
{
get
{
for (char c = Start; c <= End; c++)
{
yield return c;
}
}
}
// Flattens a list of character regions into a combined list of individual characters.
public static IEnumerable<Char> Flatten(IEnumerable<CharacterRegion> regions)
{
if (regions.Any())
{
// If we have any regions, flatten them and remove duplicates.
return regions.SelectMany(region => region.Characters).Distinct();
}
else
{
// If no regions were specified, use the default.
return defaultRegion.Characters;
}
}
// Default to just the base ASCII character set.
static CharacterRegion defaultRegion = new CharacterRegion(' ', '~');
}
// Custom type converter enables CommandLineParser to parse CharacterRegion command line options.
public class CharacterRegionTypeConverter : TypeConverter
{
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
{
return sourceType == typeof(string);
}
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
// Input must be a string.
string source = value as string;
if (string.IsNullOrEmpty(source))
{
throw new ArgumentException();
}
// Supported input formats:
// A
// A-Z
// 32-127
// 0x20-0x7F
char[] split = source.Split('-')
.Select(ConvertCharacter)
.ToArray();
switch (split.Length)
{
case 1:
// Only a single character (eg. "a").
return new CharacterRegion(split[0], split[0]);
case 2:
// Range of characters (eg. "a-z").
return new CharacterRegion(split[0], split[1]);
default:
throw new ArgumentException();
}
}
static char ConvertCharacter(string value)
{
if (value.Length == 1)
{
// Single character directly specifies a codepoint.
return value[0];
}
else
{
// Otherwise it must be an integer (eg. "32" or "0x20").
return (char)(int)intConverter.ConvertFromInvariantString(value);
}
}
static TypeConverter intConverter = TypeDescriptor.GetConverter(typeof(int));
}
}

View File

@@ -0,0 +1,99 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System.Collections.Generic;
using System.Drawing;
namespace MakeSpriteFont
{
// Available output texture formats.
public enum TextureFormat
{
Auto,
Rgba32,
Bgra4444,
CompressedMono,
}
// Feature levels
public enum FeatureLevel
{
FL9_1,
FL9_2,
FL9_3,
FL10_0,
FL10_1,
FL11_0,
FL11_1,
FL12_0,
FL12_1,
}
// Options telling the tool what to do.
public class CommandLineOptions
{
// Input can be either a system (TrueType) font or a specially marked bitmap file.
[CommandLineParser.Required]
public string SourceFont;
// Output spritefont binary.
[CommandLineParser.Required]
public string OutputFile;
// Which characters to include in the font (eg. "/CharacterRegion:0x20-0x7F /CharacterRegion:0x123")
[CommandLineParser.Name("CharacterRegion")]
public readonly List<CharacterRegion> CharacterRegions = new List<CharacterRegion>();
// Fallback character used when asked to render a codepoint that is not
// included in the font. If zero, missing characters throw exceptions.
public readonly int DefaultCharacter = 0;
// Size and style for TrueType fonts (ignored when converting a bitmap font).
public float FontSize = 23;
public FontStyle FontStyle = FontStyle.Regular;
// Spacing overrides. Zero is default spacing, negative closer together, positive further apart.
public float LineSpacing = 0;
public float CharacterSpacing = 0;
// Use smooth or sharp antialiasing mode for TrueType rasterization?
public bool Sharp = false;
// What format should the output texture be?
public TextureFormat TextureFormat = TextureFormat.Auto;
// By default, font textures use premultiplied alpha format. Set this if you want interpolative alpha instead.
public bool NoPremultiply = false;
// Dumps the generated sprite texture to a bitmap file (useful for debugging).
public string DebugOutputSpriteSheet = null;
// Controls texture-size based warnings
public FeatureLevel FeatureLevel = FeatureLevel.FL9_1;
// For large fonts, the default tightest pack is too slow
public bool FastPack = false;
}
}

View File

@@ -0,0 +1,253 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System;
using System.IO;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.ComponentModel;
namespace MakeSpriteFont
{
// Reusable, reflection based helper for parsing commandline options.
public class CommandLineParser
{
object optionsObject;
Queue<FieldInfo> requiredOptions = new Queue<FieldInfo>();
Dictionary<string, FieldInfo> optionalOptions = new Dictionary<string, FieldInfo>();
List<string> requiredUsageHelp = new List<string>();
List<string> optionalUsageHelp = new List<string>();
// Constructor.
public CommandLineParser(object optionsObject)
{
this.optionsObject = optionsObject;
// Reflect to find what commandline options are available.
foreach (FieldInfo field in optionsObject.GetType().GetFields())
{
string fieldName = GetOptionName(field);
if (GetAttribute<RequiredAttribute>(field) != null)
{
// Record a required option.
requiredOptions.Enqueue(field);
requiredUsageHelp.Add(string.Format("<{0}>", fieldName));
}
else
{
// Record an optional option.
optionalOptions.Add(fieldName.ToLowerInvariant(), field);
if (field.FieldType == typeof(bool))
{
optionalUsageHelp.Add(string.Format("/{0}", fieldName));
}
else
{
optionalUsageHelp.Add(string.Format("/{0}:value", fieldName));
}
}
}
}
public bool ParseCommandLine(string[] args)
{
// Parse each argument in turn.
foreach (string arg in args)
{
if (!ParseArgument(arg.Trim()))
{
return false;
}
}
// Make sure we got all the required options.
FieldInfo missingRequiredOption = requiredOptions.FirstOrDefault(field => !IsList(field) || GetList(field).Count == 0);
if (missingRequiredOption != null)
{
ShowError("Missing argument '{0}'", GetOptionName(missingRequiredOption));
return false;
}
return true;
}
bool ParseArgument(string arg)
{
if (arg.StartsWith("/"))
{
// Parse an optional argument.
char[] separators = { ':' };
string[] split = arg.Substring(1).Split(separators, 2, StringSplitOptions.None);
string name = split[0];
string value = (split.Length > 1) ? split[1] : "true";
FieldInfo field;
if (!optionalOptions.TryGetValue(name.ToLowerInvariant(), out field))
{
ShowError("Unknown option '{0}'", name);
return false;
}
return SetOption(field, value);
}
else
{
// Parse a required argument.
if (requiredOptions.Count == 0)
{
ShowError("Too many arguments");
return false;
}
FieldInfo field = requiredOptions.Peek();
if (!IsList(field))
{
requiredOptions.Dequeue();
}
return SetOption(field, arg);
}
}
bool SetOption(FieldInfo field, string value)
{
try
{
if (IsList(field))
{
// Append this value to a list of options.
GetList(field).Add(ChangeType(value, ListElementType(field)));
}
else
{
// Set the value of a single option.
field.SetValue(optionsObject, ChangeType(value, field.FieldType));
}
return true;
}
catch
{
ShowError("Invalid value '{0}' for option '{1}'", value, GetOptionName(field));
return false;
}
}
static object ChangeType(string value, Type type)
{
TypeConverter converter = TypeDescriptor.GetConverter(type);
return converter.ConvertFromInvariantString(value);
}
static bool IsList(FieldInfo field)
{
return typeof(IList).IsAssignableFrom(field.FieldType);
}
IList GetList(FieldInfo field)
{
return (IList)field.GetValue(optionsObject);
}
static Type ListElementType(FieldInfo field)
{
var interfaces = from i in field.FieldType.GetInterfaces()
where i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IEnumerable<>)
select i;
return interfaces.First().GetGenericArguments()[0];
}
static string GetOptionName(FieldInfo field)
{
var nameAttribute = GetAttribute<NameAttribute>(field);
if (nameAttribute != null)
{
return nameAttribute.Name;
}
else
{
return field.Name;
}
}
void ShowError(string message, params object[] args)
{
string name = Path.GetFileNameWithoutExtension(Process.GetCurrentProcess().ProcessName);
Console.Error.WriteLine(message, args);
Console.Error.WriteLine();
Console.Error.WriteLine("Usage: {0} {1}", name, string.Join(" ", requiredUsageHelp));
if (optionalUsageHelp.Count > 0)
{
Console.Error.WriteLine();
Console.Error.WriteLine("Options:");
foreach (string optional in optionalUsageHelp)
{
Console.Error.WriteLine(" {0}", optional);
}
}
}
static T GetAttribute<T>(ICustomAttributeProvider provider) where T : Attribute
{
return provider.GetCustomAttributes(typeof(T), false).OfType<T>().FirstOrDefault();
}
// Used on optionsObject fields to indicate which options are required.
[AttributeUsage(AttributeTargets.Field)]
public sealed class RequiredAttribute : Attribute
{
}
// Used on an optionsObject field to rename the corresponding commandline option.
[AttributeUsage(AttributeTargets.Field)]
public sealed class NameAttribute : Attribute
{
public NameAttribute(string name)
{
this.Name = name;
}
public string Name { get; private set; }
}
}
}

View File

@@ -0,0 +1,43 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System.Drawing;
namespace MakeSpriteFont
{
// Represents a single character within a font.
public class Glyph
{
// Constructor.
public Glyph(char character, Bitmap bitmap, Rectangle? subrect = null)
{
this.Character = character;
this.Bitmap = bitmap;
this.Subrect = subrect.GetValueOrDefault(new Rectangle(0, 0, bitmap.Width, bitmap.Height));
}
// Unicode codepoint.
public char Character;
// Glyph image data (may only use a portion of a larger bitmap).
public Bitmap Bitmap;
public Rectangle Subrect;
// Layout information.
public float XOffset;
public float YOffset;
public float XAdvance;
}
}

View File

@@ -0,0 +1,54 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System.Drawing;
namespace MakeSpriteFont
{
// Crops unused space from around the edge of a glyph bitmap.
public static class GlyphCropper
{
public static void Crop(Glyph glyph)
{
// Crop the top.
while ((glyph.Subrect.Height > 1) && BitmapUtils.IsAlphaEntirely(0, glyph.Bitmap, new Rectangle(glyph.Subrect.X, glyph.Subrect.Y, glyph.Subrect.Width, 1)))
{
glyph.Subrect.Y++;
glyph.Subrect.Height--;
glyph.YOffset++;
}
// Crop the bottom.
while ((glyph.Subrect.Height > 1) && BitmapUtils.IsAlphaEntirely(0, glyph.Bitmap, new Rectangle(glyph.Subrect.X, glyph.Subrect.Bottom - 1, glyph.Subrect.Width, 1)))
{
glyph.Subrect.Height--;
}
// Crop the left.
while ((glyph.Subrect.Width > 1) && BitmapUtils.IsAlphaEntirely(0, glyph.Bitmap, new Rectangle(glyph.Subrect.X, glyph.Subrect.Y, 1, glyph.Subrect.Height)))
{
glyph.Subrect.X++;
glyph.Subrect.Width--;
glyph.XOffset++;
}
// Crop the right.
while ((glyph.Subrect.Width > 1) && BitmapUtils.IsAlphaEntirely(0, glyph.Bitmap, new Rectangle(glyph.Subrect.Right - 1, glyph.Subrect.Y, 1, glyph.Subrect.Height)))
{
glyph.Subrect.Width--;
glyph.XAdvance++;
}
}
}
}

View File

@@ -0,0 +1,285 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
namespace MakeSpriteFont
{
// Helper for arranging many small bitmaps onto a single larger surface.
public static class GlyphPacker
{
public static Bitmap ArrangeGlyphsFast(Glyph[] sourceGlyphs)
{
// Build up a list of all the glyphs needing to be arranged.
List<ArrangedGlyph> glyphs = new List<ArrangedGlyph>();
int largestWidth = 1;
int largestHeight = 1;
for (int i = 0; i < sourceGlyphs.Length; i++)
{
ArrangedGlyph glyph = new ArrangedGlyph();
glyph.Source = sourceGlyphs[i];
// Leave a one pixel border around every glyph in the output bitmap.
glyph.Width = sourceGlyphs[i].Subrect.Width + 2;
glyph.Height = sourceGlyphs[i].Subrect.Height + 2;
if (glyph.Width > largestWidth)
largestWidth = glyph.Width;
if (glyph.Height > largestHeight)
largestHeight = glyph.Height;
glyphs.Add(glyph);
}
// Work out how big the output bitmap should be.
int outputWidth = GuessOutputWidth(sourceGlyphs);
// Place each glyph in a grid based on the largest glyph size
int curx = 0;
int cury = 0;
for (int i = 0; i < glyphs.Count; i++)
{
glyphs[i].X = curx;
glyphs[i].Y = cury;
curx += largestWidth;
if (curx + largestWidth > outputWidth)
{
curx = 0;
cury += largestHeight;
}
}
// Create the merged output bitmap.
int outputHeight = MakeValidTextureSize(cury + largestHeight, false);
return CopyGlyphsToOutput(glyphs, outputWidth, outputHeight);
}
public static Bitmap ArrangeGlyphs(Glyph[] sourceGlyphs)
{
// Build up a list of all the glyphs needing to be arranged.
List<ArrangedGlyph> glyphs = new List<ArrangedGlyph>();
for (int i = 0; i < sourceGlyphs.Length; i++)
{
ArrangedGlyph glyph = new ArrangedGlyph();
glyph.Source = sourceGlyphs[i];
// Leave a one pixel border around every glyph in the output bitmap.
glyph.Width = sourceGlyphs[i].Subrect.Width + 2;
glyph.Height = sourceGlyphs[i].Subrect.Height + 2;
glyphs.Add(glyph);
}
// Sort so the largest glyphs get arranged first.
glyphs.Sort(CompareGlyphSizes);
// Work out how big the output bitmap should be.
int outputWidth = GuessOutputWidth(sourceGlyphs);
int outputHeight = 0;
// Choose positions for each glyph, one at a time.
for (int i = 0; i < glyphs.Count; i++)
{
if (i > 0 && (i % 500) == 0)
{
Console.Write(".");
}
PositionGlyph(glyphs, i, outputWidth);
outputHeight = Math.Max(outputHeight, glyphs[i].Y + glyphs[i].Height);
}
if (glyphs.Count >= 500)
{
Console.WriteLine();
}
// Create the merged output bitmap.
outputHeight = MakeValidTextureSize(outputHeight, false);
return CopyGlyphsToOutput(glyphs, outputWidth, outputHeight);
}
// Once arranging is complete, copies each glyph to its chosen position in the single larger output bitmap.
static Bitmap CopyGlyphsToOutput(List<ArrangedGlyph> glyphs, int width, int height)
{
Bitmap output = new Bitmap(width, height, PixelFormat.Format32bppArgb);
int usedPixels = 0;
foreach (ArrangedGlyph glyph in glyphs)
{
Glyph sourceGlyph = glyph.Source;
Rectangle sourceRegion = sourceGlyph.Subrect;
Rectangle destinationRegion = new Rectangle(glyph.X + 1, glyph.Y + 1, sourceRegion.Width, sourceRegion.Height);
BitmapUtils.CopyRect(sourceGlyph.Bitmap, sourceRegion, output, destinationRegion);
BitmapUtils.PadBorderPixels(output, destinationRegion);
sourceGlyph.Bitmap = output;
sourceGlyph.Subrect = destinationRegion;
usedPixels += (glyph.Width * glyph.Height);
}
float utilization = ( (float)usedPixels / (float)(width * height) ) * 100;
Console.WriteLine("Packing efficiency {0}%", utilization );
return output;
}
// Internal helper class keeps track of a glyph while it is being arranged.
class ArrangedGlyph
{
public Glyph Source;
public int X;
public int Y;
public int Width;
public int Height;
}
// Works out where to position a single glyph.
static void PositionGlyph(List<ArrangedGlyph> glyphs, int index, int outputWidth)
{
int x = 0;
int y = 0;
while (true)
{
// Is this position free for us to use?
int intersects = FindIntersectingGlyph(glyphs, index, x, y);
if (intersects < 0)
{
glyphs[index].X = x;
glyphs[index].Y = y;
return;
}
// Skip past the existing glyph that we collided with.
x = glyphs[intersects].X + glyphs[intersects].Width;
// If we ran out of room to move to the right, try the next line down instead.
if (x + glyphs[index].Width > outputWidth)
{
x = 0;
y++;
}
}
}
// Checks if a proposed glyph position collides with anything that we already arranged.
static int FindIntersectingGlyph(List<ArrangedGlyph> glyphs, int index, int x, int y)
{
int w = glyphs[index].Width;
int h = glyphs[index].Height;
for (int i = 0; i < index; i++)
{
if (glyphs[i].X >= x + w)
continue;
if (glyphs[i].X + glyphs[i].Width <= x)
continue;
if (glyphs[i].Y >= y + h)
continue;
if (glyphs[i].Y + glyphs[i].Height <= y)
continue;
return i;
}
return -1;
}
// Comparison function for sorting glyphs by size.
static int CompareGlyphSizes(ArrangedGlyph a, ArrangedGlyph b)
{
const int heightWeight = 1024;
int aSize = a.Height * heightWeight + a.Width;
int bSize = b.Height * heightWeight + b.Width;
if (aSize != bSize)
return bSize.CompareTo(aSize);
else
return a.Source.Character.CompareTo(b.Source.Character);
}
// Heuristic guesses what might be a good output width for a list of glyphs.
static int GuessOutputWidth(Glyph[] sourceGlyphs)
{
int maxWidth = 0;
int totalSize = 0;
foreach (Glyph glyph in sourceGlyphs)
{
maxWidth = Math.Max(maxWidth, glyph.Subrect.Width);
totalSize += glyph.Subrect.Width * glyph.Subrect.Height;
}
int width = Math.Max((int)Math.Sqrt(totalSize), maxWidth);
return MakeValidTextureSize(width, true);
}
// Rounds a value up to the next larger valid texture size.
static int MakeValidTextureSize(int value, bool requirePowerOfTwo)
{
// In case we want to DXT compress, make sure the size is a multiple of 4.
const int blockSize = 4;
if (requirePowerOfTwo)
{
// Round up to a power of two.
int powerOfTwo = blockSize;
while (powerOfTwo < value)
powerOfTwo <<= 1;
return powerOfTwo;
}
else
{
// Round up to the specified block size.
return (value + blockSize - 1) & ~(blockSize - 1);
}
}
}
}

View File

@@ -0,0 +1,25 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System.Collections.Generic;
namespace MakeSpriteFont
{
// Importer interface allows the conversion tool to support multiple source font formats.
public interface IFontImporter
{
void Import(CommandLineOptions options);
IEnumerable<Glyph> Glyphs { get; }
float LineSpacing { get; }
}
}

View File

@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{7329B02D-C504-482A-A156-181D48CE493C}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>MakeSpriteFont</RootNamespace>
<AssemblyName>MakeSpriteFont</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Compile Include="BitmapUtils.cs" />
<Compile Include="CharacterRegion.cs" />
<Compile Include="CommandLineParser.cs" />
<Compile Include="GlyphCropper.cs" />
<Compile Include="IFontImporter.cs" />
<Compile Include="SpriteFontWriter.cs" />
<Compile Include="TrueTypeImporter.cs" />
<Compile Include="BitmapImporter.cs" />
<Compile Include="GlyphPacker.cs" />
<Compile Include="CommandLineOptions.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Glyph.cs" />
</ItemGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Drawing" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,187 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System;
using System.IO;
using System.Linq;
using System.Drawing;
namespace MakeSpriteFont
{
public class Program
{
public static int Main(string[] args)
{
// Parse the commandline options.
var options = new CommandLineOptions();
var parser = new CommandLineParser(options);
if (!parser.ParseCommandLine(args))
return 1;
try
{
// Convert the font.
MakeSpriteFont(options);
return 0;
}
catch (Exception e)
{
// Print an error message if conversion failed.
Console.WriteLine();
Console.Error.WriteLine("Error: {0}", e.Message);
return 1;
}
}
static void MakeSpriteFont(CommandLineOptions options)
{
// Import.
Console.WriteLine("Importing {0}", options.SourceFont);
float lineSpacing;
Glyph[] glyphs = ImportFont(options, out lineSpacing);
Console.WriteLine("Captured {0} glyphs", glyphs.Length);
// Optimize.
Console.WriteLine("Cropping glyph borders");
foreach (Glyph glyph in glyphs)
{
GlyphCropper.Crop(glyph);
}
Console.WriteLine("Packing glyphs into sprite sheet");
Bitmap bitmap;
if (options.FastPack)
{
bitmap = GlyphPacker.ArrangeGlyphsFast(glyphs);
}
else
{
bitmap = GlyphPacker.ArrangeGlyphs(glyphs);
}
// Emit texture size warning based on known Feature Level limits.
if (bitmap.Width > 16384 || bitmap.Height > 16384)
{
Console.WriteLine("WARNING: Resulting texture is too large for all known Feature Levels (9.1 - 12.1)");
}
else if (bitmap.Width > 8192 || bitmap.Height > 8192)
{
if (options.FeatureLevel < FeatureLevel.FL11_0)
{
Console.WriteLine("WARNING: Resulting texture requires a Feature Level 11.0 or later device.");
}
}
else if (bitmap.Width > 4096 || bitmap.Height > 4096)
{
if (options.FeatureLevel < FeatureLevel.FL10_0)
{
Console.WriteLine("WARNING: Resulting texture requires a Feature Level 10.0 or later device.");
}
}
else if (bitmap.Width > 2048 || bitmap.Height > 2048)
{
if (options.FeatureLevel < FeatureLevel.FL9_3)
{
Console.WriteLine("WARNING: Resulting texture requires a Feature Level 9.3 or later device.");
}
}
// Adjust line and character spacing.
lineSpacing += options.LineSpacing;
foreach (Glyph glyph in glyphs)
{
glyph.XAdvance += options.CharacterSpacing;
}
// Automatically detect whether this is a monochromatic or color font?
if (options.TextureFormat == TextureFormat.Auto)
{
bool isMono = BitmapUtils.IsRgbEntirely(Color.White, bitmap);
options.TextureFormat = isMono ? TextureFormat.CompressedMono :
TextureFormat.Rgba32;
}
// Convert to premultiplied alpha format.
if (!options.NoPremultiply)
{
Console.WriteLine("Premultiplying alpha");
BitmapUtils.PremultiplyAlpha(bitmap);
}
// Save output files.
if (!string.IsNullOrEmpty(options.DebugOutputSpriteSheet))
{
Console.WriteLine("Saving debug output spritesheet {0}", options.DebugOutputSpriteSheet);
bitmap.Save(options.DebugOutputSpriteSheet);
}
Console.WriteLine("Writing {0} ({1} format)", options.OutputFile, options.TextureFormat);
SpriteFontWriter.WriteSpriteFont(options, glyphs, lineSpacing, bitmap);
}
static Glyph[] ImportFont(CommandLineOptions options, out float lineSpacing)
{
// Which importer knows how to read this source font?
IFontImporter importer;
string fileExtension = Path.GetExtension(options.SourceFont).ToLowerInvariant();
string[] BitmapFileExtensions = { ".bmp", ".png", ".gif" };
if (BitmapFileExtensions.Contains(fileExtension))
{
importer = new BitmapImporter();
}
else
{
importer = new TrueTypeImporter();
}
// Import the source font data.
importer.Import(options);
lineSpacing = importer.LineSpacing;
var glyphs = importer.Glyphs
.OrderBy(glyph => glyph.Character)
.ToArray();
// Validate.
if (glyphs.Length == 0)
{
throw new Exception("Font does not contain any glyphs.");
}
if ((options.DefaultCharacter != 0) && !glyphs.Any(glyph => glyph.Character == options.DefaultCharacter))
{
throw new Exception("The specified DefaultCharacter is not part of this font.");
}
return glyphs;
}
}
}

View File

@@ -0,0 +1,45 @@
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("MakeSpriteFont")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft Corporation")]
[assembly: AssemblyProduct("MakeSpriteFont")]
[assembly: AssemblyCopyright("Copyright (c) Microsoft Corporation. All rights reserved")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("12c0da00-f622-41f2-ab8f-1b4e19aa2a6f")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,272 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
namespace MakeSpriteFont
{
// Writes the output spritefont binary file.
public static class SpriteFontWriter
{
const string spriteFontMagic = "DXTKfont";
const int DXGI_FORMAT_R8G8B8A8_UNORM = 28;
const int DXGI_FORMAT_B4G4R4A4_UNORM = 115;
const int DXGI_FORMAT_BC2_UNORM = 74;
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2202:Do not dispose objects multiple times")]
public static void WriteSpriteFont(CommandLineOptions options, Glyph[] glyphs, float lineSpacing, Bitmap bitmap)
{
using (FileStream file = File.OpenWrite(options.OutputFile))
using (BinaryWriter writer = new BinaryWriter(file))
{
WriteMagic(writer);
WriteGlyphs(writer, glyphs);
writer.Write(lineSpacing);
writer.Write(options.DefaultCharacter);
WriteBitmap(writer, options, bitmap);
}
}
static void WriteMagic(BinaryWriter writer)
{
foreach (char magic in spriteFontMagic)
{
writer.Write((byte)magic);
}
}
static void WriteGlyphs(BinaryWriter writer, Glyph[] glyphs)
{
writer.Write(glyphs.Length);
foreach (Glyph glyph in glyphs)
{
writer.Write((int)glyph.Character);
writer.Write(glyph.Subrect.Left);
writer.Write(glyph.Subrect.Top);
writer.Write(glyph.Subrect.Right);
writer.Write(glyph.Subrect.Bottom);
writer.Write(glyph.XOffset);
writer.Write(glyph.YOffset);
writer.Write(glyph.XAdvance);
}
}
static void WriteBitmap(BinaryWriter writer, CommandLineOptions options, Bitmap bitmap)
{
writer.Write(bitmap.Width);
writer.Write(bitmap.Height);
switch (options.TextureFormat)
{
case TextureFormat.Rgba32:
WriteRgba32(writer, bitmap);
break;
case TextureFormat.Bgra4444:
WriteBgra4444(writer, bitmap);
break;
case TextureFormat.CompressedMono:
WriteCompressedMono(writer, bitmap, options);
break;
default:
throw new NotSupportedException();
}
}
// Writes an uncompressed 32 bit font texture.
static void WriteRgba32(BinaryWriter writer, Bitmap bitmap)
{
writer.Write(DXGI_FORMAT_R8G8B8A8_UNORM);
writer.Write(bitmap.Width * 4);
writer.Write(bitmap.Height);
using (var bitmapData = new BitmapUtils.PixelAccessor(bitmap, ImageLockMode.ReadOnly))
{
for (int y = 0; y < bitmap.Height; y++)
{
for (int x = 0; x < bitmap.Width; x++)
{
Color color = bitmapData[x, y];
writer.Write(color.R);
writer.Write(color.G);
writer.Write(color.B);
writer.Write(color.A);
}
}
}
}
// Writes a 16 bit font texture.
static void WriteBgra4444(BinaryWriter writer, Bitmap bitmap)
{
writer.Write(DXGI_FORMAT_B4G4R4A4_UNORM);
writer.Write(bitmap.Width * sizeof(ushort));
writer.Write(bitmap.Height);
using (var bitmapData = new BitmapUtils.PixelAccessor(bitmap, ImageLockMode.ReadOnly))
{
for (int y = 0; y < bitmap.Height; y++)
{
for (int x = 0; x < bitmap.Width; x++)
{
Color color = bitmapData[x, y];
int r = color.R >> 4;
int g = color.G >> 4;
int b = color.B >> 4;
int a = color.A >> 4;
int packed = b | (g << 4) | (r << 8) | (a << 12);
writer.Write((ushort)packed);
}
}
}
}
// Writes a block compressed monochromatic font texture.
static void WriteCompressedMono(BinaryWriter writer, Bitmap bitmap, CommandLineOptions options)
{
if ((bitmap.Width & 3) != 0 ||
(bitmap.Height & 3) != 0)
{
throw new ArgumentException("Block compression requires texture size to be a multiple of 4.");
}
writer.Write(DXGI_FORMAT_BC2_UNORM);
writer.Write(bitmap.Width * 4);
writer.Write(bitmap.Height / 4);
using (var bitmapData = new BitmapUtils.PixelAccessor(bitmap, ImageLockMode.ReadOnly))
{
for (int y = 0; y < bitmap.Height; y += 4)
{
for (int x = 0; x < bitmap.Width; x += 4)
{
CompressBlock(writer, bitmapData, x, y, options);
}
}
}
}
// We want to compress our font textures, because, like, smaller is better,
// right? But a standard DXT compressor doesn't do a great job with fonts that
// are in premultiplied alpha format. Our font data is greyscale, so all of the
// RGBA channels have the same value. If one channel is compressed differently
// to another, this causes an ugly variation in brightness of the rendered text.
// Also, fonts are mostly either black or white, with grey values only used for
// antialiasing along their edges. It is very important that the black and white
// areas be accurately represented, while the precise value of grey is less
// important.
//
// Trouble is, your average DXT compressor knows nothing about these
// requirements. It will optimize to minimize a generic error metric such as
// RMS, but this will often sacrifice crisp black and white in exchange for
// needless accuracy of the antialiasing pixels, or encode RGB differently to
// alpha. UGLY!
//
// Fortunately, encoding monochrome fonts turns out to be trivial. Using DXT3,
// we can fix the end colors as black and white, which gives guaranteed exact
// encoding of the font inside and outside, plus two fractional values for edge
// antialiasing. Also, these RGB values (0, 1/3, 2/3, 1) map exactly to four of
// the possible 16 alpha values available in DXT3, so we can ensure the RGB and
// alpha channels always exactly match.
static void CompressBlock(BinaryWriter writer, BitmapUtils.PixelAccessor bitmapData, int blockX, int blockY, CommandLineOptions options)
{
long alphaBits = 0;
int rgbBits = 0;
int pixelCount = 0;
for (int y = 0; y < 4; y++)
{
for (int x = 0; x < 4; x++)
{
long alpha;
int rgb;
int value = bitmapData[blockX + x, blockY + y].A;
if (options.NoPremultiply)
{
// If we are not premultiplied, RGB is always white and we have 4 bit alpha.
alpha = value >> 4;
rgb = 0;
}
else
{
// For premultiplied encoding, quantize the source value to 2 bit precision.
if (value < 256 / 6)
{
alpha = 0;
rgb = 1;
}
else if (value < 256 / 2)
{
alpha = 5;
rgb = 3;
}
else if (value < 256 * 5 / 6)
{
alpha = 10;
rgb = 2;
}
else
{
alpha = 15;
rgb = 0;
}
}
// Add this pixel to the alpha and RGB bit masks.
alphaBits |= alpha << (pixelCount * 4);
rgbBits |= rgb << (pixelCount * 2);
pixelCount++;
}
}
// Output the alpha bit mask.
writer.Write(alphaBits);
// Output the two endpoint colors (black and white in 5.6.5 format).
writer.Write((ushort)0xFFFF);
writer.Write((ushort)0);
// Output the RGB bit mask.
writer.Write(rgbBits);
}
}
}

View File

@@ -0,0 +1,252 @@
// DirectXTK MakeSpriteFont tool
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing.Text;
using System.Runtime.InteropServices;
namespace MakeSpriteFont
{
// Uses System.Drawing (aka GDI+) to rasterize TrueType fonts into a series of glyph bitmaps.
public class TrueTypeImporter : IFontImporter
{
// Properties hold the imported font data.
public IEnumerable<Glyph> Glyphs { get; private set; }
public float LineSpacing { get; private set; }
// Size of the temp surface used for GDI+ rasterization.
const int MaxGlyphSize = 1024;
public void Import(CommandLineOptions options)
{
// Create a bunch of GDI+ objects.
using (Font font = CreateFont(options))
using (Brush brush = new SolidBrush(Color.White))
using (StringFormat stringFormat = new StringFormat(StringFormatFlags.NoFontFallback))
using (Bitmap bitmap = new Bitmap(MaxGlyphSize, MaxGlyphSize, PixelFormat.Format32bppArgb))
using (Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.PixelOffsetMode = options.Sharp ? PixelOffsetMode.None : PixelOffsetMode.HighQuality;
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
// Which characters do we want to include?
var characters = CharacterRegion.Flatten(options.CharacterRegions);
var glyphList = new List<Glyph>();
// Rasterize each character in turn.
int count = 0;
foreach (char character in characters)
{
++count;
if (count == 500)
{
if (!options.FastPack)
{
Console.WriteLine("WARNING: capturing a large font. This may take a long time to complete and could result in too large a texture. Consider using /FastPack.");
}
Console.Write(".");
}
else if ((count % 500) == 0)
{
Console.Write(".");
}
Glyph glyph = ImportGlyph(character, font, brush, stringFormat, bitmap, graphics);
glyphList.Add(glyph);
}
if (count > 500)
{
Console.WriteLine();
}
Glyphs = glyphList;
// Store the font height.
LineSpacing = font.GetHeight();
}
}
// Attempts to instantiate the requested GDI+ font object.
static Font CreateFont(CommandLineOptions options)
{
Font font = new Font(options.SourceFont, PointsToPixels(options.FontSize), options.FontStyle, GraphicsUnit.Pixel);
try
{
// The font constructor automatically substitutes fonts if it can't find the one requested.
// But we prefer the caller to know if anything is wrong with their data. A simple string compare
// isn't sufficient because some fonts (eg. MS Mincho) change names depending on the locale.
// Early out: in most cases the name will match the current or invariant culture.
if (options.SourceFont.Equals(font.FontFamily.GetName(CultureInfo.CurrentCulture.LCID), StringComparison.OrdinalIgnoreCase) ||
options.SourceFont.Equals(font.FontFamily.GetName(CultureInfo.InvariantCulture.LCID), StringComparison.OrdinalIgnoreCase))
{
return font;
}
// Check the font name in every culture.
foreach (CultureInfo culture in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
{
if (options.SourceFont.Equals(font.FontFamily.GetName(culture.LCID), StringComparison.OrdinalIgnoreCase))
{
return font;
}
}
// A font substitution must have occurred.
throw new Exception(string.Format("Can't find font '{0}'.", options.SourceFont));
}
catch
{
font.Dispose();
throw;
}
}
// Converts a font size from points to pixels. Can't just let GDI+ do this for us,
// because we want identical results on every machine regardless of system DPI settings.
static float PointsToPixels(float points)
{
return points * 96 / 72;
}
// Rasterizes a single character glyph.
static Glyph ImportGlyph(char character, Font font, Brush brush, StringFormat stringFormat, Bitmap bitmap, Graphics graphics)
{
string characterString = character.ToString();
// Measure the size of this character.
SizeF size = graphics.MeasureString(characterString, font, Point.Empty, stringFormat);
int characterWidth = (int)Math.Ceiling(size.Width);
int characterHeight = (int)Math.Ceiling(size.Height);
// Pad to make sure we capture any overhangs (negative ABC spacing, etc.)
int padWidth = characterWidth;
int padHeight = characterHeight / 2;
int bitmapWidth = characterWidth + padWidth * 2;
int bitmapHeight = characterHeight + padHeight * 2;
if (bitmapWidth > MaxGlyphSize || bitmapHeight > MaxGlyphSize)
throw new Exception("Excessively large glyph won't fit in my lazily implemented fixed size temp surface.");
// Render the character.
graphics.Clear(Color.Black);
graphics.DrawString(characterString, font, brush, padWidth, padHeight, stringFormat);
graphics.Flush();
// Clone the newly rendered image.
Bitmap glyphBitmap = bitmap.Clone(new Rectangle(0, 0, bitmapWidth, bitmapHeight), PixelFormat.Format32bppArgb);
BitmapUtils.ConvertGreyToAlpha(glyphBitmap);
// Query its ABC spacing.
float? abc = GetCharacterWidth(character, font, graphics);
// Construct the output Glyph object.
return new Glyph(character, glyphBitmap)
{
XOffset = -padWidth,
XAdvance = abc.HasValue ? padWidth - bitmapWidth + abc.Value : -padWidth,
YOffset = -padHeight,
};
}
// Queries APC spacing for the specified character.
static float? GetCharacterWidth(char character, Font font, Graphics graphics)
{
// Look up the native device context and font handles.
IntPtr hdc = graphics.GetHdc();
try
{
IntPtr hFont = font.ToHfont();
try
{
// Select our font into the DC.
IntPtr oldFont = NativeMethods.SelectObject(hdc, hFont);
try
{
// Query the character spacing.
var result = new NativeMethods.ABCFloat[1];
if (NativeMethods.GetCharABCWidthsFloat(hdc, character, character, result))
{
return result[0].A +
result[0].B +
result[0].C;
}
else
{
return null;
}
}
finally
{
NativeMethods.SelectObject(hdc, oldFont);
}
}
finally
{
NativeMethods.DeleteObject(hFont);
}
}
finally
{
graphics.ReleaseHdc(hdc);
}
}
// Interop to the native GDI GetCharABCWidthsFloat method.
static class NativeMethods
{
[DllImport("gdi32.dll")]
public static extern IntPtr SelectObject(IntPtr hdc, IntPtr hObject);
[DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr hObject);
[DllImport("gdi32.dll", CharSet = CharSet.Unicode)]
public static extern bool GetCharABCWidthsFloat(IntPtr hdc, uint iFirstChar, uint iLastChar, [Out] ABCFloat[] lpABCF);
[StructLayout(LayoutKind.Sequential)]
public struct ABCFloat
{
public float A;
public float B;
public float C;
}
}
}
}

385
DirectXTK/Readme.txt Normal file
View File

@@ -0,0 +1,385 @@
-----------------------------------------------
DirectXTK - the DirectX Tool Kit for DirectX 11
-----------------------------------------------
Copyright (c) Microsoft Corporation. All rights reserved.
September 22, 2017
This package contains the "DirectX Tool Kit", a collection of helper classes for
writing Direct3D 11 C++ code for Universal Windows Platform (UWP) apps for Windows 10,
Windows Store apps, Windows phone 8.1 applications, Xbox One exclusive apps,
Windows 8.x Win32 desktop applications, Windows 7 Service Pack 1 applications, and
Windows Vista Service Pack 2 Direct3D 11.0 applications.
This code is designed to build with Visual Studio 2013 Update 5, Visual Studio 2015 Update 3,
or Visual Studio 2017. It is recommended that you make use of VS 2015 Update 3, Windows Tools
1.4.1, and the Windows 10 Anniversary Update SDK (14393) or VS 2017 with the Windows 10
Creators Update SDK (15063).
These components are designed to work without requiring any content from the DirectX SDK. For details,
see "Where is the DirectX SDK?" <http://msdn.microsoft.com/en-us/library/ee663275.aspx>.
Inc\
Public Header Files (in the DirectX C++ namespace):
Audio.h - low-level audio API using XAudio2 (DirectXTK for Audio public header)
CommonStates.h - factory providing commonly used D3D state objects
DDSTextureLoader.h - light-weight DDS file texture loader
DirectXHelpers.h - misc C++ helpers for D3D programming
Effects.h - set of built-in shaders for common rendering tasks
GamePad.h - gamepad controller helper using XInput
GeometricPrimitive.h - draws basic shapes such as cubes and spheres
GraphicsMemory.h - helper for managing dynamic graphics memory allocation
Keyboard.h - keyboard state tracking helper
Model.h - draws meshes loaded from .CMO, .SDKMESH, or .VBO files
Mouse.h - mouse helper
PostProcess.h - set of built-in shaders for common post-processing operations
PrimitiveBatch.h - simple and efficient way to draw user primitives
ScreenGrab.h - light-weight screen shot saver
SimpleMath.h - simplified C++ wrapper for DirectXMath
SpriteBatch.h - simple & efficient 2D sprite rendering
SpriteFont.h - bitmap based text rendering
VertexTypes.h - structures for commonly used vertex data formats
WICTextureLoader.h - WIC-based image file texture loader
XboxDDSTextureLoader.h - Xbox One exclusive apps variant of DDSTextureLoader
Src\
DirectXTK source files and internal implementation headers
Audio\
DirectXTK for Audio source files and internal implementation headers
MakeSpriteFont\
Command line tool used to generate binary resources for use with SpriteFont
XWBTool\
Command line tool for building XACT-style wave banks for use with DirectXTK for Audio's WaveBank class
All content and source code for this package are subject to the terms of the MIT License.
<http://opensource.org/licenses/MIT>.
Documentation is available at <https://github.com/Microsoft/DirectXTK/wiki>.
For the latest version of DirectX Tool Kit, bug reports, etc. please visit the project site.
http://go.microsoft.com/fwlink/?LinkId=248929
Note: Xbox One exclusive apps developers using the Xbox One XDK need to generate the
Src\Shaders\Compiled\XboxOne*.inc files to build the library as they are not
included in the distribution package. They are built by running the script
in Src\Shaders - "CompileShaders xbox", and should be generated with the matching
FXC compiler from the Xbox One XDK. While they will continue to work if outdated,
a mismatch will cause runtime compilation overhead that would otherwise be avoided.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the
Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
https://opensource.microsoft.com/codeofconduct/
---------------
RELEASE HISTORY
---------------
September 22, 2017
Updated for VS 2017 15.3 update /permissive- changes
ScreenGrab updated to use non-sRGB metadata for PNG
Mouse use of WM_INPUT updated for Remote Desktop scenarios
Fix for CMO load issue when no materials are defined
xwbtool: added -flist option
July 28, 2017
Fix for WIC writer when codec target format requires a palette
Code cleanup
June 21, 2017
Post-processing support
SDKMESH loader fix when loading legacy files with all zero materials
DirectXTK for Audio: Minor fixes for environmental audio
Minor code cleanup
April 24, 2017
VS 2017 project updates
Regenerated shaders using Windows 10 Creators Update SDK (15063)
Fixed NormalMapEffect shader selection for specular texture usage
Fixed AudioEngine enumeration when using Single Threaded Apartment (STA)
Fixed bug with GamePad (Windows.Gaming.Input) when no user bound
April 7, 2017
VS 2017 updated for Windows Creators Update SDK (15063)
XboxDDSTextureLoader updates
February 10, 2017
GamePad now supports special value of -1 for 'most recently connected controller'
WIC format 40bppCMYKAlpha should be converted to RGBA8 rather than RGBA16
DDS support for L8A8 with bitcount 8 rather than 16
Minor code cleanup
December 5, 2016
Mouse and Keyboard classes updated with IsConnected method
Windows10 project /ZW switch removed to support use in C++/WinRT projection apps
VS 2017 RC projects added
Minor code cleanup
October 6, 2016
SDKMESH loader and BasicEffects support for compressed vertex normals with biasing
WICTextureLoader Ex bool forceSRGB parameter is now a WIC_LOADER flag
Minor code cleanup
September 15, 2016
Minor code cleanup
xwbtool: added wildcard support for input filename and optional -r switch for recursive search
September 1, 2016
Added forceSRGB optional parameter to SpriteFont ctor
EffectFactory method EnableForceSRGB added
DGSLEffect now defaults to diffuse/alpha of 1
Removed problematic ABI::Windows::Foundation::Rect interop for SimpleMath
Minor code cleanup
August 4, 2016
Regenerated shaders using Windows 10 Anniversary Update SDK (14393)
August 2, 2016
Updated for VS 2015 Update 3 and Windows 10 SDK (14393)
August 1, 2016
GamePad capabilities information updated for Universal Windows and Xbox One platforms
Specular falloff lighting computation fix in shaders
July 18, 2016
NormalMapEffect for normal-map with optional specular map rendering
EnvironmentMapEffect now supports per-pixel lighting
Effects updated with SetMatrices and SetColorAndAlpha methods
SimpleMath: improved interop with DirectXMath constants
Minor code cleanup
June 30, 2016
MeasureDrawString added to SpriteFont; bad fix to MeasureString reverted
GamePad tracker updated to track emulated buttons (i.e. leftStickUp)
EffectFactory SetDirectory now checks current working directory (CWD) as well
*breaking change* must include <d3d11.h> before including <SimpleMath.h>
Code refactor for sharing some files with DirectX 12 version
Minor code cleanup
May 31, 2016
Added VertexPosition and VertexPositionDualTexture to VertexTypes
Xbox One platform fix for PrimitiveBatch
CompileShader script updated to build external pdbs
Code cleanup
April 26, 2016
Added Rectangle class to SimpleMath
Fix for SDKMESH loader when loading models with 'extra' texture coordinate sets
Made SimpleMath's Viewport ComputeTitleSafeArea less conservative
Added view/menu alises to GamePad::ButtonStateTracker for Xbox One Controller naming
Retired Windows phone 8.0 projects and obsolete adapter code
Minor code and project file cleanup
February 23, 2016
Fixed width computation bug in SpriteFont::MeasureString
Fix to clean up partial or zero-length image files on failed write
Fix to WaveBankReader for UWP platform
Retired VS 2012 projects
Xbox One platform updates
Minor code and project file cleanup
January 5, 2016
Xbox One platform updates
*breaking change* Need to add use of GraphicsMemory class to Xbox One titles
Minor code cleanup
November 30, 2015
SimpleMath improvements including Viewport class
Fixed bug with Keyboard for OpenBracket and later VK codes
Fixed bug with Mouse that reset the scrollwheel on app activate
MakeSpriteFont updated with /FastPack and /FeatureLevel switches
Updated for VS 2015 Update 1 and Windows 10 SDK (10586)
October 30, 2015
DirectXTK for Audio 3D updates
*breaking change* emitters/listeners now use RH coordinates by default
GeometricPrimitive support for custom geometry
SimpleMath Matrix class improvements
DDS support for legacy bumpmap formats (V8U8, Q8W8V8U8, V16U16)
Mouse fix for WinRT implementation with multiple buttons pressed
Wireframe CommonStates no longer does backface culling
Xbox One platform updates
Minor code cleanup
August 18, 2015
Xbox One platform updates
July 29, 2015
- Added CreateBox method to GeometricPrimitive
- Added 'invertn' optional parameter to CreateSphere
- Updates for Keyboard, Mouse class
- Fixed bug when loading older SDKMESH models
- Updated for VS 2015 and Windows 10 SDK RTM
- Retired VS 2010 and Windows Store 8.0 projects
July 1, 2015
- Added Keyboard, Mouse class
- Support for loading pre-lit models with SDKMESH
- GamePad implemented using Windows.Gaming.Input for Windows 10
- DirectXTK for Audio updates for xWMA support with XAudio 2.9
- Added FindGlyph and GetSpriteSheet methods to SpriteFont
March 27, 2015
Added projects for Windows apps Technical Preview
- GamePad temporarily uses 'null' device for universal Windows applicaton platform
February 25, 2015
DirectXTK for Audio updates
- *breaking change* pitch now defined as -1 to 1 with 0 as the default
- One-shot Play method with volume, pitch, and pan
- GetMasterVolume/SetMasterVolume method for AudioEngine
- Fix for compact wavebank validation
- Improved voice cleanup and shutdown
Minor code cleanup and C++11 =default/=delete usage
January 26, 2015
GamePad class: emulate XInputEnable behavior for XInput 9.1.0
DirectXTK for Audio fix for Stop followed by Play doing a proper restart
DirectXTK for Audio fix when using XAudio 2.7 on a system with no audio device
Updates for Xbox One platform support
Minor code cleanup and C99 printf string conformance
November 24, 2014
SimpleMath fix for Matrix operator !=
DirectXTK for Audio workaround for XAudio 2.7 on Windows 7 problem
Updates for Windows phone 8.1 platform support
Updates for Visual Studio 2015 Technical Preview
Minor code cleanup
October 28, 2014
Model support for loading from VBO files
Model render now sets samplers on slots 0,1 by default for dual-texture effects
Updates for Xbox One platform support
Minor code cleanup
September 5, 2014
GamePad class: gamepad controller helper using XInput on Windows, IGamepad for Xbox One
SimpleMath updates; Matrix billboard methods; *breaking change*: Matrix::Identity() -> Matrix::Identity
SpriteBatch new optional SetViewport method
SpriteFont fix for white-space character rendering optimization
DDSTextureLoader fix for auto-gen mipmaps for volume textures
Explicit calling-convention annotation for public headers
Updates for Xbox One platform support
Minor code and project cleanup
July 15, 2014
DirectXTK for Audio and XWBTool fixes
Updates to Xbox One platform support
April 3, 2014
Windows phone 8.1 platform support
February 24, 2014
DirectXHelper: new utility header with MapGuard and public version of SetDebugObjectName template
DDSTextureLoader: Optional support for auto-gen mipmaps
DDSTextureLoader/ScreenGrab: support for Direct3D 11 video formats including legacy "YUY2" DDS files
GeometricPrimtive: Handedness fix for tetrahedron, octahedron, dodecahedron, and icosahedron
SpriteBatch::SetRotation(DXGI_MODE_ROTATION_UNSPECIFIED) to disable viewport matrix
XboxDDSTextureLoader: optional forceSRGB parameter
January 24, 2014
DirectXTK for Audio updated with voice management and optional mastering volume limiter
Added orientation rotation support to SpriteBatch
Fixed a resource leak with GetDefaultTexture() used by some Effects
Code cleanup (removed DXGI_1_2_FORMATS control define; d2d1.h workaround not needed; ScopedObject typedef removed)
December 24, 2013
DirectXTK for Audio
Xbox One platform support
MakeSpriteFont tool updated with more progress feedback when capturing large fonts
Minor updates for .SDKMESH Model loader
Fixed bug in .CMO Model loader when handling multiple textures
Improved debugging output
October 28, 2013
Updated for Visual Studio 2013 and Windows 8.1 SDK RTM
Added DGSLEffect, DGSLEffectFactory, VertexPositionNormalTangentColorTexture, and VertexPositionNormalTangentColorTextureSkinning
Model loading and effect factories support loading skinned models
MakeSpriteFont now has a smooth vs. sharp antialiasing option: /sharp
Model loading from CMOs now handles UV transforms for texture coordinates
A number of small fixes for EffectFactory
Minor code and project cleanup
Added NO_D3D11_DEBUG_NAME compilation define to control population of Direct3D debug layer names for debug builds
July 1, 2013
VS 2013 Preview projects added and updates for DirectXMath 3.05 __vectorcall
Added use of sRGB WIC metadata for JPEG, PNG, and TIFF
SaveToWIC functions updated with new optional setCustomProps parameter and error check with optional targetFormat
May 30, 2013
Added more GeometricPrimitives: Cone, Tetrahedron, Octahedron, Dodecahedron, Icosahedron
Updated to support loading new metadata from DDS files (if present)
Fixed bug with loading of WIC 32bpp RGBE format images
Fixed bug when skipping mipmaps in a 1D or 2D array texture DDS file
February 22, 2013
Added SimpleMath header
Fixed bug that prevented properly overriding EffectFactory::CreateTexture
Fixed forceSRGB logic in DDSTextureLoader and WICTextureLoader
Break circular reference chains when using SpriteBatch with a setCustomShaders lambda
Updated projects with /fp:fast for all configs, /arch:SSE2 for Win32 configs
Sensibly named .pdb output files
Added WIC_USE_FACTORY_PROXY build option (uses WindowsCodecs.dll entrypoint rather than CoCreateInstance)
January 25, 2013
GeometricPrimitive support for left-handed coordinates and drawing with custom effects
Model, ModelMesh, and ModelMeshPart added with loading of rigid non-animating models from .CMO and .SDKMESH files
EffectFactory helper class added
December 11, 2012
Ex versions of DDSTextureLoader and WICTextureLoader
Removed use of ATL's CComPtr in favor of WRL's ComPtr for all platforms to support VS Express editions
Updated VS 2010 project for official 'property sheet' integration for Windows 8.0 SDK
Minor fix to CommonStates for Feature Level 9.1
Tweaked AlphaTestEffect.cpp to work around ARM NEON compiler codegen bug
Added dxguid.lib as a default library for Debug builds to resolve GUID link issues
November 15, 2012
Added support for WIC2 when available on Windows 8 and Windows 7 with KB 2670838
Cleaned up warning level 4 warnings
October 30, 2012
Added project files for Windows phone 8
October 12, 2012
Added PrimitiveBatch for drawing user primitives
Debug object names for all D3D resources (for PIX and debug layer leak reporting)
October 2, 2012
Added ScreenGrab module
Added CreateGeoSphere for drawing a geodesic sphere
Put DDSTextureLoader and WICTextureLoader into the DirectX C++ namespace
September 7, 2012
Renamed project files for better naming consistency
Updated WICTextureLoader for Windows 8 96bpp floating-point formats
Win32 desktop projects updated to use Windows Vista (0x0600) rather than Windows 7 (0x0601) APIs
Tweaked SpriteBatch.cpp to workaround ARM NEON compiler codegen bug
May 31, 2012
Updated Windows Store project for Visual Studio 2012 Release Candidate changes
Cleaned up x64 Debug configuration warnings and switched to use "_DEBUG" instead of "DEBUG"
Minor fix for DDSTextureLoader's retry fallback that can happen with 10level9 feature levels
May 2, 2012
Added SpriteFont implementation and the MakeSpriteFont utility
March 29, 2012
WICTextureLoader updated with Windows 8 WIC native pixel formats
March 6, 2012
Fix for too much temp memory used by WICTextureLoader
Add separate Visual Studio 11 projects for Desktop vs. Windows Store builds
March 5, 2012
Bug fix for SpriteBatch with batches > 2048
February 24, 2012
Original release

View File

@@ -0,0 +1,67 @@
//--------------------------------------------------------------------------------------
// File: AlignedNew.h
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#pragma once
#include <malloc.h>
#include <exception>
namespace DirectX
{
// Derive from this to customize operator new and delete for
// types that have special heap alignment requirements.
//
// Example usage:
//
// __declspec(align(16)) struct MyAlignedType : public AlignedNew<MyAlignedType>
template<typename TDerived>
struct AlignedNew
{
// Allocate aligned memory.
static void* operator new (size_t size)
{
const size_t alignment = __alignof(TDerived);
static_assert(alignment > 8, "AlignedNew is only useful for types with > 8 byte alignment. Did you forget a __declspec(align) on TDerived?");
void* ptr = _aligned_malloc(size, alignment);
if (!ptr)
throw std::bad_alloc();
return ptr;
}
// Free aligned memory.
static void operator delete (void* ptr)
{
_aligned_free(ptr);
}
// Array overloads.
static void* operator new[] (size_t size)
{
return operator new(size);
}
static void operator delete[] (void* ptr)
{
operator delete(ptr);
}
};
}

View File

@@ -0,0 +1,447 @@
//--------------------------------------------------------------------------------------
// File: AlphaTestEffect.cpp
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
// PARTICULAR PURPOSE.
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// http://go.microsoft.com/fwlink/?LinkId=248929
//--------------------------------------------------------------------------------------
#include "pch.h"
#include "EffectCommon.h"
using namespace DirectX;
// Constant buffer layout. Must match the shader!
struct AlphaTestEffectConstants
{
XMVECTOR diffuseColor;
XMVECTOR alphaTest;
XMVECTOR fogColor;
XMVECTOR fogVector;
XMMATRIX worldViewProj;
};
static_assert( ( sizeof(AlphaTestEffectConstants) % 16 ) == 0, "CB size not padded correctly" );
// Traits type describes our characteristics to the EffectBase template.
struct AlphaTestEffectTraits
{
typedef AlphaTestEffectConstants ConstantBufferType;
static const int VertexShaderCount = 4;
static const int PixelShaderCount = 4;
static const int ShaderPermutationCount = 8;
};
// Internal AlphaTestEffect implementation class.
class AlphaTestEffect::Impl : public EffectBase<AlphaTestEffectTraits>
{
public:
Impl(_In_ ID3D11Device* device);
D3D11_COMPARISON_FUNC alphaFunction;
int referenceAlpha;
bool vertexColorEnabled;
EffectColor color;
int GetCurrentShaderPermutation() const;
void Apply(_In_ ID3D11DeviceContext* deviceContext);
};
// Include the precompiled shader code.
namespace
{
#if defined(_XBOX_ONE) && defined(_TITLE)
#include "Shaders/Compiled/XboxOneAlphaTestEffect_VSAlphaTest.inc"
#include "Shaders/Compiled/XboxOneAlphaTestEffect_VSAlphaTestNoFog.inc"
#include "Shaders/Compiled/XboxOneAlphaTestEffect_VSAlphaTestVc.inc"
#include "Shaders/Compiled/XboxOneAlphaTestEffect_VSAlphaTestVcNoFog.inc"
#include "Shaders/Compiled/XboxOneAlphaTestEffect_PSAlphaTestLtGt.inc"
#include "Shaders/Compiled/XboxOneAlphaTestEffect_PSAlphaTestLtGtNoFog.inc"
#include "Shaders/Compiled/XboxOneAlphaTestEffect_PSAlphaTestEqNe.inc"
#include "Shaders/Compiled/XboxOneAlphaTestEffect_PSAlphaTestEqNeNoFog.inc"
#else
#include "Shaders/Compiled/AlphaTestEffect_VSAlphaTest.inc"
#include "Shaders/Compiled/AlphaTestEffect_VSAlphaTestNoFog.inc"
#include "Shaders/Compiled/AlphaTestEffect_VSAlphaTestVc.inc"
#include "Shaders/Compiled/AlphaTestEffect_VSAlphaTestVcNoFog.inc"
#include "Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGt.inc"
#include "Shaders/Compiled/AlphaTestEffect_PSAlphaTestLtGtNoFog.inc"
#include "Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNe.inc"
#include "Shaders/Compiled/AlphaTestEffect_PSAlphaTestEqNeNoFog.inc"
#endif
}
template<>
const ShaderBytecode EffectBase<AlphaTestEffectTraits>::VertexShaderBytecode[] =
{
{ AlphaTestEffect_VSAlphaTest, sizeof(AlphaTestEffect_VSAlphaTest) },
{ AlphaTestEffect_VSAlphaTestNoFog, sizeof(AlphaTestEffect_VSAlphaTestNoFog) },
{ AlphaTestEffect_VSAlphaTestVc, sizeof(AlphaTestEffect_VSAlphaTestVc) },
{ AlphaTestEffect_VSAlphaTestVcNoFog, sizeof(AlphaTestEffect_VSAlphaTestVcNoFog) },
};
template<>
const int EffectBase<AlphaTestEffectTraits>::VertexShaderIndices[] =
{
0, // lt/gt
1, // lt/gt, no fog
2, // lt/gt, vertex color
3, // lt/gt, vertex color, no fog
0, // eq/ne
1, // eq/ne, no fog
2, // eq/ne, vertex color
3, // eq/ne, vertex color, no fog
};
template<>
const ShaderBytecode EffectBase<AlphaTestEffectTraits>::PixelShaderBytecode[] =
{
{ AlphaTestEffect_PSAlphaTestLtGt, sizeof(AlphaTestEffect_PSAlphaTestLtGt) },
{ AlphaTestEffect_PSAlphaTestLtGtNoFog, sizeof(AlphaTestEffect_PSAlphaTestLtGtNoFog) },
{ AlphaTestEffect_PSAlphaTestEqNe, sizeof(AlphaTestEffect_PSAlphaTestEqNe) },
{ AlphaTestEffect_PSAlphaTestEqNeNoFog, sizeof(AlphaTestEffect_PSAlphaTestEqNeNoFog) },
};
template<>
const int EffectBase<AlphaTestEffectTraits>::PixelShaderIndices[] =
{
0, // lt/gt
1, // lt/gt, no fog
0, // lt/gt, vertex color
1, // lt/gt, vertex color, no fog
2, // eq/ne
3, // eq/ne, no fog
2, // eq/ne, vertex color
3, // eq/ne, vertex color, no fog
};
// Global pool of per-device AlphaTestEffect resources.
template<>
SharedResourcePool<ID3D11Device*, EffectBase<AlphaTestEffectTraits>::DeviceResources> EffectBase<AlphaTestEffectTraits>::deviceResourcesPool;
// Constructor.
AlphaTestEffect::Impl::Impl(_In_ ID3D11Device* device)
: EffectBase(device),
alphaFunction(D3D11_COMPARISON_GREATER),
referenceAlpha(0),
vertexColorEnabled(false)
{
static_assert( _countof(EffectBase<AlphaTestEffectTraits>::VertexShaderIndices) == AlphaTestEffectTraits::ShaderPermutationCount, "array/max mismatch" );
static_assert( _countof(EffectBase<AlphaTestEffectTraits>::VertexShaderBytecode) == AlphaTestEffectTraits::VertexShaderCount, "array/max mismatch" );
static_assert( _countof(EffectBase<AlphaTestEffectTraits>::PixelShaderBytecode) == AlphaTestEffectTraits::PixelShaderCount, "array/max mismatch" );
static_assert( _countof(EffectBase<AlphaTestEffectTraits>::PixelShaderIndices) == AlphaTestEffectTraits::ShaderPermutationCount, "array/max mismatch" );
}
int AlphaTestEffect::Impl::GetCurrentShaderPermutation() const
{
int permutation = 0;
// Use optimized shaders if fog is disabled.
if (!fog.enabled)
{
permutation += 1;
}
// Support vertex coloring?
if (vertexColorEnabled)
{
permutation += 2;
}
// Which alpha compare mode?
if (alphaFunction == D3D11_COMPARISON_EQUAL ||
alphaFunction == D3D11_COMPARISON_NOT_EQUAL)
{
permutation += 4;
}
return permutation;
}
// Sets our state onto the D3D device.
void AlphaTestEffect::Impl::Apply(_In_ ID3D11DeviceContext* deviceContext)
{
// Compute derived parameter values.
matrices.SetConstants(dirtyFlags, constants.worldViewProj);
fog.SetConstants(dirtyFlags, matrices.worldView, constants.fogVector);
color.SetConstants(dirtyFlags, constants.diffuseColor);
// Recompute the alpha test settings?
if (dirtyFlags & EffectDirtyFlags::AlphaTest)
{
// Convert reference alpha from 8 bit integer to 0-1 float format.
float reference = (float)referenceAlpha / 255.0f;
// Comparison tolerance of half the 8 bit integer precision.
const float threshold = 0.5f / 255.0f;
// What to do if the alpha comparison passes or fails. Positive accepts the pixel, negative clips it.
static const XMVECTORF32 selectIfTrue = { { { 1, -1 } } };
static const XMVECTORF32 selectIfFalse = { { { -1, 1 } } };
static const XMVECTORF32 selectNever = { { { -1, -1 } } };
static const XMVECTORF32 selectAlways = { { { 1, 1 } } };
float compareTo;
XMVECTOR resultSelector;
switch (alphaFunction)
{
case D3D11_COMPARISON_LESS:
// Shader will evaluate: clip((a < x) ? z : w)
compareTo = reference - threshold;
resultSelector = selectIfTrue;
break;
case D3D11_COMPARISON_LESS_EQUAL:
// Shader will evaluate: clip((a < x) ? z : w)
compareTo = reference + threshold;
resultSelector = selectIfTrue;
break;
case D3D11_COMPARISON_GREATER_EQUAL:
// Shader will evaluate: clip((a < x) ? z : w)
compareTo = reference - threshold;
resultSelector = selectIfFalse;
break;
case D3D11_COMPARISON_GREATER:
// Shader will evaluate: clip((a < x) ? z : w)
compareTo = reference + threshold;
resultSelector = selectIfFalse;
break;
case D3D11_COMPARISON_EQUAL:
// Shader will evaluate: clip((abs(a - x) < y) ? z : w)
compareTo = reference;
resultSelector = selectIfTrue;
break;
case D3D11_COMPARISON_NOT_EQUAL:
// Shader will evaluate: clip((abs(a - x) < y) ? z : w)
compareTo = reference;
resultSelector = selectIfFalse;
break;
case D3D11_COMPARISON_NEVER:
// Shader will evaluate: clip((a < x) ? z : w)
compareTo = 0;
resultSelector = selectNever;
break;
case D3D11_COMPARISON_ALWAYS:
// Shader will evaluate: clip((a < x) ? z : w)
compareTo = 0;
resultSelector = selectAlways;
break;
default:
throw std::exception("Unknown alpha test function");
}
// x = compareTo, y = threshold, zw = resultSelector.
constants.alphaTest = XMVectorPermute<0, 1, 4, 5>(XMVectorSet(compareTo, threshold, 0, 0), resultSelector);
dirtyFlags &= ~EffectDirtyFlags::AlphaTest;
dirtyFlags |= EffectDirtyFlags::ConstantBuffer;
}
// Set the texture.
ID3D11ShaderResourceView* textures[1] = { texture.Get() };
deviceContext->PSSetShaderResources(0, 1, textures);
// Set shaders and constant buffers.
ApplyShaders(deviceContext, GetCurrentShaderPermutation());
}
// Public constructor.
AlphaTestEffect::AlphaTestEffect(_In_ ID3D11Device* device)
: pImpl(new Impl(device))
{
}
// Move constructor.
AlphaTestEffect::AlphaTestEffect(AlphaTestEffect&& moveFrom)
: pImpl(std::move(moveFrom.pImpl))
{
}
// Move assignment.
AlphaTestEffect& AlphaTestEffect::operator= (AlphaTestEffect&& moveFrom)
{
pImpl = std::move(moveFrom.pImpl);
return *this;
}
// Public destructor.
AlphaTestEffect::~AlphaTestEffect()
{
}
// IEffect methods.
void AlphaTestEffect::Apply(_In_ ID3D11DeviceContext* deviceContext)
{
pImpl->Apply(deviceContext);
}
void AlphaTestEffect::GetVertexShaderBytecode(_Out_ void const** pShaderByteCode, _Out_ size_t* pByteCodeLength)
{
pImpl->GetVertexShaderBytecode(pImpl->GetCurrentShaderPermutation(), pShaderByteCode, pByteCodeLength);
}
// Camera settings.
void XM_CALLCONV AlphaTestEffect::SetWorld(FXMMATRIX value)
{
pImpl->matrices.world = value;
pImpl->dirtyFlags |= EffectDirtyFlags::WorldViewProj | EffectDirtyFlags::WorldInverseTranspose | EffectDirtyFlags::FogVector;
}
void XM_CALLCONV AlphaTestEffect::SetView(FXMMATRIX value)
{
pImpl->matrices.view = value;
pImpl->dirtyFlags |= EffectDirtyFlags::WorldViewProj | EffectDirtyFlags::EyePosition | EffectDirtyFlags::FogVector;
}
void XM_CALLCONV AlphaTestEffect::SetProjection(FXMMATRIX value)
{
pImpl->matrices.projection = value;
pImpl->dirtyFlags |= EffectDirtyFlags::WorldViewProj;
}
void XM_CALLCONV AlphaTestEffect::SetMatrices(FXMMATRIX world, CXMMATRIX view, CXMMATRIX projection)
{
pImpl->matrices.world = world;
pImpl->matrices.view = view;
pImpl->matrices.projection = projection;
pImpl->dirtyFlags |= EffectDirtyFlags::WorldViewProj | EffectDirtyFlags::WorldInverseTranspose | EffectDirtyFlags::EyePosition | EffectDirtyFlags::FogVector;
}
// Material settings
void XM_CALLCONV AlphaTestEffect::SetDiffuseColor(FXMVECTOR value)
{
pImpl->color.diffuseColor = value;
pImpl->dirtyFlags |= EffectDirtyFlags::MaterialColor;
}
void AlphaTestEffect::SetAlpha(float value)
{
pImpl->color.alpha = value;
pImpl->dirtyFlags |= EffectDirtyFlags::MaterialColor;
}
void XM_CALLCONV AlphaTestEffect::SetColorAndAlpha(FXMVECTOR value)
{
pImpl->color.diffuseColor = value;
pImpl->color.alpha = XMVectorGetW(value);
pImpl->dirtyFlags |= EffectDirtyFlags::MaterialColor;
}
// Fog settings.
void AlphaTestEffect::SetFogEnabled(bool value)
{
pImpl->fog.enabled = value;
pImpl->dirtyFlags |= EffectDirtyFlags::FogEnable;
}
void AlphaTestEffect::SetFogStart(float value)
{
pImpl->fog.start = value;
pImpl->dirtyFlags |= EffectDirtyFlags::FogVector;
}
void AlphaTestEffect::SetFogEnd(float value)
{
pImpl->fog.end = value;
pImpl->dirtyFlags |= EffectDirtyFlags::FogVector;
}
void XM_CALLCONV AlphaTestEffect::SetFogColor(FXMVECTOR value)
{
pImpl->constants.fogColor = value;
pImpl->dirtyFlags |= EffectDirtyFlags::ConstantBuffer;
}
// Vertex color setting.
void AlphaTestEffect::SetVertexColorEnabled(bool value)
{
pImpl->vertexColorEnabled = value;
}
// Texture settings.
void AlphaTestEffect::SetTexture(_In_opt_ ID3D11ShaderResourceView* value)
{
pImpl->texture = value;
}
void AlphaTestEffect::SetAlphaFunction(D3D11_COMPARISON_FUNC value)
{
pImpl->alphaFunction = value;
pImpl->dirtyFlags |= EffectDirtyFlags::AlphaTest;
}
void AlphaTestEffect::SetReferenceAlpha(int value)
{
pImpl->referenceAlpha = value;
pImpl->dirtyFlags |= EffectDirtyFlags::AlphaTest;
}

Some files were not shown because too many files have changed in this diff Show More