Compare commits
No commits in common. "main" and "3d770ea92fcd0be4e7afd7efa7baf9a7d198d39d" have entirely different histories.
main
...
3d770ea92f
|
@ -361,6 +361,3 @@ MigrationBackup/
|
||||||
|
|
||||||
# Fody - auto-generated XML schema
|
# Fody - auto-generated XML schema
|
||||||
FodyWeavers.xsd
|
FodyWeavers.xsd
|
||||||
/UnitTest/Qt.x64.runsettings
|
|
||||||
/ArchitectureColoredPainting/ClassDiagram.cd
|
|
||||||
/ArchitectureColoredPainting/res/Shaders/Fxaa3_11.glsl
|
|
||||||
|
|
|
@ -4,76 +4,26 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
VisualStudioVersion = 17.2.32519.379
|
VisualStudioVersion = 17.2.32519.379
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ArchitectureColoredPainting", "ArchitectureColoredPainting\ArchitectureColoredPainting.vcxproj", "{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ArchitectureColoredPainting", "ArchitectureColoredPainting\ArchitectureColoredPainting.vcxproj", "{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}"
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FramelessHelperCore", "FramelessHelper\qmake\FramelessHelperCore\FramelessHelperCore.vcxproj", "{954D3D24-DF86-33A3-8867-D1735CCBDB10}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FramelessHelperWidgets", "FramelessHelper\qmake\FramelessHelperWidgets\FramelessHelperWidgets.vcxproj", "{E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTest", "UnitTest\UnitTest.vcxproj", "{C81742B7-2428-4329-BEA8-01E4B985810A}"
|
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709} = {3FE96A33-2BB7-4686-A710-3EB8E3BBD709}
|
{B982E745-C0B1-46B3-A27B-743AF105F2D0} = {B982E745-C0B1-46B3-A27B-743AF105F2D0}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "components", "qt-material-widgets\components\components.vcxproj", "{8F360763-A045-3808-87A9-3FAE38E69819}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QGoodWindow", "QGoodWindow\QGoodWindow.vcxproj", "{B982E745-C0B1-46B3-A27B-743AF105F2D0}"
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples", "qt-material-widgets\examples\examples.vcxproj", "{2CF18346-77C1-3A0A-B9ED-8B38C828491B}"
|
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|x64 = Debug|x64
|
Debug|x64 = Debug|x64
|
||||||
Debug|x86 = Debug|x86
|
|
||||||
Release|x64 = Release|x64
|
Release|x64 = Release|x64
|
||||||
Release|x86 = Release|x86
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Debug|x64.ActiveCfg = Debug|x64
|
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Debug|x64.Build.0 = Debug|x64
|
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Debug|x64.Build.0 = Debug|x64
|
||||||
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Debug|x86.ActiveCfg = Debug|x64
|
|
||||||
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Debug|x86.Build.0 = Debug|x64
|
|
||||||
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Release|x64.ActiveCfg = Release|x64
|
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Release|x64.ActiveCfg = Release|x64
|
||||||
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Release|x64.Build.0 = Release|x64
|
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Release|x64.Build.0 = Release|x64
|
||||||
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Release|x86.ActiveCfg = Release|x64
|
{B982E745-C0B1-46B3-A27B-743AF105F2D0}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}.Release|x86.Build.0 = Release|x64
|
{B982E745-C0B1-46B3-A27B-743AF105F2D0}.Debug|x64.Build.0 = Debug|x64
|
||||||
{954D3D24-DF86-33A3-8867-D1735CCBDB10}.Debug|x64.ActiveCfg = Debug|x64
|
{B982E745-C0B1-46B3-A27B-743AF105F2D0}.Release|x64.ActiveCfg = Release|x64
|
||||||
{954D3D24-DF86-33A3-8867-D1735CCBDB10}.Debug|x64.Build.0 = Debug|x64
|
{B982E745-C0B1-46B3-A27B-743AF105F2D0}.Release|x64.Build.0 = Release|x64
|
||||||
{954D3D24-DF86-33A3-8867-D1735CCBDB10}.Debug|x86.ActiveCfg = Debug|x64
|
|
||||||
{954D3D24-DF86-33A3-8867-D1735CCBDB10}.Debug|x86.Build.0 = Debug|x64
|
|
||||||
{954D3D24-DF86-33A3-8867-D1735CCBDB10}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{954D3D24-DF86-33A3-8867-D1735CCBDB10}.Release|x64.Build.0 = Release|x64
|
|
||||||
{954D3D24-DF86-33A3-8867-D1735CCBDB10}.Release|x86.ActiveCfg = Release|x64
|
|
||||||
{954D3D24-DF86-33A3-8867-D1735CCBDB10}.Release|x86.Build.0 = Release|x64
|
|
||||||
{E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Debug|x86.ActiveCfg = Debug|x64
|
|
||||||
{E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Debug|x86.Build.0 = Debug|x64
|
|
||||||
{E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Release|x64.Build.0 = Release|x64
|
|
||||||
{E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Release|x86.ActiveCfg = Release|x64
|
|
||||||
{E7A71E05-4AA5-31DB-A17D-542FC7BD83A3}.Release|x86.Build.0 = Release|x64
|
|
||||||
{C81742B7-2428-4329-BEA8-01E4B985810A}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{C81742B7-2428-4329-BEA8-01E4B985810A}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{C81742B7-2428-4329-BEA8-01E4B985810A}.Debug|x86.ActiveCfg = Debug|x64
|
|
||||||
{C81742B7-2428-4329-BEA8-01E4B985810A}.Debug|x86.Build.0 = Debug|x64
|
|
||||||
{C81742B7-2428-4329-BEA8-01E4B985810A}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{C81742B7-2428-4329-BEA8-01E4B985810A}.Release|x64.Build.0 = Release|x64
|
|
||||||
{C81742B7-2428-4329-BEA8-01E4B985810A}.Release|x86.ActiveCfg = Release|x64
|
|
||||||
{C81742B7-2428-4329-BEA8-01E4B985810A}.Release|x86.Build.0 = Release|x64
|
|
||||||
{8F360763-A045-3808-87A9-3FAE38E69819}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{8F360763-A045-3808-87A9-3FAE38E69819}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{8F360763-A045-3808-87A9-3FAE38E69819}.Debug|x86.ActiveCfg = Debug|x64
|
|
||||||
{8F360763-A045-3808-87A9-3FAE38E69819}.Debug|x86.Build.0 = Debug|x64
|
|
||||||
{8F360763-A045-3808-87A9-3FAE38E69819}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{8F360763-A045-3808-87A9-3FAE38E69819}.Release|x64.Build.0 = Release|x64
|
|
||||||
{8F360763-A045-3808-87A9-3FAE38E69819}.Release|x86.ActiveCfg = Release|x64
|
|
||||||
{8F360763-A045-3808-87A9-3FAE38E69819}.Release|x86.Build.0 = Release|x64
|
|
||||||
{2CF18346-77C1-3A0A-B9ED-8B38C828491B}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{2CF18346-77C1-3A0A-B9ED-8B38C828491B}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{2CF18346-77C1-3A0A-B9ED-8B38C828491B}.Debug|x86.ActiveCfg = Debug|x64
|
|
||||||
{2CF18346-77C1-3A0A-B9ED-8B38C828491B}.Debug|x86.Build.0 = Debug|x64
|
|
||||||
{2CF18346-77C1-3A0A-B9ED-8B38C828491B}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{2CF18346-77C1-3A0A-B9ED-8B38C828491B}.Release|x64.Build.0 = Release|x64
|
|
||||||
{2CF18346-77C1-3A0A-B9ED-8B38C828491B}.Release|x86.ActiveCfg = Release|x64
|
|
||||||
{2CF18346-77C1-3A0A-B9ED-8B38C828491B}.Release|x86.Build.0 = Release|x64
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
<ProjectGuid>{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}</ProjectGuid>
|
<ProjectGuid>{3FE96A33-2BB7-4686-A710-3EB8E3BBD709}</ProjectGuid>
|
||||||
<Keyword>QtVS_v304</Keyword>
|
<Keyword>QtVS_v304</Keyword>
|
||||||
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">10.0</WindowsTargetPlatformVersion>
|
||||||
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0</WindowsTargetPlatformVersion>
|
<WindowsTargetPlatformVersion Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">10.0.19041.0</WindowsTargetPlatformVersion>
|
||||||
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
|
<QtMsBuild Condition="'$(QtMsBuild)'=='' OR !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
@ -32,12 +32,12 @@
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="QtSettings">
|
||||||
<QtInstall>5.15.2_msvc2019_64</QtInstall>
|
<QtInstall>5.15.2_msvc2019_64</QtInstall>
|
||||||
<QtModules>core;xml;gui;svg;widgets;concurrent;core-private;gui-private;widgets-private</QtModules>
|
<QtModules>core;xml;gui;svg;widgets;winextras</QtModules>
|
||||||
<QtBuildConfig>debug</QtBuildConfig>
|
<QtBuildConfig>debug</QtBuildConfig>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'" Label="QtSettings">
|
||||||
<QtInstall>5.15.2_msvc2019_64</QtInstall>
|
<QtInstall>5.15.2_msvc2019_64</QtInstall>
|
||||||
<QtModules>core;xml;gui;svg;widgets;concurrent;core-private;gui-private;widgets-private</QtModules>
|
<QtModules>core;gui;widgets</QtModules>
|
||||||
<QtBuildConfig>release</QtBuildConfig>
|
<QtBuildConfig>release</QtBuildConfig>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
|
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
|
||||||
|
@ -55,40 +55,28 @@
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||||
<IncludePath>$(IncludePath)</IncludePath>
|
<IncludePath>$(SolutionDir)include;$(IncludePath)</IncludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
<AdditionalIncludeDirectories>$(ProjectDir)include;$(SolutionDir)ArchitectureColoredPainting\src\Editor\RightBar;$(SolutionDir)ArchitectureColoredPainting\src\Editor\;$(SolutionDir)FramelessHelper\include;$(SolutionDir)FramelessHelper\qmake\inc\core;$(SolutionDir)FramelessHelper\include\FramelessHelper\Core;$(SolutionDir)qt-material-widgets\components;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)QGoodWindow;%(AdditionalIncludeDirectories);$(Qt_INCLUDEPATH_)</AdditionalIncludeDirectories>
|
||||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
||||||
<PreprocessorDefinitions>FRAMELESSHELPER_WIDGETS_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<LanguageStandard>stdcpp20</LanguageStandard>
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
||||||
<AdditionalIncludeDirectories>$(ProjectDir)include;$(SolutionDir)ArchitectureColoredPainting\src\Editor\RightBar;$(SolutionDir)ArchitectureColoredPainting\src\Editor\;$(SolutionDir)FramelessHelper\include;$(SolutionDir)FramelessHelper\qmake\inc\core;$(SolutionDir)FramelessHelper\include\FramelessHelper\Core;$(SolutionDir)qt-material-widgets\components;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)ArchitectureColoredPainting\src\Editor\RightBar;$(SolutionDir)ArchitectureColoredPainting\src\Editor\;$(SolutionDir)QGoodWindow;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>FRAMELESSHELPER_WIDGETS_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<WarningLevel>Level1</WarningLevel>
|
|
||||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
||||||
<TreatSpecificWarningsAsErrors>4715;</TreatSpecificWarningsAsErrors>
|
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'" Label="Configuration">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
<Optimization>MaxSpeed</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
|
@ -110,203 +98,113 @@
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="src\Editor\Properties\MaterialReplaceDialog.cpp" />
|
<ClCompile Include="src\CaptionButton.cpp" />
|
||||||
<ClCompile Include="src\Editor\util\JsonMerger.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\Properties\ProjectPropertyWidget.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\Properties\ProjectPropertyDialog.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\Properties\CanvasPropertyWidget.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\Properties\PropertyWidget.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\LayerContainerListWidget.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\DataManager\ProjectDataManager.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\FillStyleWidget.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\RightBar\EditorSettingWidget.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\ColorPicker.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\LayerCreateWidget.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\LayerStyleDialog.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\EditorWidget.cpp" />
|
<ClCompile Include="src\Editor\EditorWidget.cpp" />
|
||||||
<ClCompile Include="src\Editor\EditorWidgetItem.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\ElementManager.cpp" />
|
<ClCompile Include="src\Editor\ElementManager.cpp" />
|
||||||
<ClCompile Include="src\Editor\ElementPoolWidget.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\GraphicElement.cpp" />
|
<ClCompile Include="src\Editor\GraphicElement.cpp" />
|
||||||
<ClCompile Include="src\Editor\LayerManager.cpp" />
|
<ClCompile Include="src\Editor\LayerManager.cpp" />
|
||||||
<ClCompile Include="src\Editor\LayerStyle.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\LayerWrapper.cpp" />
|
<ClCompile Include="src\Editor\LayerWrapper.cpp" />
|
||||||
<ClCompile Include="src\Editor\PixelPath.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\PreviewWindow.cpp" />
|
<ClCompile Include="src\Editor\PreviewWindow.cpp" />
|
||||||
<ClCompile Include="src\Editor\RightBar\InfoDisplayWidget.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\RightBar\LayerTreeWidget.cpp" />
|
<ClCompile Include="src\Editor\RightBar\LayerTreeWidget.cpp" />
|
||||||
<ClCompile Include="src\Editor\ThirdPartyLib\qquick\qquicksvgparser.cpp" />
|
<ClCompile Include="src\Editor\third-party modules\qquick\qquicksvgparser.cpp" />
|
||||||
<ClCompile Include="src\Editor\ThirdPartyLib\SvgHelper.cpp" />
|
<ClCompile Include="src\Editor\third-party modules\util\SvgFileLoader.cpp" />
|
||||||
<ClCompile Include="src\Editor\util\PainterPathUtil.cpp" />
|
<ClCompile Include="src\IconWidget.cpp" />
|
||||||
<ClCompile Include="src\Editor\util\PaintingUtil.cpp" />
|
|
||||||
<ClCompile Include="src\Editor\util\SvgFileLoader.cpp" />
|
|
||||||
<ClCompile Include="src\FlowLayout.cpp" />
|
|
||||||
<ClCompile Include="src\FluentMenu.cpp" />
|
|
||||||
<ClCompile Include="src\FluentMenuButton.cpp" />
|
|
||||||
<ClCompile Include="src\gl.c" />
|
|
||||||
<ClCompile Include="src\Library\LibraryWidget.cpp" />
|
|
||||||
<ClCompile Include="src\main.cpp" />
|
<ClCompile Include="src\main.cpp" />
|
||||||
<ClCompile Include="src\MainWindow.cpp" />
|
<ClCompile Include="src\MainWindow.cpp" />
|
||||||
<ClCompile Include="src\NavigationBarWidget.cpp" />
|
<ClCompile Include="src\NavigationBarWidget.cpp" />
|
||||||
<ClCompile Include="src\Renderer\IblUtils.cpp" />
|
|
||||||
<ClCompile Include="src\Renderer\Painting\BaseStyle.cpp" />
|
|
||||||
<ClCompile Include="src\Renderer\Painting\BvhTree.cpp" />
|
<ClCompile Include="src\Renderer\Painting\BvhTree.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Camera.cpp" />
|
<ClCompile Include="src\Renderer\Camera.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Painting\CubicBezier.cpp" />
|
<ClCompile Include="src\Renderer\Painting\CubicBezier.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Painting\CubicBezierSignedDistance.cpp" />
|
<ClCompile Include="src\Renderer\Painting\CubicBezierSignedDistance.cpp" />
|
||||||
|
<ClCompile Include="src\Renderer\Painting\CubicMonotonization.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Light.cpp" />
|
<ClCompile Include="src\Renderer\Light.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Painting\Element.cpp" />
|
<ClCompile Include="src\Renderer\Painting\Element.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Painting\ElementStyle.cpp" />
|
|
||||||
<ClCompile Include="src\Renderer\Painting\MaterialStyleFill.cpp" />
|
|
||||||
<ClCompile Include="src\Renderer\Painting\Line.cpp" />
|
<ClCompile Include="src\Renderer\Painting\Line.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Mesh.cpp" />
|
<ClCompile Include="src\Renderer\Mesh.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Model.cpp" />
|
<ClCompile Include="src\Renderer\Model.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Painting\LineTree.cpp" />
|
<ClCompile Include="src\Renderer\Painting\LineTree.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Painting\MaterialStyleStroke.cpp" />
|
|
||||||
<ClCompile Include="src\Renderer\Painting\Painting.cpp" />
|
<ClCompile Include="src\Renderer\Painting\Painting.cpp" />
|
||||||
|
<ClCompile Include="src\Renderer\Painting\PaintingHelper.cpp" />
|
||||||
<ClCompile Include="src\Renderer\PaintingMesh.cpp" />
|
<ClCompile Include="src\Renderer\PaintingMesh.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Preview\ElementRenderer.cpp" />
|
|
||||||
<ClCompile Include="src\Renderer\Preview\PaintingRenderer.cpp" />
|
|
||||||
<ClCompile Include="src\Renderer\RendererGLWidget.cpp" />
|
<ClCompile Include="src\Renderer\RendererGLWidget.cpp" />
|
||||||
<ClCompile Include="src\Renderer\RendererWidget.cpp" />
|
<ClCompile Include="src\Renderer\RendererWidget.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Painting\ShortCutTree.cpp" />
|
<ClCompile Include="src\Renderer\Painting\ShortCutTree.cpp" />
|
||||||
<ClCompile Include="src\Renderer\Painting\StraightLine.cpp" />
|
<ClCompile Include="src\Renderer\Painting\StraightLine.cpp" />
|
||||||
<ClCompile Include="src\Renderer\RenderPass.cpp" />
|
|
||||||
<ClCompile Include="src\Renderer\Shader.cpp" />
|
|
||||||
<ClCompile Include="src\Renderer\VirtualTextureManager.cpp" />
|
|
||||||
<ClCompile Include="src\SvgParser.cpp" />
|
<ClCompile Include="src\SvgParser.cpp" />
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\StrokeStyleWidget.cpp" />
|
<ClCompile Include="src\TitleWidget.cpp" />
|
||||||
<QtUic Include="EditorLayerInfoWidget.ui" />
|
<ClCompile Include="src\Editor\third-party modules\SvgHelper.cpp" />
|
||||||
<QtUic Include="EditorSettingWidget.ui" />
|
<QtRcc Include="MainWindow.qrc" />
|
||||||
<QtUic Include="EditorWidget.ui" />
|
<QtUic Include="EditorWidget.ui" />
|
||||||
<QtUic Include="EditorWidgetItem.ui" />
|
<QtUic Include="FramelessWindow.ui" />
|
||||||
<QtUic Include="LibraryWidget.ui" />
|
|
||||||
<QtUic Include="MainWindow.ui" />
|
<QtUic Include="MainWindow.ui" />
|
||||||
<QtUic Include="PaintingItem.ui" />
|
<QtUic Include="NavigationBarWidget.ui" />
|
||||||
<QtUic Include="RendererWidget.ui" />
|
<QtUic Include="RendererWidget.ui" />
|
||||||
<QtUic Include="src\Editor\EditorWidgetComponent\LayerCreateWidget.ui" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\data.json" />
|
<None Include="..\data.json" />
|
||||||
<None Include="res\Shaders\brdf_lut.comp" />
|
<None Include="darkstyle.qss" />
|
||||||
<None Include="res\Shaders\cubemap.frag" />
|
<None Include="lightstyle.qss" />
|
||||||
<None Include="res\Shaders\cubemap.vert" />
|
<None Include="Shaders\depth_init.comp" />
|
||||||
<None Include="res\Shaders\cubemap_prefilter.frag" />
|
<None Include="Shaders\depth_mipmap.comp" />
|
||||||
<None Include="res\Shaders\depth_init.comp" />
|
<None Include="Shaders\final.frag" />
|
||||||
<None Include="res\Shaders\depth_mipmap.comp" />
|
<None Include="Shaders\final.vert" />
|
||||||
<None Include="res\Shaders\element.comp" />
|
<None Include="Shaders\model.frag" />
|
||||||
<None Include="res\Shaders\final.frag" />
|
<None Include="Shaders\model.vert" />
|
||||||
<None Include="res\Shaders\final.vert" />
|
<None Include="Shaders\model_shadow.frag" />
|
||||||
<None Include="res\Shaders\irradiance_convolution.frag" />
|
<None Include="Shaders\model_shadow.geom" />
|
||||||
<None Include="res\Shaders\model.frag" />
|
<None Include="Shaders\model_shadow.vert" />
|
||||||
<None Include="res\Shaders\model.vert" />
|
<None Include="Shaders\painting.comp" />
|
||||||
<None Include="res\Shaders\model_shadow.frag" />
|
<None Include="Shaders\painting.frag" />
|
||||||
<None Include="res\Shaders\model_shadow.geom" />
|
<None Include="Shaders\painting.vert" />
|
||||||
<None Include="res\Shaders\model_shadow.vert" />
|
<None Include="Shaders\shader.frag" />
|
||||||
<None Include="res\Shaders\pageId_downsample.comp" />
|
<None Include="Shaders\shader.vert" />
|
||||||
<None Include="res\Shaders\painting.comp" />
|
<None Include="Shaders\shadow_mapping.comp" />
|
||||||
<None Include="res\Shaders\painting.frag" />
|
<None Include="Shaders\ssgi.comp" />
|
||||||
<None Include="res\Shaders\painting.vert" />
|
|
||||||
<None Include="res\Shaders\painting_shadow.frag" />
|
|
||||||
<None Include="res\Shaders\shader.frag" />
|
|
||||||
<None Include="res\Shaders\shader.vert" />
|
|
||||||
<None Include="res\Shaders\shadow_mapping.comp" />
|
|
||||||
<None Include="res\Shaders\skybox.frag" />
|
|
||||||
<None Include="res\Shaders\skybox.vert" />
|
|
||||||
<None Include="res\Shaders\ssao.comp" />
|
|
||||||
<None Include="res\Shaders\ssao_blur.comp" />
|
|
||||||
<None Include="res\Shaders\ssgi.comp" />
|
|
||||||
<None Include="res\Shaders\tone_mapping.comp" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\StrokeStyleWidget.h" />
|
|
||||||
<QtMoc Include="src\Editor\RightBar\LayerTreeWidget.h" />
|
<QtMoc Include="src\Editor\RightBar\LayerTreeWidget.h" />
|
||||||
<QtMoc Include="src\Editor\RightBar\InfoDisplayWidget.h" />
|
<ClInclude Include="src\Editor\third-party modules\qquick\qtquickglobal.h" />
|
||||||
|
<ClInclude Include="src\Editor\third-party modules\qquick\qtquickglobal_p.h" />
|
||||||
|
<ClInclude Include="src\Editor\third-party modules\qquick\qquicksvgparser_p.h" />
|
||||||
|
<ClInclude Include="src\Editor\third-party modules\SvgHelper.h" />
|
||||||
<QtMoc Include="src\MainWindow.h" />
|
<QtMoc Include="src\MainWindow.h" />
|
||||||
<QtMoc Include="src\Editor\EditorWidget.h" />
|
<ClInclude Include="src\Editor\ElementManager.h" />
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\LayerCreateWidget.h" />
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\LayerStyleDialog.h" />
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\ColorPicker.h" />
|
|
||||||
<QtMoc Include="src\Editor\RightBar\EditorSettingWidget.h" />
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\FillStyleWidget.h" />
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\LayerContainerListWidget.h" />
|
|
||||||
<QtMoc Include="src\Editor\Properties\CanvasPropertyWidget.h" />
|
|
||||||
<QtMoc Include="src\Editor\Properties\ProjectPropertyDialog.h" />
|
|
||||||
<QtMoc Include="src\Editor\Properties\ProjectPropertyWidget.h" />
|
|
||||||
<QtMoc Include="src\Editor\Properties\MaterialReplaceDialog.h" />
|
|
||||||
<ClInclude Include="src\Editor\util\JsonMerger.h" />
|
|
||||||
<ClInclude Include="resource.h" />
|
|
||||||
<ClInclude Include="src\Editor\Properties\PropertyWidget.h" />
|
|
||||||
<ClInclude Include="src\Editor\DataManager\ProjectDataManager.h" />
|
|
||||||
<ClInclude Include="src\ColorHelper.hpp" />
|
|
||||||
<ClInclude Include="src\Editor\LayerWrapper.h" />
|
|
||||||
<ClInclude Include="src\Editor\util\EncodeUtil.hpp" />
|
|
||||||
<ClInclude Include="src\Editor\util\JsonUtil.hpp" />
|
|
||||||
<QtMoc Include="src\Editor\ElementManager.h" />
|
|
||||||
<QtMoc Include="src\Editor\ElementPoolWidget.h" />
|
|
||||||
<ClInclude Include="src\Editor\GraphicElement.h" />
|
<ClInclude Include="src\Editor\GraphicElement.h" />
|
||||||
<ClInclude Include="src\Editor\LayerManager.h" />
|
<ClInclude Include="src\Editor\LayerManager.h" />
|
||||||
<ClInclude Include="src\Editor\LayerStyle.h" />
|
<ClInclude Include="src\Editor\LayerStyle.h" />
|
||||||
|
<ClInclude Include="src\Editor\LayerWrapper.h" />
|
||||||
<QtMoc Include="src\Editor\PreviewWindow.h" />
|
<QtMoc Include="src\Editor\PreviewWindow.h" />
|
||||||
<ClInclude Include="src\Editor\PixelPath.h" />
|
<ClInclude Include="src\Editor\third-party modules\util\SvgFileLoader.h" />
|
||||||
<ClInclude Include="src\Editor\ThirdPartyLib\qquick\qquicksvgparser_p.h" />
|
|
||||||
<ClInclude Include="src\Editor\ThirdPartyLib\qquick\qtquickglobal.h" />
|
|
||||||
<ClInclude Include="src\Editor\ThirdPartyLib\qquick\qtquickglobal_p.h" />
|
|
||||||
<ClInclude Include="src\Editor\ThirdPartyLib\SvgHelper.h" />
|
|
||||||
<ClInclude Include="src\Editor\util\PainterPathUtil.h" />
|
|
||||||
<ClInclude Include="src\Editor\util\PaintingUtil.h" />
|
|
||||||
<ClInclude Include="src\Editor\util\SvgFileLoader.h" />
|
|
||||||
<QtMoc Include="src\FluentMenu.h" />
|
|
||||||
<ClInclude Include="src\FlowLayout.h" />
|
|
||||||
<ClInclude Include="src\FluentMenuButton.h" />
|
|
||||||
<QtMoc Include="src\Library\LibraryWidget.h" />
|
|
||||||
<ClInclude Include="src\Renderer\IblUtils.h" />
|
|
||||||
<ClInclude Include="src\Renderer\Painting\BaseStyle.h" />
|
|
||||||
<ClInclude Include="src\Renderer\Painting\CubicBezierSignedDistance.h" />
|
<ClInclude Include="src\Renderer\Painting\CubicBezierSignedDistance.h" />
|
||||||
<ClInclude Include="src\Renderer\Painting\Element.h" />
|
<ClInclude Include="src\Renderer\Painting\Element.h" />
|
||||||
<ClInclude Include="src\Renderer\Painting\ElementStyle.h" />
|
|
||||||
<ClInclude Include="src\Renderer\Painting\MaterialStyleFill.h" />
|
|
||||||
<ClInclude Include="src\Renderer\Painting\LineTree.h" />
|
<ClInclude Include="src\Renderer\Painting\LineTree.h" />
|
||||||
<ClInclude Include="src\Renderer\Painting\MaterialStyleStroke.h" />
|
|
||||||
<ClInclude Include="src\Renderer\Painting\Painting.h" />
|
<ClInclude Include="src\Renderer\Painting\Painting.h" />
|
||||||
<ClInclude Include="src\Renderer\Preview\ElementRenderer.h" />
|
|
||||||
<ClInclude Include="src\Renderer\Preview\PaintingRenderer.h" />
|
|
||||||
<ClInclude Include="src\Renderer\RenderPass.h" />
|
|
||||||
<ClInclude Include="src\Renderer\Shader.h" />
|
|
||||||
<ClInclude Include="src\Renderer\VirtualTextureManager.h" />
|
|
||||||
<ClInclude Include="src\SvgParser.h" />
|
<ClInclude Include="src\SvgParser.h" />
|
||||||
|
<QtMoc Include="src\TitleWidget.h" />
|
||||||
|
<QtMoc Include="src\IconWidget.h" />
|
||||||
|
<QtMoc Include="src\CaptionButton.h" />
|
||||||
<QtMoc Include="src\NavigationBarWidget.h" />
|
<QtMoc Include="src\NavigationBarWidget.h" />
|
||||||
<QtMoc Include="src\Renderer\RendererWidget.h" />
|
<QtMoc Include="src\Renderer\RendererWidget.h" />
|
||||||
<QtMoc Include="src\Editor\EditorWidgetItem.h" />
|
<QtMoc Include="src\Editor\EditorWidget.h" />
|
||||||
<ClInclude Include="src\Renderer\Painting\BvhTree.h" />
|
<ClInclude Include="src\Renderer\Painting\BvhTree.h" />
|
||||||
<ClInclude Include="src\Renderer\Camera.h" />
|
<ClInclude Include="src\Renderer\Camera.h" />
|
||||||
<ClInclude Include="src\Renderer\Painting\CubicBezier.h" />
|
<ClInclude Include="src\Renderer\Painting\CubicBezier.h" />
|
||||||
|
<ClInclude Include="src\Renderer\Painting\CubicMonotonization.h" />
|
||||||
<ClInclude Include="src\Renderer\Drawable.h" />
|
<ClInclude Include="src\Renderer\Drawable.h" />
|
||||||
<ClInclude Include="src\Renderer\Light.h" />
|
<ClInclude Include="src\Renderer\Light.h" />
|
||||||
<ClInclude Include="src\Renderer\Painting\Line.h" />
|
<ClInclude Include="src\Renderer\Painting\Line.h" />
|
||||||
<ClInclude Include="src\Renderer\Mesh.h" />
|
<ClInclude Include="src\Renderer\Mesh.h" />
|
||||||
<ClInclude Include="src\Renderer\Model.h" />
|
<ClInclude Include="src\Renderer\Model.h" />
|
||||||
|
<ClInclude Include="src\Renderer\Painting\PaintingHelper.h" />
|
||||||
<ClInclude Include="src\Renderer\PaintingMesh.h" />
|
<ClInclude Include="src\Renderer\PaintingMesh.h" />
|
||||||
<ClInclude Include="src\Renderer\Painting\ShortCutTree.h" />
|
<ClInclude Include="src\Renderer\Painting\ShortCutTree.h" />
|
||||||
<ClInclude Include="src\Renderer\Painting\StraightLine.h" />
|
<ClInclude Include="src\Renderer\Painting\StraightLine.h" />
|
||||||
<QtMoc Include="src\Renderer\RendererGLWidget.h" />
|
<QtMoc Include="src\Renderer\RendererGLWidget.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtRcc Include="res\MainWindow.qrc" />
|
<ProjectReference Include="..\QGoodWindow\QGoodWindow.vcxproj">
|
||||||
</ItemGroup>
|
<Project>{b982e745-c0b1-46b3-a27b-743af105f2d0}</Project>
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\FramelessHelper\qmake\FramelessHelperWidgets\FramelessHelperWidgets.vcxproj">
|
|
||||||
<Project>{e7a71e05-4aa5-31db-a17d-542fc7bd83a3}</Project>
|
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\qt-material-widgets\components\components.vcxproj">
|
|
||||||
<Project>{8f360763-a045-3808-87a9-3fae38e69819}</Project>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="Resource.rc" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Image Include="res\images\icon.ico" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
|
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
|
||||||
|
|
|
@ -41,74 +41,38 @@
|
||||||
<Filter Include="Header Files\Renderer\Painting">
|
<Filter Include="Header Files\Renderer\Painting">
|
||||||
<UniqueIdentifier>{22909273-2b23-49fa-84ab-444cefb09656}</UniqueIdentifier>
|
<UniqueIdentifier>{22909273-2b23-49fa-84ab-444cefb09656}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Header Files\Editor\ThirdPartyLib">
|
|
||||||
<UniqueIdentifier>{11f273e9-b41f-4982-b4ca-12851a03aaae}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files\Editor\util">
|
<Filter Include="Header Files\Editor\util">
|
||||||
<UniqueIdentifier>{727fd876-d2b0-4928-80a7-2da7cafe1519}</UniqueIdentifier>
|
<UniqueIdentifier>{e3c323ec-d150-4876-8618-5800c87a4941}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Header Files\Editor\ThirdPartyLib\qquick">
|
<Filter Include="Header Files\Editor\third-party modules">
|
||||||
<UniqueIdentifier>{169687a8-6807-4571-802c-c4a95858db3a}</UniqueIdentifier>
|
<UniqueIdentifier>{30b46cf2-d980-47be-94c4-d2ec1dcc54ed}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Source Files\Editor\ThirdPartyLib">
|
<Filter Include="Header Files\Editor\third-party modules\qquick">
|
||||||
<UniqueIdentifier>{0567e730-5508-4380-8304-86ded8ea3b2f}</UniqueIdentifier>
|
<UniqueIdentifier>{5028c879-8b07-4033-81ac-e538a873a837}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Source Files\Editor\ThirdPartyLib\qquick">
|
<Filter Include="Source Files\Editor\third-party modules">
|
||||||
<UniqueIdentifier>{cfa316d0-97e0-49b0-9911-baebfea49236}</UniqueIdentifier>
|
<UniqueIdentifier>{555d169f-4fa2-4501-b67c-695197b9e6ae}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Source Files\Editor\third-party modules\qquick">
|
||||||
|
<UniqueIdentifier>{0b29331b-03b9-44fe-916f-28f5061b4147}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Source Files\Editor\util">
|
<Filter Include="Source Files\Editor\util">
|
||||||
<UniqueIdentifier>{96f98afe-4250-44cb-a505-682a1d5932c3}</UniqueIdentifier>
|
<UniqueIdentifier>{d7c7ab61-0d05-4e67-9e89-852f3e56fa2f}</UniqueIdentifier>
|
||||||
</Filter>
|
|
||||||
<Filter Include="Source Files\Renderer\Preview">
|
|
||||||
<UniqueIdentifier>{2a8e109f-7791-46ad-8c86-fe22a651cbe7}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files\Renderer\Preview">
|
|
||||||
<UniqueIdentifier>{7ead1a66-586a-4584-ae80-9e7a4e667364}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files\Editor\Style">
|
|
||||||
<UniqueIdentifier>{be3f4585-c8ba-410f-8619-2adcd4349f02}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Source Files\Editor\Style">
|
|
||||||
<UniqueIdentifier>{b9732a33-aa2e-4f8d-886f-1b1730c66519}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files\Editor\Element">
|
|
||||||
<UniqueIdentifier>{8d846557-8fd5-47d5-8edf-eb3eb77c226b}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Source Files\Editor\Element">
|
|
||||||
<UniqueIdentifier>{22d7f3ef-8185-476e-8fe1-aea24c4faacc}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files\Editor\Layer">
|
|
||||||
<UniqueIdentifier>{6fc32493-d5a2-44c3-a283-d2d3181330fb}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Source Files\Editor\Layer">
|
|
||||||
<UniqueIdentifier>{e6de889e-8313-4846-8bdf-125b766eef59}</UniqueIdentifier>
|
|
||||||
</Filter>
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtUic Include="MainWindow.ui">
|
<QtUic Include="MainWindow.ui">
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
<QtUic Include="EditorWidget.ui">
|
<QtUic Include="NavigationBarWidget.ui">
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
<QtUic Include="src\Editor\EditorWidgetComponent\LayerCreateWidget.ui">
|
<QtUic Include="FramelessWindow.ui">
|
||||||
<Filter>Form Files</Filter>
|
|
||||||
</QtUic>
|
|
||||||
<QtUic Include="EditorSettingWidget.ui">
|
|
||||||
<Filter>Form Files</Filter>
|
|
||||||
</QtUic>
|
|
||||||
<QtUic Include="EditorLayerInfoWidget.ui">
|
|
||||||
<Filter>Form Files</Filter>
|
|
||||||
</QtUic>
|
|
||||||
<QtUic Include="LibraryWidget.ui">
|
|
||||||
<Filter>Form Files</Filter>
|
|
||||||
</QtUic>
|
|
||||||
<QtUic Include="PaintingItem.ui">
|
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="src\Editor\EditorWidgetItem.cpp">
|
<ClCompile Include="src\Editor\EditorWidget.cpp">
|
||||||
<Filter>Source Files\Editor</Filter>
|
<Filter>Source Files\Editor</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="src\Renderer\Camera.cpp">
|
<ClCompile Include="src\Renderer\Camera.cpp">
|
||||||
|
@ -141,12 +105,30 @@
|
||||||
<ClCompile Include="src\Renderer\RendererWidget.cpp">
|
<ClCompile Include="src\Renderer\RendererWidget.cpp">
|
||||||
<Filter>Source Files\Renderer</Filter>
|
<Filter>Source Files\Renderer</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\NavigationBarWidget.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\CaptionButton.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\IconWidget.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\TitleWidget.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="src\Renderer\Painting\BvhTree.cpp">
|
<ClCompile Include="src\Renderer\Painting\BvhTree.cpp">
|
||||||
<Filter>Source Files\Renderer\Painting</Filter>
|
<Filter>Source Files\Renderer\Painting</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="src\Renderer\Painting\CubicBezier.cpp">
|
<ClCompile Include="src\Renderer\Painting\CubicBezier.cpp">
|
||||||
<Filter>Source Files\Renderer\Painting</Filter>
|
<Filter>Source Files\Renderer\Painting</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\Renderer\Painting\CubicMonotonization.cpp">
|
||||||
|
<Filter>Source Files\Renderer\Painting</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\Renderer\Painting\PaintingHelper.cpp">
|
||||||
|
<Filter>Source Files\Renderer\Painting</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="src\Renderer\Painting\ShortCutTree.cpp">
|
<ClCompile Include="src\Renderer\Painting\ShortCutTree.cpp">
|
||||||
<Filter>Source Files\Renderer\Painting</Filter>
|
<Filter>Source Files\Renderer\Painting</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -162,6 +144,18 @@
|
||||||
<ClCompile Include="src\Renderer\Painting\Element.cpp">
|
<ClCompile Include="src\Renderer\Painting\Element.cpp">
|
||||||
<Filter>Source Files\Renderer\Painting</Filter>
|
<Filter>Source Files\Renderer\Painting</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\Editor\GraphicElement.cpp">
|
||||||
|
<Filter>Source Files\Editor</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\Editor\ElementManager.cpp">
|
||||||
|
<Filter>Source Files\Editor</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\Editor\LayerManager.cpp">
|
||||||
|
<Filter>Source Files\Editor</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\Editor\LayerWrapper.cpp">
|
||||||
|
<Filter>Source Files\Editor</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="src\Editor\PreviewWindow.cpp">
|
<ClCompile Include="src\Editor\PreviewWindow.cpp">
|
||||||
<Filter>Source Files\Editor</Filter>
|
<Filter>Source Files\Editor</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -171,142 +165,16 @@
|
||||||
<ClCompile Include="src\Renderer\Painting\CubicBezierSignedDistance.cpp">
|
<ClCompile Include="src\Renderer\Painting\CubicBezierSignedDistance.cpp">
|
||||||
<Filter>Source Files\Renderer\Painting</Filter>
|
<Filter>Source Files\Renderer\Painting</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="src\Renderer\Painting\ElementStyle.cpp">
|
<ClCompile Include="src\Editor\third-party modules\qquick\qquicksvgparser.cpp">
|
||||||
<Filter>Source Files\Renderer\Painting</Filter>
|
<Filter>Source Files\Editor\third-party modules\qquick</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="src\Renderer\Painting\MaterialStyleFill.cpp">
|
<ClCompile Include="src\Editor\third-party modules\util\SvgFileLoader.cpp">
|
||||||
<Filter>Source Files\Renderer\Painting</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Renderer\Painting\BaseStyle.cpp">
|
|
||||||
<Filter>Source Files\Renderer\Painting</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Renderer\Painting\MaterialStyleStroke.cpp">
|
|
||||||
<Filter>Source Files\Renderer\Painting</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\ThirdPartyLib\qquick\qquicksvgparser.cpp">
|
|
||||||
<Filter>Source Files\Editor\ThirdPartyLib\qquick</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\ThirdPartyLib\SvgHelper.cpp">
|
|
||||||
<Filter>Source Files\Editor\ThirdPartyLib</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\util\SvgFileLoader.cpp">
|
|
||||||
<Filter>Source Files\Editor\util</Filter>
|
<Filter>Source Files\Editor\util</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="src\Editor\util\PainterPathUtil.cpp">
|
<ClCompile Include="src\Editor\third-party modules\SvgHelper.cpp">
|
||||||
<Filter>Source Files\Editor\util</Filter>
|
<Filter>Source Files\Editor\third-party modules</Filter>
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Renderer\Preview\ElementRenderer.cpp">
|
|
||||||
<Filter>Source Files\Renderer\Preview</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Renderer\IblUtils.cpp">
|
|
||||||
<Filter>Source Files\Renderer</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Renderer\VirtualTextureManager.cpp">
|
|
||||||
<Filter>Source Files\Renderer</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\gl.c">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\PixelPath.cpp">
|
|
||||||
<Filter>Source Files\Editor</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\FluentMenu.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\util\PaintingUtil.cpp">
|
|
||||||
<Filter>Source Files\Editor\util</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\LayerStyle.cpp">
|
|
||||||
<Filter>Source Files\Editor\Style</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\LayerStyleDialog.cpp">
|
|
||||||
<Filter>Source Files\Editor\Style</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\StrokeStyleWidget.cpp">
|
|
||||||
<Filter>Source Files\Editor\Style</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\RightBar\InfoDisplayWidget.cpp">
|
|
||||||
<Filter>Source Files\Editor</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\NavigationBarWidget.cpp">
|
|
||||||
<Filter>Source Files\Editor</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\EditorWidget.cpp">
|
|
||||||
<Filter>Source Files\Editor</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\RightBar\EditorSettingWidget.cpp">
|
|
||||||
<Filter>Source Files\Editor</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\FillStyleWidget.cpp">
|
|
||||||
<Filter>Source Files\Editor\Style</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\ElementManager.cpp">
|
|
||||||
<Filter>Source Files\Editor\Element</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\ElementPoolWidget.cpp">
|
|
||||||
<Filter>Source Files\Editor\Element</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\GraphicElement.cpp">
|
|
||||||
<Filter>Source Files\Editor\Element</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\LayerManager.cpp">
|
|
||||||
<Filter>Source Files\Editor\Layer</Filter>
|
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="src\Editor\RightBar\LayerTreeWidget.cpp">
|
<ClCompile Include="src\Editor\RightBar\LayerTreeWidget.cpp">
|
||||||
<Filter>Source Files\Editor\Layer</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\LayerCreateWidget.cpp">
|
|
||||||
<Filter>Source Files\Editor\Layer</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\LayerWrapper.cpp">
|
|
||||||
<Filter>Source Files\Editor\Layer</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\FillStyleWidget.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\DataManager\ProjectDataManager.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\ColorPicker.cpp">
|
|
||||||
<Filter>Source Files\Editor</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\FluentMenuButton.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\EditorWidgetComponent\LayerContainerListWidget.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\Properties\PropertyWidget.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\Properties\CanvasPropertyWidget.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\Properties\ProjectPropertyDialog.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\Properties\ProjectPropertyWidget.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Renderer\Preview\PaintingRenderer.cpp">
|
|
||||||
<Filter>Source Files\Renderer\Preview</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\util\JsonMerger.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Editor\Properties\MaterialReplaceDialog.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Library\LibraryWidget.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\FlowLayout.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Renderer\RenderPass.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="src\Renderer\Shader.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
@ -314,163 +182,93 @@
|
||||||
<QtMoc Include="src\Renderer\RendererGLWidget.h">
|
<QtMoc Include="src\Renderer\RendererGLWidget.h">
|
||||||
<Filter>Header Files\Renderer</Filter>
|
<Filter>Header Files\Renderer</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
<QtMoc Include="src\Editor\EditorWidgetItem.h">
|
<QtMoc Include="src\Editor\EditorWidget.h">
|
||||||
<Filter>Header Files\Editor</Filter>
|
<Filter>Header Files\Editor</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
<QtMoc Include="src\Renderer\RendererWidget.h">
|
<QtMoc Include="src\Renderer\RendererWidget.h">
|
||||||
<Filter>Header Files\Renderer</Filter>
|
<Filter>Header Files\Renderer</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
|
<QtMoc Include="src\NavigationBarWidget.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
|
<QtMoc Include="src\CaptionButton.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
|
<QtMoc Include="src\IconWidget.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
|
<QtMoc Include="src\TitleWidget.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
|
<QtMoc Include="src\MainWindow.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</QtMoc>
|
||||||
<QtMoc Include="src\Editor\PreviewWindow.h">
|
<QtMoc Include="src\Editor\PreviewWindow.h">
|
||||||
<Filter>Header Files\Editor</Filter>
|
<Filter>Header Files\Editor</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
<QtMoc Include="src\FluentMenu.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\StrokeStyleWidget.h">
|
|
||||||
<Filter>Header Files\Editor\Style</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\LayerStyleDialog.h">
|
|
||||||
<Filter>Header Files\Editor\Style</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\RightBar\InfoDisplayWidget.h">
|
|
||||||
<Filter>Header Files\Editor</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\EditorWidget.h">
|
|
||||||
<Filter>Header Files\Editor</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\MainWindow.h">
|
|
||||||
<Filter>Header Files\Editor</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\NavigationBarWidget.h">
|
|
||||||
<Filter>Header Files\Editor</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\ColorPicker.h">
|
|
||||||
<Filter>Header Files\Editor</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\RightBar\EditorSettingWidget.h">
|
|
||||||
<Filter>Header Files\Editor</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\FillStyleWidget.h">
|
|
||||||
<Filter>Header Files\Editor\Style</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\ElementPoolWidget.h">
|
|
||||||
<Filter>Header Files\Editor\Element</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\LayerCreateWidget.h">
|
|
||||||
<Filter>Header Files\Editor\Layer</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\RightBar\LayerTreeWidget.h">
|
<QtMoc Include="src\Editor\RightBar\LayerTreeWidget.h">
|
||||||
<Filter>Header Files\Editor\Layer</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\FillStyleWidget.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\EditorWidgetComponent\LayerContainerListWidget.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\ElementManager.h">
|
|
||||||
<Filter>Header Files\Editor\Element</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\Properties\CanvasPropertyWidget.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\Properties\ProjectPropertyDialog.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\Properties\ProjectPropertyWidget.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Editor\Properties\MaterialReplaceDialog.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</QtMoc>
|
|
||||||
<QtMoc Include="src\Library\LibraryWidget.h">
|
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</QtMoc>
|
</QtMoc>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<None Include="Shaders\shader.frag">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\shader.vert">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\model.frag">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\model.vert">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\final.vert">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\final.frag">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\painting.frag">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\painting.vert">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\painting.comp">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\model_shadow.frag">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\model_shadow.vert">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\depth_mipmap.comp">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\depth_init.comp">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\model_shadow.geom">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\shadow_mapping.comp">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="Shaders\ssgi.comp">
|
||||||
|
<Filter>Resource Files\Shaders</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="darkstyle.qss">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="lightstyle.qss">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
<None Include="..\data.json" />
|
<None Include="..\data.json" />
|
||||||
<None Include="res\Shaders\depth_init.comp">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\depth_mipmap.comp">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\element.comp">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\final.frag">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\final.vert">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\model.frag">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\model.vert">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\model_shadow.frag">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\model_shadow.geom">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\model_shadow.vert">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\painting.comp">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\painting.frag">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\painting.vert">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\shader.frag">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\shader.vert">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\shadow_mapping.comp">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\ssgi.comp">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\cubemap.vert">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\cubemap.frag">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\skybox.vert">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\skybox.frag">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\irradiance_convolution.frag">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\cubemap_prefilter.frag">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\brdf_lut.comp">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\pageId_downsample.comp">
|
|
||||||
<Filter>Resource Files\Shaders</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\Shaders\tone_mapping.comp" />
|
|
||||||
<None Include="res\Shaders\painting_shadow.frag" />
|
|
||||||
<None Include="res\Shaders\ssao.comp" />
|
|
||||||
<None Include="res\Shaders\ssao_blur.comp" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtUic Include="EditorWidgetItem.ui">
|
<QtUic Include="EditorWidget.ui">
|
||||||
<Filter>Form Files</Filter>
|
<Filter>Form Files</Filter>
|
||||||
</QtUic>
|
</QtUic>
|
||||||
<QtUic Include="RendererWidget.ui">
|
<QtUic Include="RendererWidget.ui">
|
||||||
|
@ -505,9 +303,15 @@
|
||||||
<ClInclude Include="src\Renderer\Painting\CubicBezier.h">
|
<ClInclude Include="src\Renderer\Painting\CubicBezier.h">
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
<Filter>Header Files\Renderer\Painting</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\Renderer\Painting\CubicMonotonization.h">
|
||||||
|
<Filter>Header Files\Renderer\Painting</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="src\Renderer\Painting\Line.h">
|
<ClInclude Include="src\Renderer\Painting\Line.h">
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
<Filter>Header Files\Renderer\Painting</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\Renderer\Painting\PaintingHelper.h">
|
||||||
|
<Filter>Header Files\Renderer\Painting</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="src\Renderer\Painting\ShortCutTree.h">
|
<ClInclude Include="src\Renderer\Painting\ShortCutTree.h">
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
<Filter>Header Files\Renderer\Painting</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
@ -520,118 +324,46 @@
|
||||||
<ClInclude Include="src\Renderer\Painting\Element.h">
|
<ClInclude Include="src\Renderer\Painting\Element.h">
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
<Filter>Header Files\Renderer\Painting</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\Editor\GraphicElement.h">
|
||||||
|
<Filter>Header Files\Editor</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\Editor\LayerStyle.h">
|
||||||
|
<Filter>Header Files\Editor</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\Editor\LayerManager.h">
|
||||||
|
<Filter>Header Files\Editor</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="src\Editor\ElementManager.h">
|
||||||
|
<Filter>Header Files\Editor</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="src\Renderer\Painting\LineTree.h">
|
<ClInclude Include="src\Renderer\Painting\LineTree.h">
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
<Filter>Header Files\Renderer\Painting</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="src\Renderer\Painting\CubicBezierSignedDistance.h">
|
<ClInclude Include="src\Renderer\Painting\CubicBezierSignedDistance.h">
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
<Filter>Header Files\Renderer\Painting</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="src\Renderer\Painting\ElementStyle.h">
|
<ClInclude Include="src\Editor\third-party modules\SvgHelper.h">
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
<Filter>Header Files\Editor\third-party modules</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="src\Editor\ThirdPartyLib\qquick\qquicksvgparser_p.h">
|
<ClInclude Include="src\Editor\third-party modules\qquick\qquicksvgparser_p.h">
|
||||||
<Filter>Header Files\Editor\ThirdPartyLib\qquick</Filter>
|
<Filter>Header Files\Editor\third-party modules\qquick</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="src\Editor\ThirdPartyLib\qquick\qtquickglobal.h">
|
<ClInclude Include="src\Editor\third-party modules\qquick\qtquickglobal.h">
|
||||||
<Filter>Header Files\Editor\ThirdPartyLib\qquick</Filter>
|
<Filter>Header Files\Editor\third-party modules\qquick</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="src\Editor\ThirdPartyLib\qquick\qtquickglobal_p.h">
|
<ClInclude Include="src\Editor\third-party modules\qquick\qtquickglobal_p.h">
|
||||||
<Filter>Header Files\Editor\ThirdPartyLib\qquick</Filter>
|
<Filter>Header Files\Editor\third-party modules\qquick</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="src\Editor\ThirdPartyLib\SvgHelper.h">
|
<ClInclude Include="src\Editor\third-party modules\util\SvgFileLoader.h">
|
||||||
<Filter>Header Files\Editor\ThirdPartyLib</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\util\SvgFileLoader.h">
|
|
||||||
<Filter>Header Files\Editor\util</Filter>
|
<Filter>Header Files\Editor\util</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="src\Renderer\Painting\ElementStyle.h">
|
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Renderer\Painting\MaterialStyleFill.h">
|
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Renderer\Painting\MaterialStyleStroke.h">
|
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\util\PainterPathUtil.h">
|
|
||||||
<Filter>Header Files\Editor\util</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Renderer\Preview\ElementRenderer.h">
|
|
||||||
<Filter>Header Files\Renderer\Preview</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Renderer\IblUtils.h">
|
|
||||||
<Filter>Header Files\Renderer</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Renderer\Painting\BaseStyle.h">
|
|
||||||
<Filter>Header Files\Renderer\Painting</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Renderer\VirtualTextureManager.h">
|
|
||||||
<Filter>Header Files\Renderer</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\util\PaintingUtil.h">
|
|
||||||
<Filter>Header Files\Editor\util</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\LayerStyle.h">
|
|
||||||
<Filter>Header Files\Editor\Style</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\util\JsonUtil.hpp">
|
|
||||||
<Filter>Header Files\Editor\util</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\util\EncodeUtil.hpp">
|
|
||||||
<Filter>Header Files\Editor\util</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\GraphicElement.h">
|
|
||||||
<Filter>Header Files\Editor\Element</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\LayerManager.h">
|
|
||||||
<Filter>Header Files\Editor\Layer</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\PixelPath.h">
|
|
||||||
<Filter>Header Files\Editor</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\LayerWrapper.h">
|
<ClInclude Include="src\Editor\LayerWrapper.h">
|
||||||
<Filter>Header Files\Editor\Layer</Filter>
|
<Filter>Header Files\Editor</Filter>
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\ColorHelper.hpp">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\DataManager\ProjectDataManager.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\FluentMenuButton.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\Properties\PropertyWidget.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="resource.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Renderer\Preview\PaintingRenderer.h">
|
|
||||||
<Filter>Header Files\Renderer\Preview</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Editor\util\JsonMerger.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\FlowLayout.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Renderer\RenderPass.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="src\Renderer\Shader.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<QtRcc Include="res\MainWindow.qrc">
|
<QtRcc Include="MainWindow.qrc">
|
||||||
<Filter>Resource Files</Filter>
|
<Filter>Resource Files</Filter>
|
||||||
</QtRcc>
|
</QtRcc>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="Resource.rc" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Image Include="res\images\icon.ico" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
</Project>
|
|
@ -1,97 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>EditorLayerInfoWidget</class>
|
|
||||||
<widget class="QWidget" name="EditorLayerInfoWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>333</width>
|
|
||||||
<height>321</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="widgetLayout">
|
|
||||||
<item row="0" column="0" colspan="2">
|
|
||||||
<widget class="QtMaterialTextField" name="name">
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0" colspan="2">
|
|
||||||
<widget class="QtMaterialTextField" name="rotation">
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QtMaterialTextField" name="offsetX">
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QtMaterialTextField" name="offsetY">
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QtMaterialTextField" name="scaleX">
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QtMaterialTextField" name="scaleY">
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QtMaterialCheckBox" name="flipX">
|
|
||||||
<property name="text">
|
|
||||||
<string>水平翻转</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1">
|
|
||||||
<widget class="QtMaterialCheckBox" name="flipY">
|
|
||||||
<property name="text">
|
|
||||||
<string>竖直翻转</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0" colspan="2">
|
|
||||||
<widget class="LayerContainerListWidget" name="styleList" native="true"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<customwidgets>
|
|
||||||
<customwidget>
|
|
||||||
<class>QtMaterialTextField</class>
|
|
||||||
<extends>QLineEdit</extends>
|
|
||||||
<header location="global">qtmaterialtextfield.h</header>
|
|
||||||
</customwidget>
|
|
||||||
<customwidget>
|
|
||||||
<class>QtMaterialCheckBox</class>
|
|
||||||
<extends>QCheckBox</extends>
|
|
||||||
<header location="global">qtmaterialcheckbox.h</header>
|
|
||||||
</customwidget>
|
|
||||||
<customwidget>
|
|
||||||
<class>LayerContainerListWidget</class>
|
|
||||||
<extends>QWidget</extends>
|
|
||||||
<header location="global">EditorWidgetComponent/LayerContainerListWidget.h</header>
|
|
||||||
</customwidget>
|
|
||||||
</customwidgets>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
|
@ -1,32 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>EditorSettingWidget</class>
|
|
||||||
<widget class="QWidget" name="EditorSettingWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>400</width>
|
|
||||||
<height>300</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Form</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QPushButton" name="backgroundColorButton">
|
|
||||||
<property name="text">
|
|
||||||
<string>设置背景颜色</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
|
@ -1,76 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>EditorSettingWidget</class>
|
|
||||||
<widget class="QWidget" name="EditorSettingWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>400</width>
|
|
||||||
<height>300</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Form</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item alignment="Qt::AlignHCenter">
|
|
||||||
<widget class="QPushButton" name="backgroundColorButton">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>120</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>设置背景颜色</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item alignment="Qt::AlignHCenter">
|
|
||||||
<widget class="QPushButton" name="renameButton">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>120</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>设置项目名称</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item alignment="Qt::AlignHCenter">
|
|
||||||
<widget class="QPushButton" name="resizeButton">
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>120</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>设置画布尺寸</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
|
@ -1,33 +1,19 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>EditorWidget</class>
|
<class>EditorWidgetClass</class>
|
||||||
<widget class="QWidget" name="EditorWidget">
|
<widget class="QWidget" name="EditorWidgetClass">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1139</width>
|
<width>1124</width>
|
||||||
<height>862</height>
|
<height>695</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Form</string>
|
<string>RendererWidget</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,20">
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QWidget" name="widget" native="true">
|
|
||||||
<property name="autoFillBackground">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
@ -41,104 +27,57 @@
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="1,1,0">
|
<widget class="QWidget" name="MainWindow" native="true">
|
||||||
<property name="spacing">
|
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="1,30">
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="FluentMenuButton" name="fileMenuButton">
|
<widget class="QLabel" name="Title">
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>80</width>
|
|
||||||
<height>40</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>80</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>文件</string>
|
<string>纹理编辑</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="FluentMenuButton" name="projectMenuButton">
|
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,18,5">
|
||||||
<property name="minimumSize">
|
<item>
|
||||||
<size>
|
<widget class="QWidget" name="LeftBar" native="true"/>
|
||||||
<width>80</width>
|
|
||||||
<height>40</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>80</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>项目</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer_2">
|
<widget class="PreviewWindow" name="Preview"/>
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTabWidget" name="tabWidget">
|
<widget class="QWidget" name="RightBar" native="true">
|
||||||
<property name="minimumSize">
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
<size>
|
<item>
|
||||||
<width>0</width>
|
<widget class="LayerTreeWidget" name="LayerTree">
|
||||||
<height>800</height>
|
<property name="contextMenuPolicy">
|
||||||
</size>
|
<enum>Qt::CustomContextMenu</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="tabsClosable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="tab">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Tab 1</string>
|
|
||||||
</attribute>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="tab_2">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Tab 2</string>
|
|
||||||
</attribute>
|
|
||||||
</widget>
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>FluentMenuButton</class>
|
<class>PreviewWindow</class>
|
||||||
<extends>QPushButton</extends>
|
<extends>QOpenGLWidget</extends>
|
||||||
<header location="global">../FluentMenuButton.h</header>
|
<header>PreviewWindow.h</header>
|
||||||
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>LayerTreeWidget</class>
|
||||||
|
<extends>QTreeWidget</extends>
|
||||||
|
<header location="global">LayerTreeWidget.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
|
|
@ -1,235 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>EditorWidgetItem</class>
|
|
||||||
<widget class="QWidget" name="EditorWidgetItem">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>1473</width>
|
|
||||||
<height>1103</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>RendererWidget</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<property name="spacing">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QWidget" name="MainWindow" native="true">
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="20,1">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,7,4,3">
|
|
||||||
<item>
|
|
||||||
<widget class="QWidget" name="LeftBar" native="true"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QScrollArea" name="scrollArea">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>10801080</width>
|
|
||||||
<height>10801080</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="widgetResizable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<widget class="PreviewWindow" name="Preview">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>16777215</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QWidget" name="RightBar" native="true">
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="0,3,2">
|
|
||||||
<property name="spacing">
|
|
||||||
<number>20</number>
|
|
||||||
</property>
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>11</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>11</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>11</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="LayerDisplayLabel">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>图层信息</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="InfoDisplayWidget" name="LayerDisplay" native="true"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="LayerTreeWidget" name="LayerTree">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="contextMenuPolicy">
|
|
||||||
<enum>Qt::CustomContextMenu</enum>
|
|
||||||
</property>
|
|
||||||
<property name="accessibleName">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
<property name="iconSize">
|
|
||||||
<size>
|
|
||||||
<width>10</width>
|
|
||||||
<height>10</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>图层名</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>关联图元</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QVBoxLayout" name="ElementBar">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="ElementDisplayLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string>图元</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="ElementPoolWidget" name="ElementDisplay" native="true"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<layoutdefault spacing="6" margin="11"/>
|
|
||||||
<customwidgets>
|
|
||||||
<customwidget>
|
|
||||||
<class>PreviewWindow</class>
|
|
||||||
<extends>QOpenGLWidget</extends>
|
|
||||||
<header>PreviewWindow.h</header>
|
|
||||||
</customwidget>
|
|
||||||
<customwidget>
|
|
||||||
<class>LayerTreeWidget</class>
|
|
||||||
<extends>QTreeWidget</extends>
|
|
||||||
<header location="global">LayerTreeWidget.h</header>
|
|
||||||
</customwidget>
|
|
||||||
<customwidget>
|
|
||||||
<class>InfoDisplayWidget</class>
|
|
||||||
<extends>QWidget</extends>
|
|
||||||
<header location="global">InfoDisplayWidget.h</header>
|
|
||||||
<container>1</container>
|
|
||||||
</customwidget>
|
|
||||||
<customwidget>
|
|
||||||
<class>ElementPoolWidget</class>
|
|
||||||
<extends>QWidget</extends>
|
|
||||||
<header>ElementPoolWidget.h</header>
|
|
||||||
<container>1</container>
|
|
||||||
</customwidget>
|
|
||||||
</customwidgets>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
|
@ -0,0 +1,208 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>FramelessWindow</class>
|
||||||
|
<widget class="QWidget" name="FramelessWindow">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>560</width>
|
||||||
|
<height>544</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="autoFillBackground">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QWidget" name="windowFrame" native="true">
|
||||||
|
<property name="autoFillBackground">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">#windowFrame{ background-color:palette(Window);}</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="TitleWidget" name="windowTitlebar" native="true">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="autoFillBackground">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">#windowTitlebar{border: 0px none palette(base); border-top-left-radius:5px; border-top-right-radius:5px; background-color:palette(shadow); height:20px;}</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0,0,0,0,0,0">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="spacer">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>4</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>4</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="IconWidget" name="icon" native="true">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>16</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>16</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="contextMenuPolicy">
|
||||||
|
<enum>Qt::NoContextMenu</enum>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">#icon {background-color:palette(shadow);}</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="TitleWidget" name="titleWidget" native="true"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="CaptionButton" name="minimizeButton" native="true"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="CaptionButton" name="restoreButton" native="true"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="CaptionButton" name="maximizeButton" native="true"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="CaptionButton" name="closeButton" native="true"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QWidget" name="windowContent" native="true">
|
||||||
|
<property name="autoFillBackground">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">#windowContent{
|
||||||
|
border: 0px none palette(base);
|
||||||
|
border-radius:0px 0px 5px 5px;
|
||||||
|
}</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>CaptionButton</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>CaptionButton.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>IconWidget</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>IconWidget.h</header>
|
||||||
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>TitleWidget</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>TitleWidget.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -1,87 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>LibraryWidgetClass</class>
|
|
||||||
<widget class="QWidget" name="LibraryWidgetClass">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>1124</width>
|
|
||||||
<height>695</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Form</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="classComboBox">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>16777215</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="amountLabel">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QScrollArea" name="scrollArea">
|
|
||||||
<property name="frameShape">
|
|
||||||
<enum>QFrame::NoFrame</enum>
|
|
||||||
</property>
|
|
||||||
<property name="frameShadow">
|
|
||||||
<enum>QFrame::Plain</enum>
|
|
||||||
</property>
|
|
||||||
<property name="lineWidth">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="widgetResizable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="flowWidget">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>1106</width>
|
|
||||||
<height>639</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
|
@ -23,19 +23,6 @@
|
||||||
<file>images/icon_window_restore.png</file>
|
<file>images/icon_window_restore.png</file>
|
||||||
<file>darkstyle.qss</file>
|
<file>darkstyle.qss</file>
|
||||||
<file>lightstyle.qss</file>
|
<file>lightstyle.qss</file>
|
||||||
<file>Shaders/element.comp</file>
|
|
||||||
<file>Shaders/cubemap.frag</file>
|
|
||||||
<file>Shaders/cubemap.vert</file>
|
|
||||||
<file>Shaders/skybox.frag</file>
|
|
||||||
<file>Shaders/skybox.vert</file>
|
|
||||||
<file>Shaders/irradiance_convolution.frag</file>
|
|
||||||
<file>Shaders/cubemap_prefilter.frag</file>
|
|
||||||
<file>Shaders/brdf_lut.comp</file>
|
|
||||||
<file>Shaders/pageId_downsample.comp</file>
|
|
||||||
<file>Shaders/tone_mapping.comp</file>
|
|
||||||
<file>Shaders/painting_shadow.frag</file>
|
|
||||||
<file>Shaders/ssao.comp</file>
|
|
||||||
<file>Shaders/ssao_blur.comp</file>
|
|
||||||
</qresource>
|
</qresource>
|
||||||
<qresource prefix="/qt/etc">
|
<qresource prefix="/qt/etc">
|
||||||
<file>qt.conf</file>
|
<file>qt.conf</file>
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>MainWindowClass</class>
|
<class>MainWindowClass</class>
|
||||||
<widget class="QWidget" name="MainWindowClass">
|
<widget class="QMainWindow" name="MainWindowClass">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
|
@ -10,9 +10,19 @@
|
||||||
<height>722</height>
|
<height>722</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>MainWindow</string>
|
||||||
|
</property>
|
||||||
<property name="styleSheet">
|
<property name="styleSheet">
|
||||||
<string notr="true">font: 10pt "Segoe UI, Microsoft YaHei UI";</string>
|
<string notr="true">font: 10pt "Segoe UI, Microsoft YaHei UI";</string>
|
||||||
</property>
|
</property>
|
||||||
|
<widget class="QWidget" name="centralWidget">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
|
@ -30,27 +40,72 @@
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QVBoxLayout" name="verticalLayout_4" stretch="1">
|
||||||
<property name="sizeConstraint">
|
|
||||||
<enum>QLayout::SetDefaultConstraint</enum>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item row="0" column="0">
|
<property name="sizeConstraint">
|
||||||
<widget class="QStackedWidget" name="stackedWidget">
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
<widget class="EditorWidget" name="editorWidget"/>
|
</property>
|
||||||
<widget class="Library::LibraryWidget" name="libraryWidget"/>
|
<item>
|
||||||
<widget class="Renderer::RendererWidget" name="rendererWidget"/>
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Segoe UI, Microsoft YaHei UI</family>
|
||||||
|
<pointsize>10</pointsize>
|
||||||
|
<weight>50</weight>
|
||||||
|
<italic>false</italic>
|
||||||
|
<bold>false</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QTabBar::tab {
|
||||||
|
height: 0px;
|
||||||
|
margin-top:0px;
|
||||||
|
}
|
||||||
|
QTabWidget::tab-bar
|
||||||
|
{
|
||||||
|
height: 0px;
|
||||||
|
top:0px;
|
||||||
|
}
|
||||||
|
QTabWidget::pane {
|
||||||
|
border: 0px;
|
||||||
|
background-color: rgba(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
</string>
|
||||||
|
</property>
|
||||||
|
<property name="tabPosition">
|
||||||
|
<enum>QTabWidget::North</enum>
|
||||||
|
</property>
|
||||||
|
<property name="tabShape">
|
||||||
|
<enum>QTabWidget::Rounded</enum>
|
||||||
|
</property>
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="elideMode">
|
||||||
|
<enum>Qt::ElideNone</enum>
|
||||||
|
</property>
|
||||||
|
<property name="tabsClosable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<widget class="EditorWidget" name="editorWidget">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>纹理编辑</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
|
<widget class="Renderer::RendererWidget" name="rendererWidget">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>场景渲染</string>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
</widget>
|
||||||
<layoutdefault spacing="6" margin="11"/>
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
|
@ -63,13 +118,9 @@
|
||||||
<extends>QWidget</extends>
|
<extends>QWidget</extends>
|
||||||
<header>Editor/EditorWidget.h</header>
|
<header>Editor/EditorWidget.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
|
||||||
<class>Library::LibraryWidget</class>
|
|
||||||
<extends>QWidget</extends>
|
|
||||||
<header>Library/LibraryWidget.h</header>
|
|
||||||
<container>1</container>
|
|
||||||
</customwidget>
|
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources>
|
||||||
|
<include location="MainWindow.qrc"/>
|
||||||
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
17876391417123941155.jpg paintings/4_L0/4_L0.json 0 0 1 1
|
|
||||||
11474523244911310074.jpg paintings/4/4.json 0 0 1 1
|
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.66 57"><defs><style>.cls-1{fill:none;stroke:#fff;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M.81,0C.12,12.47.64,23.24,1.87,29.9c1.85,10,3.32,18,10.21,22.72,5.59,3.83,15.45,6,21.45.77,2.53-2.22,4.92-5.91,4.6-10a9.27,9.27,0,0,0-2-5.55,1.84,1.84,0,0,0-2.16-.51c-.67.36-1.39,1.08-1.11,1.79s1.81,1,2.85.59"/></g></g></svg>
|
|
Before Width: | Height: | Size: 468 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_2" data-name="图层 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 132.41 212.39"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M913.32,439.45c-11.51,0-22-31.5-26.41-54.39-3.31-17.24-7.69-41.49.51-71.48,2.17-7.9,9.92-33.44,30.57-56.46,9.91-11.05,29.52-29,29.52-29a125.61,125.61,0,0,1,26.42,18.12,123.6,123.6,0,0,1,27.45,35.23c9,17.55,11.23,32.73,12.43,41.44,3.34,24.16-.39,42.85-2.59,53.35-2.88,13.77-8.8,26-20.64,50.48-2.24,4.62-6.58,13.33-13,13.75-3.28.21-4.53-1.88-9.84-4.66a48.86,48.86,0,0,0-24.34-5.18c-7.72.26-13.85,2.44-18.65,4.14C916.41,437.74,916,439.45,913.32,439.45Z" transform="translate(-882.73 -228.12)"/></svg>
|
|
Before Width: | Height: | Size: 669 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_2" data-name="图层 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150.07 140.14"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M814.91,563.25a68.61,68.61,0,0,0-17.1,14.51,75,75,0,0,0-9.32,14.5c-3.6,7-5.36,12.57-7.77,20.2-.79,2.49-2.08,7.36-4.66,17.09-3.59,13.53-4.16,16.2-4.66,19.69s.06.85-1,14.5c-.48,6-.69,7.7.52,8.81,2.26,2.07,6-1.19,14.5-2.08,3.59-.37,7.57.1,15.54,1,9.28,1.09,8.87,1.62,14,2.07,8.71.78,15.42-.26,23.82-1.55,7.65-1.18,11.47-1.77,16.58-3.63A61.4,61.4,0,0,0,873.44,658c1.77-1.47,8.2-7,16.57-21.75,5.28-9.29,4.16-9.62,11.92-26.42,5.12-11.09,9.43-22.55,14.5-33.67,2.38-5.21,5.16-11.14,2.59-15.54-1.78-3-5-3.39-8.8-5.18-10.3-4.79-10.91-13.35-16.58-18.13C877.88,524.07,835.51,550.43,814.91,563.25Z" transform="translate(-769.98 -533.71)"/></svg>
|
|
Before Width: | Height: | Size: 804 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_2" data-name="图层 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 125.59 140.06"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M946,430.61a63.41,63.41,0,0,0-18,3.05,52.54,52.54,0,0,0-20.86,12c-5.59,5.4-8.16,10.56-11.92,18.13-2.87,5.8-6.93,14.12-8.8,25.9a78.11,78.11,0,0,0,.78,29.25,66.55,66.55,0,0,0,13.91,28.78A63.83,63.83,0,0,0,970.3,567.4c5.76-1.81,15.86-5.12,24.87-14.51s11.83-19.42,13.46-25.38c4.2-15.3,1.86-27.85,0-37.81s-4-21.77-13-34.19c-3.54-4.94-10.09-13.87-22.27-19.68C961.83,430.3,951.22,430.46,946,430.61Z" transform="translate(-885.39 -430.56)"/></svg>
|
|
Before Width: | Height: | Size: 611 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_3" data-name="图层 3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 387.48 240.17"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M148.59,482.78c15.46,22.43,45,58.45,93.24,84.61a256.52,256.52,0,0,0,77.7,27.28,239.38,239.38,0,0,0,57.66,2.76c17.92-1.35,40.71-3.08,66.65-15.19A163,163,0,0,0,507.38,528c7-10.06,26.87-39.53,28.66-81.5,0,0,1.41-32.95-15.19-66.64-3.31-6.72-8.08-14.77-17.27-19-2.46-1.13-12.29-5.66-22.1-.69-7.14,3.63-13.6,12-12.08,18.65,1.85,8.17,15.89,15.08,34.18,11.05" transform="translate(-148.59 -357.91)"/></svg>
|
|
Before Width: | Height: | Size: 570 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_2" data-name="图层 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 369 292.11"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M749,200c4.43-17.3,22.4-78.56,81-114,36-21.8,71.16-24,92-25,25.62-1.28,75.88-3.79,123,29,71.9,50,73,138.09,73,143-.08,19.3-.29,71.77-39,101-19.94,15.05-41.15,17.37-48,18-41.13,3.78-96.62-14.85-114-62-13.32-36.14,2.58-70.23,7-79" transform="translate(-749 -60.37)"/></svg>
|
|
Before Width: | Height: | Size: 440 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_3" data-name="图层 3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 230.86 225.05"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M1111.83,280.35c6.17,16.23,20.24,45.83,50.77,68.89,11.93,9,29.94,22.26,57,25.38,33,3.8,57.82-9.95,65.78-14.5A115.33,115.33,0,0,0,1332,309.35c2.73-5.88,23.6-53-1.56-100.49-17-32.16-53.06-60.62-94.27-58.53-20.46,1-36.19,9.31-45.06,15" transform="translate(-1111.83 -150.22)"/></svg>
|
|
Before Width: | Height: | Size: 452 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_4" data-name="图层 4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 82.97 81.32"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M1031,55c3.85,12.26,9.48,17.33,14,19.69,4.23,2.2,7.34,1.94,13.47,5.69,4.43,2.71,7.32,5.7,10.88,9.33,4,4.07,4.84,5.69,10.88,11.91,4.16,4.3,5.31,5.12,6.21,5.7,4,2.58,6.41,2.33,11.92,4.14,5.73,1.89,10.25,3.37,13,6.74,4.52,5.65,2.21,14.5,1,18.13" transform="translate(-1031.03 -55.02)"/></svg>
|
|
Before Width: | Height: | Size: 459 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 106.93 99.81"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>0</title><g id="图层_2" data-name="图层 2"><polyline class="cls-1" points="27.24 16.75 27.24 2.15 7.2 2.15 7.2 22.78 46.7 22.78"/></g><g id="图层_3" data-name="图层 3"><polyline class="cls-1" points="27.24 30.37 27.24 44.97 0 44.97"/></g><g id="图层_4" data-name="图层 4"><path class="cls-1" d="M292.82,107.78s0,0,0,0,0,3.59,0,7.62c0,3.85,0,5.78.06,6.43a19.94,19.94,0,0,0,2.87,7.58,15.85,15.85,0,0,0,6.61,6.23A14.75,14.75,0,0,0,310,137a11.69,11.69,0,0,0,7.59-2.92,11,11,0,0,0,3.2-6.84c.15-1.27.58-4.84-1.79-7.64a8.54,8.54,0,0,0-3.56-2.44c-1.32-.52-3.32-1.31-5.06-.33a5.41,5.41,0,0,0-2.14,3,3.48,3.48,0,0,0-.16,2.71c.78,1.86,3.36,2.14,3.47,2.15" transform="translate(-287.18 -56.2)"/></g><g id="图层_5" data-name="图层 5"><path class="cls-1" d="M339.72,85.41V58.75a69.07,69.07,0,0,1,14.79,0c5.9.63,9.31,1,12.84,3.5,1.76,1.22,6.37,4.43,6.68,9.92.25,4.38-2.27,9.26-6.72,11-3.5,1.39-8.46,1-10.71-2.06-.14-.18-2-2.82-.92-5.46.63-1.51,2.34-3.23,4.28-2.92a3.76,3.76,0,0,1,2.33,1.55" transform="translate(-287.18 -56.2)"/></g><g id="图层_6" data-name="图层 6"><path class="cls-1" d="M301.38,145.93a8.21,8.21,0,0,1-.77,5.83c-.26.44-2.5,4.23-5.84,3.7a5,5,0,0,1-3.89-3.5c-.1-.35-1-3,.58-4.09a3.28,3.28,0,0,1,3.89.58" transform="translate(-287.18 -56.2)"/><path class="cls-1" d="M323.18,115.76a7.37,7.37,0,0,1,7.39-8.17c.49,0,4.07.12,5.65,2.92.19.34,1.52,2.7.19,4.67a4.33,4.33,0,0,1-4.67,1.56" transform="translate(-287.18 -56.2)"/></g><g id="图层_7" data-name="图层 7"><path class="cls-1" d="M352.17,86.57a14.23,14.23,0,0,0-4.67,2.73c-1.59,1.4-3.37,3-3.5,5.45a6.45,6.45,0,0,0,2.14,4.86c1.28,1.1,3.68,2.22,5.84,1.17,1.64-.8,3.31-3,2.53-4.67a3.6,3.6,0,0,0-3.31-1.75" transform="translate(-287.18 -56.2)"/><path class="cls-1" d="M382.34,66.53a17.27,17.27,0,0,0,3.89.39c2.16,0,3.53,0,4.86-1a6.15,6.15,0,0,0,2.34-3.89c.17-1,.53-2.93-.78-4.29a4.32,4.32,0,0,0-4.48-.77A3.62,3.62,0,0,0,386,58.75a3.75,3.75,0,0,0,.2,3.31" transform="translate(-287.18 -56.2)"/></g></svg>
|
|
Before Width: | Height: | Size: 2.1 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_3" data-name="图层 3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27.74 15.09"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>2</title><polyline class="cls-1" points="27.24 0 27.24 14.6 0 14.6"/></svg>
|
|
Before Width: | Height: | Size: 265 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_4" data-name="图层 4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29.07 30.28"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>3</title><path class="cls-1" d="M292.82,107.78s0,0,0,0,0,3.59,0,7.62c0,3.85,0,5.78.06,6.43a19.94,19.94,0,0,0,2.87,7.58,15.85,15.85,0,0,0,6.61,6.23A14.75,14.75,0,0,0,310,137a11.69,11.69,0,0,0,7.59-2.92,11,11,0,0,0,3.2-6.84c.15-1.27.58-4.84-1.79-7.64a8.54,8.54,0,0,0-3.56-2.44c-1.32-.52-3.32-1.31-5.06-.33a5.41,5.41,0,0,0-2.14,3,3.48,3.48,0,0,0-.16,2.71c.78,1.86,3.36,2.14,3.47,2.15" transform="translate(-292.3 -107.25)"/></svg>
|
|
Before Width: | Height: | Size: 617 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.66 57"><defs><style>.cls-1{fill:none;stroke:#fff;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M.81,0C.12,12.47.64,23.24,1.87,29.9c1.85,10,3.32,18,10.21,22.72,5.59,3.83,15.45,6,21.45.77,2.53-2.22,4.92-5.91,4.6-10a9.27,9.27,0,0,0-2-5.55,1.84,1.84,0,0,0-2.16-.51c-.67.36-1.39,1.08-1.11,1.79s1.81,1,2.85.59"/></g></g></svg>
|
|
Before Width: | Height: | Size: 468 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2486.79 1894.11">
|
|
||||||
<title>biankuang</title>
|
|
||||||
<rect x="0.5" y="0.5" width="2485.79" height="1893.11" fill="none" stroke="#000" stroke-miterlimit="10"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 213 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 292.05 208.4">
|
|
||||||
<title>changJ</title>
|
|
||||||
<path d="M158.18-81.15C139.41-27.59,70.72,31.33,27.87,45.84c-70.12,23.74-154,.87-160.12-71.22-4.42-52.46,13.8-92.76,53.56-116,27.89-16.27,70.05-15.29,91.4,6.07,21.54,21.53,8.16,52.76-.85,61.84C3.74-65.24-9.26-64.64-14.4-67.09A11.69,11.69,0,0,1-20.33-80.5c1.37-5.43,7-9.65,14.28-6.74A5.44,5.44,0,0,1-2.6-80.8" transform="translate(133.4 153.03)" fill="none" stroke="#000" stroke-miterlimit="10"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 497 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 114.87 185.42">
|
|
||||||
<title>duanJ</title>
|
|
||||||
<path d="M-186.33-16.19c-70.52,9.38-121.87,65.84-113.39,123,6.54,44.07,52.94,71.66,78.22,57.91,25.72-14,23.58-42.55,3.22-52.55-5.69-2.8-14.54-3.61-20.72-1.43s-8.93,8.57-6.89,12.51c1.82,3.52,4.45,5.31,8,5.48,5.62.27,6.7-4.06,6.7-4.06" transform="translate(301.14 16.69)" fill="none" stroke="#000" stroke-miterlimit="10"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 422 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 155.8 283.83">
|
|
||||||
<title>houbanJ</title>
|
|
||||||
<path d="M-225.88,282.68c81-31.64,138.8-91.31,153.49-177,8.7-50.8-18.78-88.12-50.26-105.92" transform="translate(226.06 0.68)" fill="none" stroke="#000" stroke-miterlimit="10"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 280 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 84.26 18.74">
|
|
||||||
<title>hu</title>
|
|
||||||
<path d="M257.42,90.62c15.49,22.88,67.94,25,83.43,0" transform="translate(-257.01 -90.34)" fill="none" stroke="#000" stroke-miterlimit="10"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 238 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 78.67 94.24">
|
|
||||||
<title>huaban</title>
|
|
||||||
<path d="M306.77-206.23c-15.21,0-32.25-23-38.66-41.61-10-29,11.5-34,19.91-34.82a4,4,0,0,0,3.56-3.3c3.3-18.19,23.44-17.7,27.49-.38a4.38,4.38,0,0,0,4,3.32c7.48.54,25.11,3.49,18.82,30.06C339.32-242.22,321.71-206.21,306.77-206.23Z" transform="translate(-265.02 299.96)" fill="none" stroke="#000" stroke-miterlimit="10"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 417 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 456.05 403.05">
|
|
||||||
<title>tuoyuan</title>
|
|
||||||
<path d="M300.18,183c144.72-.06,230.41,77.65,230.61,191C531,494.57,446.73,585,305.1,585,172.6,585,75.67,501,75.75,377.61,75.81,265.34,158.13,183.05,300.18,183Z" transform="translate(-75.25 -182.48)" fill="none" stroke="#000" stroke-miterlimit="10"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 353 B |
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 31.28 179.75">
|
|
||||||
<title>yezi</title>
|
|
||||||
<path d="M-789.16,247c-63.35-70.42,2.48-107.35,2.75-131.39.21-18.15-4-30.2-14.14-47.77" transform="translate(817.18 -67.58)" fill="none" stroke="#000" stroke-miterlimit="10"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 275 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 116.45 116.45"><defs><style>.cls-1{fill:#fff;stroke:#231815;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><rect class="cls-1" x="0.5" y="0.5" width="115.45" height="115.45"/></g></g></svg>
|
|
Before Width: | Height: | Size: 310 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100.45 1"><defs><style>.cls-1{fill:none;stroke:#231815;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><line class="cls-1" y1="0.5" x2="100.45" y2="0.5"/></g></g></svg>
|
|
Before Width: | Height: | Size: 288 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 168.53 311.11"><defs><style>.cls-1{fill:#fff;stroke:#231815;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><rect class="cls-1" x="0.5" y="0.5" width="167.53" height="310.11"/></g></g></svg>
|
|
Before Width: | Height: | Size: 310 B |
|
@ -1,548 +0,0 @@
|
||||||
{
|
|
||||||
"background-color": "#bd8e24",
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"include": "/svg/2.svg"
|
|
||||||
},
|
|
||||||
"name": "ababa",
|
|
||||||
"type": "svg-file"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"include": "/svg/0.svg"
|
|
||||||
},
|
|
||||||
"name": "ababa2",
|
|
||||||
"type": "svg-file"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"include": "/svg/4_L0.svg"
|
|
||||||
},
|
|
||||||
"name": "4_L0.svg",
|
|
||||||
"type": "svg-file"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"reference-layer": "0.0"
|
|
||||||
},
|
|
||||||
"name": "图源工",
|
|
||||||
"type": "group"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"reference-layer": "0.0"
|
|
||||||
},
|
|
||||||
"name": "图源万",
|
|
||||||
"type": "group"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"include": "/svg/正方形.svg"
|
|
||||||
},
|
|
||||||
"name": "正方形.svg",
|
|
||||||
"type": "svg-file"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"height": 1080,
|
|
||||||
"metallic": 1,
|
|
||||||
"project-name": "样例1",
|
|
||||||
"root-layer": {
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"element": 5,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "边框",
|
|
||||||
"styles": [
|
|
||||||
{
|
|
||||||
"enableEachSideIndependent": true,
|
|
||||||
"left": "AADgQAAAAAADACScAH9mZuZUOf8Af8zM64dX/wB////vv3b/",
|
|
||||||
"right": "AADgQAAAAAAAAAqc",
|
|
||||||
"type": "stroke"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 480,
|
|
||||||
"y": 482
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 9.40621,
|
|
||||||
"y": 9.40621
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"element": 2,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "4_L0",
|
|
||||||
"styles": [
|
|
||||||
{
|
|
||||||
"material": "AH8A/1JOff8=",
|
|
||||||
"type": "fill"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"enableEachSideIndependent": true,
|
|
||||||
"left": "AAAAQAAAAAABACScAH////XNff8=",
|
|
||||||
"right": "AADgQAAAAAAAAAqc",
|
|
||||||
"type": "stroke"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"is-folder": true,
|
|
||||||
"name": "工",
|
|
||||||
"referenced-by": 3,
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 3,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "1",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 103,
|
|
||||||
"y": -1
|
|
||||||
},
|
|
||||||
"rotation": 90,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 3,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "2",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 104,
|
|
||||||
"y": 100
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 3,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "3",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 3,
|
|
||||||
"y": 102
|
|
||||||
},
|
|
||||||
"rotation": 90,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"is-folder": true,
|
|
||||||
"name": "子图层-1",
|
|
||||||
"referenced-by": 4,
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-2",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 204,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-3",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 3,
|
|
||||||
"y": 205
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-4",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 207,
|
|
||||||
"y": 203
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-5",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 407,
|
|
||||||
"y": -2
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-6",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 411,
|
|
||||||
"y": 201
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-7",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 6,
|
|
||||||
"y": 408
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-8",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 210,
|
|
||||||
"y": 408
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-9",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 414,
|
|
||||||
"y": 405
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-10",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 610,
|
|
||||||
"y": -3
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-11",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 614,
|
|
||||||
"y": 200
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-12",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 617,
|
|
||||||
"y": 405
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-13",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": -3,
|
|
||||||
"y": -202
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-14",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 200,
|
|
||||||
"y": -203
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-15",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 402,
|
|
||||||
"y": -205
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 4,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-16",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 606,
|
|
||||||
"y": -206
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"is-folder": true,
|
|
||||||
"name": "content",
|
|
||||||
"referenced-by": null,
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 116,
|
|
||||||
"y": 288
|
|
||||||
},
|
|
||||||
"rotation": 60,
|
|
||||||
"scale": {
|
|
||||||
"x": 1.85202,
|
|
||||||
"y": 1.85202
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"is-folder": true,
|
|
||||||
"name": "root",
|
|
||||||
"referenced-by": null,
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"roughness": 0.10000000149011612,
|
|
||||||
"width": 1080
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 106.93 99.81"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>0</title><g id="图层_2" data-name="图层 2"><polyline class="cls-1" points="27.24 16.75 27.24 2.15 7.2 2.15 7.2 22.78 46.7 22.78"/></g><g id="图层_3" data-name="图层 3"><polyline class="cls-1" points="27.24 30.37 27.24 44.97 0 44.97"/></g><g id="图层_4" data-name="图层 4"><path class="cls-1" d="M292.82,107.78s0,0,0,0,0,3.59,0,7.62c0,3.85,0,5.78.06,6.43a19.94,19.94,0,0,0,2.87,7.58,15.85,15.85,0,0,0,6.61,6.23A14.75,14.75,0,0,0,310,137a11.69,11.69,0,0,0,7.59-2.92,11,11,0,0,0,3.2-6.84c.15-1.27.58-4.84-1.79-7.64a8.54,8.54,0,0,0-3.56-2.44c-1.32-.52-3.32-1.31-5.06-.33a5.41,5.41,0,0,0-2.14,3,3.48,3.48,0,0,0-.16,2.71c.78,1.86,3.36,2.14,3.47,2.15" transform="translate(-287.18 -56.2)"/></g><g id="图层_5" data-name="图层 5"><path class="cls-1" d="M339.72,85.41V58.75a69.07,69.07,0,0,1,14.79,0c5.9.63,9.31,1,12.84,3.5,1.76,1.22,6.37,4.43,6.68,9.92.25,4.38-2.27,9.26-6.72,11-3.5,1.39-8.46,1-10.71-2.06-.14-.18-2-2.82-.92-5.46.63-1.51,2.34-3.23,4.28-2.92a3.76,3.76,0,0,1,2.33,1.55" transform="translate(-287.18 -56.2)"/></g><g id="图层_6" data-name="图层 6"><path class="cls-1" d="M301.38,145.93a8.21,8.21,0,0,1-.77,5.83c-.26.44-2.5,4.23-5.84,3.7a5,5,0,0,1-3.89-3.5c-.1-.35-1-3,.58-4.09a3.28,3.28,0,0,1,3.89.58" transform="translate(-287.18 -56.2)"/><path class="cls-1" d="M323.18,115.76a7.37,7.37,0,0,1,7.39-8.17c.49,0,4.07.12,5.65,2.92.19.34,1.52,2.7.19,4.67a4.33,4.33,0,0,1-4.67,1.56" transform="translate(-287.18 -56.2)"/></g><g id="图层_7" data-name="图层 7"><path class="cls-1" d="M352.17,86.57a14.23,14.23,0,0,0-4.67,2.73c-1.59,1.4-3.37,3-3.5,5.45a6.45,6.45,0,0,0,2.14,4.86c1.28,1.1,3.68,2.22,5.84,1.17,1.64-.8,3.31-3,2.53-4.67a3.6,3.6,0,0,0-3.31-1.75" transform="translate(-287.18 -56.2)"/><path class="cls-1" d="M382.34,66.53a17.27,17.27,0,0,0,3.89.39c2.16,0,3.53,0,4.86-1a6.15,6.15,0,0,0,2.34-3.89c.17-1,.53-2.93-.78-4.29a4.32,4.32,0,0,0-4.48-.77A3.62,3.62,0,0,0,386,58.75a3.75,3.75,0,0,0,.2,3.31" transform="translate(-287.18 -56.2)"/></g></svg>
|
|
Before Width: | Height: | Size: 2.1 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_3" data-name="图层 3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27.74 15.09"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>2</title><polyline class="cls-1" points="27.24 0 27.24 14.6 0 14.6"/></svg>
|
|
Before Width: | Height: | Size: 265 B |
|
@ -1,11 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
||||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
||||||
viewBox="0 0 141 171" style="enable-background:new 0 0 141 171;" xml:space="preserve">
|
|
||||||
<style type="text/css">
|
|
||||||
.st0{fill:none;stroke:#000000;stroke-miterlimit:10;}
|
|
||||||
</style>
|
|
||||||
<polygon class="st0" points="0.5,0.5 140.5,0.5 140.5,10.5 115.5,10.5 115.5,31.5 105.5,31.5 105.5,10.5 75.5,10.5 75.5,165.8
|
|
||||||
105.5,165.8 105.5,144.7 115.5,144.7 115.5,165.8 140.5,165.8 140.5,175.8 0.5,175.8 0.5,165.8 25.5,165.8 25.5,144.7 35.5,144.7
|
|
||||||
35.5,165.8 65.5,165.8 65.5,10.5 35.5,10.5 35.5,31.5 25.5,31.5 25.5,10.5 0.5,10.5 "/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 781 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 116.45 116.45"><defs><style>.cls-1{fill:#fff;stroke:#231815;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><rect class="cls-1" x="0.5" y="0.5" width="115.45" height="115.45"/></g></g></svg>
|
|
Before Width: | Height: | Size: 310 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.66 57"><defs><style>.cls-1{fill:none;stroke:#fff;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M.81,0C.12,12.47.64,23.24,1.87,29.9c1.85,10,3.32,18,10.21,22.72,5.59,3.83,15.45,6,21.45.77,2.53-2.22,4.92-5.91,4.6-10a9.27,9.27,0,0,0-2-5.55,1.84,1.84,0,0,0-2.16-.51c-.67.36-1.39,1.08-1.11,1.79s1.81,1,2.85.59"/></g></g></svg>
|
|
Before Width: | Height: | Size: 468 B |
Before Width: | Height: | Size: 1.4 MiB |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_3" data-name="图层 3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 59.76 69.52"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M620.61,223.54a75.28,75.28,0,0,0-2.42,19.34,64.83,64.83,0,0,0,3.11,20.72c1.56,4.75,3.72,11.19,9.33,17.61,2.74,3.14,6.67,7.65,13.61,10.16a28.09,28.09,0,0,0,14.7,1.23,21.35,21.35,0,0,0,18.3-18c.53-2.47,1.72-8.13-1-14.16-.59-1.29-4.1-9-10.71-9.67-2.55-.26-6.79.4-8,3.33a5,5,0,0,0,1.76,6c2.09,1.27,5.26.52,6.9-2.07" transform="translate(-618.19 -223.54)"/></svg>
|
|
Before Width: | Height: | Size: 528 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_2" data-name="图层 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.97 47.91"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M671.72,302.62a78.23,78.23,0,0,1,12.78,1.73c4.86,1.06,8.45,1.84,12.77,4.14A36,36,0,0,1,708,317.12c2,2.43,5.68,7,6.56,13.82a18.18,18.18,0,0,1-1.73,10.35,16.13,16.13,0,0,1-7.94,7.95c-1.14.49-6.79,2.83-11.74-.35a11.67,11.67,0,0,1-4.84-7.25c-.39-1.72-1.06-4.64.7-6.22,1.39-1.25,4.3-1.65,5.63.08a4,4,0,0,1-1.15,5.45" transform="translate(-671.72 -302.62)"/></svg>
|
|
Before Width: | Height: | Size: 528 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_2" data-name="图层 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64.46 48.66"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M706.94,231.14a47.13,47.13,0,0,1,.69-13.13,34.05,34.05,0,0,1,4.43-12.38,30.82,30.82,0,0,1,10.42-10.06A35.84,35.84,0,0,1,747,191.08a30.08,30.08,0,0,1,15.64,7.53,25.72,25.72,0,0,1,8.19,14.57,22.41,22.41,0,0,1-2.07,14.5c-5.47,10.17-17.13,11.3-18.31,11.4-2.36.19-6.84.55-10.89-2.31-.79-.56-5.83-4.12-5.34-9.43.24-2.51,1.74-5.78,4.84-6.91,3.4-1.24,7.82.43,8,2.33.23,2.08-4.61,4.11-4.91,4.23" transform="translate(-706.76 -190.54)"/></svg>
|
|
Before Width: | Height: | Size: 603 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_3" data-name="图层 3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 137.06 95.62"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;}</style></defs><polyline class="cls-1" points="0.5 22.6 0.5 95.12 136.56 95.12 136.56 0.5 21.57 0.5 21.57 69.56 100.3 69.56 100.8 24.23 39.42 23.6"/></svg>
|
|
Before Width: | Height: | Size: 321 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_4" data-name="图层 4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21.96 65.56"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;}</style></defs><path class="cls-1" d="M677.25,145.44c4.22-4.24,7.48-7.5,9.36-9.36,6.33-6.29,7.87-7.75,9.36-10.8,1-2.06,3.2-6.55,2.08-11.56-.8-3.55-2.48-3.86-6.4-9.67s-7.09-10.49-6.12-15.48c.29-1.53,1.3-4.72,5.76-7.92" transform="translate(-676.89 -80.24)"/></svg>
|
|
Before Width: | Height: | Size: 428 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_5" data-name="图层 5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 70.87 57.01"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;}</style></defs><path class="cls-1" d="M797.48,319.31a41.11,41.11,0,0,0,10.8,19.8A39.13,39.13,0,0,0,831,350.63c3.82.49,17.95,2.28,28.08-7.92,8.67-8.73,8.43-20.25,8.28-23-.17-3.09-.67-10.33-6.12-16.56-1.39-1.58-8.41-9.16-17.64-7.92-1.44.2-6.14.83-9,4.68-3.9,5.25-2.45,13.86,2.52,17.64.23.18,4,2.88,8.28,1.8.85-.21,4.37-1.09,4.68-3.6a4.07,4.07,0,0,0-3.6-4.32,4,4,0,0,0-3.6,2.16" transform="translate(-796.99 -294.56)"/></svg>
|
|
Before Width: | Height: | Size: 587 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_6" data-name="图层 6" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20.42 57.45"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;}</style></defs><path class="cls-1" d="M818.36,343.43a28.43,28.43,0,0,1-15.48-11.52c-6.3-9.79-3.85-20.09-3.24-22.68,3.53-14.85,16.79-21.4,18.72-22.32" transform="translate(-798.16 -286.46)"/></svg>
|
|
Before Width: | Height: | Size: 361 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_7" data-name="图层 7" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 451 684.5"><defs><style>.cls-1{fill:none;stroke:#000;stroke-miterlimit:10;}</style></defs><rect class="cls-1" x="0.5" y="0.5" width="450" height="683.5"/></svg>
|
|
Before Width: | Height: | Size: 248 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_2" data-name="图层 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 125.59 140.06"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M946,430.61a63.41,63.41,0,0,0-18,3.05,52.54,52.54,0,0,0-20.86,12c-5.59,5.4-8.16,10.56-11.92,18.13-2.87,5.8-6.93,14.12-8.8,25.9a78.11,78.11,0,0,0,.78,29.25,66.55,66.55,0,0,0,13.91,28.78A63.83,63.83,0,0,0,970.3,567.4c5.76-1.81,15.86-5.12,24.87-14.51s11.83-19.42,13.46-25.38c4.2-15.3,1.86-27.85,0-37.81s-4-21.77-13-34.19c-3.54-4.94-10.09-13.87-22.27-19.68C961.83,430.3,951.22,430.46,946,430.61Z" transform="translate(-885.39 -430.56)"/></svg>
|
|
Before Width: | Height: | Size: 611 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_3" data-name="图层 3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 387.48 240.17"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M148.59,482.78c15.46,22.43,45,58.45,93.24,84.61a256.52,256.52,0,0,0,77.7,27.28,239.38,239.38,0,0,0,57.66,2.76c17.92-1.35,40.71-3.08,66.65-15.19A163,163,0,0,0,507.38,528c7-10.06,26.87-39.53,28.66-81.5,0,0,1.41-32.95-15.19-66.64-3.31-6.72-8.08-14.77-17.27-19-2.46-1.13-12.29-5.66-22.1-.69-7.14,3.63-13.6,12-12.08,18.65,1.85,8.17,15.89,15.08,34.18,11.05" transform="translate(-148.59 -357.91)"/></svg>
|
|
Before Width: | Height: | Size: 570 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_4" data-name="图层 4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 82.97 81.32"><defs><style>.cls-1{fill:none;}</style></defs><path class="cls-1" d="M1031,55c3.85,12.26,9.48,17.33,14,19.69,4.23,2.2,7.34,1.94,13.47,5.69,4.43,2.71,7.32,5.7,10.88,9.33,4,4.07,4.84,5.69,10.88,11.91,4.16,4.3,5.31,5.12,6.21,5.7,4,2.58,6.41,2.33,11.92,4.14,5.73,1.89,10.25,3.37,13,6.74,4.52,5.65,2.21,14.5,1,18.13" transform="translate(-1031.03 -55.02)"/></svg>
|
|
Before Width: | Height: | Size: 459 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100.45 1"><defs><style>.cls-1{fill:none;stroke:#231815;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><line class="cls-1" y1="0.5" x2="100.45" y2="0.5"/></g></g></svg>
|
|
Before Width: | Height: | Size: 288 B |
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
||||||
<svg version="1.1" id="图层_2_1_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
|
||||||
y="0px" viewBox="0 0 40 21.6" style="enable-background:new 0 0 40 21.6;" xml:space="preserve">
|
|
||||||
<style type="text/css">
|
|
||||||
.st0{fill:none;stroke:#00FF1C;stroke-miterlimit:10;}
|
|
||||||
</style>
|
|
||||||
<polyline class="st0" points="20.5,15.1 20.5,0.5 0.5,0.5 0.5,21.1 29.6,21.1 "/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 527 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_3" data-name="图层 3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27.74 15.09"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>2</title><polyline class="cls-1" points="27.24 0 27.24 14.6 0 14.6"/></svg>
|
|
Before Width: | Height: | Size: 265 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_4" data-name="图层 4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29.07 30.28"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>3</title><path class="cls-1" d="M292.82,107.78s0,0,0,0,0,3.59,0,7.62c0,3.85,0,5.78.06,6.43a19.94,19.94,0,0,0,2.87,7.58,15.85,15.85,0,0,0,6.61,6.23A14.75,14.75,0,0,0,310,137a11.69,11.69,0,0,0,7.59-2.92,11,11,0,0,0,3.2-6.84c.15-1.27.58-4.84-1.79-7.64a8.54,8.54,0,0,0-3.56-2.44c-1.32-.52-3.32-1.31-5.06-.33a5.41,5.41,0,0,0-2.14,3,3.48,3.48,0,0,0-.16,2.71c.78,1.86,3.36,2.14,3.47,2.15" transform="translate(-292.3 -107.25)"/></svg>
|
|
Before Width: | Height: | Size: 617 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.66 57"><defs><style>.cls-1{fill:none;stroke:#fff;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M.81,0C.12,12.47.64,23.24,1.87,29.9c1.85,10,3.32,18,10.21,22.72,5.59,3.83,15.45,6,21.45.77,2.53-2.22,4.92-5.91,4.6-10a9.27,9.27,0,0,0-2-5.55,1.84,1.84,0,0,0-2.16-.51c-.67.36-1.39,1.08-1.11,1.79s1.81,1,2.85.59"/></g></g></svg>
|
|
Before Width: | Height: | Size: 468 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28.63 21.43"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_5" data-name="图层 5"><path class="cls-1" d="M.5,19.21V.52c2.81-.05,6.84,0,9.38,0,3.71.09,9.65.46,11.89,1.9,1.76,1.22,6,3.85,6.34,9.34.25,4.38-1.66,6.63-6.11,8.37-3.5,1.39-8.46,1-10.71-2.06-.14-.18-2-2.82-.92-5.46.63-1.51,2.34-3.23,4.28-2.92A3.78,3.78,0,0,1,17,11.27"/></g></g></svg>
|
|
Before Width: | Height: | Size: 485 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.86 10.32"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_6" data-name="图层 6"><path class="cls-1" d="M.54,8.67A7.38,7.38,0,0,1,7.07.54a8.38,8.38,0,0,1,.86,0c.49,0,4.07.12,5.65,2.92.19.34,1.52,2.7.19,4.67A4.33,4.33,0,0,1,9.1,9.65"/></g></g></svg>
|
|
Before Width: | Height: | Size: 391 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12.07 10.2"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_6" data-name="图层 6"><path class="cls-1" d="M11.35.12A8.27,8.27,0,0,1,10.58,6c-.26.44-2.5,4.23-5.84,3.7A5,5,0,0,1,.85,6.15c-.1-.35-1-3,.58-4.09a3.26,3.26,0,0,1,3.89.58"/></g></g></svg>
|
|
Before Width: | Height: | Size: 386 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_6" data-name="图层 6" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 47.45 48.92"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>5</title><path class="cls-1" d="M301.38,145.93a8.21,8.21,0,0,1-.77,5.83c-.26.44-2.5,4.23-5.84,3.7a5,5,0,0,1-3.89-3.5c-.1-.35-1-3,.58-4.09a3.28,3.28,0,0,1,3.89.58" transform="translate(-290.04 -107.09)"/><path class="cls-1" d="M323.18,115.76a7.37,7.37,0,0,1,7.39-8.17c.49,0,4.07.12,5.65,2.92.19.34,1.52,2.7.19,4.67a4.33,4.33,0,0,1-4.67,1.56" transform="translate(-290.04 -107.09)"/></svg>
|
|
Before Width: | Height: | Size: 577 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.87 11.27"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_7" data-name="图层 7"><path class="cls-1" d="M.11,10.37A16.9,16.9,0,0,0,4,10.76c2.16,0,3.53,0,4.86-1A6.19,6.19,0,0,0,11.2,5.87c.17-1,.53-2.93-.78-4.29A4.34,4.34,0,0,0,5.94.81,3.6,3.6,0,0,0,3.77,2.59,3.71,3.71,0,0,0,4,5.9"/></g></g></svg>
|
|
Before Width: | Height: | Size: 439 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11.71 15.6"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_7" data-name="图层 7"><path class="cls-1" d="M8.67.47A14.17,14.17,0,0,0,4,3.2C2.41,4.6.63,6.2.5,8.65a6.44,6.44,0,0,0,2.14,4.86c1.28,1.1,3.68,2.22,5.84,1.17,1.64-.8,3.31-3,2.53-4.67A3.62,3.62,0,0,0,7.7,8.26"/></g></g></svg>
|
|
Before Width: | Height: | Size: 423 B |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_7" data-name="图层 7" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50.62 45.5"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>6</title><path class="cls-1" d="M352.17,86.57a14.23,14.23,0,0,0-4.67,2.73c-1.59,1.4-3.37,3-3.5,5.45a6.45,6.45,0,0,0,2.14,4.86c1.28,1.1,3.68,2.22,5.84,1.17,1.64-.8,3.31-3,2.53-4.67a3.6,3.6,0,0,0-3.31-1.75" transform="translate(-343.49 -56.2)"/><path class="cls-1" d="M382.34,66.53a17.27,17.27,0,0,0,3.89.39c2.16,0,3.53,0,4.86-1a6.15,6.15,0,0,0,2.34-3.89c.17-1,.53-2.93-.78-4.29a4.32,4.32,0,0,0-4.48-.77A3.62,3.62,0,0,0,386,58.75a3.75,3.75,0,0,0,.2,3.31" transform="translate(-343.49 -56.2)"/></svg>
|
|
Before Width: | Height: | Size: 686 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 130.55 65.27"><defs><style>.cls-1{fill:none;stroke:#231815;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><path class="cls-1" d="M.5,65.27a64.78,64.78,0,0,1,129.55,0"/></g></g></svg>
|
|
Before Width: | Height: | Size: 303 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100.45 1"><defs><style>.cls-1{fill:none;stroke:#231815;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><line class="cls-1" y1="0.5" x2="100.45" y2="0.5"/></g></g></svg>
|
|
Before Width: | Height: | Size: 288 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 168.53 311.11"><defs><style>.cls-1{fill:#fff;stroke:#231815;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><rect class="cls-1" x="0.5" y="0.5" width="167.53" height="310.11"/></g></g></svg>
|
|
Before Width: | Height: | Size: 310 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50.52 15.81"><defs><style>.cls-1{fill:#fff;stroke:#231815;stroke-miterlimit:10;}</style></defs><g id="图层_2" data-name="图层 2"><g id="图层_1-2" data-name="图层 1"><polygon class="cls-1" points="0.5 0.5 50.02 0.5 50.02 4.2 27.23 4.2 27.23 15.31 23.29 15.31 23.29 4.2 0.5 4.2 0.5 0.5"/></g></g></svg>
|
|
Before Width: | Height: | Size: 361 B |
|
@ -1,262 +0,0 @@
|
||||||
{
|
|
||||||
"background-color": "#f9edba",
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"include": "/svg/T.svg"
|
|
||||||
},
|
|
||||||
"name": "T.svg",
|
|
||||||
"type": "svg-file"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"reference-layer": "0.0"
|
|
||||||
},
|
|
||||||
"name": "T",
|
|
||||||
"type": "group"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"reference-layer": "0.0"
|
|
||||||
},
|
|
||||||
"name": "图源T丄",
|
|
||||||
"type": "group"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"reference-layer": "0.0"
|
|
||||||
},
|
|
||||||
"name": "图源3",
|
|
||||||
"type": "group"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"height": 16,
|
|
||||||
"metallic": 0,
|
|
||||||
"project-name": "样例1",
|
|
||||||
"root-layer": {
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"element": 0,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-1",
|
|
||||||
"styles": [
|
|
||||||
{
|
|
||||||
"material": "AH8A/341HP8=",
|
|
||||||
"type": "fill"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"is-folder": true,
|
|
||||||
"name": "子图层-1",
|
|
||||||
"referenced-by": 1,
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 275,
|
|
||||||
"y": 26
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 1,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-2",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 31,
|
|
||||||
"y": -4
|
|
||||||
},
|
|
||||||
"rotation": 180,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"is-folder": true,
|
|
||||||
"name": "T丄",
|
|
||||||
"referenced-by": 2,
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": -175,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 2,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-2",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 62,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 2,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-3",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 124,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"is-folder": true,
|
|
||||||
"name": "子图层",
|
|
||||||
"referenced-by": 3,
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 3,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-2",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 186,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 3,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-3",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 372,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"element": 3,
|
|
||||||
"is-folder": false,
|
|
||||||
"name": "子图层-4",
|
|
||||||
"styles": [
|
|
||||||
],
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": 558,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"is-folder": true,
|
|
||||||
"name": "root",
|
|
||||||
"referenced-by": null,
|
|
||||||
"transform": {
|
|
||||||
"flipX": false,
|
|
||||||
"flipY": false,
|
|
||||||
"offset": {
|
|
||||||
"x": -155,
|
|
||||||
"y": -24
|
|
||||||
},
|
|
||||||
"rotation": 0,
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"roughness": 0.5,
|
|
||||||
"width": 450
|
|
||||||
}
|
|
|
@ -0,0 +1,100 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>NavigationBarWidgetClass</class>
|
||||||
|
<widget class="QWidget" name="NavigationBarWidgetClass">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>612</width>
|
||||||
|
<height>41</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="baseSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>NavigationBarWidget</string>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QRadioButton::indicator {
|
||||||
|
width: 0px;
|
||||||
|
border: 0px;
|
||||||
|
background-color: rgba(0, 0, 0, 0);
|
||||||
|
}</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="radioButton0">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="baseSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>纹理编辑</string>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="radioButton1">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>场景渲染</string>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<layoutdefault spacing="6" margin="11"/>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -1,22 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<ui version="4.0">
|
|
||||||
<class>Form</class>
|
|
||||||
<widget class="QWidget" name="Form">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>400</width>
|
|
||||||
<height>300</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="windowTitle">
|
|
||||||
<string>Form</string>
|
|
||||||
</property>
|
|
||||||
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout"/>
|
|
||||||
|
|
||||||
</widget>
|
|
||||||
<resources/>
|
|
||||||
<connections/>
|
|
||||||
</ui>
|
|
|
@ -14,9 +14,6 @@
|
||||||
<string>RendererWidget</string>
|
<string>RendererWidget</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1">
|
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,1">
|
||||||
<property name="spacing">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
|
@ -30,140 +27,26 @@
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
<spacer name="verticalSpacer">
|
||||||
<property name="leftMargin">
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>5</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>5</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="FluentMenuButton" name="openButton">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>50</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>50</width>
|
|
||||||
<height>30</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>文件</string>
|
|
||||||
</property>
|
|
||||||
<property name="flat">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="sizeHint" stdset="0">
|
||||||
<size>
|
<size>
|
||||||
<width>40</width>
|
<width>20</width>
|
||||||
<height>20</height>
|
<height>40</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QCheckBox" name="ssaoCheckBox">
|
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,0">
|
||||||
<property name="text">
|
|
||||||
<string>SSAO</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="fxaaCheckBox">
|
|
||||||
<property name="text">
|
|
||||||
<string>FXAA</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1,0">
|
|
||||||
<property name="spacing">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="sizeConstraint">
|
<property name="sizeConstraint">
|
||||||
<enum>QLayout::SetDefaultConstraint</enum>
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
|
||||||
<widget class="QTabWidget" name="tabWidget">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Maximum" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>260</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="tabPosition">
|
|
||||||
<enum>QTabWidget::West</enum>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="textureTab">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>纹理</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QVBoxLayout" name="vboxLayout">
|
|
||||||
<property name="spacing">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4"/>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QListWidget" name="textureListWidget">
|
|
||||||
<property name="styleSheet">
|
|
||||||
<string notr="true">QListWidget{
|
|
||||||
border: 0
|
|
||||||
}</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="Renderer::RendererGLWidget" name="openGLWidget">
|
<widget class="Renderer::RendererGLWidget" name="openGLWidget">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -175,33 +58,11 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
<property name="spacing">
|
|
||||||
<number>12</number>
|
|
||||||
</property>
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>12</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>12</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QSlider" name="lightRadianceSlider">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>600</number>
|
|
||||||
</property>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QSlider" name="horizontalSlider">
|
<widget class="QSlider" name="horizontalSlider">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
|
@ -210,7 +71,7 @@
|
||||||
<number>180</number>
|
<number>180</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -220,23 +81,7 @@
|
||||||
<number>360</number>
|
<number>360</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QSlider" name="exposureSlider">
|
|
||||||
<property name="minimum">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>200</number>
|
|
||||||
</property>
|
|
||||||
<property name="singleStep">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -253,11 +98,6 @@
|
||||||
<extends>QOpenGLWidget</extends>
|
<extends>QOpenGLWidget</extends>
|
||||||
<header>RendererGLWidget.h</header>
|
<header>RendererGLWidget.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
|
||||||
<class>FluentMenuButton</class>
|
|
||||||
<extends>QPushButton</extends>
|
|
||||||
<header>../FluentMenuButton.h</header>
|
|
||||||
</customwidget>
|
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
|
|
@ -0,0 +1,159 @@
|
||||||
|
#version 450 core
|
||||||
|
|
||||||
|
out vec4 FragColor;
|
||||||
|
|
||||||
|
in vec2 TexCoords;
|
||||||
|
|
||||||
|
uniform sampler2D gBaseColor;
|
||||||
|
uniform sampler2D gNormal;
|
||||||
|
uniform sampler2D gPosition;
|
||||||
|
uniform sampler2D gMetallicRoughness;
|
||||||
|
uniform sampler2D gDepth;
|
||||||
|
uniform sampler2D gDirectLight;
|
||||||
|
uniform sampler2D gIndirectLight;
|
||||||
|
|
||||||
|
uniform vec3 mainLightDirection;
|
||||||
|
uniform vec3 mainLightRadiance;
|
||||||
|
|
||||||
|
uniform vec3 camPos;
|
||||||
|
|
||||||
|
const float PI = 3.14159265359;
|
||||||
|
|
||||||
|
float DistributionGGX(vec3 N, vec3 H, float roughness)
|
||||||
|
{
|
||||||
|
float a = roughness*roughness;
|
||||||
|
float a2 = a*a;
|
||||||
|
float NdotH = max(dot(N, H), 0.0);
|
||||||
|
float NdotH2 = NdotH*NdotH;
|
||||||
|
|
||||||
|
float nom = a2;
|
||||||
|
float denom = (NdotH2 * (a2 - 1.0) + 1.0);
|
||||||
|
denom = PI * denom * denom;
|
||||||
|
|
||||||
|
return nom / denom;
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
float GeometrySchlickGGX(float NdotV, float roughness)
|
||||||
|
{
|
||||||
|
float r = (roughness + 1.0);
|
||||||
|
float k = (r*r) / 8.0;
|
||||||
|
|
||||||
|
float nom = NdotV;
|
||||||
|
float denom = NdotV * (1.0 - k) + k;
|
||||||
|
|
||||||
|
return nom / denom;
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness)
|
||||||
|
{
|
||||||
|
float NdotV = max(dot(N, V), 0.0);
|
||||||
|
float NdotL = max(dot(N, L), 0.0);
|
||||||
|
float ggx2 = GeometrySchlickGGX(NdotV, roughness);
|
||||||
|
float ggx1 = GeometrySchlickGGX(NdotL, roughness);
|
||||||
|
|
||||||
|
return ggx1 * ggx2;
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
vec3 fresnelSchlick(float cosTheta, vec3 F0)
|
||||||
|
{
|
||||||
|
return F0 + (1.0 - F0) * pow(1.0 - cosTheta, 5.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
|
||||||
|
//FragColor = vec4(vec3(textureLod(gDepth, TexCoords, 1).x), 1.0);
|
||||||
|
//FragColor -= vec4(vec3(textureLod(gDepth, TexCoords, 0).x), 1.0);
|
||||||
|
//ivec2 depthCoords = ivec2(TexCoords*(textureSize(gDepth,0)-ivec2(1)) + vec2(0.5));
|
||||||
|
//float depth = texelFetch(gDepth, depthCoords/64, 6).x;
|
||||||
|
//depth -= texelFetch(gDepth, depthCoords, 0).x;
|
||||||
|
//FragColor = vec4(vec3(depth*10000),1);
|
||||||
|
//FragColor = vec4(vec3(textureSize(gShadowMap, 0)-vec3(1)),1);
|
||||||
|
//FragColor = vec4(texture(gRadiance, TexCoords).rgb, 1);
|
||||||
|
vec3 albedo = pow(texture(gBaseColor, TexCoords).rgb, vec3(2.2));
|
||||||
|
vec3 color = albedo * texture(gIndirectLight, TexCoords).rgb + texture(gDirectLight, TexCoords).rgb;
|
||||||
|
color = color / (color + vec3(1.0));
|
||||||
|
color = pow(color, vec3(1.0/2.2));
|
||||||
|
FragColor = vec4(color, 1.0);
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
float metallic = texture(gMetallicRoughness, TexCoords).r;
|
||||||
|
float roughness = texture(gMetallicRoughness, TexCoords).g;
|
||||||
|
|
||||||
|
|
||||||
|
vec3 N = texture(gNormal, TexCoords).xyz;
|
||||||
|
vec3 WorldPos = texture(gPosition, TexCoords).xyz;
|
||||||
|
|
||||||
|
if(N==vec3(0))
|
||||||
|
{
|
||||||
|
vec3 color = mainLightRadiance;
|
||||||
|
|
||||||
|
color = color / (color + vec3(1.0));
|
||||||
|
color = pow(color, vec3(1.0/2.2));
|
||||||
|
|
||||||
|
FragColor = vec4(color, 1.0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
vec3 V = normalize(camPos - WorldPos);
|
||||||
|
|
||||||
|
vec3 F0 = vec3(0.04);
|
||||||
|
F0 = mix(F0, albedo, metallic);
|
||||||
|
|
||||||
|
// reflectance equation
|
||||||
|
vec3 Lo = vec3(0.0);
|
||||||
|
|
||||||
|
|
||||||
|
// calculate per-light radiance
|
||||||
|
vec3 L = normalize(mainLightDirection);
|
||||||
|
vec3 H = normalize(V + L);
|
||||||
|
//float distance = length(lightPositions[i] - WorldPos);
|
||||||
|
//float attenuation = 1.0 / (distance * distance);
|
||||||
|
vec3 radiance = mainLightRadiance ;//* attenuation;
|
||||||
|
|
||||||
|
// cook-torrance brdf
|
||||||
|
float NDF = DistributionGGX(N, H, roughness);
|
||||||
|
float G = GeometrySmith(N, V, L, roughness);
|
||||||
|
vec3 F = fresnelSchlick(clamp(dot(H, V),0.,1.), F0);
|
||||||
|
//F = clamp(F,vec3(0),vec3(1));
|
||||||
|
|
||||||
|
vec3 kS = F;
|
||||||
|
vec3 kD = vec3(1.0) - kS;
|
||||||
|
kD *= 1.0 - metallic;
|
||||||
|
|
||||||
|
vec3 nominator = NDF * G * F;
|
||||||
|
float denominator = 4.0 * max(dot(N, V), 0.0) * max(dot(N, L), 0.0) + 0.001;
|
||||||
|
vec3 specular = nominator / denominator;
|
||||||
|
|
||||||
|
// add to outgoing radiance Lo
|
||||||
|
float NdotL = max(dot(N, L), 0.0);
|
||||||
|
Lo += (kD * albedo / PI + specular) * radiance * NdotL;
|
||||||
|
|
||||||
|
vec3 ambient = vec3(0.03) * albedo;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//vec4 FragPosLightSpace = lightSpaceMatrix * vec4(WorldPos, 1.0);
|
||||||
|
//float bias = 0.08 * max(0.05 * (1.0 - dot(N, L)), 0.005);
|
||||||
|
//int debugLayer;
|
||||||
|
//float shadow = ShadowCalculation(WorldPos, N, debugLayer);
|
||||||
|
|
||||||
|
//vec3 color = ambient + Lo;
|
||||||
|
//vec3 color = indirect*1;
|
||||||
|
float directLight = texture(gDirectLight, TexCoords).r;
|
||||||
|
color = ambient + directLight * Lo;
|
||||||
|
//color*=mix(mix(vec3(1,0,0), vec3(0,1,0), float(debugLayer)/shadowCascadeCount/0.5),
|
||||||
|
//mix(vec3(0,1,0), vec3(0,0,1), float(debugLayer)/(shadowCascadeCount)/0.5-1), float(debugLayer)/(shadowCascadeCount));
|
||||||
|
//vec3 color = (1.0 - shadow) * Lo;
|
||||||
|
//vec3 color = (1.0 - shadow) * Lo + indirect*10;
|
||||||
|
color = color / (color + vec3(1.0));
|
||||||
|
color = pow(color, vec3(1.0/2.2));
|
||||||
|
|
||||||
|
FragColor = vec4(color, 1.0);
|
||||||
|
//FragColor = vec4(vec3(shadow), 1);
|
||||||
|
//FragColor = vec4(texture(gShadowNormal, TexCoords).rgb, 1.0);
|
||||||
|
|
||||||
|
}
|
|
@ -1,25 +1,22 @@
|
||||||
#version 450 core
|
#version 450 core
|
||||||
|
|
||||||
|
|
||||||
uniform sampler2D texture_basecolor;
|
uniform sampler2D texture_basecolor;
|
||||||
uniform sampler2D texture_metallic_roughness;
|
uniform sampler2D texture_metallic_roughness;
|
||||||
uniform sampler2D texture_normal;
|
uniform sampler2D texture_normal;
|
||||||
|
|
||||||
uniform bool texture_basecolor_available = false;
|
|
||||||
uniform bool texture_metallic_roughness_available = false;
|
|
||||||
uniform bool texture_normal_available = false;
|
|
||||||
|
|
||||||
uniform vec3 baseColor;
|
|
||||||
uniform vec2 metallicRoughness;
|
|
||||||
|
|
||||||
layout (location = 0) out vec4 gBaseColor;
|
layout (location = 0) out vec4 gBaseColor;
|
||||||
layout (location = 1) out vec3 gNormal;
|
layout (location = 1) out vec3 gNormal;
|
||||||
layout (location = 2) out vec3 gPosition;
|
layout (location = 2) out vec3 gPosition;
|
||||||
layout (location = 3) out vec2 gMetallicRoughness;
|
layout (location = 3) out vec2 gMetallicRoughness;
|
||||||
layout (location = 4) out uvec2 gPaintingIndex;
|
layout (location = 4) out uint gPaintingIndex;
|
||||||
|
|
||||||
in vec2 TexCoords;
|
in vec2 TexCoords;
|
||||||
in vec3 WorldPos;
|
in vec3 WorldPos;
|
||||||
in vec3 Normal;
|
in vec3 Normal;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vec3 getNormalFromMap()
|
vec3 getNormalFromMap()
|
||||||
{
|
{
|
||||||
vec3 tangentNormal = texture(texture_normal, TexCoords).xyz * 2.0 - 1.0;
|
vec3 tangentNormal = texture(texture_normal, TexCoords).xyz * 2.0 - 1.0;
|
||||||
|
@ -39,26 +36,13 @@ vec3 getNormalFromMap()
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
if(texture_basecolor_available)
|
//gBaseColor = vec4(1,0,0,1);
|
||||||
gBaseColor = texture(texture_basecolor, TexCoords);
|
gBaseColor = texture(texture_basecolor, TexCoords);
|
||||||
else
|
|
||||||
gBaseColor = vec4(baseColor, 1);
|
|
||||||
if(gBaseColor.a<0.4)
|
if(gBaseColor.a<0.4)
|
||||||
discard;
|
discard;
|
||||||
gPosition = WorldPos;
|
gPosition = WorldPos;
|
||||||
|
|
||||||
if(texture_normal_available)
|
|
||||||
gNormal = getNormalFromMap();
|
gNormal = getNormalFromMap();
|
||||||
else
|
|
||||||
gNormal = Normal;
|
|
||||||
if(!gl_FrontFacing)
|
|
||||||
gNormal = -gNormal;
|
|
||||||
gNormal = normalize(gNormal) / 2. + vec3(0.5);
|
|
||||||
|
|
||||||
if(texture_metallic_roughness_available)
|
|
||||||
gMetallicRoughness = texture(texture_metallic_roughness, TexCoords).bg;
|
gMetallicRoughness = texture(texture_metallic_roughness, TexCoords).bg;
|
||||||
else
|
gPaintingIndex = 0;
|
||||||
gMetallicRoughness = metallicRoughness;
|
|
||||||
|
|
||||||
gPaintingIndex = uvec2(0);
|
|
||||||
}
|
}
|
|
@ -1,5 +1,4 @@
|
||||||
#version 450 core
|
#version 450 core
|
||||||
#extension GL_ARB_sparse_texture2 : enable
|
|
||||||
|
|
||||||
uniform sampler2D texture_basecolor;
|
uniform sampler2D texture_basecolor;
|
||||||
|
|
||||||
|
@ -7,6 +6,7 @@ in vec2 TexCoords;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
|
//gBaseColor = vec4(1,0,0,1);
|
||||||
vec4 baseColor = texture(texture_basecolor, TexCoords);
|
vec4 baseColor = texture(texture_basecolor, TexCoords);
|
||||||
if(baseColor.a<0.4)
|
if(baseColor.a<0.4)
|
||||||
discard;
|
discard;
|
|
@ -0,0 +1,647 @@
|
||||||
|
#version 450 core
|
||||||
|
|
||||||
|
layout(location = 0) out vec4 gBaseColor;
|
||||||
|
layout(location = 1) out vec3 gNormal;
|
||||||
|
layout(location = 2) out vec3 gPosition;
|
||||||
|
layout(location = 3) out vec2 gMetallicRoughness;
|
||||||
|
layout(location = 4) out uint gPaintingIndex;
|
||||||
|
layout(location = 5) out vec2 gPaintingTexCoord;
|
||||||
|
|
||||||
|
in vec2 TexCoords;
|
||||||
|
in vec3 WorldPos;
|
||||||
|
in vec3 Normal;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
|
||||||
|
gBaseColor = vec4( vec3(1),1 );
|
||||||
|
// mainImage(gBaseColor, vec2(1.,1.)-TexCoords);
|
||||||
|
gPosition = WorldPos;
|
||||||
|
gNormal = normalize(Normal);
|
||||||
|
// gMetallicRoughness = vec2(1, 46./255);
|
||||||
|
gMetallicRoughness = vec2(0);
|
||||||
|
gPaintingIndex = 1;
|
||||||
|
gPaintingTexCoord = vec2(1., 1.) - TexCoords * 2;
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
layout(std430, binding = 1) buffer bvhBuffer
|
||||||
|
{
|
||||||
|
uint bvhLength;
|
||||||
|
uvec2 bvhChildren[];
|
||||||
|
};
|
||||||
|
layout(std430, binding = 2) buffer bvhBoundBuffer
|
||||||
|
{
|
||||||
|
vec4 bvhBound[];
|
||||||
|
};
|
||||||
|
layout(std430, binding = 3) buffer elementOffsetBuffer
|
||||||
|
{
|
||||||
|
/**********************
|
||||||
|
** @x elementBvhRoot
|
||||||
|
** @y elementBvhLength
|
||||||
|
** @z pointsOffset
|
||||||
|
** @w linesOffset
|
||||||
|
**********************/
|
||||||
|
uvec4 elementOffset[];
|
||||||
|
};
|
||||||
|
layout(std430, binding = 4) buffer elementIndexBuffer
|
||||||
|
{
|
||||||
|
uint elementIndexs[]; //ÏߺÍÃæ
|
||||||
|
};
|
||||||
|
layout(std430, binding = 5) buffer elementDataBuffer
|
||||||
|
{
|
||||||
|
float elementData[]; //µãºÍStyle
|
||||||
|
};
|
||||||
|
|
||||||
|
const float PI = 3.14159265358979;
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
float border = 0;
|
||||||
|
|
||||||
|
mat2 inv(mat2 m)
|
||||||
|
{
|
||||||
|
return mat2(m[1][1], -m[0][1], -m[1][0], m[0][0]) / (m[0][0] * m[1][1] - m[1][0] * m[0][1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
float abs_min(float a, float b)
|
||||||
|
{
|
||||||
|
if (abs(a) < abs(b))
|
||||||
|
{
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int i_mod(int a, int m)
|
||||||
|
{
|
||||||
|
return int(mod(float(a), float(m)));
|
||||||
|
}
|
||||||
|
|
||||||
|
float line_dist(vec2 uv, const vec2 p0, vec2 p1)
|
||||||
|
{
|
||||||
|
vec2 tang = p1 - p0;
|
||||||
|
vec2 nor = normalize(vec2(tang.y, -tang.x));
|
||||||
|
|
||||||
|
if (dot(tang, uv) < dot(tang, p0))
|
||||||
|
{
|
||||||
|
return distance(p0, uv);
|
||||||
|
}
|
||||||
|
else if (dot(tang, uv) > dot(tang, p1))
|
||||||
|
{
|
||||||
|
return distance(p1, uv);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return dot(nor, uv) - dot(nor, p0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool int_test(vec2 uv, vec2 last_point, vec2 p0, vec2 p1)
|
||||||
|
{
|
||||||
|
last_point -= uv;
|
||||||
|
p0 -= uv;
|
||||||
|
p1 -= uv;
|
||||||
|
|
||||||
|
bool ret;
|
||||||
|
if (p0.y == 0.)
|
||||||
|
{
|
||||||
|
ret = (p0.x >= 0. && p1.y * last_point.y < 0.);
|
||||||
|
}
|
||||||
|
else if (p1.y == 0.)
|
||||||
|
{
|
||||||
|
ret = false;
|
||||||
|
}
|
||||||
|
else if (p0.y * p1.y < 0.)
|
||||||
|
{
|
||||||
|
if (p0.x >= 0. && p1.x >= 0.)
|
||||||
|
{
|
||||||
|
ret = true;
|
||||||
|
}
|
||||||
|
else if (p0.x < 0. && p1.x < 0.)
|
||||||
|
{
|
||||||
|
ret = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
vec2 nor;
|
||||||
|
if (p0.y > p1.y)
|
||||||
|
{
|
||||||
|
nor = p0 - p1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nor = p1 - p0;
|
||||||
|
}
|
||||||
|
|
||||||
|
nor = vec2(nor.y, -nor.x);
|
||||||
|
if (dot(nor, p0) < 0.)
|
||||||
|
{
|
||||||
|
ret = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool tri_test(vec2 uv, vec2 p0, vec2 p1, vec2 p2, bool inside)
|
||||||
|
{
|
||||||
|
vec2 nor1 = normalize(p0 - p1);
|
||||||
|
nor1 = vec2(nor1.y, -nor1.x);
|
||||||
|
vec2 nor2 = normalize(p1 - p2);
|
||||||
|
nor2 = vec2(nor2.y, -nor2.x);
|
||||||
|
vec2 tan3 = normalize(p2 - p0);
|
||||||
|
vec2 nor3 = vec2(tan3.y, -tan3.x);
|
||||||
|
|
||||||
|
if (inside)
|
||||||
|
{
|
||||||
|
if (dot(tan3, p0) >= dot(tan3, uv) || dot(tan3, p2) <= dot(tan3, uv))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
float brd = max(dot(nor3, nor1), dot(nor3, nor2)) * border;
|
||||||
|
return (dot(uv, nor1) >= dot(p0, nor1) && dot(uv, nor2) >= dot(p1, nor2) &&
|
||||||
|
dot(uv, nor3) >= dot(p2, nor3) + brd) ||
|
||||||
|
(dot(uv, nor1) <= dot(p0, nor1) && dot(uv, nor2) <= dot(p1, nor2) &&
|
||||||
|
dot(uv, nor3) <= dot(p2, nor3) - brd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
float brd1 = dot(nor1, tan3) * border;
|
||||||
|
float brd2 = dot(nor2, tan3) * border;
|
||||||
|
|
||||||
|
if (dot(tan3, p0) >= dot(tan3, uv) - brd1 || dot(tan3, p2) <= dot(tan3, uv) - brd2)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return (dot(uv, nor1) >= dot(p0, nor1) - border && dot(uv, nor2) >= dot(p1, nor2) - border &&
|
||||||
|
dot(uv, nor3) >= dot(p2, nor3)) ||
|
||||||
|
(dot(uv, nor1) <= dot(p0, nor1) + border && dot(uv, nor2) <= dot(p1, nor2) + border &&
|
||||||
|
dot(uv, nor3) <= dot(p2, nor3));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
float bezier_sd(vec2 uv, vec2 p0, vec2 p1, vec2 p2)
|
||||||
|
{
|
||||||
|
|
||||||
|
const mat2 trf1 = mat2(-1, 2, 1, 2);
|
||||||
|
mat2 trf2 = inv(mat2(p0 - p1, p2 - p1));
|
||||||
|
mat2 trf = trf1 * trf2;
|
||||||
|
|
||||||
|
uv -= p1;
|
||||||
|
vec2 xy = trf * uv;
|
||||||
|
xy.y -= 1.;
|
||||||
|
|
||||||
|
vec2 gradient;
|
||||||
|
gradient.x = 2. * trf[0][0] * (trf[0][0] * uv.x + trf[1][0] * uv.y) - trf[0][1];
|
||||||
|
gradient.y = 2. * trf[1][0] * (trf[0][0] * uv.x + trf[1][0] * uv.y) - trf[1][1];
|
||||||
|
|
||||||
|
return (xy.x * xy.x - xy.y) / length(gradient);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////
|
||||||
|
|
||||||
|
// Modified from http://tog.acm.org/resources/GraphicsGems/gems/Roots3And4.c
|
||||||
|
// Credits to Doublefresh for hinting there
|
||||||
|
int solve_quadric(vec2 coeffs, inout vec2 roots)
|
||||||
|
{
|
||||||
|
|
||||||
|
// normal form: x^2 + px + q = 0
|
||||||
|
float p = coeffs[1] / 2.;
|
||||||
|
float q = coeffs[0];
|
||||||
|
|
||||||
|
float D = p * p - q;
|
||||||
|
|
||||||
|
if (D < 0.)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
roots[0] = -sqrt(D) - p;
|
||||||
|
roots[1] = sqrt(D) - p;
|
||||||
|
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// From Trisomie21
|
||||||
|
// But instead of his cancellation fix i'm using a newton iteration
|
||||||
|
int solve_cubic(vec3 coeffs, inout vec3 r)
|
||||||
|
{
|
||||||
|
|
||||||
|
float a = coeffs[2];
|
||||||
|
float b = coeffs[1];
|
||||||
|
float c = coeffs[0];
|
||||||
|
|
||||||
|
float p = b - a * a / 3.0;
|
||||||
|
float q = a * (2.0 * a * a - 9.0 * b) / 27.0 + c;
|
||||||
|
float p3 = p * p * p;
|
||||||
|
float d = q * q + 4.0 * p3 / 27.0;
|
||||||
|
float offset = -a / 3.0;
|
||||||
|
if (d >= 0.0)
|
||||||
|
{ // Single solution
|
||||||
|
float z = sqrt(d);
|
||||||
|
float u = (-q + z) / 2.0;
|
||||||
|
float v = (-q - z) / 2.0;
|
||||||
|
u = sign(u) * pow(abs(u), 1.0 / 3.0);
|
||||||
|
v = sign(v) * pow(abs(v), 1.0 / 3.0);
|
||||||
|
r[0] = offset + u + v;
|
||||||
|
|
||||||
|
// Single newton iteration to account for cancellation
|
||||||
|
float f = ((r[0] + a) * r[0] + b) * r[0] + c;
|
||||||
|
float f1 = (3. * r[0] + 2. * a) * r[0] + b;
|
||||||
|
|
||||||
|
r[0] -= f / f1;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
float u = sqrt(-p / 3.0);
|
||||||
|
float v = acos(-sqrt(-27.0 / p3) * q / 2.0) / 3.0;
|
||||||
|
float m = cos(v), n = sin(v) * 1.732050808;
|
||||||
|
|
||||||
|
// Single newton iteration to account for cancellation
|
||||||
|
//(once for every root)
|
||||||
|
r[0] = offset + u * (m + m);
|
||||||
|
r[1] = offset - u * (n + m);
|
||||||
|
r[2] = offset + u * (n - m);
|
||||||
|
|
||||||
|
vec3 f = ((r + a) * r + b) * r + c;
|
||||||
|
vec3 f1 = (3. * r + 2. * a) * r + b;
|
||||||
|
|
||||||
|
r -= f / f1;
|
||||||
|
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
float cubic_bezier_normal_iteration(float t, vec2 a0, vec2 a1, vec2 a2, vec2 a3)
|
||||||
|
{
|
||||||
|
// horner's method
|
||||||
|
vec2 a_2 = a2 + t * a3;
|
||||||
|
vec2 a_1 = a1 + t * a_2;
|
||||||
|
vec2 b_2 = a_2 + t * a3;
|
||||||
|
|
||||||
|
vec2 uv_to_p = a0 + t * a_1;
|
||||||
|
vec2 tang = a_1 + t * b_2;
|
||||||
|
|
||||||
|
float l_tang = dot(tang, tang);
|
||||||
|
return t - dot(tang, uv_to_p) / l_tang;
|
||||||
|
}
|
||||||
|
|
||||||
|
float cubic_bezier_dis_approx_sq(vec2 uv, vec2 p0, vec2 p1, vec2 p2, vec2 p3)
|
||||||
|
{
|
||||||
|
vec2 a3 = (-p0 + 3. * p1 - 3. * p2 + p3);
|
||||||
|
vec2 a2 = (3. * p0 - 6. * p1 + 3. * p2);
|
||||||
|
vec2 a1 = (-3. * p0 + 3. * p1);
|
||||||
|
vec2 a0 = p0 - uv;
|
||||||
|
|
||||||
|
float d0 = 1e38;
|
||||||
|
|
||||||
|
float t;
|
||||||
|
vec3 params = vec3(0, .5, 1);
|
||||||
|
|
||||||
|
for (int i = 0; i < 3; i++)
|
||||||
|
{
|
||||||
|
t = params[i];
|
||||||
|
for (int j = 0; j < 3; j++)
|
||||||
|
{
|
||||||
|
t = cubic_bezier_normal_iteration(t, a0, a1, a2, a3);
|
||||||
|
}
|
||||||
|
t = clamp(t, 0., 1.);
|
||||||
|
vec2 uv_to_p = ((a3 * t + a2) * t + a1) * t + a0;
|
||||||
|
d0 = min(d0, dot(uv_to_p, uv_to_p));
|
||||||
|
}
|
||||||
|
|
||||||
|
return d0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// segment_dis_sq by iq
|
||||||
|
float length2(vec2 v)
|
||||||
|
{
|
||||||
|
return dot(v, v);
|
||||||
|
}
|
||||||
|
|
||||||
|
float segment_dis_sq(vec2 p, vec2 a, vec2 b)
|
||||||
|
{
|
||||||
|
vec2 pa = p - a, ba = b - a;
|
||||||
|
float h = clamp(dot(pa, ba) / dot(ba, ba), 0.0, 1.0);
|
||||||
|
return length2(pa - ba * h);
|
||||||
|
}
|
||||||
|
|
||||||
|
int segment_int_test(vec2 uv, vec2 p0, vec2 p1)
|
||||||
|
{
|
||||||
|
p0 -= uv;
|
||||||
|
p1 -= uv;
|
||||||
|
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
if (p0.y * p1.y < 0.)
|
||||||
|
{
|
||||||
|
vec2 nor = p0 - p1;
|
||||||
|
nor = vec2(nor.y, -nor.x);
|
||||||
|
|
||||||
|
float sgn;
|
||||||
|
|
||||||
|
if (p0.y > p1.y)
|
||||||
|
{
|
||||||
|
sgn = 1.;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sgn = -1.;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dot(nor, p0) * sgn < 0.)
|
||||||
|
{
|
||||||
|
ret = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ret = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cubic_bezier_int_test(vec2 uv, vec2 p0, vec2 p1, vec2 p2, vec2 p3)
|
||||||
|
{
|
||||||
|
|
||||||
|
float cu = (-p0.y + 3. * p1.y - 3. * p2.y + p3.y);
|
||||||
|
float qu = (3. * p0.y - 6. * p1.y + 3. * p2.y);
|
||||||
|
float li = (-3. * p0.y + 3. * p1.y);
|
||||||
|
float co = p0.y - uv.y;
|
||||||
|
|
||||||
|
vec3 roots = vec3(1e38);
|
||||||
|
int n_roots;
|
||||||
|
|
||||||
|
int n_ints = 0;
|
||||||
|
|
||||||
|
if (uv.x < min(min(p0.x, p1.x), min(p2.x, p3.x)))
|
||||||
|
{
|
||||||
|
if (uv.y >= min(p0.y, p3.y) && uv.y <= max(p0.y, p3.y))
|
||||||
|
{
|
||||||
|
n_ints = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
if (abs(cu) < .0001)
|
||||||
|
{
|
||||||
|
n_roots = solve_quadric(vec2(co / qu, li / qu), roots.xy);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
n_roots = solve_cubic(vec3(co / cu, li / cu, qu / cu), roots);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < n_roots; i++)
|
||||||
|
{
|
||||||
|
if (roots[i] >= 0. && roots[i] <= 1.)
|
||||||
|
{
|
||||||
|
float x_pos = -p0.x + 3. * p1.x - 3. * p2.x + p3.x;
|
||||||
|
x_pos = x_pos * roots[i] + 3. * p0.x - 6. * p1.x + 3. * p2.x;
|
||||||
|
x_pos = x_pos * roots[i] + -3. * p0.x + 3. * p1.x;
|
||||||
|
x_pos = x_pos * roots[i] + p0.x;
|
||||||
|
|
||||||
|
if (x_pos > uv.x)
|
||||||
|
{
|
||||||
|
n_ints++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return n_ints;
|
||||||
|
}
|
||||||
|
|
||||||
|
float path2_dis_sq(vec2 uv)
|
||||||
|
{
|
||||||
|
float dis_sq = 1e38;
|
||||||
|
|
||||||
|
int num_its = 0;
|
||||||
|
|
||||||
|
vec2[45] p = vec2[](vec2(-0.124919, 0.0496896), vec2(-0.127105, 0.0391554), vec2(-0.127105, 0.0405467),
|
||||||
|
vec2(-0.127105, 0.0463107), vec2(-0.131876, 0.0506833), vec2(-0.143205, 0.0506833),
|
||||||
|
vec2(-0.177789, 0.0506833), vec2(-0.194286, 0.00795032), vec2(-0.194286, -0.018882),
|
||||||
|
vec2(-0.194286, -0.0425342), vec2(-0.181366, -0.0508821), vec2(-0.167851, -0.0508821),
|
||||||
|
vec2(-0.153739, -0.0508821), vec2(-0.144397, -0.0417392), vec2(-0.138236, -0.0325963),
|
||||||
|
vec2(-0.137043, -0.0445217), vec2(-0.129888, -0.0508821), vec2(-0.118758, -0.0508821),
|
||||||
|
vec2(-0.108025, -0.0508821), vec2(-0.0901364, -0.0465093), vec2(-0.0788071, -0.0141118),
|
||||||
|
vec2(-0.087155, -0.0141118), vec2(-0.0901364, -0.0240497), vec2(-0.0955028, -0.0327951),
|
||||||
|
vec2(-0.103254, -0.0327951), vec2(-0.10882, -0.0327951), vec2(-0.111403, -0.0298137),
|
||||||
|
vec2(-0.111403, -0.0242485), vec2(-0.111403, -0.0224597), vec2(-0.111205, -0.0204721),
|
||||||
|
vec2(-0.110609, -0.0178882), vec2(-0.0962985, 0.0496896), vec2(-0.137043, 0.0383603),
|
||||||
|
vec2(-0.130683, 0.0383603), vec2(-0.128894, 0.0331926), vec2(-0.128894, 0.0308075),
|
||||||
|
vec2(-0.138435, -0.0141118), vec2(-0.14082, -0.0256398), vec2(-0.149168, -0.0316026),
|
||||||
|
vec2(-0.154931, -0.0316026), vec2(-0.158509, -0.0316026), vec2(-0.164869, -0.0314042),
|
||||||
|
vec2(-0.164869, -0.0160994), vec2(-0.164869, 0.00258385), vec2(-0.153938, 0.0383603));
|
||||||
|
|
||||||
|
ivec2[6] seg = ivec2[](ivec2(0, 1), ivec2(1, 2), ivec2(20, 21), ivec2(30, 31), ivec2(31, 0), ivec2(35, 36));
|
||||||
|
|
||||||
|
ivec4[13] c_bez =
|
||||||
|
ivec4[](ivec4(2, 3, 4, 5), ivec4(5, 6, 7, 8), ivec4(8, 9, 10, 11), ivec4(11, 12, 13, 14), ivec4(14, 15, 16, 17),
|
||||||
|
ivec4(17, 18, 19, 20), ivec4(21, 22, 23, 24), ivec4(24, 25, 26, 27), ivec4(27, 28, 29, 30),
|
||||||
|
ivec4(32, 33, 34, 35), ivec4(36, 37, 38, 39), ivec4(39, 40, 41, 42), ivec4(42, 43, 44, 32));
|
||||||
|
|
||||||
|
if (all(lessThan(uv, vec2(-0.0788071, 0.0506833) + border)) &&
|
||||||
|
all(greaterThan(uv, vec2(-0.194286, -0.0508821) - border)))
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 6; i++)
|
||||||
|
{
|
||||||
|
dis_sq = min(dis_sq, segment_dis_sq(uv, p[seg[i][0]], p[seg[i][1]]));
|
||||||
|
num_its += segment_int_test(uv, p[seg[i][0]], p[seg[i][1]]);
|
||||||
|
}
|
||||||
|
for (int i = 0; i < 13; i++)
|
||||||
|
{
|
||||||
|
dis_sq = min(
|
||||||
|
dis_sq, cubic_bezier_dis_approx_sq(uv, p[c_bez[i][0]], p[c_bez[i][1]], p[c_bez[i][2]], p[c_bez[i][3]]));
|
||||||
|
num_its += cubic_bezier_int_test(uv, p[c_bez[i][0]], p[c_bez[i][1]], p[c_bez[i][2]], p[c_bez[i][3]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
float sgn = 1.;
|
||||||
|
|
||||||
|
if (num_its % 2 == 1)
|
||||||
|
{
|
||||||
|
sgn = -1.;
|
||||||
|
}
|
||||||
|
|
||||||
|
return sgn * dis_sq;
|
||||||
|
}
|
||||||
|
|
||||||
|
void mainImage(out vec3 fragColor, in vec2 fragCoord)
|
||||||
|
{
|
||||||
|
border = 0.01;
|
||||||
|
vec2 uv = fragCoord;
|
||||||
|
uv -= .5;
|
||||||
|
|
||||||
|
float dis_sq = 1e38;
|
||||||
|
|
||||||
|
if (all(lessThan(uv, vec2(0.4, 0.0993791) + border)) && all(greaterThan(uv, vec2(-0.4, -0.0993791) - border)))
|
||||||
|
{
|
||||||
|
dis_sq = min(dis_sq, path2_dis_sq(uv));
|
||||||
|
}
|
||||||
|
|
||||||
|
float dis = sign(dis_sq) * sqrt(abs(dis_sq));
|
||||||
|
|
||||||
|
fragColor = vec3(smoothstep(0., border, dis));
|
||||||
|
if (dis > 0 && dis <= border)
|
||||||
|
fragColor = vec3(1, 1, 0);
|
||||||
|
}
|
||||||
|
///////////////////////////////
|
||||||
|
|
||||||
|
const uint STACK_SIZE = 40;
|
||||||
|
|
||||||
|
struct Stack
|
||||||
|
{
|
||||||
|
uint top;
|
||||||
|
uint data[STACK_SIZE];
|
||||||
|
|
||||||
|
bool empty()
|
||||||
|
{
|
||||||
|
return top == 0;
|
||||||
|
}
|
||||||
|
bool full()
|
||||||
|
{
|
||||||
|
return top == STACK_SIZE;
|
||||||
|
}
|
||||||
|
bool getTop(out uint x)
|
||||||
|
{
|
||||||
|
if (empty())
|
||||||
|
return false;
|
||||||
|
x = data[top - 1];
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool pop()
|
||||||
|
{
|
||||||
|
if (empty())
|
||||||
|
return false;
|
||||||
|
top--;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
bool push(in uint x)
|
||||||
|
{
|
||||||
|
if (full())
|
||||||
|
return false;
|
||||||
|
data[top] = x;
|
||||||
|
top++;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} stack, elementStack;
|
||||||
|
|
||||||
|
vec3 drawElement(uint elementIndex, vec2 localUV, inout vec3 debugBVH = vec3(0))
|
||||||
|
{
|
||||||
|
vec4 elementColor = vec4(0);
|
||||||
|
|
||||||
|
uvec4 currentOffset = elementOffset[elementIndex];
|
||||||
|
uint elementBvhRoot = currentOffset.x;
|
||||||
|
uint elementBvhLength = currentOffset.y;
|
||||||
|
uint pointsOffset = currentOffset.z;
|
||||||
|
uint linesOffset = currentOffset.w;
|
||||||
|
|
||||||
|
elementStack.top = 0;
|
||||||
|
uint elementBvhIndex = 0;
|
||||||
|
while (elementBvhIndex < elementBvhLength || !elementStack.empty())
|
||||||
|
{
|
||||||
|
|
||||||
|
while (elementBvhIndex < elementBvhLength)
|
||||||
|
{
|
||||||
|
vec4 bound = bvhBound[elementBvhRoot + elementBvhIndex];
|
||||||
|
uint leftChild = bvhChildren[elementBvhRoot + elementBvhIndex].x;
|
||||||
|
|
||||||
|
if (all(lessThan(bound.xy, localUV)) && all(lessThan(localUV, bound.zw)))
|
||||||
|
{
|
||||||
|
if (leftChild >= elementBvhLength)
|
||||||
|
{
|
||||||
|
debugBVH.g += 0.5;
|
||||||
|
|
||||||
|
uint styleIndex = bvhChildren[elementBvhRoot + elementBvhIndex].y - elementBvhLength;
|
||||||
|
// for(int i = 0; i<200;i++)
|
||||||
|
if (elementData[styleIndex] == 0.) //Ãæ
|
||||||
|
{
|
||||||
|
|
||||||
|
uint lineCount = elementIndexs[leftChild - elementBvhLength];
|
||||||
|
uint num_its = 0;
|
||||||
|
|
||||||
|
for (uint contourIterator = leftChild - elementBvhLength + 1;
|
||||||
|
contourIterator <= leftChild - elementBvhLength + lineCount; contourIterator++)
|
||||||
|
{
|
||||||
|
uint lineIndex = elementIndexs[contourIterator];
|
||||||
|
uint p0Index = elementIndexs[linesOffset + 4 * lineIndex];
|
||||||
|
uint p1Index = elementIndexs[linesOffset + 4 * lineIndex + 1];
|
||||||
|
uint p2Index = elementIndexs[linesOffset + 4 * lineIndex + 2];
|
||||||
|
uint p3Index = elementIndexs[linesOffset + 4 * lineIndex + 3];
|
||||||
|
|
||||||
|
vec2 p0 = vec2(elementData[pointsOffset + 2 * p0Index],
|
||||||
|
elementData[pointsOffset + 2 * p0Index + 1]);
|
||||||
|
vec2 p1 = vec2(elementData[pointsOffset + 2 * p1Index],
|
||||||
|
elementData[pointsOffset + 2 * p1Index + 1]);
|
||||||
|
vec2 p2 = vec2(elementData[pointsOffset + 2 * p2Index],
|
||||||
|
elementData[pointsOffset + 2 * p2Index + 1]);
|
||||||
|
vec2 p3 = vec2(elementData[pointsOffset + 2 * p3Index],
|
||||||
|
elementData[pointsOffset + 2 * p3Index + 1]);
|
||||||
|
|
||||||
|
if (p0 == p1 && p2 == p3)
|
||||||
|
{
|
||||||
|
num_its += segment_int_test(localUV, p0, p3);
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
num_its += cubic_bezier_int_test(localUV, p0, p1, p2, p3);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (num_its % 2 == 1)
|
||||||
|
{
|
||||||
|
elementColor = vec4(1);
|
||||||
|
//debugHit = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (elementData[styleIndex] == 1) //Ïß
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
elementBvhIndex = elementBvhLength;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// debugBVH.b += 0.2;
|
||||||
|
elementStack.push(elementBvhIndex);
|
||||||
|
elementBvhIndex = leftChild;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
elementBvhIndex = elementBvhLength;
|
||||||
|
}
|
||||||
|
if (!elementStack.empty())
|
||||||
|
{
|
||||||
|
elementStack.getTop(elementBvhIndex);
|
||||||
|
elementStack.pop();
|
||||||
|
elementBvhIndex = bvhChildren[elementBvhRoot + elementBvhIndex].y;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return elementColor.xyz;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,133 @@
|
||||||
|
#version 330 core
|
||||||
|
|
||||||
|
|
||||||
|
uniform sampler2D texture_basecolor;
|
||||||
|
uniform sampler2D texture_metallic_roughness;
|
||||||
|
uniform sampler2D texture_normal;
|
||||||
|
|
||||||
|
out vec4 FragColor;
|
||||||
|
in vec2 TexCoords;
|
||||||
|
in vec3 WorldPos;
|
||||||
|
in vec3 Normal;
|
||||||
|
|
||||||
|
// lights
|
||||||
|
uniform vec3 lightPositions[4];
|
||||||
|
uniform vec3 lightColors[4];
|
||||||
|
|
||||||
|
uniform vec3 camPos;
|
||||||
|
|
||||||
|
const float PI = 3.14159265359;
|
||||||
|
|
||||||
|
vec3 getNormalFromMap()
|
||||||
|
{
|
||||||
|
vec3 tangentNormal = texture(texture_normal, TexCoords).xyz * 2.0 - 1.0;
|
||||||
|
|
||||||
|
vec3 Q1 = dFdx(WorldPos);
|
||||||
|
vec3 Q2 = dFdy(WorldPos);
|
||||||
|
vec2 st1 = dFdx(TexCoords);
|
||||||
|
vec2 st2 = dFdy(TexCoords);
|
||||||
|
|
||||||
|
vec3 N = normalize(Normal);
|
||||||
|
vec3 T = normalize(Q1*st2.t - Q2*st1.t);
|
||||||
|
vec3 B = -normalize(cross(N, T));
|
||||||
|
mat3 TBN = mat3(T, B, N);
|
||||||
|
|
||||||
|
return normalize(TBN * tangentNormal);
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
float DistributionGGX(vec3 N, vec3 H, float roughness)
|
||||||
|
{
|
||||||
|
float a = roughness*roughness;
|
||||||
|
float a2 = a*a;
|
||||||
|
float NdotH = max(dot(N, H), 0.0);
|
||||||
|
float NdotH2 = NdotH*NdotH;
|
||||||
|
|
||||||
|
float nom = a2;
|
||||||
|
float denom = (NdotH2 * (a2 - 1.0) + 1.0);
|
||||||
|
denom = PI * denom * denom;
|
||||||
|
|
||||||
|
return nom / denom;
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
float GeometrySchlickGGX(float NdotV, float roughness)
|
||||||
|
{
|
||||||
|
float r = (roughness + 1.0);
|
||||||
|
float k = (r*r) / 8.0;
|
||||||
|
|
||||||
|
float nom = NdotV;
|
||||||
|
float denom = NdotV * (1.0 - k) + k;
|
||||||
|
|
||||||
|
return nom / denom;
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
float GeometrySmith(vec3 N, vec3 V, vec3 L, float roughness)
|
||||||
|
{
|
||||||
|
float NdotV = max(dot(N, V), 0.0);
|
||||||
|
float NdotL = max(dot(N, L), 0.0);
|
||||||
|
float ggx2 = GeometrySchlickGGX(NdotV, roughness);
|
||||||
|
float ggx1 = GeometrySchlickGGX(NdotL, roughness);
|
||||||
|
|
||||||
|
return ggx1 * ggx2;
|
||||||
|
}
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
vec3 fresnelSchlick(float cosTheta, vec3 F0)
|
||||||
|
{
|
||||||
|
return F0 + (1.0 - F0) * pow(1.0 - cosTheta, 5.0);
|
||||||
|
}
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec4 baseColor = texture(texture_basecolor, TexCoords);
|
||||||
|
if(baseColor.a<0.4)
|
||||||
|
discard;
|
||||||
|
|
||||||
|
vec3 albedo = pow(baseColor.rgb, vec3(2.2));
|
||||||
|
float metallic = texture(texture_metallic_roughness, TexCoords).b;
|
||||||
|
float roughness = texture(texture_metallic_roughness, TexCoords).g;
|
||||||
|
|
||||||
|
|
||||||
|
vec3 N = getNormalFromMap();
|
||||||
|
vec3 V = normalize(camPos - WorldPos);
|
||||||
|
|
||||||
|
vec3 F0 = vec3(0.04);
|
||||||
|
F0 = mix(F0, albedo, metallic);
|
||||||
|
|
||||||
|
// reflectance equation
|
||||||
|
vec3 Lo = vec3(0.0);
|
||||||
|
for(int i = 0; i < 1; ++i)
|
||||||
|
{
|
||||||
|
// calculate per-light radiance
|
||||||
|
vec3 L = normalize(lightPositions[i] - WorldPos);
|
||||||
|
vec3 H = normalize(V + L);
|
||||||
|
float distance = length(lightPositions[i] - WorldPos);
|
||||||
|
float attenuation = 1.0 / (distance * distance);
|
||||||
|
vec3 radiance = lightColors[i] * attenuation;
|
||||||
|
|
||||||
|
// cook-torrance brdf
|
||||||
|
float NDF = DistributionGGX(N, H, roughness);
|
||||||
|
float G = GeometrySmith(N, V, L, roughness);
|
||||||
|
vec3 F = fresnelSchlick(max(dot(H, V), 0.0), F0);
|
||||||
|
F = clamp(F,vec3(0),vec3(1));
|
||||||
|
|
||||||
|
vec3 kS = F;
|
||||||
|
vec3 kD = vec3(1.0) - kS;
|
||||||
|
kD *= 1.0 - metallic;
|
||||||
|
|
||||||
|
vec3 nominator = NDF * G * F;
|
||||||
|
float denominator = 4.0 * max(dot(N, V), 0.0) * max(dot(N, L), 0.0) + 0.001;
|
||||||
|
vec3 specular = nominator / denominator;
|
||||||
|
|
||||||
|
// add to outgoing radiance Lo
|
||||||
|
float NdotL = max(dot(N, L), 0.0);
|
||||||
|
Lo += (kD * albedo / PI + specular) * radiance * NdotL;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
vec3 ambient = vec3(0.03) * albedo;
|
||||||
|
vec3 color = ambient + Lo;
|
||||||
|
|
||||||
|
color = color / (color + vec3(1.0));
|
||||||
|
color = pow(color, vec3(1.0/2.2));
|
||||||
|
|
||||||
|
FragColor = vec4(color, 1.0);
|
||||||
|
|
||||||
|
}
|
|
@ -2,17 +2,12 @@
|
||||||
|
|
||||||
layout (local_size_x = 8, local_size_y = 8) in;
|
layout (local_size_x = 8, local_size_y = 8) in;
|
||||||
|
|
||||||
layout(rgba8, binding = 0) uniform image2D gBaseColor;
|
uniform sampler2D gBaseColor;
|
||||||
uniform sampler2D gNormal;
|
uniform sampler2D gNormal;
|
||||||
uniform sampler2D gPosition;
|
uniform sampler2D gPosition;
|
||||||
uniform sampler2D gMetallicRoughnessAO;
|
uniform sampler2D gMetallicRoughness;
|
||||||
uniform sampler2DArray gShadowMap;
|
uniform sampler2DArray gShadowMap;
|
||||||
|
layout(rgba16f, binding = 1) uniform image2D gDirectLight;
|
||||||
uniform samplerCube irradianceMap;
|
|
||||||
uniform samplerCube prefilterMap;
|
|
||||||
uniform sampler2D brdfLUT;
|
|
||||||
|
|
||||||
//layout(rgba16f, binding = 1) uniform image2D gDirectLight;
|
|
||||||
layout (std140, binding = 0) uniform LightSpaceMatrices
|
layout (std140, binding = 0) uniform LightSpaceMatrices
|
||||||
{
|
{
|
||||||
mat4 lightSpaceMatrices[16];
|
mat4 lightSpaceMatrices[16];
|
||||||
|
@ -70,34 +65,6 @@ vec3 fresnelSchlick(float cosTheta, vec3 F0)
|
||||||
{
|
{
|
||||||
return F0 + (1.0 - F0) * pow(1.0 - cosTheta, 5.0);
|
return F0 + (1.0 - F0) * pow(1.0 - cosTheta, 5.0);
|
||||||
}
|
}
|
||||||
vec3 fresnelSchlickRoughness(float cosTheta, vec3 F0, float roughness)
|
|
||||||
{
|
|
||||||
return F0 + (max(vec3(1.0 - roughness), F0) - F0) * pow(1.0 - cosTheta, 5.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
vec3 ambientLighting(vec3 N, vec3 V, vec3 F0, vec3 albedo, float metallic, float roughness, float ao)
|
|
||||||
{
|
|
||||||
// ambient lighting (we now use IBL as the ambient term)
|
|
||||||
vec3 F = fresnelSchlickRoughness(clamp(dot(N, V),0.,1.), F0, roughness);
|
|
||||||
|
|
||||||
vec3 kS = F;
|
|
||||||
vec3 kD = 1.0 - kS;
|
|
||||||
kD *= 1.0 - metallic;
|
|
||||||
|
|
||||||
vec3 irradiance = texture(irradianceMap, N).rgb;
|
|
||||||
vec3 diffuse = irradiance * albedo;
|
|
||||||
|
|
||||||
// sample both the pre-filter map and the BRDF lut and combine them together as per the Split-Sum approximation to get the IBL specular part.
|
|
||||||
const float MAX_REFLECTION_LOD = 4.0;
|
|
||||||
vec3 R = reflect(-V, N);
|
|
||||||
vec3 prefilteredColor = textureLod(prefilterMap, R, roughness * MAX_REFLECTION_LOD).rgb;
|
|
||||||
vec2 brdf = texture(brdfLUT, vec2(clamp(dot(N, V),0.,1.), roughness)).rg;
|
|
||||||
vec3 specular = prefilteredColor * (F * brdf.x + brdf.y);
|
|
||||||
|
|
||||||
return (kD * diffuse + specular) * ao;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const int pcfRadius = 3;
|
const int pcfRadius = 3;
|
||||||
float getShadowFromLayer(vec3 fragPosWorldSpace, vec3 normal,int layer)
|
float getShadowFromLayer(vec3 fragPosWorldSpace, vec3 normal,int layer)
|
||||||
{
|
{
|
||||||
|
@ -165,36 +132,28 @@ float ShadowCalculation(vec3 fragPosWorldSpace, vec3 normal, out int layer)
|
||||||
return shadow;
|
return shadow;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vec4 encodeRGBM(vec3 color)
|
|
||||||
{
|
|
||||||
if(dot(color,color)==0)
|
|
||||||
return vec4(0,0,0,1);
|
|
||||||
vec4 rgbm;
|
|
||||||
float range = 8;
|
|
||||||
color /= range;
|
|
||||||
rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0);
|
|
||||||
rgbm.a = ceil(rgbm.a * 255.0) / 255.0;
|
|
||||||
rgbm.rgb = color / rgbm.a;
|
|
||||||
return rgbm;
|
|
||||||
}
|
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
ivec2 pixelLocation = ivec2(gl_GlobalInvocationID.xy);
|
ivec2 pixelLocation = ivec2(gl_GlobalInvocationID.xy);
|
||||||
|
|
||||||
vec4 baseColor = imageLoad(gBaseColor, pixelLocation);
|
vec3 albedo = pow(texelFetch(gBaseColor, pixelLocation, 0).rgb, vec3(2.2));
|
||||||
if(baseColor.a == 0) return;
|
float metallic = texelFetch(gMetallicRoughness, pixelLocation, 0).r;
|
||||||
vec3 albedo = pow(baseColor.rgb, vec3(2.2));
|
float roughness = texelFetch(gMetallicRoughness, pixelLocation, 0).g;
|
||||||
float metallic = texelFetch(gMetallicRoughnessAO, pixelLocation, 0).r;
|
|
||||||
float roughness = texelFetch(gMetallicRoughnessAO, pixelLocation, 0).g;
|
|
||||||
float ambientOcclusion = 1.0 - texelFetch(gMetallicRoughnessAO, pixelLocation, 0).b;
|
|
||||||
|
|
||||||
vec3 worldPos = texelFetch(gPosition, pixelLocation,0).xyz;
|
vec3 worldPos = texelFetch(gPosition, pixelLocation,0).xyz;
|
||||||
vec3 normal = (texelFetch(gNormal, pixelLocation,0).xyz - vec3(0.5)) * 2;
|
vec3 normal = texelFetch(gNormal, pixelLocation,0).xyz;
|
||||||
|
|
||||||
|
if(normal==vec3(0))
|
||||||
|
{
|
||||||
|
vec3 color = mainLightRadiance;
|
||||||
|
|
||||||
|
//color = color / (color + vec3(1.0));
|
||||||
|
//color = pow(color, vec3(1.0/2.2));
|
||||||
|
|
||||||
|
imageStore(gDirectLight, pixelLocation, vec4(color, 1.0));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
normal = normalize(normal);
|
|
||||||
|
|
||||||
vec3 V = normalize(camPos - worldPos);
|
vec3 V = normalize(camPos - worldPos);
|
||||||
|
|
||||||
|
@ -225,11 +184,8 @@ void main()
|
||||||
float NdotL = max(dot(normal, L), 0.0);
|
float NdotL = max(dot(normal, L), 0.0);
|
||||||
vec3 Lo = (kD * albedo / PI + specular) * radiance * NdotL;
|
vec3 Lo = (kD * albedo / PI + specular) * radiance * NdotL;
|
||||||
|
|
||||||
vec3 ambient = ambientLighting(normal, V, F0, albedo, metallic, roughness, 1) * ambientOcclusion;
|
|
||||||
|
|
||||||
int debugLayer;
|
int debugLayer;
|
||||||
float shadow = ShadowCalculation(worldPos, normal, debugLayer);
|
float shadow = ShadowCalculation(worldPos, normal, debugLayer);
|
||||||
|
|
||||||
vec3 color = (1-shadow)*Lo + ambient;
|
imageStore(gDirectLight, pixelLocation, vec4((1-shadow)*Lo, 1));
|
||||||
imageStore(gBaseColor, pixelLocation, encodeRGBM(color));
|
|
||||||
}
|
}
|
|
@ -1,120 +0,0 @@
|
||||||
{
|
|
||||||
"project-name": "样例1",
|
|
||||||
"background-color": "#ffffff",
|
|
||||||
"height": 1080,
|
|
||||||
"width": 1080,
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"name": "ababa",
|
|
||||||
"type": "svg-file",
|
|
||||||
"data": {
|
|
||||||
"include": "/svg/2.svg"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ababa-group",
|
|
||||||
"type": "group",
|
|
||||||
"data": {
|
|
||||||
"reference-layer": "0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ababa2",
|
|
||||||
"type": "svg-file",
|
|
||||||
"data": {
|
|
||||||
"include": "/svg/0.svg"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"root-layer": {
|
|
||||||
"name": "root",
|
|
||||||
"transform": {
|
|
||||||
"offset": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"scale": {
|
|
||||||
"x": 1.0,
|
|
||||||
"y": 1.0
|
|
||||||
},
|
|
||||||
"rotation": 0.0
|
|
||||||
},
|
|
||||||
"effects": [],
|
|
||||||
"is-folder": true,
|
|
||||||
"referenced-by": null,
|
|
||||||
"children": [
|
|
||||||
|
|
||||||
{
|
|
||||||
"name": "GroupFolderExample",
|
|
||||||
"transform": {
|
|
||||||
"offset": {
|
|
||||||
"x": 50,
|
|
||||||
"y": 50
|
|
||||||
},
|
|
||||||
"scale": {
|
|
||||||
"x": 1.0,
|
|
||||||
"y": 1.0
|
|
||||||
},
|
|
||||||
"rotation": 0.0
|
|
||||||
},
|
|
||||||
"effects": [],
|
|
||||||
"is-folder": true,
|
|
||||||
"referenced-by": 1,
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"name": "Leaf1",
|
|
||||||
"transform": {
|
|
||||||
"offset": {
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"scale": {
|
|
||||||
"x": 1.0,
|
|
||||||
"y": 1.0
|
|
||||||
},
|
|
||||||
"rotation": 0.0
|
|
||||||
},
|
|
||||||
"effects": [],
|
|
||||||
"is-folder": false,
|
|
||||||
"element": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Leaf2",
|
|
||||||
"transform": {
|
|
||||||
"offset": {
|
|
||||||
"x": 150,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"scale": {
|
|
||||||
"x": 1.5,
|
|
||||||
"y": 1.5
|
|
||||||
},
|
|
||||||
"rotation": 0.0
|
|
||||||
},
|
|
||||||
"effects": [],
|
|
||||||
"is-folder": false,
|
|
||||||
"element": 0
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"name": "ReferencingGroupLayer",
|
|
||||||
"transform": {
|
|
||||||
"offset": {
|
|
||||||
"x": 100,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"scale": {
|
|
||||||
"x": 1,
|
|
||||||
"y": 1
|
|
||||||
},
|
|
||||||
"rotation": 45
|
|
||||||
},
|
|
||||||
"effects": [],
|
|
||||||
"is-folder": false,
|
|
||||||
"element": 1
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 106.93 99.81"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>0</title><g id="图层_2" data-name="图层 2"><polyline class="cls-1" points="27.24 16.75 27.24 2.15 7.2 2.15 7.2 22.78 46.7 22.78"/></g><g id="图层_3" data-name="图层 3"><polyline class="cls-1" points="27.24 30.37 27.24 44.97 0 44.97"/></g><g id="图层_4" data-name="图层 4"><path class="cls-1" d="M292.82,107.78s0,0,0,0,0,3.59,0,7.62c0,3.85,0,5.78.06,6.43a19.94,19.94,0,0,0,2.87,7.58,15.85,15.85,0,0,0,6.61,6.23A14.75,14.75,0,0,0,310,137a11.69,11.69,0,0,0,7.59-2.92,11,11,0,0,0,3.2-6.84c.15-1.27.58-4.84-1.79-7.64a8.54,8.54,0,0,0-3.56-2.44c-1.32-.52-3.32-1.31-5.06-.33a5.41,5.41,0,0,0-2.14,3,3.48,3.48,0,0,0-.16,2.71c.78,1.86,3.36,2.14,3.47,2.15" transform="translate(-287.18 -56.2)"/></g><g id="图层_5" data-name="图层 5"><path class="cls-1" d="M339.72,85.41V58.75a69.07,69.07,0,0,1,14.79,0c5.9.63,9.31,1,12.84,3.5,1.76,1.22,6.37,4.43,6.68,9.92.25,4.38-2.27,9.26-6.72,11-3.5,1.39-8.46,1-10.71-2.06-.14-.18-2-2.82-.92-5.46.63-1.51,2.34-3.23,4.28-2.92a3.76,3.76,0,0,1,2.33,1.55" transform="translate(-287.18 -56.2)"/></g><g id="图层_6" data-name="图层 6"><path class="cls-1" d="M301.38,145.93a8.21,8.21,0,0,1-.77,5.83c-.26.44-2.5,4.23-5.84,3.7a5,5,0,0,1-3.89-3.5c-.1-.35-1-3,.58-4.09a3.28,3.28,0,0,1,3.89.58" transform="translate(-287.18 -56.2)"/><path class="cls-1" d="M323.18,115.76a7.37,7.37,0,0,1,7.39-8.17c.49,0,4.07.12,5.65,2.92.19.34,1.52,2.7.19,4.67a4.33,4.33,0,0,1-4.67,1.56" transform="translate(-287.18 -56.2)"/></g><g id="图层_7" data-name="图层 7"><path class="cls-1" d="M352.17,86.57a14.23,14.23,0,0,0-4.67,2.73c-1.59,1.4-3.37,3-3.5,5.45a6.45,6.45,0,0,0,2.14,4.86c1.28,1.1,3.68,2.22,5.84,1.17,1.64-.8,3.31-3,2.53-4.67a3.6,3.6,0,0,0-3.31-1.75" transform="translate(-287.18 -56.2)"/><path class="cls-1" d="M382.34,66.53a17.27,17.27,0,0,0,3.89.39c2.16,0,3.53,0,4.86-1a6.15,6.15,0,0,0,2.34-3.89c.17-1,.53-2.93-.78-4.29a4.32,4.32,0,0,0-4.48-.77A3.62,3.62,0,0,0,386,58.75a3.75,3.75,0,0,0,.2,3.31" transform="translate(-287.18 -56.2)"/></g></svg>
|
|
Before Width: | Height: | Size: 2.1 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg id="图层_2" data-name="图层 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 21.63"><defs><style>.cls-1{fill:none;stroke:#00ff1c;stroke-miterlimit:10;}</style></defs><title>1</title><polyline class="cls-1" points="20.54 15.1 20.54 0.5 0.5 0.5 0.5 21.13 40 21.13"/></svg>
|
|
Before Width: | Height: | Size: 284 B |