зеркало из https://github.com/AvaloniaUI/angle.git
Added a utility application to generate c headers from dds textures.
Change-Id: Idb4c2ca318c84433f2b06bd4f0c66045f43e56de Reviewed-on: https://chromium-review.googlesource.com/182191 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
This commit is contained in:
Родитель
2c254d8f0e
Коммит
a50232fd52
|
@ -4,16 +4,19 @@ Debug_x64
|
||||||
Release
|
Release
|
||||||
Release_Win32
|
Release_Win32
|
||||||
Release_x64
|
Release_x64
|
||||||
*.sln
|
|
||||||
*.sdf
|
*.sdf
|
||||||
*.ncb
|
*.ncb
|
||||||
*.suo
|
*.suo
|
||||||
|
src/*.sln
|
||||||
src/*.vcxproj
|
src/*.vcxproj
|
||||||
src/*.vcxproj.filters
|
src/*.vcxproj.filters
|
||||||
|
samples/*.sln
|
||||||
samples/*.vcxproj
|
samples/*.vcxproj
|
||||||
samples/*.vcxproj.filters
|
samples/*.vcxproj.filters
|
||||||
|
tests/*.sln
|
||||||
tests/*.vcxproj
|
tests/*.vcxproj
|
||||||
tests/*.vcxproj.filters
|
tests/*.vcxproj.filters
|
||||||
|
build/*.sln
|
||||||
build/*.vcxproj
|
build/*.vcxproj
|
||||||
build/*.vcxproj.filters
|
build/*.vcxproj.filters
|
||||||
*.vcxproj.user
|
*.vcxproj.user
|
||||||
|
|
|
@ -145,6 +145,10 @@
|
||||||
<Project>{B4D06330-EED1-6F99-BCA4-2F913908C38A}</Project>
|
<Project>{B4D06330-EED1-6F99-BCA4-2F913908C38A}</Project>
|
||||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\samples\dds_to_header.vcxproj">
|
||||||
|
<Project>{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}</Project>
|
||||||
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\samples\es_util.vcxproj">
|
<ProjectReference Include="..\samples\es_util.vcxproj">
|
||||||
<Project>{80E5C3D9-93C2-943E-176F-C9A903E27BC9}</Project>
|
<Project>{80E5C3D9-93C2-943E-176F-C9A903E27BC9}</Project>
|
||||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||||
|
|
|
@ -11,6 +11,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "All", "All.vcxproj", "{D048
|
||||||
{FBAEE4F6-562A-588F-01F9-72DCABB3B061} = {FBAEE4F6-562A-588F-01F9-72DCABB3B061}
|
{FBAEE4F6-562A-588F-01F9-72DCABB3B061} = {FBAEE4F6-562A-588F-01F9-72DCABB3B061}
|
||||||
{293E74D1-544C-D368-02A0-52F61A4D0679} = {293E74D1-544C-D368-02A0-52F61A4D0679}
|
{293E74D1-544C-D368-02A0-52F61A4D0679} = {293E74D1-544C-D368-02A0-52F61A4D0679}
|
||||||
{B4D06330-EED1-6F99-BCA4-2F913908C38A} = {B4D06330-EED1-6F99-BCA4-2F913908C38A}
|
{B4D06330-EED1-6F99-BCA4-2F913908C38A} = {B4D06330-EED1-6F99-BCA4-2F913908C38A}
|
||||||
|
{6BC75FF2-C11A-C393-F9BB-BF29FF29D736} = {6BC75FF2-C11A-C393-F9BB-BF29FF29D736}
|
||||||
{80E5C3D9-93C2-943E-176F-C9A903E27BC9} = {80E5C3D9-93C2-943E-176F-C9A903E27BC9}
|
{80E5C3D9-93C2-943E-176F-C9A903E27BC9} = {80E5C3D9-93C2-943E-176F-C9A903E27BC9}
|
||||||
{3F4D97A9-0809-E0E4-5A3F-B6ACB6EABB46} = {3F4D97A9-0809-E0E4-5A3F-B6ACB6EABB46}
|
{3F4D97A9-0809-E0E4-5A3F-B6ACB6EABB46} = {3F4D97A9-0809-E0E4-5A3F-B6ACB6EABB46}
|
||||||
{A6E86EB3-561F-9FAB-670F-EF23556344BE} = {A6E86EB3-561F-9FAB-670F-EF23556344BE}
|
{A6E86EB3-561F-9FAB-670F-EF23556344BE} = {A6E86EB3-561F-9FAB-670F-EF23556344BE}
|
||||||
|
@ -28,6 +29,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "commit_id", "..\src\commit_
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy_compiler_dll", "..\src\copy_compiler_dll.vcxproj", "{22DC02D5-1598-943C-13E1-82185B469F81}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy_compiler_dll", "..\src\copy_compiler_dll.vcxproj", "{22DC02D5-1598-943C-13E1-82185B469F81}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dds_to_header", "..\samples\dds_to_header.vcxproj", "{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}"
|
||||||
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "es_util", "..\samples\es_util.vcxproj", "{80E5C3D9-93C2-943E-176F-C9A903E27BC9}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "es_util", "..\samples\es_util.vcxproj", "{80E5C3D9-93C2-943E-176F-C9A903E27BC9}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{FBAEE4F6-562A-588F-01F9-72DCABB3B061} = {FBAEE4F6-562A-588F-01F9-72DCABB3B061}
|
{FBAEE4F6-562A-588F-01F9-72DCABB3B061} = {FBAEE4F6-562A-588F-01F9-72DCABB3B061}
|
||||||
|
@ -182,6 +185,10 @@ Global
|
||||||
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Debug|Win32.Build.0 = Debug|Win32
|
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Release|Win32.ActiveCfg = Release|Win32
|
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Release|Win32.Build.0 = Release|Win32
|
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}.Release|Win32.Build.0 = Release|Win32
|
||||||
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Debug|Win32.ActiveCfg = Debug|Win32
|
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Debug|Win32.Build.0 = Debug|Win32
|
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Release|Win32.ActiveCfg = Release|Win32
|
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
|
|
@ -0,0 +1,117 @@
|
||||||
|
<?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="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>dds_to_header</RootNamespace>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
|
||||||
|
<PropertyGroup Label="Configuration">
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
|
||||||
|
<ImportGroup Label="ExtensionSettings"/>
|
||||||
|
<ImportGroup Label="PropertySheets">
|
||||||
|
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros"/>
|
||||||
|
<PropertyGroup>
|
||||||
|
<ExecutablePath>$(ExecutablePath);$(MSBuildProjectDirectory)\..\..\third_party\cygwin\bin\;$(MSBuildProjectDirectory)\..\..\third_party\python_26\</ExecutablePath>
|
||||||
|
<OutDir>$(SolutionDir)$(Configuration)_$(Platform)\</OutDir>
|
||||||
|
<IntDir>$(OutDir)obj\$(ProjectName)\</IntDir>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||||
|
<TargetName>$(ProjectName)</TargetName>
|
||||||
|
<TargetPath>$(OutDir)\$(ProjectName)$(TargetExt)</TargetPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||||
|
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<DisableSpecificWarnings>4100;4127;4189;4239;4244;4245;4512;4702;4530;4718;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_HAS_EXCEPTIONS=0;_WIN32_WINNT=0x0600;_WINDOWS;NOMINMAX;WIN32;WIN32_LEAN_AND_MEAN;WINVER=0x0600;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
</ClCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Lib>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<FixedBaseAddress>false</FixedBaseAddress>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary>
|
||||||
|
<MapFileName>$(OutDir)$(TargetName).map</MapFileName>
|
||||||
|
<OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<Culture>0x0409</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<DisableSpecificWarnings>4100;4127;4189;4239;4244;4245;4512;4702;4530;4718;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_WARNINGS;_HAS_EXCEPTIONS=0;_WIN32_WINNT=0x0600;_WINDOWS;NOMINMAX;WIN32;WIN32_LEAN_AND_MEAN;WINVER=0x0600;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
|
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
</ClCompile>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Lib>
|
||||||
|
<Link>
|
||||||
|
<AdditionalDependencies>kernel32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;user32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<FixedBaseAddress>false</FixedBaseAddress>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<ImportLibrary>$(OutDir)lib\$(TargetName).lib</ImportLibrary>
|
||||||
|
<MapFileName>$(OutDir)$(TargetName).map</MapFileName>
|
||||||
|
<OutputFile>$(OutDir)$(ProjectName)$(TargetExt)</OutputFile>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<TargetMachine>MachineX86</TargetMachine>
|
||||||
|
</Link>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>C:\Program Files (x86)\Windows Kits\8.0\Include\shared;C:\Program Files (x86)\Windows Kits\8.0\Include\um;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<Culture>0x0409</Culture>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="..\..\samples\samples.gyp"/>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\samples\dds_to_header\main.cpp"/>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
|
||||||
|
<ImportGroup Label="ExtensionTargets"/>
|
||||||
|
</Project>
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="dds_to_header">
|
||||||
|
<UniqueIdentifier>{6F557D24-D36F-34F5-20A1-E400ED0EC3BE}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="..\..\samples\samples.gyp"/>
|
||||||
|
<ClCompile Include="..\..\samples\dds_to_header\main.cpp">
|
||||||
|
<Filter>dds_to_header</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -4,6 +4,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "commit_id", "..\src\commit_
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy_compiler_dll", "..\src\copy_compiler_dll.vcxproj", "{22DC02D5-1598-943C-13E1-82185B469F81}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy_compiler_dll", "..\src\copy_compiler_dll.vcxproj", "{22DC02D5-1598-943C-13E1-82185B469F81}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dds_to_header", "dds_to_header.vcxproj", "{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}"
|
||||||
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "es_util", "es_util.vcxproj", "{80E5C3D9-93C2-943E-176F-C9A903E27BC9}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "es_util", "es_util.vcxproj", "{80E5C3D9-93C2-943E-176F-C9A903E27BC9}"
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{FBAEE4F6-562A-588F-01F9-72DCABB3B061} = {FBAEE4F6-562A-588F-01F9-72DCABB3B061}
|
{FBAEE4F6-562A-588F-01F9-72DCABB3B061} = {FBAEE4F6-562A-588F-01F9-72DCABB3B061}
|
||||||
|
@ -156,6 +158,10 @@ Global
|
||||||
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Debug|Win32.Build.0 = Debug|Win32
|
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Release|Win32.ActiveCfg = Release|Win32
|
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Release|Win32.Build.0 = Release|Win32
|
{46160987-0221-9E14-3B88-80F9FCFCFFBF}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{6BC75FF2-C11A-C393-F9BB-BF29FF29D736}.Release|Win32.Build.0 = Release|Win32
|
||||||
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Debug|Win32.ActiveCfg = Debug|Win32
|
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Debug|Win32.Build.0 = Debug|Win32
|
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Release|Win32.ActiveCfg = Release|Win32
|
{7FBD6F69-B9A4-69F1-A12B-8DACB3F8CD81}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
|
|
@ -0,0 +1,238 @@
|
||||||
|
//
|
||||||
|
// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <ddraw.h>
|
||||||
|
#include <d3d9types.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <fstream>
|
||||||
|
#include <vector>
|
||||||
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <array>
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
std::string programName(argv[0]);
|
||||||
|
if (argc < 4)
|
||||||
|
{
|
||||||
|
std::cout << "usage:\n";
|
||||||
|
std::cout << programName << "INPUT_FILE OUTPUT_C_ARRAY_NAME OUTPUT_FILE\n";
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string inputFile(argv[1]);
|
||||||
|
std::string outputName(argv[2]);
|
||||||
|
std::string outputFile(argv[3]);
|
||||||
|
std::ifstream readFile(inputFile, std::ios::binary | std::ios::in);
|
||||||
|
|
||||||
|
readFile.seekg(0, std::ios::end);
|
||||||
|
std::streamoff fileSize = readFile.tellg();
|
||||||
|
readFile.seekg(0, std::ios::beg);
|
||||||
|
|
||||||
|
const std::size_t minSize = sizeof(DDSURFACEDESC2) + sizeof(DWORD);
|
||||||
|
if (fileSize < minSize)
|
||||||
|
{
|
||||||
|
std::cout << inputFile << " is only " << fileSize << " bytes, must be at greater than " << minSize
|
||||||
|
<< " bytes to be a correct DDS image file.\n";
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
|
||||||
|
DWORD magicWord;
|
||||||
|
readFile.read(reinterpret_cast<char*>(&magicWord), sizeof(DWORD));
|
||||||
|
if (magicWord != MAKEFOURCC('D','D','S',' '))
|
||||||
|
{
|
||||||
|
std::cout << "Magic word must be " << MAKEFOURCC('D','D','S',' ') << ".\n";
|
||||||
|
return -3;
|
||||||
|
}
|
||||||
|
|
||||||
|
DDSURFACEDESC2 header;
|
||||||
|
readFile.read(reinterpret_cast<char*>(&header), sizeof(DDSURFACEDESC2));
|
||||||
|
|
||||||
|
std::string formatName;
|
||||||
|
std::size_t blockSize = 0;
|
||||||
|
std::size_t blockWidth = 0;
|
||||||
|
std::size_t blockHeight = 0;
|
||||||
|
|
||||||
|
if (header.ddpfPixelFormat.dwFlags & DDPF_RGB)
|
||||||
|
{
|
||||||
|
blockSize = header.ddpfPixelFormat.dwRGBBitCount / 8;
|
||||||
|
blockWidth = 1;
|
||||||
|
blockHeight = 1;
|
||||||
|
|
||||||
|
if (blockSize == 4)
|
||||||
|
{
|
||||||
|
if (header.ddpfPixelFormat.dwRBitMask == 0x000000FF &&
|
||||||
|
header.ddpfPixelFormat.dwGBitMask == 0x0000FF00 &&
|
||||||
|
header.ddpfPixelFormat.dwBBitMask == 0x00FF0000 &&
|
||||||
|
header.ddpfPixelFormat.dwRGBAlphaBitMask == 0xFF000000)
|
||||||
|
{
|
||||||
|
formatName = "RGBA8";
|
||||||
|
}
|
||||||
|
else if (header.ddpfPixelFormat.dwRBitMask == 0x000000FF &&
|
||||||
|
header.ddpfPixelFormat.dwGBitMask == 0x0000FF00 &&
|
||||||
|
header.ddpfPixelFormat.dwBBitMask == 0x00FF0000 &&
|
||||||
|
header.ddpfPixelFormat.dwRGBAlphaBitMask == 0x00000000)
|
||||||
|
{
|
||||||
|
formatName = "RGBX8";
|
||||||
|
}
|
||||||
|
else if (header.ddpfPixelFormat.dwRBitMask == 0x000003FF &&
|
||||||
|
header.ddpfPixelFormat.dwGBitMask == 0x000FFC00 &&
|
||||||
|
header.ddpfPixelFormat.dwBBitMask == 0x3FF00000 &&
|
||||||
|
header.ddpfPixelFormat.dwRGBAlphaBitMask == 0xC0000000)
|
||||||
|
{
|
||||||
|
formatName = "RGB10A2";
|
||||||
|
}
|
||||||
|
else if (header.ddpfPixelFormat.dwRBitMask == 0x0000FFFF &&
|
||||||
|
header.ddpfPixelFormat.dwGBitMask == 0xFFFF0000 &&
|
||||||
|
header.ddpfPixelFormat.dwBBitMask == 0x00000000 &&
|
||||||
|
header.ddpfPixelFormat.dwRGBAlphaBitMask == 0x00000000)
|
||||||
|
{
|
||||||
|
formatName = "RG16";
|
||||||
|
}
|
||||||
|
else if (header.ddpfPixelFormat.dwRBitMask == 0xFFFFFFFF &&
|
||||||
|
header.ddpfPixelFormat.dwGBitMask == 0x00000000 &&
|
||||||
|
header.ddpfPixelFormat.dwBBitMask == 0x00000000 &&
|
||||||
|
header.ddpfPixelFormat.dwRGBAlphaBitMask == 0x00000000)
|
||||||
|
{
|
||||||
|
formatName = "R32";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
formatName = "UKNOWN";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (header.ddpfPixelFormat.dwFlags & DDPF_FOURCC)
|
||||||
|
{
|
||||||
|
switch (header.ddpfPixelFormat.dwFourCC)
|
||||||
|
{
|
||||||
|
case MAKEFOURCC('D','X','T','1'):
|
||||||
|
formatName = "DXT1";
|
||||||
|
blockSize = 8;
|
||||||
|
blockWidth = 4;
|
||||||
|
blockHeight = 4;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MAKEFOURCC('D','X','T','3'):
|
||||||
|
formatName = "DXT3";
|
||||||
|
blockSize = 16;
|
||||||
|
blockWidth = 4;
|
||||||
|
blockHeight = 4;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case MAKEFOURCC('D','X','T','5'):
|
||||||
|
formatName = "DXT5";
|
||||||
|
blockSize = 16;
|
||||||
|
blockWidth = 4;
|
||||||
|
blockHeight = 4;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case D3DFMT_R32F:
|
||||||
|
formatName = "R32F";
|
||||||
|
blockSize = 4;
|
||||||
|
blockWidth = 1;
|
||||||
|
blockHeight = 1;
|
||||||
|
|
||||||
|
case D3DFMT_G32R32F:
|
||||||
|
formatName = "RG32F";
|
||||||
|
blockSize = 8;
|
||||||
|
blockWidth = 1;
|
||||||
|
blockHeight = 1;
|
||||||
|
|
||||||
|
case D3DFMT_A32B32G32R32F:
|
||||||
|
formatName = "RGBA32F";
|
||||||
|
blockSize = 16;
|
||||||
|
blockWidth = 1;
|
||||||
|
blockHeight = 1;
|
||||||
|
|
||||||
|
case D3DFMT_R16F:
|
||||||
|
formatName = "R16F";
|
||||||
|
blockSize = 2;
|
||||||
|
blockWidth = 1;
|
||||||
|
blockHeight = 1;
|
||||||
|
|
||||||
|
case D3DFMT_G16R16F:
|
||||||
|
formatName = "RG16F";
|
||||||
|
blockSize = 4;
|
||||||
|
blockWidth = 1;
|
||||||
|
blockHeight = 1;
|
||||||
|
|
||||||
|
case D3DFMT_A16B16G16R16F:
|
||||||
|
formatName = "RGBA16F";
|
||||||
|
blockSize = 8;
|
||||||
|
blockWidth = 1;
|
||||||
|
blockHeight = 1;
|
||||||
|
|
||||||
|
default:
|
||||||
|
std::cout << "Unsupported FourCC format.\n";
|
||||||
|
return -5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cout << "Unsupported DDS format.\n";
|
||||||
|
return -6;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::size_t height = header.dwHeight;
|
||||||
|
std::size_t width = header.dwWidth;
|
||||||
|
std::size_t levels = std::max(1U, static_cast<std::size_t>(header.dwMipMapCount));
|
||||||
|
|
||||||
|
std::ofstream oss(outputFile);
|
||||||
|
oss << "// Automatically generated header from " << inputFile << ", a " << width << "x" << height;
|
||||||
|
if (levels > 1)
|
||||||
|
{
|
||||||
|
oss << " (" << levels << " mip levels)";
|
||||||
|
}
|
||||||
|
oss << "\n// " << formatName << " texture using " << programName << ".\n";
|
||||||
|
|
||||||
|
oss << "static const size_t " << outputName << "_width = " << width << ";\n";
|
||||||
|
oss << "static const size_t " << outputName << "_height = " << height << ";\n";
|
||||||
|
oss << "static const size_t " << outputName << "_levels = " << levels << ";\n";
|
||||||
|
oss << "\n";
|
||||||
|
|
||||||
|
for (std::size_t i = 0; i < levels; ++i)
|
||||||
|
{
|
||||||
|
std::size_t widthAtLevel = std::max(width >> i, 1U);
|
||||||
|
std::size_t heightAtLevel = std::max(height >> i, 1U);
|
||||||
|
std::size_t sizeAtLevel = static_cast<std::size_t>(std::ceil(widthAtLevel / static_cast<float>(blockWidth)) *
|
||||||
|
std::ceil(heightAtLevel / static_cast<float>(blockHeight))) *
|
||||||
|
blockSize;
|
||||||
|
|
||||||
|
std::vector<unsigned char> data(sizeAtLevel);
|
||||||
|
readFile.read(reinterpret_cast<char*>(data.data()), sizeAtLevel);
|
||||||
|
|
||||||
|
oss << "static const size_t " << outputName << "_" << i << "_width = " << widthAtLevel << ";\n";
|
||||||
|
oss << "static const size_t " << outputName << "_" << i << "_height = " << heightAtLevel << ";\n";
|
||||||
|
oss << "static const size_t " << outputName << "_" << i << "_size = " << sizeAtLevel << ";\n";
|
||||||
|
oss << "static const unsigned char " << outputName << "_" << i << "_data[" << sizeAtLevel << "] =\n";
|
||||||
|
oss << "{";
|
||||||
|
for (std::size_t j = 0; j < sizeAtLevel; j++)
|
||||||
|
{
|
||||||
|
if (j % 16 == 0)
|
||||||
|
{
|
||||||
|
oss << "\n ";
|
||||||
|
}
|
||||||
|
|
||||||
|
char buffer[32];
|
||||||
|
sprintf_s(buffer, "0x%02X,", data[j]);
|
||||||
|
oss << std::string(buffer);
|
||||||
|
}
|
||||||
|
oss << "\n";
|
||||||
|
oss << "};\n";
|
||||||
|
|
||||||
|
if (i + 1 < levels)
|
||||||
|
{
|
||||||
|
oss << "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
oss.close();
|
||||||
|
readFile.close();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -44,6 +44,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
'target_name': 'dds_to_header',
|
||||||
|
'type': 'executable',
|
||||||
|
'sources':
|
||||||
|
[
|
||||||
|
'<!@(python enumerate_files.py dds_to_header -types *.cpp)',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
'target_name': 'es_util',
|
'target_name': 'es_util',
|
||||||
'type': 'static_library',
|
'type': 'static_library',
|
||||||
|
|
Загрузка…
Ссылка в новой задаче