mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-04-19 09:21:42 -04:00
--User changes
-Support 4k monitors, and in general, properly scale any monitor that is not HD. -Allow for a spatial filter of radius zero, which means do not use a spatial filter. -Add new variations: concentric, cpow3, helicoid, helix, rand_cubes, sphereblur. -Use a new method for computing elliptic which is more precise. Developed by Discord user Claude. -Remove the 8 variation per xform limitation on the GPU. -Allow for loading the last flame file on startup, rather than randoms. -Use two different default quality values in the interactive renderer, one each for CPU and GPU. -Creating linked xforms was using non-standard behavior. Make it match Apo and also support creating multiple linked xforms at once. --Bug fixes -No variations in an xform used to have the same behavior as a single linear variation with weight 1. While sensible, this breaks backward compatibility. No variations now sets the output point to zeroes. -Prevent crashing the program when adjusting a value on the main window while a final render is in progress. -The xaos table was inverted. --Code changes -Convert projects to Visual Studio 2017. -Change bad vals from +- 1e10 to +-1e20. -Reintroduce the symmetry tag in xforms for legacy support in programs that do not use color_speed. -Compiler will not let us use default values in templated member functions anymore.
This commit is contained in:
parent
be1bfd9ab6
commit
fcd060976c
6
.gitignore
vendored
6
.gitignore
vendored
@ -249,3 +249,9 @@ Builds/include/GL
|
|||||||
/Deps/include/OpenEXR/halfFunction.h
|
/Deps/include/OpenEXR/halfFunction.h
|
||||||
/Deps/include/OpenEXR/halfExport.h
|
/Deps/include/OpenEXR/halfExport.h
|
||||||
/Deps/include/OpenEXR/half.h
|
/Deps/include/OpenEXR/half.h
|
||||||
|
/Builds/MSVC/VS2017/.vs/Fractorium/v15
|
||||||
|
/Source/Fractorium/Fractorium.ui.autosave
|
||||||
|
/main.pro.user.8f4f6a2
|
||||||
|
/Builds/MSVC/VS2017/flam3-palettes.xml
|
||||||
|
/Builds/MSVC/VS2017/UpgradeLog.htm
|
||||||
|
/Builds/MSVC/VS2017/zlib.props
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||||
<?define ProductVersion="1.0.0.6" ?>
|
<?define ProductVersion="1.0.0.7" ?>
|
||||||
<?define ProductName="Fractorium $(var.ProductVersion) ($(var.GpuType))" ?>
|
<?define ProductName="Fractorium $(var.ProductVersion) ($(var.GpuType))" ?>
|
||||||
<?define UpgradeCode="{4714cd15-bfba-44f6-8059-9e1466ebfa6e}"?>
|
<?define UpgradeCode="{4714cd15-bfba-44f6-8059-9e1466ebfa6e}"?>
|
||||||
<?define Manufacturer="Fractorium"?>
|
<?define Manufacturer="Fractorium"?>
|
||||||
@ -13,7 +13,7 @@
|
|||||||
<!--
|
<!--
|
||||||
Change this for every release.
|
Change this for every release.
|
||||||
-->
|
-->
|
||||||
<?define ProductCode="{DC6B697E-7136-4A90-9C76-872245F43D14}"?>
|
<?define ProductCode="{DE7A6FFA-8D93-48EE-84E8-95F71D28168F}"?>
|
||||||
|
|
||||||
<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
|
<Product Id="$(var.ProductCode)" Name="$(var.ProductName)" Language="1033" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
|
||||||
<Package
|
<Package
|
||||||
@ -162,16 +162,16 @@
|
|||||||
<File Id="tbb.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\tbb.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes"/>
|
<File Id="tbb.dll" Source="$(var.SolutionDir)..\..\..\Bin\$(var.Platform)\Release\tbb.dll" KeyPath="yes" Checksum="yes" ProcessorArchitecture="x64" ReadOnly="yes"/>
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="msvcp140.dll" Guid="8f1ffde7-c1bd-45fb-8bc8-26dde552eafd">
|
<Component Id="msvcp140.dll" Guid="8f1ffde7-c1bd-45fb-8bc8-26dde552eafd">
|
||||||
<File Id="msvcp140.dll" Source="$(env.VS140COMNTOOLS)..\..\VC\redist\x64\Microsoft.VC140.CRT\msvcp140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
|
<File Id="msvcp140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.11.25325\x64\Microsoft.VC141.CRT\msvcp140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="vcruntime140.dll" Guid="50c9bc27-c547-4a03-9f6c-cd416f449dd8">
|
<Component Id="vcruntime140.dll" Guid="50c9bc27-c547-4a03-9f6c-cd416f449dd8">
|
||||||
<File Id="vcruntime140.dll" Source="$(env.VS140COMNTOOLS)..\..\VC\redist\x64\Microsoft.VC140.CRT\vcruntime140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
|
<File Id="vcruntime140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.11.25325\x64\Microsoft.VC141.CRT\vcruntime140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="vccorlib140.dll" Guid="affe33e7-1e64-4bb0-a062-2b56f77459b4">
|
<Component Id="vccorlib140.dll" Guid="affe33e7-1e64-4bb0-a062-2b56f77459b4">
|
||||||
<File Id="vccorlib140.dll" Source="$(env.VS140COMNTOOLS)..\..\VC\redist\x64\Microsoft.VC140.CRT\vccorlib140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
|
<File Id="vccorlib140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.11.25325\x64\Microsoft.VC141.CRT\vccorlib140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="concrt140.dll" Guid="7fb716a1-1b4f-42fb-89c7-4d216ebd6e2e">
|
<Component Id="concrt140.dll" Guid="7fb716a1-1b4f-42fb-89c7-4d216ebd6e2e">
|
||||||
<File Id="concrt140.dll" Source="$(env.VS140COMNTOOLS)..\..\VC\redist\x64\Microsoft.VC140.CRT\concrt140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
|
<File Id="concrt140.dll" Source="$(var.DevEnvDir)..\..\VC\Redist\MSVC\14.11.25325\x64\Microsoft.VC141.CRT\concrt140.dll" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
|
||||||
</Component>
|
</Component>
|
||||||
<Component Id="flam3palettes.xml" Guid="d3adb0bb-14ef-4923-99d9-a5784b7ef04e">
|
<Component Id="flam3palettes.xml" Guid="d3adb0bb-14ef-4923-99d9-a5784b7ef04e">
|
||||||
<File Id="flam3palettes.xml" Source="$(var.SolutionDir)..\..\..\Data\flam3-palettes.xml" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
|
<File Id="flam3palettes.xml" Source="$(var.SolutionDir)..\..\..\Data\flam3-palettes.xml" KeyPath="yes" Checksum="yes" ReadOnly="yes"/>
|
||||||
|
BIN
Builds/MSVC/VS2017/Ember.rc
Normal file
BIN
Builds/MSVC/VS2017/Ember.rc
Normal file
Binary file not shown.
173
Builds/MSVC/VS2017/Ember.vcxproj
Normal file
173
Builds/MSVC/VS2017/Ember.vcxproj
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>EmberNs</RootNamespace>
|
||||||
|
<ProjectName>Ember</ProjectName>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;BUILDING_EMBER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\tbb\include</AdditionalIncludeDirectories>
|
||||||
|
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||||
|
<PrecompiledHeaderFile>EmberPch.h</PrecompiledHeaderFile>
|
||||||
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
|
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>libxml2.lib;tbb.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;BUILDING_EMBER;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\..\tbb\include</AdditionalIncludeDirectories>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
|
<PrecompiledHeaderFile>EmberPch.h</PrecompiledHeaderFile>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalDependencies>libxml2.lib;tbb.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Affine2D.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\CarToRas.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Curves.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\EmberDefines.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\EmberMotion.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\EmberPch.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Ember.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\DensityFilter.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Interpolate.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\VarFuncs.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\PaletteList.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Renderer.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\RendererBase.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\SpatialFilter.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Iterator.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Palette.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Point.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\TemporalFilter.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\EmberToXml.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\SheepTools.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Utils.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variation.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\VariationList.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations01.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations02.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations03.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations04.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations05.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations06.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations07.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\VariationsDC.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Xform.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Isaac.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Timing.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\XmlToEmber.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\Affine2D.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\DllMain.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\Ember.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\EmberPch.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\EmberToXml.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\PaletteList.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\Renderer.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\RendererBase.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\VariationList.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\XmlToEmber.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="Ember.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
169
Builds/MSVC/VS2017/Ember.vcxproj.filters
Normal file
169
Builds/MSVC/VS2017/Ember.vcxproj.filters
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files\Xml">
|
||||||
|
<UniqueIdentifier>{bc119dca-b280-4071-b72d-f8c377b2e192}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files\Filters">
|
||||||
|
<UniqueIdentifier>{39f9b624-d25e-4af7-9f76-3b1a36a8a0f5}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files\Variations">
|
||||||
|
<UniqueIdentifier>{1ae77918-b5ee-4186-9fec-802fed55144e}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{782f9ed7-c2d4-4cad-9676-f707ccde10a6}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Timing.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Isaac.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\EmberPch.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Interpolate.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Iterator.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Palette.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\PaletteList.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Point.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Renderer.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Utils.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Xform.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\DensityFilter.h">
|
||||||
|
<Filter>Header Files\Filters</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\SpatialFilter.h">
|
||||||
|
<Filter>Header Files\Filters</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\TemporalFilter.h">
|
||||||
|
<Filter>Header Files\Filters</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\EmberToXml.h">
|
||||||
|
<Filter>Header Files\Xml</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\XmlToEmber.h">
|
||||||
|
<Filter>Header Files\Xml</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\CarToRas.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\EmberDefines.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Ember.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Affine2D.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\SheepTools.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variation.h">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\VariationList.h">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations01.h">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations02.h">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations03.h">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations04.h">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations05.h">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\VariationsDC.h">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\RendererBase.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Curves.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\EmberMotion.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations06.h">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\VarFuncs.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Ember\Variations07.h">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\DllMain.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\Ember.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\EmberPch.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\Affine2D.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\Renderer.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\RendererBase.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\VariationList.cpp">
|
||||||
|
<Filter>Header Files\Variations</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\EmberToXml.cpp">
|
||||||
|
<Filter>Header Files\Xml</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\XmlToEmber.cpp">
|
||||||
|
<Filter>Header Files\Xml</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Ember\PaletteList.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="Ember.rc">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
98
Builds/MSVC/VS2017/EmberAnimate.rc
Normal file
98
Builds/MSVC/VS2017/EmberAnimate.rc
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
// Microsoft Visual C++ generated resource script.
|
||||||
|
//
|
||||||
|
#include <windows.h>
|
||||||
|
#include "resource.h"
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// English (United States) resources
|
||||||
|
|
||||||
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||||
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
#pragma code_page(1252)
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Icon
|
||||||
|
//
|
||||||
|
|
||||||
|
// Icon with lowest ID value placed first to ensure application icon
|
||||||
|
// remains consistent on all systems.
|
||||||
|
IDI_ICON1 ICON "..\\..\\..\\Source\\Fractorium\\Icons\\Fractorium.ico"
|
||||||
|
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// TEXTINCLUDE
|
||||||
|
//
|
||||||
|
|
||||||
|
1 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"resource.h\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
2 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
3 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"\r\n"
|
||||||
|
"\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Version
|
||||||
|
//
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION 1, 0, 0, 7
|
||||||
|
PRODUCTVERSION 1, 0, 0, 7
|
||||||
|
FILEFLAGSMASK 0x3fL
|
||||||
|
#ifdef _DEBUG
|
||||||
|
FILEFLAGS 0x1L
|
||||||
|
#else
|
||||||
|
FILEFLAGS 0x0L
|
||||||
|
#endif
|
||||||
|
FILEOS 0x40004L
|
||||||
|
FILETYPE 0x0L
|
||||||
|
FILESUBTYPE 0x0L
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904b0"
|
||||||
|
BEGIN
|
||||||
|
VALUE "CompanyName", "Open Source"
|
||||||
|
VALUE "FileDescription", "Renders fractal flames as animations with motion blur"
|
||||||
|
VALUE "FileVersion", "1.0.0.7"
|
||||||
|
VALUE "InternalName", "EmberAnimate.exe"
|
||||||
|
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2017, GPL v3"
|
||||||
|
VALUE "OriginalFilename", "EmberAnimate.exe"
|
||||||
|
VALUE "ProductName", "Ember Animate"
|
||||||
|
VALUE "ProductVersion", "1.0.0.7"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 1200
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // English (United States) resources
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Generated from the TEXTINCLUDE 3 resource.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
#endif // not APSTUDIO_INVOKED
|
||||||
|
|
153
Builds/MSVC/VS2017/EmberAnimate.vcxproj
Normal file
153
Builds/MSVC/VS2017/EmberAnimate.vcxproj
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{35285FCF-6FA8-410E-841B-70AE744D38B8}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>EmberAnimate</RootNamespace>
|
||||||
|
<ProjectName>EmberAnimate</ProjectName>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\Deps\include\OpenEXR;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<PrecompiledHeaderFile>EmberCommonPch.h</PrecompiledHeaderFile>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>libjpeg.lib;libpng.lib;libxml2.lib;tbb.lib;zlib.lib;Half.lib;Iex.lib;IlmImf.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
|
||||||
|
</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\Deps\include\OpenEXR;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<PrecompiledHeaderFile>EmberCommonPch.h</PrecompiledHeaderFile>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalDependencies>libjpeg.lib;libpng.lib;libxml2.lib;tbb.lib;zlib.lib;Half.lib;Iex.lib;IlmImf.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
|
||||||
|
</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="..\..\..\Source\Fractorium\Icons\Fractorium.ico" />
|
||||||
|
<None Include="ReadMe.txt" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="Ember.vcxproj">
|
||||||
|
<Project>{2bdb7a54-bb1a-476b-a6e5-f81e90ad4e67}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="EmberCL.vcxproj">
|
||||||
|
<Project>{f6a9102c-69a9-48fb-bc4b-49e49af43236}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberAnimate\EmberAnimate.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberAnimate\resource.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommon.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommonPch.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberOptions.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\JpegUtils.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleGlob.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleOpt.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberAnimate\EmberAnimate.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCommon\EmberCommonPch.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="EmberAnimate.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
62
Builds/MSVC/VS2017/EmberAnimate.vcxproj.filters
Normal file
62
Builds/MSVC/VS2017/EmberAnimate.vcxproj.filters
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="ReadMe.txt" />
|
||||||
|
<None Include="..\..\..\Source\Fractorium\Icons\Fractorium.ico">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommonPch.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\JpegUtils.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleGlob.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleOpt.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommon.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberOptions.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberAnimate\EmberAnimate.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberAnimate\resource.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCommon\EmberCommonPch.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberAnimate\EmberAnimate.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="EmberAnimate.rc">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
BIN
Builds/MSVC/VS2017/EmberCL.rc
Normal file
BIN
Builds/MSVC/VS2017/EmberCL.rc
Normal file
Binary file not shown.
155
Builds/MSVC/VS2017/EmberCL.vcxproj
Normal file
155
Builds/MSVC/VS2017/EmberCL.vcxproj
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{F6A9102C-69A9-48FB-BC4B-49E49AF43236}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>EmberCLns</RootNamespace>
|
||||||
|
<ProjectName>EmberCL</ProjectName>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;BUILDING_EMBERCL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Source\Ember\;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libxml2\include;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
|
||||||
|
<StructMemberAlignment>Default</StructMemberAlignment>
|
||||||
|
<PrecompiledHeaderFile>EmberCLPch.h</PrecompiledHeaderFile>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>libxml2.lib;tbb.lib;opencl.lib;Opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;BUILDING_EMBERCL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Source\Ember\;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libxml2\include;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
|
||||||
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||||
|
<PrecompiledHeaderFile>EmberCLPch.h</PrecompiledHeaderFile>
|
||||||
|
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalDependencies>libxml2.lib;tbb.lib;opencl.lib;Opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="Ember.vcxproj">
|
||||||
|
<Project>{2bdb7a54-bb1a-476b-a6e5-f81e90ad4e67}</Project>
|
||||||
|
<Private>true</Private>
|
||||||
|
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
|
||||||
|
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
||||||
|
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||||
|
<UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\DllMain.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\FinalAccumOpenCLKernelCreator.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\DEOpenCLKernelCreator.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\FunctionMapper.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\IterOpenCLKernelCreator.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\OpenCLInfo.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\OpenCLWrapper.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\RendererCL.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\RendererClDevice.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\EmberCLFunctions.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\EmberCLStructs.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\DEOpenCLKernelCreator.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\FinalAccumOpenCLKernelCreator.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\FunctionMapper.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\IterOpenCLKernelCreator.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\OpenCLInfo.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\OpenCLWrapper.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\RendererCL.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\EmberCLPch.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\RendererClDevice.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="EmberCL.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
89
Builds/MSVC/VS2017/EmberCL.vcxproj.filters
Normal file
89
Builds/MSVC/VS2017/EmberCL.vcxproj.filters
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Kernel Creators">
|
||||||
|
<UniqueIdentifier>{d66f35ca-a4cd-470a-9c56-653b0665b598}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\DllMain.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\OpenCLWrapper.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\RendererCL.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\DEOpenCLKernelCreator.cpp">
|
||||||
|
<Filter>Kernel Creators</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\FinalAccumOpenCLKernelCreator.cpp">
|
||||||
|
<Filter>Kernel Creators</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\IterOpenCLKernelCreator.cpp">
|
||||||
|
<Filter>Kernel Creators</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\RendererClDevice.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\OpenCLInfo.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCL\FunctionMapper.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\OpenCLWrapper.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\RendererCL.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\EmberCLStructs.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\EmberCLPch.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\EmberCLFunctions.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\DEOpenCLKernelCreator.h">
|
||||||
|
<Filter>Kernel Creators</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\FinalAccumOpenCLKernelCreator.h">
|
||||||
|
<Filter>Kernel Creators</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\IterOpenCLKernelCreator.h">
|
||||||
|
<Filter>Kernel Creators</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\RendererClDevice.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\OpenCLInfo.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCL\FunctionMapper.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="EmberCL.rc">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
98
Builds/MSVC/VS2017/EmberGenome.rc
Normal file
98
Builds/MSVC/VS2017/EmberGenome.rc
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
// Microsoft Visual C++ generated resource script.
|
||||||
|
//
|
||||||
|
#include <windows.h>
|
||||||
|
#include "resource.h"
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// English (United States) resources
|
||||||
|
|
||||||
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||||
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
#pragma code_page(1252)
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Icon
|
||||||
|
//
|
||||||
|
|
||||||
|
// Icon with lowest ID value placed first to ensure application icon
|
||||||
|
// remains consistent on all systems.
|
||||||
|
IDI_ICON1 ICON "..\\..\\..\\Source\\Fractorium\\Icons\\Fractorium.ico"
|
||||||
|
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// TEXTINCLUDE
|
||||||
|
//
|
||||||
|
|
||||||
|
1 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"resource.h\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
2 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
3 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"\r\n"
|
||||||
|
"\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Version
|
||||||
|
//
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION 1, 0, 0, 7
|
||||||
|
PRODUCTVERSION 1, 0, 0, 7
|
||||||
|
FILEFLAGSMASK 0x3fL
|
||||||
|
#ifdef _DEBUG
|
||||||
|
FILEFLAGS 0x1L
|
||||||
|
#else
|
||||||
|
FILEFLAGS 0x0L
|
||||||
|
#endif
|
||||||
|
FILEOS 0x40004L
|
||||||
|
FILETYPE 0x0L
|
||||||
|
FILESUBTYPE 0x0L
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904b0"
|
||||||
|
BEGIN
|
||||||
|
VALUE "CompanyName", "Open Source"
|
||||||
|
VALUE "FileDescription", "Manipulates fractal flames parameter files"
|
||||||
|
VALUE "FileVersion", "1.0.0.7"
|
||||||
|
VALUE "InternalName", "EmberGenome.exe"
|
||||||
|
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2017, GPL v3"
|
||||||
|
VALUE "OriginalFilename", "EmberGenome.exe"
|
||||||
|
VALUE "ProductName", "Ember Genome"
|
||||||
|
VALUE "ProductVersion", "1.0.0.7"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 1200
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // English (United States) resources
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Generated from the TEXTINCLUDE 3 resource.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
#endif // not APSTUDIO_INVOKED
|
||||||
|
|
152
Builds/MSVC/VS2017/EmberGenome.vcxproj
Normal file
152
Builds/MSVC/VS2017/EmberGenome.vcxproj
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{7930CAAC-9FC4-4202-B6A3-E760F73F88B7}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>EmberGenome</RootNamespace>
|
||||||
|
<ProjectName>EmberGenome</ProjectName>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\Deps\include\OpenEXR;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<PrecompiledHeaderFile>EmberCommonPch.h</PrecompiledHeaderFile>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>libjpeg.lib;libpng.lib;libxml2.lib;tbb.lib;zlib.lib;Half.lib;Iex.lib;IlmImf.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
|
||||||
|
</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\Deps\include\OpenEXR;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<PrecompiledHeaderFile>EmberCommonPch.h</PrecompiledHeaderFile>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalDependencies>libjpeg.lib;libpng.lib;libxml2.lib;tbb.lib;zlib.lib;Half.lib;Iex.lib;IlmImf.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
|
||||||
|
</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="..\..\..\Source\Fractorium\Icons\Fractorium.ico" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="Ember.vcxproj">
|
||||||
|
<Project>{2bdb7a54-bb1a-476b-a6e5-f81e90ad4e67}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="EmberCL.vcxproj">
|
||||||
|
<Project>{f6a9102c-69a9-48fb-bc4b-49e49af43236}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommon.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommonPch.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberOptions.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\JpegUtils.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleGlob.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleOpt.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberGenome\EmberGenome.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberGenome\resource.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCommon\EmberCommonPch.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberGenome\EmberGenome.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="EmberGenome.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
61
Builds/MSVC/VS2017/EmberGenome.vcxproj.filters
Normal file
61
Builds/MSVC/VS2017/EmberGenome.vcxproj.filters
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="..\..\..\Source\Fractorium\Icons\Fractorium.ico">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommonPch.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\JpegUtils.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleGlob.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleOpt.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommon.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberOptions.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberGenome\EmberGenome.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberGenome\resource.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCommon\EmberCommonPch.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberGenome\EmberGenome.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="EmberGenome.rc">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
98
Builds/MSVC/VS2017/EmberRender.rc
Normal file
98
Builds/MSVC/VS2017/EmberRender.rc
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
// Microsoft Visual C++ generated resource script.
|
||||||
|
//
|
||||||
|
#include <windows.h>
|
||||||
|
#include "resource.h"
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// English (United States) resources
|
||||||
|
|
||||||
|
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||||
|
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||||
|
#pragma code_page(1252)
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Icon
|
||||||
|
//
|
||||||
|
|
||||||
|
// Icon with lowest ID value placed first to ensure application icon
|
||||||
|
// remains consistent on all systems.
|
||||||
|
IDI_ICON1 ICON "..\\..\\..\\Source\\Fractorium\\Icons\\Fractorium.ico"
|
||||||
|
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// TEXTINCLUDE
|
||||||
|
//
|
||||||
|
|
||||||
|
1 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"resource.h\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
2 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
3 TEXTINCLUDE
|
||||||
|
BEGIN
|
||||||
|
"\r\n"
|
||||||
|
"\0"
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // APSTUDIO_INVOKED
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Version
|
||||||
|
//
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION 1, 0, 0, 7
|
||||||
|
PRODUCTVERSION 1, 0, 0, 7
|
||||||
|
FILEFLAGSMASK 0x3fL
|
||||||
|
#ifdef _DEBUG
|
||||||
|
FILEFLAGS 0x1L
|
||||||
|
#else
|
||||||
|
FILEFLAGS 0x0L
|
||||||
|
#endif
|
||||||
|
FILEOS 0x40004L
|
||||||
|
FILETYPE 0x0L
|
||||||
|
FILESUBTYPE 0x0L
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904b0"
|
||||||
|
BEGIN
|
||||||
|
VALUE "CompanyName", "Open Source"
|
||||||
|
VALUE "FileDescription", "Renders fractal flames as single images"
|
||||||
|
VALUE "FileVersion", "1.0.0.7"
|
||||||
|
VALUE "InternalName", "EmberRender.exe"
|
||||||
|
VALUE "LegalCopyright", "Copyright (C) Matt Feemster 2017, GPL v3"
|
||||||
|
VALUE "OriginalFilename", "EmberRender.exe"
|
||||||
|
VALUE "ProductName", "Ember Render"
|
||||||
|
VALUE "ProductVersion", "1.0.0.7"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 1200
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
|
#endif // English (United States) resources
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef APSTUDIO_INVOKED
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
// Generated from the TEXTINCLUDE 3 resource.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
#endif // not APSTUDIO_INVOKED
|
||||||
|
|
153
Builds/MSVC/VS2017/EmberRender.vcxproj
Normal file
153
Builds/MSVC/VS2017/EmberRender.vcxproj
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>EmberRender</RootNamespace>
|
||||||
|
<ProjectName>EmberRender</ProjectName>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\Deps\include\OpenEXR;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<PrecompiledHeaderFile>EmberCommonPch.h</PrecompiledHeaderFile>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>libjpeg.lib;libpng.lib;libxml2.lib;tbb.lib;zlib.lib;Half.lib;Iex.lib;IlmImf.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
|
||||||
|
</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\Deps\include\OpenEXR;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<PrecompiledHeaderFile>EmberCommonPch.h</PrecompiledHeaderFile>
|
||||||
|
<FloatingPointModel>Precise</FloatingPointModel>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalDependencies>libjpeg.lib;libpng.lib;libxml2.lib;tbb.lib;zlib.lib;Half.lib;Iex.lib;IlmImf.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
|
||||||
|
</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="..\..\..\Source\Fractorium\Icons\Fractorium.ico" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="Ember.vcxproj">
|
||||||
|
<Project>{2bdb7a54-bb1a-476b-a6e5-f81e90ad4e67}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="EmberCL.vcxproj">
|
||||||
|
<Project>{f6a9102c-69a9-48fb-bc4b-49e49af43236}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommon.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommonPch.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberOptions.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\JpegUtils.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleGlob.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleOpt.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberRender\EmberRender.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberRender\resource.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCommon\EmberCommonPch.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberRender\EmberRender.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="EmberRender.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
61
Builds/MSVC/VS2017/EmberRender.vcxproj.filters
Normal file
61
Builds/MSVC/VS2017/EmberRender.vcxproj.filters
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="..\..\..\Source\Fractorium\Icons\Fractorium.ico">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommonPch.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\JpegUtils.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleGlob.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleOpt.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommon.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberOptions.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberRender\EmberRender.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberRender\resource.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCommon\EmberCommonPch.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberRender\EmberRender.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="EmberRender.rc">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
145
Builds/MSVC/VS2017/EmberTester.vcxproj
Normal file
145
Builds/MSVC/VS2017/EmberTester.vcxproj
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{320F611A-F9CE-4196-A8DC-FA24B2E8A320}</ProjectGuid>
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<RootNamespace>EmberTester</RootNamespace>
|
||||||
|
<ProjectName>EmberTester</ProjectName>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<OutDir>$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir>$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;OPENEXR_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\Deps\include\OpenEXR;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<PrecompiledHeaderFile>EmberCommonPch.h</PrecompiledHeaderFile>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<MinimalRebuild>false</MinimalRebuild>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>libjpeg.lib;libpng.lib;libxml2.lib;tbb.lib;zlib.lib;Half.lib;IlmImf.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
|
||||||
|
</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;OPENEXR_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\Deps\include\OpenEXR;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include</AdditionalIncludeDirectories>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<PrecompiledHeaderFile>EmberCommonPch.h</PrecompiledHeaderFile>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Console</SubSystem>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<AdditionalDependencies>libjpeg.lib;libpng.lib;libxml2.lib;tbb.lib;zlib.lib;Half.lib;IlmImf.lib;opencl.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName)</AdditionalLibraryDirectories>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
|
||||||
|
</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="Ember.vcxproj">
|
||||||
|
<Project>{2bdb7a54-bb1a-476b-a6e5-f81e90ad4e67}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="EmberCL.vcxproj">
|
||||||
|
<Project>{f6a9102c-69a9-48fb-bc4b-49e49af43236}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommon.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommonPch.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberOptions.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\JpegUtils.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleGlob.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleOpt.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberTester\EmberTester.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCommon\EmberCommonPch.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberTester\EmberTester.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
48
Builds/MSVC/VS2017/EmberTester.vcxproj.filters
Normal file
48
Builds/MSVC/VS2017/EmberTester.vcxproj.filters
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommon.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommonPch.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberOptions.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\JpegUtils.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleGlob.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\SimpleOpt.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberTester\EmberTester.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberTester\EmberTester.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\EmberCommon\EmberCommonPch.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
BIN
Builds/MSVC/VS2017/Fractorium.rc
Normal file
BIN
Builds/MSVC/VS2017/Fractorium.rc
Normal file
Binary file not shown.
76
Builds/MSVC/VS2017/Fractorium.sln
Normal file
76
Builds/MSVC/VS2017/Fractorium.sln
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 2013
|
||||||
|
VisualStudioVersion = 12.0.31101.0
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ember", "Ember.vcxproj", "{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmberTester", "EmberTester.vcxproj", "{320F611A-F9CE-4196-A8DC-FA24B2E8A320}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Fractorium", "Fractorium.vcxproj", "{6547D5FA-64CE-44BA-9D3C-B6E217456445}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmberRender", "EmberRender.vcxproj", "{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmberAnimate", "EmberAnimate.vcxproj", "{35285FCF-6FA8-410E-841B-70AE744D38B8}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmberGenome", "EmberGenome.vcxproj", "{7930CAAC-9FC4-4202-B6A3-E760F73F88B7}"
|
||||||
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EmberCL", "EmberCL.vcxproj", "{F6A9102C-69A9-48FB-BC4B-49E49AF43236}"
|
||||||
|
EndProject
|
||||||
|
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "FractoriumInstaller", "..\Installer\FractoriumInstaller.wixproj", "{C8096C47-E358-438C-A520-146D46B0637D}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{F6A9102C-69A9-48FB-BC4B-49E49AF43236} = {F6A9102C-69A9-48FB-BC4B-49E49AF43236}
|
||||||
|
{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29} = {4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}
|
||||||
|
{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67} = {2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}
|
||||||
|
{7930CAAC-9FC4-4202-B6A3-E760F73F88B7} = {7930CAAC-9FC4-4202-B6A3-E760F73F88B7}
|
||||||
|
{35285FCF-6FA8-410E-841B-70AE744D38B8} = {35285FCF-6FA8-410E-841B-70AE744D38B8}
|
||||||
|
{6547D5FA-64CE-44BA-9D3C-B6E217456445} = {6547D5FA-64CE-44BA-9D3C-B6E217456445}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5CD06D80-903E-45D6-90F3-3C3EB4FFE46F}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
..\..\..\Data\Version History.txt = ..\..\..\Data\Version History.txt
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{2BDB7A54-BB1A-476B-A6E5-F81E90AD4E67}.Release|x64.Build.0 = Release|x64
|
||||||
|
{320F611A-F9CE-4196-A8DC-FA24B2E8A320}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{320F611A-F9CE-4196-A8DC-FA24B2E8A320}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{320F611A-F9CE-4196-A8DC-FA24B2E8A320}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{320F611A-F9CE-4196-A8DC-FA24B2E8A320}.Release|x64.Build.0 = Release|x64
|
||||||
|
{6547D5FA-64CE-44BA-9D3C-B6E217456445}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{6547D5FA-64CE-44BA-9D3C-B6E217456445}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{6547D5FA-64CE-44BA-9D3C-B6E217456445}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{6547D5FA-64CE-44BA-9D3C-B6E217456445}.Release|x64.Build.0 = Release|x64
|
||||||
|
{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{4A191F4C-03AC-4F1B-AFFD-F5483ECEBD29}.Release|x64.Build.0 = Release|x64
|
||||||
|
{35285FCF-6FA8-410E-841B-70AE744D38B8}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{35285FCF-6FA8-410E-841B-70AE744D38B8}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{35285FCF-6FA8-410E-841B-70AE744D38B8}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{35285FCF-6FA8-410E-841B-70AE744D38B8}.Release|x64.Build.0 = Release|x64
|
||||||
|
{7930CAAC-9FC4-4202-B6A3-E760F73F88B7}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{7930CAAC-9FC4-4202-B6A3-E760F73F88B7}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{7930CAAC-9FC4-4202-B6A3-E760F73F88B7}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{7930CAAC-9FC4-4202-B6A3-E760F73F88B7}.Release|x64.Build.0 = Release|x64
|
||||||
|
{F6A9102C-69A9-48FB-BC4B-49E49AF43236}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{F6A9102C-69A9-48FB-BC4B-49E49AF43236}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{F6A9102C-69A9-48FB-BC4B-49E49AF43236}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{F6A9102C-69A9-48FB-BC4B-49E49AF43236}.Release|x64.Build.0 = Release|x64
|
||||||
|
{C8096C47-E358-438C-A520-146D46B0637D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{C8096C47-E358-438C-A520-146D46B0637D}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{C8096C47-E358-438C-A520-146D46B0637D}.Release|x64.Build.0 = Release|x64
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
771
Builds/MSVC/VS2017/Fractorium.vcxproj
Normal file
771
Builds/MSVC/VS2017/Fractorium.vcxproj
Normal file
@ -0,0 +1,771 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{6547D5FA-64CE-44BA-9D3C-B6E217456445}</ProjectGuid>
|
||||||
|
<Keyword>Qt4VSv1.0</Keyword>
|
||||||
|
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PlatformToolset>v141</PlatformToolset>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
|
||||||
|
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\..\..\Bin\$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)Obj\$(TargetName)\$(Platform)\$(Configuration)\</IntDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<PostBuildEventUseInBuild>true</PostBuildEventUseInBuild>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PreprocessorDefinitions>UNICODE;WIN32;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;QT_MULTIMEDIA_LIB;QT_HELP_LIB;QT_OPENGL_LIB;QT_WIDGETS_LIB;QT_XML_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>.;.\PaletteEditor;$(QTDIR)\include;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName;$(QTDIR)\..\qtmultimedia\include\QtMultimedia;$(QTDIR)\..\qtmultimedia\include;$(QTDIR)\..\qttools\include;$(QTDIR)\..\qttools\include\QtHelp;$(QTDIR)\include\QtConcurrent;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtOpenGL;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtXml;.\GeneratedFiles;$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\Fractorium;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\Deps\include\OpenEXR;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||||
|
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>FractoriumPch.h</PrecompiledHeaderFile>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<AdditionalOptions>/bigobj -Zm150 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(QTDIR)\lib;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>qtmaind.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5OpenGLd.lib;opengl32.lib;glu32.lib;opencl.lib;Qt5Widgetsd.lib;Qt5Xmld.lib;Ws2_32.lib;libjpeg.lib;libpng.lib;libxml2.lib;tbb.lib;zlib.lib;Half.lib;Iex.lib;IlmImf.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
|
||||||
|
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\boxtail_pack_02.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\boxtail_pack_03_triangle.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\boxtail_pack_04_mineshack.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\fardareismai_pack_01_variety_number_128.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\fardareismai_pack_02_b_sides.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\fardareismai_pack_03_old_and_new.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\fardareismai_pack_04_hoard.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\fractaldesire_pack_01.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\rce_ordinary_pack_01_colornation.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\tatasz_pack_01.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\tatasz_pack_02_colder.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\tatasz_pack_02_dark.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\tatasz_pack_02_warmer.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\tatasz_pack_03.gradient" "$(OutDir)"
|
||||||
|
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\dark_windows.qss" "$(OutDir)"
|
||||||
|
|
||||||
|
xcopy /F /Y /R /D "$(QTDIR)\bin\Qt5Cored.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(QTDIR)\bin\Qt5Guid.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(QTDIR)\bin\Qt5Widgetsd.dll" "$(OutDir)"
|
||||||
|
|
||||||
|
xcopy /F /Y /R /D "$(QTDIR)\plugins\platforms\qwindowsd.dll" "$(OutDir)\platforms\"
|
||||||
|
</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PreprocessorDefinitions>UNICODE;WIN32;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;QT_MULTIMEDIA_LIB;QT_HELP_LIB;QT_OPENGL_LIB;QT_WIDGETS_LIB;QT_XML_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>.;.\PaletteEditor;$(QTDIR)\include;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles;$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName;$(QTDIR)\..\qtmultimedia\include\QtMultimedia;$(QTDIR)\..\qtmultimedia\include;$(QTDIR)\..\qttools\include;$(QTDIR)\..\qttools\include\QtHelp;$(QTDIR)\include\QtConcurrent;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(QTDIR)\include\QtOpenGL;$(QTDIR)\include\QtWidgets;$(QTDIR)\include\QtXml;.\GeneratedFiles;$(ProjectDir)..\..\..\Source\Ember;$(ProjectDir)..\..\..\Source\EmberCL;$(ProjectDir)..\..\..\Source\EmberCommon;$(ProjectDir)..\..\..\Source\Fractorium;$(ProjectDir)..\..\..\..\glm;$(ProjectDir)..\..\..\..\tbb\include;$(ProjectDir)..\..\..\..\libjpeg;$(ProjectDir)..\..\..\..\libpng;$(ProjectDir)..\..\..\..\libxml2\include;$(ProjectDir)..\..\..\Deps\include\OpenEXR;$(AMDAPPSDKROOT)\include;$(CUDA_PATH)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||||
|
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>FractoriumPch.h</PrecompiledHeaderFile>
|
||||||
|
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
|
||||||
|
<ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName>
|
||||||
|
<DisableSpecificWarnings>
|
||||||
|
</DisableSpecificWarnings>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
<AdditionalOptions>/bigobj -Zm150 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||||
|
<AdditionalLibraryDirectories>$(ProjectDir)..\..\..\Deps;$(QTDIR)\lib;$(AMDAPPSDKROOT)\lib\x86_64;$(CUDA_PATH)\lib\$(PlatformName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<GenerateDebugInformation>DebugFull</GenerateDebugInformation>
|
||||||
|
<AdditionalDependencies>qtmain.lib;Qt5Core.lib;Qt5Gui.lib;Qt5OpenGL.lib;opengl32.lib;glu32.lib;opencl.lib;Qt5Widgets.lib;Ws2_32.lib;libjpeg.lib;libpng.lib;libxml2.lib;tbb.lib;zlib.lib;Half.lib;Iex.lib;IlmImf.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<Version>0.1</Version>
|
||||||
|
</Link>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Deps\*.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\flam3-palettes.xml" "$(OutDir)"
|
||||||
|
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\boxtail_pack_02.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\boxtail_pack_03_triangle.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\boxtail_pack_04_mineshack.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\fardareismai_pack_01_variety_number_128.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\fardareismai_pack_02_b_sides.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\fardareismai_pack_03_old_and_new.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\fardareismai_pack_04_hoard.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\fractaldesire_pack_01.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\rce_ordinary_pack_01_colornation.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\tatasz_pack_01.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\tatasz_pack_02_colder.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\tatasz_pack_02_dark.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\tatasz_pack_02_warmer.gradient" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\tatasz_pack_03.gradient" "$(OutDir)"
|
||||||
|
|
||||||
|
xcopy /F /Y /R /D "$(SolutionDir)..\..\..\Data\dark_windows.qss" "$(OutDir)"
|
||||||
|
|
||||||
|
xcopy /F /Y /R /D "$(QTDIR)\bin\Qt5Core.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(QTDIR)\bin\Qt5Gui.dll" "$(OutDir)"
|
||||||
|
xcopy /F /Y /R /D "$(QTDIR)\bin\Qt5Widgets.dll" "$(OutDir)"
|
||||||
|
|
||||||
|
xcopy /F /Y /R /D "$(QTDIR)\plugins\platforms\qwindows.dll" "$(OutDir)\platforms\"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\AboutDialog.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Use</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\csshighlighter.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\CurvesGraphicsView.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FinalRenderDialog.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FinalRenderEmberController.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\Fractorium.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Use</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumEmberController.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumInfo.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumLibrary.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumMenus.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumPalette.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumParams.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumRender.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumSettings.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumToolbar.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXforms.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXformsAffine.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXformsColor.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXformsSelect.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXformsVariations.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXaos.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\GLEmberController.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\GLWidget.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\LibraryTreeWidget.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\main.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\DoubleSpinBox.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\OptionsDialog.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\PaletteEditor\ColorPanel.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\PaletteEditor\ColorPickerWidget.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\PaletteEditor\ColorTriangle.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\PaletteEditor\GradientColorsView.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\PaletteEditor\PaletteEditor.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\qcssparser.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\qcssscanner.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\QssDialog.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\QssTextEdit.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\SpinBox.cpp" />
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumPch.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\VariationsDialog.cpp" />
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_AboutDialog.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_ColorPanel.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_ColorPickerWidget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_ColorTriangle.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_csshighlighter.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_CurvesGraphicsView.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_DoubleSpinBox.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_DoubleSpinBoxTableItemDelegate.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_FinalRenderDialog.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_Fractorium.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_FractoriumSettings.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_GLWidget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_GradientColorsView.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_LibraryTreeWidget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_OptionsDialog.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_PaletteEditor.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_QssDialog.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_QssTextEdit.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_SpinBox.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_StealthComboBox.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_TableWidget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_TwoButtonComboWidget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_VariationsDialog.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\qrc_Fractorium.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_AboutDialog.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_ColorPanel.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_ColorPickerWidget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_ColorTriangle.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_csshighlighter.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_CurvesGraphicsView.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_DoubleSpinBox.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_DoubleSpinBoxTableItemDelegate.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_FinalRenderDialog.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_Fractorium.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_FractoriumSettings.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_GLWidget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_GradientColorsView.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_LibraryTreeWidget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_OptionsDialog.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_PaletteEditor.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_QssDialog.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_QssTextEdit.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_SpinBox.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_StealthComboBox.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_TableWidget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_TwoButtonComboWidget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_VariationsDialog.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\VariationsDialog.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing VariationsDialog.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/VariationsDialog.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing VariationsDialog.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/VariationsDialog.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\QssDialog.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing QssDialog.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/QssDialog.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing QssDialog.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/QssDialog.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\csshighlighter.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing csshighlighter.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/csshighlighter.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing csshighlighter.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/csshighlighter.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\LibraryTreeWidget.h">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing LibraryTreeWidget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/LibraryTreeWidget.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing LibraryTreeWidget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/LibraryTreeWidget.h"</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\PaletteEditor\ColorPanel.h">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing ColorPanel.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/PaletteEditor/ColorPanel.h" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing ColorPanel.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/PaletteEditor/ColorPanel.h" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\PaletteEditor\ColorPickerWidget.h">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing ColorPickerWidget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/PaletteEditor/ColorPickerWidget.h" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing ColorPickerWidget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/PaletteEditor/ColorPickerWidget.h" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\PaletteEditor\ColorTriangle.h">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing ColorTriangle.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/PaletteEditor/ColorTriangle.h" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing ColorTriangle.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/PaletteEditor/ColorTriangle.h" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\PaletteEditor\GradientArrow.h" />
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\PaletteEditor\GradientColorsView.h">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing GradientColorsView.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/PaletteEditor/GradientColorsView.h" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing GradientColorsView.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/PaletteEditor/GradientColorsView.h" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\PaletteEditor\PaletteEditor.h">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing PaletteEditor.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/PaletteEditor/PaletteEditor.h" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing PaletteEditor.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/PaletteEditor/PaletteEditor.h" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\qcssparser.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\qfunctions.h" />
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\QssTextEdit.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing QssTextEdit.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/QssTextEdit.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing QssTextEdit.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/QssTextEdit.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_paletteeditor.h" />
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_QssDialog.h" />
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_VariationsDialog.h" />
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\OptionsDialog.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing OptionsDialog.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/OptionsDialog.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing OptionsDialog.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/OptionsDialog.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\AboutDialog.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing AboutDialog.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/AboutDialog.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing AboutDialog.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/AboutDialog.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\FinalRenderDialog.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing FinalRenderDialog.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/FinalRenderDialog.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing FinalRenderDialog.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/FinalRenderDialog.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\EmberTreeWidgetItem.h">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\FractoriumSettings.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing FractoriumSettings.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/FractoriumSettings.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing FractoriumSettings.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/FractoriumSettings.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\TwoButtonComboWidget.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing TwoButtonComboWidget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/TwoButtonComboWidget.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing TwoButtonComboWidget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/TwoButtonComboWidget.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommon.h" />
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\CurvesGraphicsView.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing CurvesGraphicsView.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/CurvesGraphicsView.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing CurvesGraphicsView.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/CurvesGraphicsView.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\DoubleSpinBoxTableItemDelegate.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing DoubleSpinBoxTableItemDelegate.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/DoubleSpinBoxTableItemDelegate.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing DoubleSpinBoxTableItemDelegate.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/DoubleSpinBoxTableItemDelegate.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\FinalRenderEmberController.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\FractoriumCommon.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\FractoriumEmberController.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\GLEmberController.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\PaletteTableWidgetItem.h" />
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\resource.h" />
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_AboutDialog.h" />
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_FinalRenderDialog.h" />
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_OptionsDialog.h" />
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\GLWidget.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing GLWidget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/GLWidget.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing GLWidget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/GLWidget.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<ClInclude Include="..\..\..\..\glm\glm\glm.hpp" />
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\DoubleSpinBox.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing DoubleSpinBox.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/DoubleSpinBox.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing DoubleSpinBox.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/DoubleSpinBox.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\SpinBox.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing SpinBox.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/SpinBox.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing SpinBox.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/SpinBox.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\StealthComboBox.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing StealthComboBox.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/StealthComboBox.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing StealthComboBox.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/StealthComboBox.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\EmberFile.h" />
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\VariationTreeWidgetItem.h">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\TableWidget.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing TableWidget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/TableWidget.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing TableWidget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/TableWidget.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_Fractorium.h" />
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\Fractorium.h">
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Moc%27ing Fractorium.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/Fractorium.h"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Moc%27ing Fractorium.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_HELP_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_MBCS "-I." "-I.\PaletteEditor" "-I$(QTDIR)\include" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles" "-I$(ProjectDir)..\..\..\Fractorium\GeneratedFiles\ConfigurationName" "-I$(QTDIR)\..\qtmultimedia\include\QtMultimedia" "-I$(QTDIR)\..\qtmultimedia\include" "-I$(QTDIR)\..\qttools\include" "-I$(QTDIR)\..\qttools\include\QtHelp" "-I$(QTDIR)\include\QtConcurrent" "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" "-I$(QTDIR)\include\QtOpenGL" "-I$(QTDIR)\include\QtWidgets" "-I$(QTDIR)\include\QtXml" "-I.\GeneratedFiles" "-I$(ProjectDir)..\..\..\Source\Ember" "-I$(ProjectDir)..\..\..\Source\EmberCL" "-I$(ProjectDir)..\..\..\Source\EmberCommon" "-I$(ProjectDir)..\..\..\Source\Fractorium" "-I$(ProjectDir)..\..\..\..\glm" "-I$(ProjectDir)..\..\..\..\tbb\include" "-I$(ProjectDir)..\..\..\..\libjpeg" "-I$(ProjectDir)..\..\..\..\libpng" "-I$(ProjectDir)..\..\..\..\libxml2\include" "-I$(AMDAPPSDKROOT)\include" "-I$(CUDA_PATH)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fFractoriumPch.h" "-f../../../../../Source/Fractorium/Fractorium.h"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
</CustomBuild>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\FractoriumPch.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\Fractorium.qrc">
|
||||||
|
<FileType>Document</FileType>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Rcc%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(FullPath);%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Rcc%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp</Command>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</CustomBuild>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\Fractorium.ui">
|
||||||
|
<FileType>Document</FileType>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</CustomBuild>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="Ember.vcxproj">
|
||||||
|
<Project>{2bdb7a54-bb1a-476b-a6e5-f81e90ad4e67}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="EmberCL.vcxproj">
|
||||||
|
<Project>{f6a9102c-69a9-48fb-bc4b-49e49af43236}</Project>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\OptionsDialog.ui">
|
||||||
|
<FileType>Document</FileType>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\AboutDialog.ui">
|
||||||
|
<FileType>Document</FileType>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</CustomBuild>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\FinalRenderDialog.ui">
|
||||||
|
<FileType>Document</FileType>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="..\..\..\Source\Fractorium\Icons\Fractorium.ico" />
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\VariationsDialog.ui">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\QssDialog.ui">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\paletteeditor.ui">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(QTDIR)\bin\uic.exe;%(AdditionalInputs)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Uic%27ing %(Identity)...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\GeneratedFiles\ui_%(Filename).h;%(Outputs)</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)"</Command>
|
||||||
|
</CustomBuild>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="Fractorium.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
<ProjectExtensions>
|
||||||
|
<VisualStudio>
|
||||||
|
<UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" lupdateOptions="" lupdateOnBuild="0" lreleaseOptions="" Qt5Version_x0020_x64="Qt5" MocOptions="" />
|
||||||
|
</VisualStudio>
|
||||||
|
</ProjectExtensions>
|
||||||
|
</Project>
|
489
Builds/MSVC/VS2017/Fractorium.vcxproj.filters
Normal file
489
Builds/MSVC/VS2017/Fractorium.vcxproj.filters
Normal file
@ -0,0 +1,489 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="Source Files">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;cxx;c;def</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Header Files">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Form Files">
|
||||||
|
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
|
||||||
|
<Extensions>ui</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Resource Files">
|
||||||
|
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||||
|
<Extensions>qrc;*</Extensions>
|
||||||
|
<ParseFiles>false</ParseFiles>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Generated Files">
|
||||||
|
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||||
|
<Extensions>moc;h;cpp</Extensions>
|
||||||
|
<SourceControlFiles>False</SourceControlFiles>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Generated Files\Debug">
|
||||||
|
<UniqueIdentifier>{44a6e761-1e1f-46ce-820d-b80d1c0265ae}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;moc</Extensions>
|
||||||
|
<SourceControlFiles>False</SourceControlFiles>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Generated Files\Release">
|
||||||
|
<UniqueIdentifier>{cc25f297-1a73-4c08-9b5f-8dad7c7c7452}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;moc</Extensions>
|
||||||
|
<SourceControlFiles>False</SourceControlFiles>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Glm">
|
||||||
|
<UniqueIdentifier>{d61ea4d8-e7a6-4d86-934e-992611e1c181}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Widgets">
|
||||||
|
<UniqueIdentifier>{84e24710-0e4f-4aa3-9f74-82cd2a3b39a7}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Dialogs">
|
||||||
|
<UniqueIdentifier>{5555e39d-b8d2-4bac-bf6c-6763228b15bc}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="MainWindows">
|
||||||
|
<UniqueIdentifier>{26fa32d9-268c-4021-8398-d40d46344dff}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Controllers">
|
||||||
|
<UniqueIdentifier>{811962f9-51c1-48ba-a9da-f5ce981aea71}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Dialogs\Qss">
|
||||||
|
<UniqueIdentifier>{5ba9fccd-8922-4037-956f-d57177a43700}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Dialogs\PaletteEditor">
|
||||||
|
<UniqueIdentifier>{30bfa226-b712-471b-a4ff-cf01d10cf1f4}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\main.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\qrc_Fractorium.cpp">
|
||||||
|
<Filter>Generated Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumPch.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\DoubleSpinBox.cpp">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\SpinBox.cpp">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\AboutDialog.cpp">
|
||||||
|
<Filter>Dialogs</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FinalRenderDialog.cpp">
|
||||||
|
<Filter>Dialogs</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\OptionsDialog.cpp">
|
||||||
|
<Filter>Dialogs</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\Fractorium.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\GLWidget.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumParams.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXforms.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXformsColor.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXformsAffine.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXformsVariations.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumPalette.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumLibrary.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumInfo.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumMenus.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumRender.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumSettings.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumToolbar.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FinalRenderEmberController.cpp">
|
||||||
|
<Filter>Controllers</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumEmberController.cpp">
|
||||||
|
<Filter>Controllers</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\GLEmberController.cpp">
|
||||||
|
<Filter>Controllers</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\CurvesGraphicsView.cpp">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXaos.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\FractoriumXformsSelect.cpp">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\VariationsDialog.cpp">
|
||||||
|
<Filter>Dialogs</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\QssDialog.cpp">
|
||||||
|
<Filter>Dialogs\Qss</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\csshighlighter.cpp">
|
||||||
|
<Filter>Dialogs\Qss</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\qcssparser.cpp">
|
||||||
|
<Filter>Dialogs\Qss</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\QssTextEdit.cpp">
|
||||||
|
<Filter>Dialogs\Qss</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\qcssscanner.cpp">
|
||||||
|
<Filter>Dialogs\Qss</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_VariationsDialog.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_VariationsDialog.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_TwoButtonComboWidget.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_TwoButtonComboWidget.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_TableWidget.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_TableWidget.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_StealthComboBox.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_StealthComboBox.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_SpinBox.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_SpinBox.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_QssTextEdit.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_QssTextEdit.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_QssDialog.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_QssDialog.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_OptionsDialog.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_OptionsDialog.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_GLWidget.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_GLWidget.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_FractoriumSettings.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_FractoriumSettings.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_Fractorium.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_Fractorium.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_FinalRenderDialog.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_FinalRenderDialog.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_DoubleSpinBoxTableItemDelegate.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_DoubleSpinBoxTableItemDelegate.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_DoubleSpinBox.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_DoubleSpinBox.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_CurvesGraphicsView.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_CurvesGraphicsView.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_csshighlighter.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_csshighlighter.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_AboutDialog.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_AboutDialog.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_LibraryTreeWidget.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_LibraryTreeWidget.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\LibraryTreeWidget.cpp">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\PaletteEditor\ColorPanel.cpp">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_ColorPanel.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_ColorPanel.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\PaletteEditor\ColorPickerWidget.cpp">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_ColorPickerWidget.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_ColorPickerWidget.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\PaletteEditor\ColorTriangle.cpp">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_ColorTriangle.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_ColorTriangle.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\PaletteEditor\GradientColorsView.cpp">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_GradientColorsView.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_GradientColorsView.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\..\Source\Fractorium\PaletteEditor\PaletteEditor.cpp">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_PaletteEditor.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_PaletteEditor.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_Fractorium.h">
|
||||||
|
<Filter>Generated Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\..\glm\glm\glm.hpp">
|
||||||
|
<Filter>Glm</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\EmberFile.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\FractoriumPch.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_OptionsDialog.h">
|
||||||
|
<Filter>Generated Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_AboutDialog.h">
|
||||||
|
<Filter>Generated Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_FinalRenderDialog.h">
|
||||||
|
<Filter>Generated Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\resource.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\FinalRenderEmberController.h">
|
||||||
|
<Filter>Controllers</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\FractoriumEmberController.h">
|
||||||
|
<Filter>Controllers</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\GLEmberController.h">
|
||||||
|
<Filter>Controllers</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\EmberCommon\EmberCommon.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\FractoriumCommon.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\PaletteTableWidgetItem.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_VariationsDialog.h">
|
||||||
|
<Filter>Generated Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_QssDialog.h">
|
||||||
|
<Filter>Generated Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\qcssparser.h">
|
||||||
|
<Filter>Dialogs\Qss</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\qfunctions.h">
|
||||||
|
<Filter>Dialogs\Qss</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\..\Source\Fractorium\PaletteEditor\GradientArrow.h">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="GeneratedFiles\ui_paletteeditor.h">
|
||||||
|
<Filter>Generated Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\Fractorium.qrc">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\Fractorium.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\OptionsDialog.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\AboutDialog.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\FinalRenderDialog.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\DoubleSpinBox.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\TableWidget.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\VariationTreeWidgetItem.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\AboutDialog.h">
|
||||||
|
<Filter>Dialogs</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\FinalRenderDialog.h">
|
||||||
|
<Filter>Dialogs</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\OptionsDialog.h">
|
||||||
|
<Filter>Dialogs</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\SpinBox.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\GLWidget.h">
|
||||||
|
<Filter>MainWindows</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\EmberTreeWidgetItem.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\StealthComboBox.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\FractoriumSettings.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\TwoButtonComboWidget.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\CurvesGraphicsView.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\DoubleSpinBoxTableItemDelegate.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\VariationsDialog.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\VariationsDialog.h">
|
||||||
|
<Filter>Dialogs</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\QssDialog.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\QssDialog.h">
|
||||||
|
<Filter>Dialogs\Qss</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\QssTextEdit.h">
|
||||||
|
<Filter>Dialogs\Qss</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\csshighlighter.h">
|
||||||
|
<Filter>Dialogs\Qss</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\LibraryTreeWidget.h">
|
||||||
|
<Filter>Widgets</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\PaletteEditor\ColorPanel.h">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\PaletteEditor\ColorPickerWidget.h">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\PaletteEditor\ColorTriangle.h">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\PaletteEditor\GradientColorsView.h">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\PaletteEditor\PaletteEditor.h">
|
||||||
|
<Filter>Dialogs\PaletteEditor</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\paletteeditor.ui">
|
||||||
|
<Filter>Form Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="..\..\..\Source\Fractorium\Fractorium.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="..\..\..\Source\Fractorium\Icons\Fractorium.ico" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="Fractorium.rc">
|
||||||
|
<Filter>Resource Files</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
14
Builds/MSVC/VS2017/resource.h
Normal file
14
Builds/MSVC/VS2017/resource.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// Microsoft Visual C++ generated include file.
|
||||||
|
// Used by EmberCL.rc
|
||||||
|
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 101
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
#endif
|
||||||
|
#endif
|
14
Builds/MSVC/VS2017/resource1.h
Normal file
14
Builds/MSVC/VS2017/resource1.h
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// Microsoft Visual C++ generated include file.
|
||||||
|
// Used by Ember.rc
|
||||||
|
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 101
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
#endif
|
||||||
|
#endif
|
@ -1,3 +1,26 @@
|
|||||||
|
1.0.0.7 11/26/2017
|
||||||
|
--User changes
|
||||||
|
-Support 4k monitors, and in general, properly scale any monitor that is not HD.
|
||||||
|
-Allow for a spatial filter of radius zero, which means do not use a spatial filter.
|
||||||
|
-Add new variations: concentric, cpow3, helicoid, helix, rand_cubes, sphereblur.
|
||||||
|
-Use a new method for computing elliptic which is more precise. Developed by Discord user Claude.
|
||||||
|
-Remove the 8 variation per xform limitation on the GPU.
|
||||||
|
-Allow for loading the last flame file on startup, rather than randoms.
|
||||||
|
-Use two different default quality values in the interactive renderer, one each for CPU and GPU.
|
||||||
|
-Creating linked xforms was using non-standard behavior. Make it match Apo and also support creating multiple linked xforms at once.
|
||||||
|
|
||||||
|
--Bug fixes
|
||||||
|
-No variations in an xform used to have the same behavior as a single linear variation with weight 1. While sensible, this breaks backward compatibility. No variations now sets the output point to zeroes.
|
||||||
|
-Prevent crashing the program when adjusting a value on the main window while a final render is in progress.
|
||||||
|
-The xaos table was inverted.
|
||||||
|
|
||||||
|
--Code changes
|
||||||
|
-Convert projects to Visual Studio 2017.
|
||||||
|
-Change bad vals from +- 1e10 to +-1e20.
|
||||||
|
-Reintroduce the symmetry tag in xforms for legacy support in programs that do not use color_speed.
|
||||||
|
-Compiler will not let us use default values in templated member functions anymore.
|
||||||
|
-Add a benchmarking suite.
|
||||||
|
|
||||||
1.0.0.6 09/02/2017
|
1.0.0.6 09/02/2017
|
||||||
--Bug fixes
|
--Bug fixes
|
||||||
-Strips renders crashed.
|
-Strips renders crashed.
|
||||||
|
@ -181,6 +181,19 @@ public:
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Reserve the underlying xforms vector to contain the specified capacity.
|
||||||
|
/// This should be called at the start of scenarios where xforms are added and their pointers
|
||||||
|
/// are used in the process. That way no resizing takes place and the pointers remain valid.
|
||||||
|
/// No action is taken if i is less than the existing capacity.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="i">The capacity to reserve</param>
|
||||||
|
void Reserve(size_t i)
|
||||||
|
{
|
||||||
|
if (i > m_Xforms.capacity())
|
||||||
|
m_Xforms.reserve(i);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Add a copy of a new xform to the xforms vector.
|
/// Add a copy of a new xform to the xforms vector.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -201,6 +214,7 @@ public:
|
|||||||
for (size_t i = 0; i < count; i++)
|
for (size_t i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
Xform<T> xform;
|
Xform<T> xform;
|
||||||
|
xform.AddVariation(m_VariationList->GetVariationCopy(eVariationId::VAR_LINEAR));
|
||||||
AddXform(xform);
|
AddXform(xform);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ static void sincos(float x, float* s, float* c)
|
|||||||
|
|
||||||
namespace EmberNs
|
namespace EmberNs
|
||||||
{
|
{
|
||||||
#define EMBER_VERSION "1.0.0.6"
|
#define EMBER_VERSION "1.0.0.7"
|
||||||
#define EPS6 T(1e-6)
|
#define EPS6 T(1e-6)
|
||||||
#define EPS std::numeric_limits<T>::epsilon()//Apoplugin.h uses -20, but it's more mathematically correct to do it this way.
|
#define EPS std::numeric_limits<T>::epsilon()//Apoplugin.h uses -20, but it's more mathematically correct to do it this way.
|
||||||
#define ISAAC_SIZE 4
|
#define ISAAC_SIZE 4
|
||||||
@ -60,7 +60,7 @@ namespace EmberNs
|
|||||||
#define XC(c) (reinterpret_cast<const xmlChar*>(c))
|
#define XC(c) (reinterpret_cast<const xmlChar*>(c))
|
||||||
#define CX(c) (reinterpret_cast<char*>(c))
|
#define CX(c) (reinterpret_cast<char*>(c))
|
||||||
#define CCX(c) (reinterpret_cast<const char*>(c))
|
#define CCX(c) (reinterpret_cast<const char*>(c))
|
||||||
#define BadVal(x) (((x) != (x)) || ((x) > 1e10) || ((x) < -1e10))
|
#define BadVal(x) (((x) != (x)) || ((x) > 1e20) || ((x) < -1e20))
|
||||||
#define Vlen(x) (sizeof(x) / sizeof(*x))
|
#define Vlen(x) (sizeof(x) / sizeof(*x))
|
||||||
#define SQR(x) ((x) * (x))
|
#define SQR(x) ((x) * (x))
|
||||||
#define CUBE(x) ((x) * (x) * (x))
|
#define CUBE(x) ((x) * (x) * (x))
|
||||||
@ -72,17 +72,17 @@ namespace EmberNs
|
|||||||
#define CURVES_LENGTH_M1 65535.0f
|
#define CURVES_LENGTH_M1 65535.0f
|
||||||
#define ONE_OVER_CURVES_LENGTH_M1 1.525902189669e-5f
|
#define ONE_OVER_CURVES_LENGTH_M1 1.525902189669e-5f
|
||||||
#define EMPTYFIELD -9999
|
#define EMPTYFIELD -9999
|
||||||
typedef std::chrono::high_resolution_clock Clock;
|
|
||||||
typedef std::chrono::duration<double, std::ratio<1, 1000>> DoubleMs;
|
|
||||||
typedef std::chrono::time_point<Clock, DoubleMs> DoubleMsTimePoint;
|
|
||||||
static inline DoubleMsTimePoint NowMsD() { return time_point_cast<DoubleMs>(Clock::now()); }
|
|
||||||
static inline size_t NowMs() { return duration_cast<milliseconds>(Clock::now().time_since_epoch()).count(); }
|
|
||||||
typedef uint et;
|
typedef uint et;
|
||||||
typedef std::lock_guard <std::recursive_mutex> rlg;
|
typedef std::lock_guard <std::recursive_mutex> rlg;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Thin wrapper around getting the current time in milliseconds.
|
/// Thin wrapper around getting the current time in milliseconds.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
typedef std::chrono::high_resolution_clock Clock;
|
||||||
|
typedef std::chrono::duration<double, std::ratio<1, 1000>> DoubleMs;
|
||||||
|
typedef std::chrono::time_point<Clock, DoubleMs> DoubleMsTimePoint;
|
||||||
|
static inline DoubleMsTimePoint NowMsD() { return time_point_cast<DoubleMs>(Clock::now()); }
|
||||||
|
static inline size_t NowMs() { return duration_cast<milliseconds>(Clock::now().time_since_epoch()).count(); }
|
||||||
|
|
||||||
#ifndef byte
|
#ifndef byte
|
||||||
typedef unsigned char byte;
|
typedef unsigned char byte;
|
||||||
|
@ -500,7 +500,8 @@ string EmberToXml<T>::ToString(Xform<T>& xform, size_t xformCount, bool isFinal,
|
|||||||
|
|
||||||
if (!doMotion || xform.m_ColorSpeed != EMPTYFIELD) os << "color_speed=\"" << xform.m_ColorSpeed << "\" ";
|
if (!doMotion || xform.m_ColorSpeed != EMPTYFIELD) os << "color_speed=\"" << xform.m_ColorSpeed << "\" ";
|
||||||
|
|
||||||
//os << "symmetry=\"" << fabs(xform.m_ColorSpeed - 1) * 2 << "\" ";//Legacy support.
|
//Legacy support.
|
||||||
|
os << "symmetry=\"" << 1 - (xform.m_ColorSpeed * 2) << "\" ";
|
||||||
|
|
||||||
if (!doMotion)
|
if (!doMotion)
|
||||||
{
|
{
|
||||||
|
@ -29,7 +29,7 @@ public:
|
|||||||
|
|
||||||
bool Save(const string& filename, Ember<T>& ember, size_t printEditDepth, bool doEdits, bool hexPalette, bool append = false, bool start = false, bool finish = false);
|
bool Save(const string& filename, Ember<T>& ember, size_t printEditDepth, bool doEdits, bool hexPalette, bool append = false, bool start = false, bool finish = false);
|
||||||
template <typename Alloc, template <typename, typename> class C>
|
template <typename Alloc, template <typename, typename> class C>
|
||||||
bool Save(const string& filename, C<Ember<T>, Alloc>& embers, size_t printEditDepth, bool doEdits, bool hexPalette, bool append = false, bool start = false, bool finish = false);
|
bool Save(const string& filename, C<Ember<T>, Alloc>& embers, size_t printEditDepth, bool doEdits, bool hexPalette, bool append, bool start, bool finish);
|
||||||
string ToString(Ember<T>& ember, const string& extraAttributes, size_t printEditDepth, bool doEdits, bool hexPalette = true);
|
string ToString(Ember<T>& ember, const string& extraAttributes, size_t printEditDepth, bool doEdits, bool hexPalette = true);
|
||||||
xmlDocPtr CreateNewEditdoc(Ember<T>* parent0, Ember<T>* parent1, const string& action, const string& nick, const string& url, const string& id, const string& comment, intmax_t sheepGen = 0, intmax_t sheepId = 0);
|
xmlDocPtr CreateNewEditdoc(Ember<T>* parent0, Ember<T>* parent1, const string& action, const string& nick, const string& url, const string& id, const string& comment, intmax_t sheepGen = 0, intmax_t sheepId = 0);
|
||||||
|
|
||||||
|
@ -806,6 +806,12 @@ bool Renderer<T, bucketT>::Alloc(bool histOnly)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!m_StandardIterator.get())
|
||||||
|
m_StandardIterator = make_unique<StandardIterator<T>>();
|
||||||
|
|
||||||
|
if (!m_XaosIterator.get())
|
||||||
|
m_XaosIterator = make_unique<XaosIterator<T>>();
|
||||||
|
|
||||||
if (lock)
|
if (lock)
|
||||||
LeaveResize();
|
LeaveResize();
|
||||||
|
|
||||||
|
@ -107,6 +107,14 @@ public:
|
|||||||
{
|
{
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
if (!m_FilterRadius)
|
||||||
|
{
|
||||||
|
m_Filter.resize(1);
|
||||||
|
m_Filter[0] = 1;
|
||||||
|
m_FinalFilterWidth = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
T fw = T(2.0) * m_Support * m_Supersample * m_FilterRadius / m_PixelAspectRatio;
|
T fw = T(2.0) * m_Support * m_Supersample * m_FilterRadius / m_PixelAspectRatio;
|
||||||
T adjust, ii, jj;
|
T adjust, ii, jj;
|
||||||
int fwidth = int(fw) + 1;
|
int fwidth = int(fw) + 1;
|
||||||
|
@ -186,6 +186,21 @@ public:
|
|||||||
return static_cast<double>(temp);
|
return static_cast<double>(temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Integer hash function from http://burtleburtle.net/bob/hash/integer.html
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="a">The value to hash</param>
|
||||||
|
/// <returns>The hashed value</returns>
|
||||||
|
static T Hash(int a)
|
||||||
|
{
|
||||||
|
a = (a ^ 61) ^ (a >> 16);
|
||||||
|
a = a + (a << 3);
|
||||||
|
a = a ^ (a >> 4);
|
||||||
|
a = a * 0x27d4eb2d;
|
||||||
|
a = a ^ (a >> 15);
|
||||||
|
return (T)a / std::numeric_limits<int>::max();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieve information about a piece of shared data by looking
|
/// Retrieve information about a piece of shared data by looking
|
||||||
/// up its name.
|
/// up its name.
|
||||||
|
@ -39,12 +39,16 @@ enum class eVariationAssignType : et
|
|||||||
ASSIGNTYPE_SUM
|
ASSIGNTYPE_SUM
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define WEIGHT_PREFIX "parVars[WEIGHT_"
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Complete list of every variation class ID.
|
/// Complete list of every variation class ID.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
enum class eVariationId : et
|
enum class eVariationId : et
|
||||||
{
|
{
|
||||||
VAR_ARCH,
|
VAR_ARCH,
|
||||||
|
//VAR_ARCSINH,
|
||||||
|
//VAR_ARCTANH,
|
||||||
VAR_AUGER ,
|
VAR_AUGER ,
|
||||||
VAR_BARYCENTROID,
|
VAR_BARYCENTROID,
|
||||||
VAR_BCIRCLE ,
|
VAR_BCIRCLE ,
|
||||||
@ -90,6 +94,7 @@ enum class eVariationId : et
|
|||||||
VAR_CIRCLIZE2 ,
|
VAR_CIRCLIZE2 ,
|
||||||
VAR_CIRCUS,
|
VAR_CIRCUS,
|
||||||
VAR_COLLIDEOSCOPE,
|
VAR_COLLIDEOSCOPE,
|
||||||
|
VAR_CONCENTRIC ,
|
||||||
VAR_CONIC ,
|
VAR_CONIC ,
|
||||||
VAR_COS ,
|
VAR_COS ,
|
||||||
VAR_COS_WRAP ,
|
VAR_COS_WRAP ,
|
||||||
@ -103,6 +108,7 @@ enum class eVariationId : et
|
|||||||
VAR_COTQ ,
|
VAR_COTQ ,
|
||||||
VAR_CPOW ,
|
VAR_CPOW ,
|
||||||
VAR_CPOW2 ,
|
VAR_CPOW2 ,
|
||||||
|
VAR_CPOW3 ,
|
||||||
VAR_CRACKLE ,
|
VAR_CRACKLE ,
|
||||||
VAR_CRESCENTS ,
|
VAR_CRESCENTS ,
|
||||||
VAR_CROB ,
|
VAR_CROB ,
|
||||||
@ -180,6 +186,8 @@ enum class eVariationId : et
|
|||||||
VAR_HANDKERCHIEF,
|
VAR_HANDKERCHIEF,
|
||||||
VAR_HEART ,
|
VAR_HEART ,
|
||||||
VAR_HEAT,
|
VAR_HEAT,
|
||||||
|
VAR_HELICOID,
|
||||||
|
VAR_HELIX,
|
||||||
VAR_HEMISPHERE ,
|
VAR_HEMISPHERE ,
|
||||||
VAR_HEXAPLAY3D ,
|
VAR_HEXAPLAY3D ,
|
||||||
VAR_HEXCROP ,
|
VAR_HEXCROP ,
|
||||||
@ -275,6 +283,7 @@ enum class eVariationId : et
|
|||||||
VAR_PSPHERE ,
|
VAR_PSPHERE ,
|
||||||
VAR_Q_ODE,
|
VAR_Q_ODE,
|
||||||
VAR_RADIAL_BLUR ,
|
VAR_RADIAL_BLUR ,
|
||||||
|
VAR_RAND_CUBES ,
|
||||||
VAR_RATIONAL3 ,
|
VAR_RATIONAL3 ,
|
||||||
VAR_RAYS ,
|
VAR_RAYS ,
|
||||||
VAR_RBLUR,
|
VAR_RBLUR,
|
||||||
@ -309,6 +318,7 @@ enum class eVariationId : et
|
|||||||
VAR_SINUSOIDAL ,
|
VAR_SINUSOIDAL ,
|
||||||
VAR_SINUSOIDAL3D,
|
VAR_SINUSOIDAL3D,
|
||||||
//VAR_SMARTCROP ,
|
//VAR_SMARTCROP ,
|
||||||
|
VAR_SPHEREBLUR ,
|
||||||
VAR_SPHERICAL ,
|
VAR_SPHERICAL ,
|
||||||
VAR_SPHERICAL3D ,
|
VAR_SPHERICAL3D ,
|
||||||
VAR_SPHERICALN ,
|
VAR_SPHERICALN ,
|
||||||
@ -376,6 +386,8 @@ enum class eVariationId : et
|
|||||||
VAR_ZTRANSLATE,
|
VAR_ZTRANSLATE,
|
||||||
|
|
||||||
VAR_PRE_ARCH,
|
VAR_PRE_ARCH,
|
||||||
|
//VAR_PRE_ARCSINH,
|
||||||
|
//VAR_PRE_ARCTANH,
|
||||||
VAR_PRE_AUGER,
|
VAR_PRE_AUGER,
|
||||||
VAR_PRE_BARYCENTROID,
|
VAR_PRE_BARYCENTROID,
|
||||||
VAR_PRE_BCIRCLE,
|
VAR_PRE_BCIRCLE,
|
||||||
@ -421,6 +433,7 @@ enum class eVariationId : et
|
|||||||
VAR_PRE_CIRCLIZE2,
|
VAR_PRE_CIRCLIZE2,
|
||||||
VAR_PRE_CIRCUS,
|
VAR_PRE_CIRCUS,
|
||||||
VAR_PRE_COLLIDEOSCOPE,
|
VAR_PRE_COLLIDEOSCOPE,
|
||||||
|
VAR_PRE_CONCENTRIC,
|
||||||
VAR_PRE_CONIC,
|
VAR_PRE_CONIC,
|
||||||
VAR_PRE_COS,
|
VAR_PRE_COS,
|
||||||
VAR_PRE_COS_WRAP,
|
VAR_PRE_COS_WRAP,
|
||||||
@ -434,6 +447,7 @@ enum class eVariationId : et
|
|||||||
VAR_PRE_COTQ,
|
VAR_PRE_COTQ,
|
||||||
VAR_PRE_CPOW,
|
VAR_PRE_CPOW,
|
||||||
VAR_PRE_CPOW2,
|
VAR_PRE_CPOW2,
|
||||||
|
VAR_PRE_CPOW3,
|
||||||
VAR_PRE_CRACKLE,
|
VAR_PRE_CRACKLE,
|
||||||
VAR_PRE_CRESCENTS,
|
VAR_PRE_CRESCENTS,
|
||||||
VAR_PRE_CROB,
|
VAR_PRE_CROB,
|
||||||
@ -511,6 +525,8 @@ enum class eVariationId : et
|
|||||||
VAR_PRE_HANDKERCHIEF,
|
VAR_PRE_HANDKERCHIEF,
|
||||||
VAR_PRE_HEART,
|
VAR_PRE_HEART,
|
||||||
VAR_PRE_HEAT,
|
VAR_PRE_HEAT,
|
||||||
|
VAR_PRE_HELICOID,
|
||||||
|
VAR_PRE_HELIX,
|
||||||
VAR_PRE_HEMISPHERE,
|
VAR_PRE_HEMISPHERE,
|
||||||
VAR_PRE_HEXAPLAY3D,
|
VAR_PRE_HEXAPLAY3D,
|
||||||
VAR_PRE_HEXCROP,
|
VAR_PRE_HEXCROP,
|
||||||
@ -606,6 +622,7 @@ enum class eVariationId : et
|
|||||||
VAR_PRE_PSPHERE,
|
VAR_PRE_PSPHERE,
|
||||||
VAR_PRE_Q_ODE,
|
VAR_PRE_Q_ODE,
|
||||||
VAR_PRE_RADIAL_BLUR,
|
VAR_PRE_RADIAL_BLUR,
|
||||||
|
VAR_PRE_RAND_CUBES,
|
||||||
VAR_PRE_RATIONAL3,
|
VAR_PRE_RATIONAL3,
|
||||||
VAR_PRE_RAYS,
|
VAR_PRE_RAYS,
|
||||||
VAR_PRE_RBLUR,
|
VAR_PRE_RBLUR,
|
||||||
@ -640,6 +657,7 @@ enum class eVariationId : et
|
|||||||
VAR_PRE_SINUSOIDAL,
|
VAR_PRE_SINUSOIDAL,
|
||||||
VAR_PRE_SINUSOIDAL3D,
|
VAR_PRE_SINUSOIDAL3D,
|
||||||
//VAR_PRE_SMARTCROP,
|
//VAR_PRE_SMARTCROP,
|
||||||
|
VAR_PRE_SPHEREBLUR,
|
||||||
VAR_PRE_SPHERICAL,
|
VAR_PRE_SPHERICAL,
|
||||||
VAR_PRE_SPHERICAL3D,
|
VAR_PRE_SPHERICAL3D,
|
||||||
VAR_PRE_SPHERICALN,
|
VAR_PRE_SPHERICALN,
|
||||||
@ -707,6 +725,8 @@ enum class eVariationId : et
|
|||||||
VAR_PRE_ZTRANSLATE,
|
VAR_PRE_ZTRANSLATE,
|
||||||
|
|
||||||
VAR_POST_ARCH,
|
VAR_POST_ARCH,
|
||||||
|
//VAR_POST_ARCSINH,
|
||||||
|
//VAR_POST_ARCTANH,
|
||||||
VAR_POST_AUGER,
|
VAR_POST_AUGER,
|
||||||
VAR_POST_BARYCENTROID,
|
VAR_POST_BARYCENTROID,
|
||||||
VAR_POST_BCIRCLE,
|
VAR_POST_BCIRCLE,
|
||||||
@ -752,6 +772,7 @@ enum class eVariationId : et
|
|||||||
VAR_POST_CIRCLIZE2,
|
VAR_POST_CIRCLIZE2,
|
||||||
VAR_POST_CIRCUS,
|
VAR_POST_CIRCUS,
|
||||||
VAR_POST_COLLIDEOSCOPE,
|
VAR_POST_COLLIDEOSCOPE,
|
||||||
|
VAR_POST_CONCENTRIC,
|
||||||
VAR_POST_CONIC,
|
VAR_POST_CONIC,
|
||||||
VAR_POST_COS,
|
VAR_POST_COS,
|
||||||
VAR_POST_COS_WRAP,
|
VAR_POST_COS_WRAP,
|
||||||
@ -765,6 +786,7 @@ enum class eVariationId : et
|
|||||||
VAR_POST_COTQ,
|
VAR_POST_COTQ,
|
||||||
VAR_POST_CPOW,
|
VAR_POST_CPOW,
|
||||||
VAR_POST_CPOW2,
|
VAR_POST_CPOW2,
|
||||||
|
VAR_POST_CPOW3,
|
||||||
VAR_POST_CRACKLE,
|
VAR_POST_CRACKLE,
|
||||||
VAR_POST_CRESCENTS,
|
VAR_POST_CRESCENTS,
|
||||||
VAR_POST_CROB,
|
VAR_POST_CROB,
|
||||||
@ -842,6 +864,8 @@ enum class eVariationId : et
|
|||||||
VAR_POST_HANDKERCHIEF,
|
VAR_POST_HANDKERCHIEF,
|
||||||
VAR_POST_HEART,
|
VAR_POST_HEART,
|
||||||
VAR_POST_HEAT,
|
VAR_POST_HEAT,
|
||||||
|
VAR_POST_HELICOID,
|
||||||
|
VAR_POST_HELIX,
|
||||||
VAR_POST_HEMISPHERE,
|
VAR_POST_HEMISPHERE,
|
||||||
VAR_POST_HEXAPLAY3D,
|
VAR_POST_HEXAPLAY3D,
|
||||||
VAR_POST_HEXCROP,
|
VAR_POST_HEXCROP,
|
||||||
@ -937,6 +961,7 @@ enum class eVariationId : et
|
|||||||
VAR_POST_PSPHERE,
|
VAR_POST_PSPHERE,
|
||||||
VAR_POST_Q_ODE,
|
VAR_POST_Q_ODE,
|
||||||
VAR_POST_RADIAL_BLUR,
|
VAR_POST_RADIAL_BLUR,
|
||||||
|
VAR_POST_RAND_CUBES,
|
||||||
VAR_POST_RATIONAL3,
|
VAR_POST_RATIONAL3,
|
||||||
VAR_POST_RAYS,
|
VAR_POST_RAYS,
|
||||||
VAR_POST_RBLUR,
|
VAR_POST_RBLUR,
|
||||||
@ -971,6 +996,7 @@ enum class eVariationId : et
|
|||||||
VAR_POST_SINUSOIDAL,
|
VAR_POST_SINUSOIDAL,
|
||||||
VAR_POST_SINUSOIDAL3D,
|
VAR_POST_SINUSOIDAL3D,
|
||||||
VAR_POST_SMARTCROP,
|
VAR_POST_SMARTCROP,
|
||||||
|
VAR_POST_SPHEREBLUR,
|
||||||
VAR_POST_SPHERICAL,
|
VAR_POST_SPHERICAL,
|
||||||
VAR_POST_SPHERICAL3D,
|
VAR_POST_SPHERICAL3D,
|
||||||
VAR_POST_SPHERICALN,
|
VAR_POST_SPHERICALN,
|
||||||
@ -1472,6 +1498,11 @@ protected:
|
|||||||
return m_VarType == eVariationType::VARTYPE_REG ? "0;\n" : (m_PrePostAssignType == eVariationAssignType::ASSIGNTYPE_SET ? "vIn.z;\n" : "0;\n");
|
return m_VarType == eVariationType::VARTYPE_REG ? "0;\n" : (m_PrePostAssignType == eVariationAssignType::ASSIGNTYPE_SET ? "vIn.z;\n" : "0;\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string WeightDefineString() const
|
||||||
|
{
|
||||||
|
return WEIGHT_PREFIX + std::to_string(XformIndexInEmber()) + "_" + std::to_string(IndexInXform()) + "]";
|
||||||
|
}
|
||||||
|
|
||||||
Xform<T>* m_Xform;//The parent Xform that this variation is a child of.
|
Xform<T>* m_Xform;//The parent Xform that this variation is a child of.
|
||||||
eVariationId m_VariationId;//The unique ID of this variation.
|
eVariationId m_VariationId;//The unique ID of this variation.
|
||||||
string m_Name;//The unique name of this variation.
|
string m_Name;//The unique name of this variation.
|
||||||
|
@ -351,6 +351,11 @@ VariationList<T>::VariationList()
|
|||||||
ADDPREPOSTREGVAR(Waves2Radial)
|
ADDPREPOSTREGVAR(Waves2Radial)
|
||||||
ADDPREPOSTREGVAR(Panorama1)
|
ADDPREPOSTREGVAR(Panorama1)
|
||||||
ADDPREPOSTREGVAR(Panorama2)
|
ADDPREPOSTREGVAR(Panorama2)
|
||||||
|
ADDPREPOSTREGVAR(Helicoid)
|
||||||
|
ADDPREPOSTREGVAR(Helix)
|
||||||
|
ADDPREPOSTREGVAR(Sphereblur)
|
||||||
|
ADDPREPOSTREGVAR(Cpow3)
|
||||||
|
ADDPREPOSTREGVAR(Concentric)
|
||||||
//ADDPREPOSTREGVAR(LinearXZ)
|
//ADDPREPOSTREGVAR(LinearXZ)
|
||||||
//ADDPREPOSTREGVAR(LinearYZ)
|
//ADDPREPOSTREGVAR(LinearYZ)
|
||||||
//DC are special.
|
//DC are special.
|
||||||
@ -363,6 +368,7 @@ VariationList<T>::VariationList()
|
|||||||
ADDPREPOSTREGVAR(DCPerlin)
|
ADDPREPOSTREGVAR(DCPerlin)
|
||||||
ADDPREPOSTREGVAR(DCTriangle)
|
ADDPREPOSTREGVAR(DCTriangle)
|
||||||
ADDPREPOSTREGVAR(DCZTransl)
|
ADDPREPOSTREGVAR(DCZTransl)
|
||||||
|
ADDPREPOSTREGVAR(RandCubes)
|
||||||
|
|
||||||
for (auto var : m_Variations) const_cast<Variation<T>*>(var)->Precalc();//Modify once here, then const after this.
|
for (auto var : m_Variations) const_cast<Variation<T>*>(var)->Precalc();//Modify once here, then const after this.
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -32,12 +32,13 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string effect = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string effect = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t temp = 1 / Zeps(cos(vIn.y)) + " << effect << " * MPI;\n"
|
<< "\t\treal_t temp = 1 / Zeps(cos(vIn.y)) + " << effect << " * MPI;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (tanh(vIn.x) * temp);\n"
|
<< "\t\tvOut.x = " << weight << " * (tanh(vIn.x) * temp);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (tanh(vIn.y) * temp);\n"
|
<< "\t\tvOut.y = " << weight << " * (tanh(vIn.y) * temp);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -82,10 +83,11 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\tvOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\tvOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * vIn.z;\n"
|
<< "\t\tvOut.z = " << weight << " * vIn.z;\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -120,6 +122,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string numerator = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string numerator = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string denominator = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string denominator = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string root = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string root = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -127,7 +130,7 @@ public:
|
|||||||
string correctD = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string correctD = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t r2 = pow(precalcSumSquares, " << power << " * (real_t)(0.5)) * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\treal_t r2 = pow(precalcSumSquares, " << power << " * (real_t)(0.5)) * " << weight << ";\n"
|
||||||
<< "\t\treal_t ran = (precalcAtanyx / Zeps(" << denominator << ") + (" << root << " * M_2PI * floor(MwcNext01(mwc) * " << denominator << ") / Zeps(" << denominator << "))) * " << numerator << ";\n"
|
<< "\t\treal_t ran = (precalcAtanyx / Zeps(" << denominator << ") + (" << root << " * M_2PI * floor(MwcNext01(mwc) * " << denominator << ") / Zeps(" << denominator << "))) * " << numerator << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = r2 * cos(ran);\n"
|
<< "\t\tvOut.x = r2 * cos(ran);\n"
|
||||||
@ -197,13 +200,14 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string b = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string b = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t u = sqrt(ClampGte(Zeps(" << a << ") * SQR(vIn.x) + Zeps(" << b << ") * SQR(vIn.y), (real_t)(0.0)));\n"
|
<< "\t\treal_t u = sqrt(ClampGte(Zeps(" << a << ") * SQR(vIn.x) + Zeps(" << b << ") * SQR(vIn.y), (real_t)(0.0)));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = cos(u) * tan(vIn.x) * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\tvOut.x = cos(u) * tan(vIn.x) * " << weight << ";\n"
|
||||||
<< "\t\tvOut.y = sin(u) * tan(vIn.y) * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\tvOut.y = sin(u) * tan(vIn.y) * " << weight << ";\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -250,9 +254,10 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x - ((SQR(vIn.x) * vIn.x) / 3)) + vIn.x * SQR(vIn.y);\n"
|
<< "\t\tvOut.x = " << weight << " * (vIn.x - ((SQR(vIn.x) * vIn.x) / 3)) + vIn.x * SQR(vIn.y);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y - ((SQR(vIn.y) * vIn.y) / 3)) + vIn.y * SQR(vIn.x);\n"
|
<< "\t\tvOut.y = " << weight << " * (vIn.y - ((SQR(vIn.y) * vIn.y) / 3)) + vIn.y * SQR(vIn.x);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -291,6 +296,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string dist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string dist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -300,8 +306,8 @@ public:
|
|||||||
<< "\t\treal_t sina = sin(alpha);\n"
|
<< "\t\treal_t sina = sin(alpha);\n"
|
||||||
<< "\t\treal_t cosa = cos(alpha);\n"
|
<< "\t\treal_t cosa = cos(alpha);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * cosa / r;\n"
|
<< "\t\tvOut.x = " << weight << " * cosa / r;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sina / r;\n"
|
<< "\t\tvOut.y = " << weight << " * sina / r;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -361,6 +367,7 @@ public:
|
|||||||
intmax_t i = 0;
|
intmax_t i = 0;
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string pull = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string pull = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string lineUp = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string lineUp = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -465,6 +472,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string radius1 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string radius1 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string phi1 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string phi1 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -479,8 +487,8 @@ public:
|
|||||||
<< "\t\tif (precalcSqrtSumSquares < " << radius << ")\n"
|
<< "\t\tif (precalcSqrtSumSquares < " << radius << ")\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t GlynnSim1Circle(&" << radius1 << ", &" << thickness << ", &" << x1 << ", &" << y1 << ", mwc, &x, &y);\n"
|
<< "\t\t GlynnSim1Circle(&" << radius1 << ", &" << thickness << ", &" << x1 << ", &" << y1 << ", mwc, &x, &y);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * x;\n"
|
<< "\t\t vOut.x = " << weight << " * x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * y;\n"
|
<< "\t\t vOut.y = " << weight << " * y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
@ -502,13 +510,13 @@ public:
|
|||||||
<< "\t\t if (z < SQR(" << radius1 << "))\n"
|
<< "\t\t if (z < SQR(" << radius1 << "))\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t GlynnSim1Circle(&" << radius1 << ", &" << thickness << ", &" << x1 << ", &" << y1 << ", mwc, &x, &y);\n"
|
<< "\t\t GlynnSim1Circle(&" << radius1 << ", &" << thickness << ", &" << x1 << ", &" << y1 << ", mwc, &x, &y);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * x;\n"
|
<< "\t\t vOut.x = " << weight << " * x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * y;\n"
|
<< "\t\t vOut.y = " << weight << " * y;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * x;\n"
|
<< "\t\t vOut.x = " << weight << " * x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * y;\n"
|
<< "\t\t vOut.y = " << weight << " * y;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
@ -633,6 +641,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string thickness = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string thickness = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string contrast = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string contrast = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -649,8 +658,8 @@ public:
|
|||||||
<< "\t\tif (precalcSqrtSumSquares < " << radius << ")\n"
|
<< "\t\tif (precalcSqrtSumSquares < " << radius << ")\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t GlynnSim2Circle(&" << radius << ", &" << thickness << ", &" << phi10 << ", &" << delta << ", &" << gamma << ", mwc, &x,&y);\n"
|
<< "\t\t GlynnSim2Circle(&" << radius << ", &" << thickness << ", &" << phi10 << ", &" << delta << ", &" << gamma << ", mwc, &x,&y);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * x;\n"
|
<< "\t\t vOut.x = " << weight << " * x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * y;\n"
|
<< "\t\t vOut.y = " << weight << " * y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
@ -658,13 +667,13 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t if (MwcNext01(mwc) > " << contrast << " * pow(alpha, " << pow << "))\n"
|
<< "\t\t if (MwcNext01(mwc) > " << contrast << " * pow(alpha, " << pow << "))\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * SQR(alpha) * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * SQR(alpha) * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * SQR(alpha) * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * SQR(alpha) * vIn.y;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
@ -792,6 +801,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string thickness = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string thickness = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string thickness2 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string thickness2 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -806,8 +816,8 @@ public:
|
|||||||
<< "\t\tif (precalcSqrtSumSquares < " << radius1 << ")\n"
|
<< "\t\tif (precalcSqrtSumSquares < " << radius1 << ")\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t GlynnSim3Circle(&" << radius << ", &" << radius1 << ", &" << radius2 << ", &" << thickness << ", &" << gamma << ", mwc, &x,&y);\n"
|
<< "\t\t GlynnSim3Circle(&" << radius << ", &" << radius1 << ", &" << radius2 << ", &" << thickness << ", &" << gamma << ", mwc, &x,&y);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * x;\n"
|
<< "\t\t vOut.x = " << weight << " * x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * y;\n"
|
<< "\t\t vOut.y = " << weight << " * y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
@ -815,13 +825,13 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t if (MwcNext01(mwc) > " << contrast << " * pow(alpha, " << pow << "))\n"
|
<< "\t\t if (MwcNext01(mwc) > " << contrast << " * pow(alpha, " << pow << "))\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * SQR(alpha) * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * SQR(alpha) * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * SQR(alpha) * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * SQR(alpha) * vIn.y;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
@ -945,6 +955,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string range = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string range = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string length = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string length = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -967,8 +978,8 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\treal_t temp = angle - MPI2;\n"
|
<< "\t\treal_t temp = angle - MPI2;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * z * cos(temp);\n"
|
<< "\t\tvOut.x = " << weight << " * z * cos(temp);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * z * sin(temp);\n"
|
<< "\t\tvOut.y = " << weight << " * z * sin(temp);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1030,12 +1041,13 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t ang = MwcNext01(mwc) * M_2PI;\n"
|
<< "\t\treal_t ang = MwcNext01(mwc) * M_2PI;\n"
|
||||||
<< "\t\treal_t s = sin(ang);\n"
|
<< "\t\treal_t s = sin(ang);\n"
|
||||||
<< "\t\treal_t c = cos(ang);\n"
|
<< "\t\treal_t c = cos(ang);\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] * (" << power << " == 1 ? acos(MwcNext01(mwc) * 2 - 1) / MPI : acos(exp(log(MwcNext01(mwc)) * " << power << ") * 2 - 1) / MPI);\n"
|
<< "\t\treal_t r = " << weight << " * (" << power << " == 1 ? acos(MwcNext01(mwc) * 2 - 1) / MPI : acos(exp(log(MwcNext01(mwc)) * " << power << ") * 2 - 1) / MPI);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = r * c;\n"
|
<< "\t\tvOut.x = r * c;\n"
|
||||||
<< "\t\tvOut.y = r * s;\n"
|
<< "\t\tvOut.y = r * s;\n"
|
||||||
@ -1080,12 +1092,13 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t rad = sqrt(MwcNext01(mwc));\n"
|
<< "\t\treal_t rad = sqrt(MwcNext01(mwc));\n"
|
||||||
<< "\t\treal_t temp = MwcNext01(mwc) * M_2PI;\n"
|
<< "\t\treal_t temp = MwcNext01(mwc) * M_2PI;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * cos(temp) * rad;\n"
|
<< "\t\tvOut.x = " << weight << " * cos(temp) * rad;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sin(temp) * rad;\n"
|
<< "\t\tvOut.y = " << weight << " * sin(temp) * rad;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1124,6 +1137,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t coeff = fabs(vIn.z);\n"
|
<< "\t\treal_t coeff = fabs(vIn.z);\n"
|
||||||
@ -1131,9 +1145,9 @@ public:
|
|||||||
<< "\t\tif (coeff != 0 && " << power << " != 1)\n"
|
<< "\t\tif (coeff != 0 && " << power << " != 1)\n"
|
||||||
<< "\t\t coeff = exp(log(coeff) * " << power << ");\n"
|
<< "\t\t coeff = exp(log(coeff) * " << power << ");\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (transX + vIn.x * coeff);\n"
|
<< "\t\tvOut.x = " << weight << " * (transX + vIn.x * coeff);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (transY + vIn.y * coeff);\n"
|
<< "\t\tvOut.y = " << weight << " * (transY + vIn.y * coeff);\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * (transZ + vIn.z * coeff);\n"
|
<< "\t\tvOut.z = " << weight << " * (transZ + vIn.z * coeff);\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -1199,6 +1213,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string scatterDist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string scatterDist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1223,14 +1238,14 @@ public:
|
|||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t real_t rdc = xr + (MwcNext01(mwc) * (real_t)(0.5) * " << scatterDist << ");\n"
|
<< "\t\t real_t rdc = xr + (MwcNext01(mwc) * (real_t)(0.5) * " << scatterDist << ");\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * rdc * cos(precalcAtanyx);\n"
|
<< "\t\t vOut.x = " << weight << " * rdc * cos(precalcAtanyx);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * rdc * sin(precalcAtanyx);\n"
|
<< "\t\t vOut.y = " << weight << " * rdc * sin(precalcAtanyx);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
@ -1297,6 +1312,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string width = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string width = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string alpha = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string alpha = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1304,9 +1320,9 @@ public:
|
|||||||
<< "\t\treal_t xang = (precalcAtanyx + M_3PI + " << alpha << " / 2) / " << alpha << ";\n"
|
<< "\t\treal_t xang = (precalcAtanyx + M_3PI + " << alpha << " / 2) / " << alpha << ";\n"
|
||||||
<< "\t\treal_t zang = ((xang - (int)xang) * " << width << " + (int)xang) * " << alpha << " - MPI - " << alpha << " / 2 * " << width << ";\n"
|
<< "\t\treal_t zang = ((xang - (int)xang) * " << width << " + (int)xang) * " << alpha << " - MPI - " << alpha << " / 2 * " << width << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * precalcSqrtSumSquares * cos(zang);\n"
|
<< "\t\tvOut.x = " << weight << " * precalcSqrtSumSquares * cos(zang);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * precalcSqrtSumSquares * sin(zang);\n"
|
<< "\t\tvOut.y = " << weight << " * precalcSqrtSumSquares * sin(zang);\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * vIn.z;\n"
|
<< "\t\tvOut.z = " << weight << " * vIn.z;\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -1377,6 +1393,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string mode = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string mode = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1388,8 +1405,8 @@ public:
|
|||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tif (precalcSqrtSumSquares < " << radius << ")\n"
|
<< "\t\tif (precalcSqrtSumSquares < " << radius << ")\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
@ -1403,10 +1420,10 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t real_t rad = " << radius << " + (precalcSqrtSumSquares - " << radius << ") * delta;\n"
|
<< "\t\t real_t rad = " << radius << " + (precalcSqrtSumSquares - " << radius << ") * delta;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * rad * cos(precalcAtanyx);\n"
|
<< "\t\t vOut.x = " << weight << " * rad * cos(precalcAtanyx);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * rad * sin(precalcAtanyx);\n"
|
<< "\t\t vOut.y = " << weight << " * rad * sin(precalcAtanyx);\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * vIn.z;\n"
|
<< "\t\t vOut.z = " << weight << " * vIn.z;\n"
|
||||||
//<< "\t\t transZ += xform->m_VariationWeights[" << varIndex << "] * outPoint->m_Z;\n"//Original had this which is probably wrong.
|
//<< "\t\t transZ += " << weight << " * outPoint->m_Z;\n"//Original had this which is probably wrong.
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1474,12 +1491,13 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string absn = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string absn = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string cn = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string cn = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t z = vIn.z / " << absn << ";\n"
|
<< "\t\treal_t z = vIn.z / " << absn << ";\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] * pow(precalcSumSquares + SQR(z), " << cn << ");\n"
|
<< "\t\treal_t r = " << weight << " * pow(precalcSumSquares + SQR(z), " << cn << ");\n"
|
||||||
<< "\t\treal_t tmp = r * precalcSqrtSumSquares;\n"
|
<< "\t\treal_t tmp = r * precalcSqrtSumSquares;\n"
|
||||||
<< "\t\treal_t ang = (precalcAtanyx + M_2PI * MwcNextRange(mwc, (uint)" << absn << ")) / " << n << ";\n"
|
<< "\t\treal_t ang = (precalcAtanyx + M_2PI * MwcNextRange(mwc, (uint)" << absn << ")) / " << n << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
@ -1549,11 +1567,12 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string absn = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string absn = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string cn = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string cn = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] * pow(precalcSumSquares, " << cn << ");\n"
|
<< "\t\treal_t r = " << weight << " * pow(precalcSumSquares, " << cn << ");\n"
|
||||||
<< "\t\treal_t temp = (precalcAtanyx + M_2PI * MwcNextRange(mwc, (uint)" << absn << ")) / " << n << ";\n"
|
<< "\t\treal_t temp = (precalcAtanyx + M_2PI * MwcNextRange(mwc, (uint)" << absn << ")) / " << n << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = r * cos(temp);\n"
|
<< "\t\tvOut.x = r * cos(temp);\n"
|
||||||
@ -1620,11 +1639,12 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string powx = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string powx = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string powy = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string powy = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = SignNz(vIn.x) * pow(fabs(vIn.x), " << powx << ") * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\tvOut.x = SignNz(vIn.x) * pow(fabs(vIn.x), " << powx << ") * " << weight << ";\n"
|
||||||
<< "\t\tvOut.y = SignNz(vIn.y) * pow(fabs(vIn.y), " << powy << ") * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\tvOut.y = SignNz(vIn.y) * pow(fabs(vIn.y), " << powy << ") * " << weight << ";\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1676,13 +1696,14 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string powx = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string powx = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string powy = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string powy = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string powz = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string powz = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = (real_t)(vIn.x < 0 ? -1 : 1) * pow(fabs(vIn.x), " << powx << ") * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\tvOut.x = (real_t)(vIn.x < 0 ? -1 : 1) * pow(fabs(vIn.x), " << powx << ") * " << weight << ";\n"
|
||||||
<< "\t\tvOut.y = (real_t)(vIn.y < 0 ? -1 : 1) * pow(fabs(vIn.y), " << powy << ") * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\tvOut.y = (real_t)(vIn.y < 0 ? -1 : 1) * pow(fabs(vIn.y), " << powy << ") * " << weight << ";\n"
|
||||||
<< "\t\tvOut.z = (real_t)(vIn.z < 0 ? -1 : 1) * pow(fabs(vIn.z), " << powz << ") * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\tvOut.z = (real_t)(vIn.z < 0 ? -1 : 1) * pow(fabs(vIn.z), " << powz << ") * " << weight << ";\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -1731,10 +1752,11 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] / Zeps(precalcSumSquares);\n"
|
<< "\t\treal_t r = " << weight << " / Zeps(precalcSumSquares);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = vIn.x * r * " << x << ";\n"
|
<< "\t\tvOut.x = vIn.x * r * " << x << ";\n"
|
||||||
<< "\t\tvOut.y = vIn.y * r * " << y << ";\n"
|
<< "\t\tvOut.y = vIn.y * r * " << y << ";\n"
|
||||||
@ -1790,11 +1812,12 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string z = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string z = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] / Zeps(precalcSumSquares + SQR(vIn.z));\n"
|
<< "\t\treal_t r = " << weight << " / Zeps(precalcSumSquares + SQR(vIn.z));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = vIn.x * r * " << x << ";\n"
|
<< "\t\tvOut.x = vIn.x * r * " << x << ";\n"
|
||||||
<< "\t\tvOut.y = vIn.y * r * " << y << ";\n"
|
<< "\t\tvOut.y = vIn.y * r * " << y << ";\n"
|
||||||
@ -1855,6 +1878,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string b = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string b = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string d = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string d = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1870,8 +1894,8 @@ public:
|
|||||||
<< "\t\treal_t x1 = (" << a << " + " << b << ") * cos(t) - " << c1 << " * cos((" << a << " + " << b << ") / " << b << " * t);\n"
|
<< "\t\treal_t x1 = (" << a << " + " << b << ") * cos(t) - " << c1 << " * cos((" << a << " + " << b << ") / " << b << " * t);\n"
|
||||||
<< "\t\treal_t y1 = (" << a << " + " << b << ") * sin(t) - " << c2 << " * sin((" << a << " + " << b << ") / " << b << " * t);\n"
|
<< "\t\treal_t y1 = (" << a << " + " << b << ") * sin(t) - " << c2 << " * sin((" << a << " + " << b << ") / " << b << " * t);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (x1 + " << d << " * cos(t) + y);\n"
|
<< "\t\tvOut.x = " << weight << " * (x1 + " << d << " * cos(t) + y);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (y1 + " << d << " * sin(t) + y);\n"
|
<< "\t\tvOut.y = " << weight << " * (y1 + " << d << " * sin(t) + y);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1932,6 +1956,7 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t sinX = sin(vIn.x);\n"
|
<< "\t\treal_t sinX = sin(vIn.x);\n"
|
||||||
<< "\t\treal_t cosX = cos(vIn.x);\n"
|
<< "\t\treal_t cosX = cos(vIn.x);\n"
|
||||||
@ -1940,8 +1965,8 @@ public:
|
|||||||
<< "\t\treal_t bx = Cube(cosX*cosY);\n"
|
<< "\t\treal_t bx = Cube(cosX*cosY);\n"
|
||||||
<< "\t\treal_t by = Cube(sinX*cosY);\n"
|
<< "\t\treal_t by = Cube(sinX*cosY);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * cosX * bx;\n"
|
<< "\t\tvOut.x = " << weight << " * cosX * bx;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * cosX * by;\n"
|
<< "\t\tvOut.y = " << weight << " * cosX * by;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1976,11 +2001,12 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t e = 1 / precalcSumSquares + SQR(M2PI);\n"
|
<< "\t\treal_t e = 1 / precalcSumSquares + SQR(M2PI);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (xform->m_VariationWeights[" << varIndex << "] / precalcSumSquares * vIn.x / e);\n"
|
<< "\t\tvOut.x = " << weight << " * (" << weight << " / precalcSumSquares * vIn.x / e);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (xform->m_VariationWeights[" << varIndex << "] / precalcSumSquares * vIn.y / e);\n"
|
<< "\t\tvOut.y = " << weight << " * (" << weight << " / precalcSumSquares * vIn.y / e);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -2047,6 +2073,7 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t inZ, otherZ, tempTz, tempPz;\n"
|
<< "\t\treal_t inZ, otherZ, tempTz, tempPz;\n"
|
||||||
<< "\t\tinZ = vIn.z;\n"
|
<< "\t\tinZ = vIn.z;\n"
|
||||||
@ -2098,9 +2125,9 @@ public:
|
|||||||
<< "\t\treal_t d = precalcSumSquares + SQR(tempTz);\n"
|
<< "\t\treal_t d = precalcSumSquares + SQR(tempTz);\n"
|
||||||
<< "\t\treal_t e = 1 / d + SQR(M2PI);\n"
|
<< "\t\treal_t e = 1 / d + SQR(M2PI);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (xform->m_VariationWeights[" << varIndex << "] / d * vIn.x / e);\n"
|
<< "\t\tvOut.x = " << weight << " * (" << weight << " / d * vIn.x / e);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (xform->m_VariationWeights[" << varIndex << "] / d * vIn.y / e);\n"
|
<< "\t\tvOut.y = " << weight << " * (" << weight << " / d * vIn.y / e);\n"
|
||||||
<< "\t\tvOut.z = tempPz + xform->m_VariationWeights[" << varIndex << "] * (xform->m_VariationWeights[" << varIndex << "] / d * tempTz / e);\n"
|
<< "\t\tvOut.z = tempPz + " << weight << " * (" << weight << " / d * tempTz / e);\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -2131,13 +2158,14 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t d = Zeps(precalcSumSquares);\n"
|
<< "\t\treal_t d = Zeps(precalcSumSquares);\n"
|
||||||
<< "\t\treal_t c1 = Zeps(SQR(vIn.x));\n"
|
<< "\t\treal_t c1 = Zeps(SQR(vIn.x));\n"
|
||||||
<< "\t\treal_t c2 = Zeps(SQR(vIn.y));\n"
|
<< "\t\treal_t c2 = Zeps(SQR(vIn.y));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (((real_t)(1.0) / d) * cos(c1) * sin(c2));\n"
|
<< "\t\tvOut.x = " << weight << " * (((real_t)(1.0) / d) * cos(c1) * sin(c2));\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (((real_t)(1.0) / d) * sin(c1) * sin(c2));\n"
|
<< "\t\tvOut.y = " << weight << " * (((real_t)(1.0) / d) * sin(c1) * sin(c2));\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -2202,6 +2230,7 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t a = precalcAtanyx;\n"
|
<< "\t\treal_t a = precalcAtanyx;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
@ -2212,28 +2241,28 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (p <= 1 * precalcSqrtSumSquares)\n"
|
<< "\t\tif (p <= 1 * precalcSqrtSumSquares)\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * precalcSqrtSumSquares;\n"
|
<< "\t\t vOut.x = " << weight << " * precalcSqrtSumSquares;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * p;\n"
|
<< "\t\t vOut.y = " << weight << " * p;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse if (p <= 3 * precalcSqrtSumSquares)\n"
|
<< "\t\telse if (p <= 3 * precalcSqrtSumSquares)\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (2 * precalcSqrtSumSquares - p);\n"
|
<< "\t\t vOut.x = " << weight << " * (2 * precalcSqrtSumSquares - p);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * precalcSqrtSumSquares;\n"
|
<< "\t\t vOut.y = " << weight << " * precalcSqrtSumSquares;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse if (p <= 5 * precalcSqrtSumSquares)\n"
|
<< "\t\telse if (p <= 5 * precalcSqrtSumSquares)\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = -(xform->m_VariationWeights[" << varIndex << "] * precalcSqrtSumSquares);\n"
|
<< "\t\t vOut.x = -(" << weight << " * precalcSqrtSumSquares);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (4 * precalcSqrtSumSquares - p);\n"
|
<< "\t\t vOut.y = " << weight << " * (4 * precalcSqrtSumSquares - p);\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse if (p <= 7 * precalcSqrtSumSquares)\n"
|
<< "\t\telse if (p <= 7 * precalcSqrtSumSquares)\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = -(xform->m_VariationWeights[" << varIndex << "] * (6 * precalcSqrtSumSquares - p));\n"
|
<< "\t\t vOut.x = -(" << weight << " * (6 * precalcSqrtSumSquares - p));\n"
|
||||||
<< "\t\t vOut.y = -(xform->m_VariationWeights[" << varIndex << "] * precalcSqrtSumSquares);\n"
|
<< "\t\t vOut.y = -(" << weight << " * precalcSqrtSumSquares);\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * precalcSqrtSumSquares;\n"
|
<< "\t\t vOut.x = " << weight << " * precalcSqrtSumSquares;\n"
|
||||||
<< "\t\t vOut.y = -(xform->m_VariationWeights[" << varIndex << "] * (8 * precalcSqrtSumSquares - p));\n"
|
<< "\t\t vOut.y = -(" << weight << " * (8 * precalcSqrtSumSquares - p));\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
@ -2283,13 +2312,14 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string size = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string size = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string rand = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string rand = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string invSize = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Precalc.
|
string invSize = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Precalc.
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t dx, dy, r = xform->m_VariationWeights[" << varIndex << "] / Zeps(precalcSumSquares);\n"
|
<< "\t\treal_t dx, dy, r = " << weight << " / Zeps(precalcSumSquares);\n"
|
||||||
<< "\t\tint isXY = LRint(vIn.x * " << invSize << ") + LRint(vIn.y * " << invSize << ");\n"
|
<< "\t\tint isXY = LRint(vIn.x * " << invSize << ") + LRint(vIn.y * " << invSize << ");\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (isXY & 1)\n"
|
<< "\t\tif (isXY & 1)\n"
|
||||||
@ -2303,8 +2333,8 @@ public:
|
|||||||
<< "\t\t dy = " << y << " + " << rand << " * MwcNext01(mwc);\n"
|
<< "\t\t dy = " << y << " + " << rand << " * MwcNext01(mwc);\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (sin(vIn.x) * r + dx);\n"
|
<< "\t\tvOut.x = " << weight << " * (sin(vIn.x) * r + dx);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (sin(vIn.y) * r + dy);\n"
|
<< "\t\tvOut.y = " << weight << " * (sin(vIn.y) * r + dy);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -2371,6 +2401,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string dist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string dist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string xDistort = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string xDistort = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2382,7 +2413,7 @@ public:
|
|||||||
<< "\t\treal_t preX = vIn.x * (" << xDistort << " + 1);\n"
|
<< "\t\treal_t preX = vIn.x * (" << xDistort << " + 1);\n"
|
||||||
<< "\t\treal_t preY = vIn.y * (" << yDistort << " + 1);\n"
|
<< "\t\treal_t preY = vIn.y * (" << yDistort << " + 1);\n"
|
||||||
<< "\t\treal_t temp = atan2(preY, preX) * " << invN << " + MwcNext(mwc) * " << inv2PiN << ";\n"
|
<< "\t\treal_t temp = atan2(preY, preX) * " << invN << " + MwcNext(mwc) * " << inv2PiN << ";\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] * pow(precalcSumSquares, " << cN << ");\n"
|
<< "\t\treal_t r = " << weight << " * pow(precalcSumSquares, " << cN << ");\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = r * cos(temp);\n"
|
<< "\t\tvOut.x = r * cos(temp);\n"
|
||||||
<< "\t\tvOut.y = r * sin(temp);\n"
|
<< "\t\tvOut.y = r * sin(temp);\n"
|
||||||
@ -2455,6 +2486,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string reA = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string reA = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string imA = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string imA = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string reB = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string reB = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2470,9 +2502,9 @@ public:
|
|||||||
<< "\t\treal_t vIm = " << reC << " * vIn.y + " << imC << " * vIn.x + " << imD << ";\n"
|
<< "\t\treal_t vIm = " << reC << " * vIn.y + " << imC << " * vIn.x + " << imD << ";\n"
|
||||||
<< "\t\treal_t vDenom = Zeps(vRe * vRe + vIm * vIm);\n"
|
<< "\t\treal_t vDenom = Zeps(vRe * vRe + vIm * vIm);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (uRe * vRe + uIm * vIm) / vDenom;\n"
|
<< "\t\tvOut.x = " << weight << " * (uRe * vRe + uIm * vIm) / vDenom;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (uIm * vRe - uRe * vIm) / vDenom;\n"
|
<< "\t\tvOut.y = " << weight << " * (uIm * vRe - uRe * vIm) / vDenom;\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * vIn.z;\n"
|
<< "\t\tvOut.z = " << weight << " * vIn.z;\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -2552,6 +2584,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string reA = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string reA = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string imA = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string imA = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string reB = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string reB = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2584,8 +2617,8 @@ public:
|
|||||||
<< "\t\tn = (int)floor(" << power << " * MwcNext01(mwc));\n"
|
<< "\t\tn = (int)floor(" << power << " * MwcNext01(mwc));\n"
|
||||||
<< "\t\talpha = (atan2(y, x) + n * M_2PI) / floor(" << power << ");\n"
|
<< "\t\talpha = (atan2(y, x) + n * M_2PI) / floor(" << power << ");\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * r * cos(alpha);\n"
|
<< "\t\tvOut.x = " << weight << " * r * cos(alpha);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * r * sin(alpha);\n"
|
<< "\t\tvOut.y = " << weight << " * r * sin(alpha);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -2699,6 +2732,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string width = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string width = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string rectX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string rectX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2751,8 +2785,8 @@ public:
|
|||||||
<< "\t\tmy = ry;\n"
|
<< "\t\tmy = ry;\n"
|
||||||
<< "\t\tmz = rz * " << rotxCos << " + rx * " << rotxSin << ";\n"
|
<< "\t\tmz = rz * " << rotxCos << " + rx * " << rotxSin << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * mx;\n"
|
<< "\t\tvOut.x = " << weight << " * mx;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * my;\n"
|
<< "\t\tvOut.y = " << weight << " * my;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -2827,6 +2861,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string min = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string min = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string max = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string max = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2840,8 +2875,8 @@ public:
|
|||||||
<< "\t\treal_t x1 = sin(" << a << " * t + " << d << ");\n"
|
<< "\t\treal_t x1 = sin(" << a << " * t + " << d << ");\n"
|
||||||
<< "\t\treal_t y1 = sin(" << b << " * t);\n"
|
<< "\t\treal_t y1 = sin(" << b << " * t);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (x1 + " << c << " * t + " << e << " * y);\n"
|
<< "\t\tvOut.x = " << weight << " * (x1 + " << c << " * t + " << e << " * y);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (y1 + " << c << " * t + " << e << " * y);\n"
|
<< "\t\tvOut.y = " << weight << " * (y1 + " << c << " * t + " << e << " * y);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -2903,6 +2938,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t cn = cos(" << n << " * vIn.y);\n"
|
<< "\t\treal_t cn = cos(" << n << " * vIn.y);\n"
|
||||||
@ -2911,9 +2947,9 @@ public:
|
|||||||
<< "\t\treal_t sy = sin(vIn.y);\n"
|
<< "\t\treal_t sy = sin(vIn.y);\n"
|
||||||
<< "\t\treal_t cy = cos(vIn.y);\n"
|
<< "\t\treal_t cy = cos(vIn.y);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (cy * (cn * cx));\n"
|
<< "\t\tvOut.x = " << weight << " * (cy * (cn * cx));\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (cy * (cn * sx));\n"
|
<< "\t\tvOut.y = " << weight << " * (cy * (cn * sx));\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * (sy * cn);\n"
|
<< "\t\tvOut.z = " << weight << " * (sy * cn);\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -2970,6 +3006,7 @@ public:
|
|||||||
intmax_t i = 0;
|
intmax_t i = 0;
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string even = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string even = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string odd = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string odd = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string size = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string size = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -3050,6 +3087,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string r = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string r = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string n = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string inv = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string inv = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -3064,9 +3102,9 @@ public:
|
|||||||
<< "\t\treal_t cy = cos(vIn.y);\n"
|
<< "\t\treal_t cy = cos(vIn.y);\n"
|
||||||
<< "\t\treal_t ir = " << invTimesR << " + (" << oneMinusInv << " * (" << r << " * cos(" << n << " * vIn.x)));\n"
|
<< "\t\treal_t ir = " << invTimesR << " + (" << oneMinusInv << " * (" << r << " * cos(" << n << " * vIn.x)));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (cx * (ir + sy));\n"
|
<< "\t\tvOut.x = " << weight << " * (cx * (ir + sy));\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (sx * (ir + sy));\n"
|
<< "\t\tvOut.y = " << weight << " * (sx * (ir + sy));\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * (" << sor << " * cy) + (" << oneMinusSor << " * vIn.y);\n"
|
<< "\t\tvOut.z = " << weight << " * (" << sor << " * cy) + (" << oneMinusSor << " * vIn.y);\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -3152,6 +3190,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string num = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string num = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string ka = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string ka = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -3161,7 +3200,7 @@ public:
|
|||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tint alt;\n"
|
<< "\t\tint alt;\n"
|
||||||
<< "\t\treal_t a = precalcAtanyx;\n"
|
<< "\t\treal_t a = precalcAtanyx;\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] * precalcSqrtSumSquares;\n"
|
<< "\t\treal_t r = " << weight << " * precalcSqrtSumSquares;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (a >= 0)\n"
|
<< "\t\tif (a >= 0)\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
@ -3254,6 +3293,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string dist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string dist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -3265,8 +3305,8 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\treal_t temp = cosh(tau) - cos(sigma);\n"
|
<< "\t\treal_t temp = cosh(tau) - cos(sigma);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * sinh(tau) / temp;\n"
|
<< "\t\tvOut.x = " << weight << " * sinh(tau) / temp;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sin(sigma) / temp;\n"
|
<< "\t\tvOut.y = " << weight << " * sin(sigma) / temp;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -3322,6 +3362,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string in = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string in = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string out = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string out = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -3332,8 +3373,8 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\treal_t temp = cosh(tau) - cos(sigma);\n"
|
<< "\t\treal_t temp = cosh(tau) - cos(sigma);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * sinh(tau) / temp;\n"
|
<< "\t\tvOut.x = " << weight << " * sinh(tau) / temp;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sin(sigma) / temp;\n"
|
<< "\t\tvOut.y = " << weight << " * sin(sigma) / temp;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -3395,6 +3436,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string move = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string move = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -3412,8 +3454,8 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\treal_t temp = cosh(tau) - cos(sigma);\n"
|
<< "\t\treal_t temp = cosh(tau) - cos(sigma);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * sinh(tau) / temp;\n"
|
<< "\t\tvOut.x = " << weight << " * sinh(tau) / temp;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sin(sigma) / temp;\n"
|
<< "\t\tvOut.y = " << weight << " * sin(sigma) / temp;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -3479,6 +3521,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string num = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string num = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string ca = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string ca = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -3497,8 +3540,8 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\treal_t temp = cosh(tau) - cos(sigma);\n"
|
<< "\t\treal_t temp = cosh(tau) - cos(sigma);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * sinh(tau) / temp;\n"
|
<< "\t\tvOut.x = " << weight << " * sinh(tau) / temp;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sin(sigma) / temp;\n"
|
<< "\t\tvOut.y = " << weight << " * sin(sigma) / temp;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -3592,34 +3635,35 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string shift = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string shift = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t x, c2;\n"
|
<< "\t\treal_t x, c2;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (fabs(vIn.y) <= xform->m_VariationWeights[" << varIndex << "])\n"
|
<< "\t\tif (fabs(vIn.y) <= " << weight << ")\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t c2 = sqrt(SQR(xform->m_VariationWeights[" << varIndex << "]) - SQR(vIn.y));\n"
|
<< "\t\t c2 = sqrt(SQR(" << weight << ") - SQR(vIn.y));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t if (fabs(vIn.x) <= c2)\n"
|
<< "\t\t if (fabs(vIn.x) <= c2)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t x = vIn.x + " << shift << " * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\t x = vIn.x + " << shift << " * " << weight << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t if (fabs(x) >= c2)\n"
|
<< "\t\t if (fabs(x) >= c2)\n"
|
||||||
<< "\t\t vOut.x = -(xform->m_VariationWeights[" << varIndex << "] * vIn.x);\n"
|
<< "\t\t vOut.x = -(" << weight << " * vIn.x);\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * x;\n"
|
<< "\t\t vOut.x = " << weight << " * x;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
@ -3671,14 +3715,15 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string ww = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string ww = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\tvOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (precalcSumSquares > " << ww << ")\n"
|
<< "\t\tif (precalcSumSquares > " << ww << ")\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t vOut.y = -(xform->m_VariationWeights[" << varIndex << "] * vIn.y);\n"
|
<< "\t\t vOut.y = -(" << weight << " * vIn.y);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
@ -3729,13 +3774,14 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\tvOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (vIn.x > 0)\n"
|
<< "\t\tif (vIn.x > 0)\n"
|
||||||
<< "\t\t vOut.y = -(xform->m_VariationWeights[" << varIndex << "] * vIn.y);\n"
|
<< "\t\t vOut.y = -(" << weight << " * vIn.y);\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
@ -3801,6 +3847,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string num = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string num = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string ca = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string ca = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -3839,8 +3886,8 @@ public:
|
|||||||
<< "\t\t nu *= -1;\n"
|
<< "\t\t nu *= -1;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * xmax * cos(nu);\n"
|
<< "\t\tvOut.x = " << weight << " * xmax * cos(nu);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sqrt(xmax - 1) * sqrt(xmax + 1) * sin(nu);\n"
|
<< "\t\tvOut.y = " << weight << " * sqrt(xmax - 1) * sqrt(xmax + 1) * sin(nu);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -3932,6 +3979,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string sign = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string sign = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -3963,8 +4011,8 @@ public:
|
|||||||
<< "\t\tnu = nu / " << power << " + M_2PI / " << power << " * floor(MwcNext01(mwc) * " << power << ");\n"
|
<< "\t\tnu = nu / " << power << " + M_2PI / " << power << " * floor(MwcNext01(mwc) * " << power << ");\n"
|
||||||
<< "\t\tmu /= " << power << ";\n"
|
<< "\t\tmu /= " << power << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * cosh(mu) * cos(nu);\n"
|
<< "\t\tvOut.x = " << weight << " * cosh(mu) * cos(nu);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sinh(mu) * sin(nu);\n"
|
<< "\t\tvOut.y = " << weight << " * sinh(mu) * sin(nu);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -4042,6 +4090,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string dist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string dist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -4066,8 +4115,8 @@ public:
|
|||||||
<< "\t\t mu = fmod(mu - " << radius << " - " << dist << " * " << radius << ", 2 * " << radius << ") + " << radius << ";\n"
|
<< "\t\t mu = fmod(mu - " << radius << " - " << dist << " * " << radius << ", 2 * " << radius << ") + " << radius << ";\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * cosh(mu) * cos(nu);\n"
|
<< "\t\tvOut.x = " << weight << " * cosh(mu) * cos(nu);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sinh(mu) * sin(nu);\n"
|
<< "\t\tvOut.y = " << weight << " * sinh(mu) * sin(nu);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -4141,6 +4190,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string move = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string move = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -4170,8 +4220,8 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tnu += " << rotate << ";\n"
|
<< "\t\tnu += " << rotate << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * cosh(mu) * cos(nu);\n"
|
<< "\t\tvOut.x = " << weight << " * cosh(mu) * cos(nu);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sinh(mu) * sin(nu);\n"
|
<< "\t\tvOut.y = " << weight << " * sinh(mu) * sin(nu);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -4236,6 +4286,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string push = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string push = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string dist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string dist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -4257,8 +4308,8 @@ public:
|
|||||||
<< "\t\tmu *= " << dist << ";\n"
|
<< "\t\tmu *= " << dist << ";\n"
|
||||||
<< "\t\tmu += " << push << ";\n"
|
<< "\t\tmu += " << push << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * cosh(mu) * cos(nu);\n"
|
<< "\t\tvOut.x = " << weight << " * cosh(mu) * cos(nu);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sinh(mu) * sin(nu);\n"
|
<< "\t\tvOut.y = " << weight << " * sinh(mu) * sin(nu);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -4325,6 +4376,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t tmp = precalcSumSquares + 1;\n"
|
<< "\t\treal_t tmp = precalcSumSquares + 1;\n"
|
||||||
@ -4341,8 +4393,8 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tnu = fmod(nu + " << rotate << " + MPI, M_2PI) - MPI;\n"
|
<< "\t\tnu = fmod(nu + " << rotate << " + MPI, M_2PI) - MPI;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * xmax * cos(nu);\n"
|
<< "\t\tvOut.x = " << weight << " * xmax * cos(nu);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sqrt(xmax - 1) * sqrt(xmax + 1) * sin(nu);\n"
|
<< "\t\tvOut.y = " << weight << " * sqrt(xmax - 1) * sqrt(xmax + 1) * sin(nu);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -4411,6 +4463,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string scale = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string scale = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string angle = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string angle = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -4436,8 +4489,8 @@ public:
|
|||||||
<< "\t\tif (nu < -MPI)\n"
|
<< "\t\tif (nu < -MPI)\n"
|
||||||
<< "\t\t nu += M_2PI;\n"
|
<< "\t\t nu += M_2PI;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * cosh(mu) * cos(nu);\n"
|
<< "\t\tvOut.x = " << weight << " * cosh(mu) * cos(nu);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sinh(mu) * sin(nu);\n"
|
<< "\t\tvOut.y = " << weight << " * sinh(mu) * sin(nu);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -39,20 +39,21 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string z = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string z = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t t = (real_t)(0.25) * (precalcSumSquares + SQR(vIn.z)) + 1;\n"
|
<< "\t\treal_t t = (real_t)(0.25) * (precalcSumSquares + SQR(vIn.z)) + 1;\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] / t;\n"
|
<< "\t\treal_t r = " << weight << " / t;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = vIn.x * r * " << x << ";\n"
|
<< "\t\tvOut.x = vIn.x * r * " << x << ";\n"
|
||||||
<< "\t\tvOut.y = vIn.y * r * " << y << ";\n"
|
<< "\t\tvOut.y = vIn.y * r * " << y << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (vIn.z >= 0)\n"
|
<< "\t\tif (vIn.z >= 0)\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * (vIn.z + " << z << ");\n"
|
<< "\t\t vOut.z = " << weight << " * (vIn.z + " << z << ");\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * (vIn.z - " << z << ");\n"
|
<< "\t\t vOut.z = " << weight << " * (vIn.z - " << z << ");\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.z += vIn.z * r * " << z << ";\n"
|
<< "\t\tvOut.z += vIn.z * r * " << z << ";\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
@ -142,6 +143,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string sc = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string sc = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string k = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string k = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string dens1 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string dens1 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -193,8 +195,8 @@ public:
|
|||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (x + (m * 2 + 1) * " << sc << ");\n"
|
<< "\t\tvOut.x = " << weight << " * (x + (m * 2 + 1) * " << sc << ");\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (y + (n * 2 + 1) * " << sc << ");\n"
|
<< "\t\tvOut.y = " << weight << " * (y + (n * 2 + 1) * " << sc << ");\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -301,6 +303,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string sc = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string sc = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string dens = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string dens = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -325,8 +328,8 @@ public:
|
|||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\twhile ((CircleRandDiscreteNoise2((int)(m + " << seed << "), n) > " << dens << ") || (u > ((real_t)(0.3) + (real_t)(0.7) * CircleRandDiscreteNoise2(m + 10, n + 3)) * " << sc << "));\n"
|
<< "\t\twhile ((CircleRandDiscreteNoise2((int)(m + " << seed << "), n) > " << dens << ") || (u > ((real_t)(0.3) + (real_t)(0.7) * CircleRandDiscreteNoise2(m + 10, n + 3)) * " << sc << "));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (x + (m * 2 + 1) * " << sc << ");\n"
|
<< "\t\tvOut.x = " << weight << " * (x + (m * 2 + 1) * " << sc << ");\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (y + (n * 2 + 1) * " << sc << ");\n"
|
<< "\t\tvOut.y = " << weight << " * (y + (n * 2 + 1) * " << sc << ");\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -427,6 +430,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string sc = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string sc = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string dens = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string dens = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -454,8 +458,8 @@ public:
|
|||||||
<< "\t\t CircleTrans1CircleR(" << x << ", " << y << ", " << sc << ", " << seed << ", " << dens << ", &ux, &uy, mwc);\n"
|
<< "\t\t CircleTrans1CircleR(" << x << ", " << y << ", " << sc << ", " << seed << ", " << dens << ", &ux, &uy, mwc);\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * ux;\n"
|
<< "\t\tvOut.x = " << weight << " * ux;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * uy;\n"
|
<< "\t\tvOut.y = " << weight << " * uy;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -677,6 +681,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string xpand = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string xpand = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string style = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string style = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string fill = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string fill = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -685,7 +690,7 @@ public:
|
|||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tint useNode = MwcNext(mwc) & 7;\n"
|
<< "\t\tint useNode = MwcNext(mwc) & 7;\n"
|
||||||
<< "\t\treal_t exnze, wynze, znxy;\n"
|
<< "\t\treal_t exnze, wynze, znxy;\n"
|
||||||
<< "\t\treal_t lattd = xform->m_VariationWeights[" << varIndex << "] * (real_t)(0.5);\n"
|
<< "\t\treal_t lattd = " << weight << " * (real_t)(0.5);\n"
|
||||||
<< "\t\treal_t px, py, pz;\n"
|
<< "\t\treal_t px, py, pz;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\texnze = 1 - (" << smoothStyle << " * (1 - (cos(atan2(vIn.x, vIn.z)))));\n"
|
<< "\t\texnze = 1 - (" << smoothStyle << " * (1 - (cos(atan2(vIn.x, vIn.z)))));\n"
|
||||||
@ -912,12 +917,13 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string xpand = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string xpand = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string style = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string style = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string fill = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string fill = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tint useNode = MwcNext(mwc) & 7;\n"
|
<< "\t\tint useNode = MwcNext(mwc) & 7;\n"
|
||||||
<< "\t\treal_t exnze, wynze, znxy, px, py, pz, lattd = xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\treal_t exnze, wynze, znxy, px, py, pz, lattd = " << weight << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (" << style << " == 2)\n"
|
<< "\t\tif (" << style << " == 2)\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
@ -1048,11 +1054,12 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t expx = exp(vIn.x) * (real_t)(0.5);\n"
|
<< "\t\treal_t expx = exp(vIn.x) * (real_t)(0.5);\n"
|
||||||
<< "\t\treal_t expnx = (real_t)(0.25) / expx;\n"
|
<< "\t\treal_t expnx = (real_t)(0.25) / expx;\n"
|
||||||
<< "\t\treal_t boot = vIn.z == 0 ? precalcAtanyx : vIn.z;\n"
|
<< "\t\treal_t boot = vIn.z == 0 ? precalcAtanyx : vIn.z;\n"
|
||||||
<< "\t\treal_t tmp = xform->m_VariationWeights[" << varIndex << "] / Zeps(expx + expnx - (cos(vIn.y) * cos(boot)));\n"
|
<< "\t\treal_t tmp = " << weight << " / Zeps(expx + expnx - (cos(vIn.y) * cos(boot)));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = (expx - expnx) * tmp;\n"
|
<< "\t\tvOut.x = (expx - expnx) * tmp;\n"
|
||||||
<< "\t\tvOut.y = sin(vIn.y) * tmp;\n"
|
<< "\t\tvOut.y = sin(vIn.y) * tmp;\n"
|
||||||
@ -1108,6 +1115,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string xpow = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string xpow = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string ypow = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string ypow = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string zpow = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string zpow = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1127,9 +1135,9 @@ public:
|
|||||||
<< "\t\treal_t y = pow(fabs(sucv), " << ypow << ") + (sucv * " << ypow << ") + ((real_t)(0.25) * atOmegaY);\n"
|
<< "\t\treal_t y = pow(fabs(sucv), " << ypow << ") + (sucv * " << ypow << ") + ((real_t)(0.25) * atOmegaY);\n"
|
||||||
<< "\t\treal_t z = pow(fabs(sv), " << zpow << ") + sv * " << zpow << ";\n"
|
<< "\t\treal_t z = pow(fabs(sv), " << zpow << ") + sv * " << zpow << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * x;\n"
|
<< "\t\tvOut.x = " << weight << " * x;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * y;\n"
|
<< "\t\tvOut.y = " << weight << " * y;\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * z;\n"
|
<< "\t\tvOut.z = " << weight << " * z;\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -1184,6 +1192,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string divisor = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string divisor = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string invPower = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string invPower = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1196,7 +1205,7 @@ public:
|
|||||||
<< "\t\treal_t cosa = cos(temp);\n"
|
<< "\t\treal_t cosa = cos(temp);\n"
|
||||||
<< "\t\treal_t z = vIn.z * " << absInvPower << ";\n"
|
<< "\t\treal_t z = vIn.z * " << absInvPower << ";\n"
|
||||||
<< "\t\treal_t r2d = precalcSumSquares;\n"
|
<< "\t\treal_t r2d = precalcSumSquares;\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] * pow(r2d + SQR(z), " << halfInvPower << ");\n"
|
<< "\t\treal_t r = " << weight << " * pow(r2d + SQR(z), " << halfInvPower << ");\n"
|
||||||
<< "\t\treal_t rsss = r * precalcSqrtSumSquares;\n"
|
<< "\t\treal_t rsss = r * precalcSqrtSumSquares;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = rsss * cosa;\n"
|
<< "\t\tvOut.x = rsss * cosa;\n"
|
||||||
@ -1264,13 +1273,14 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string delta = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string delta = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string phi = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string phi = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string ux = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string ux = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string uy = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string uy = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string uz = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string uz = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t r = MwcNext01(mwc) * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\treal_t r = MwcNext01(mwc) * " << weight << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = " << ux << " * r;\n"
|
<< "\t\tvOut.x = " << ux << " * r;\n"
|
||||||
<< "\t\tvOut.y = " << uy << " * r;\n"
|
<< "\t\tvOut.y = " << uy << " * r;\n"
|
||||||
@ -1374,6 +1384,7 @@ public:
|
|||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
|
string weight = WeightDefineString();
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
string sides = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string sides = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string star = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string star = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1409,22 +1420,22 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (r2 > 0 && (r2 < " << w2 << "))\n"
|
<< "\t\tif (r2 > 0 && (r2 < " << w2 << "))\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t real_t r = xform->m_VariationWeights[" << varIndex << "] * sqrt(fabs(" << w2 << " / r2 - 1));\n"
|
<< "\t\t real_t r = " << weight << " * sqrt(fabs(" << w2 << " / r2 - 1));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t vOut.x = r * vIn.x;\n"
|
<< "\t\t vOut.x = r * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = r * vIn.y;\n"
|
<< "\t\t vOut.y = r * vIn.y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse if (r2 < 0)\n"
|
<< "\t\telse if (r2 < 0)\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t real_t r = xform->m_VariationWeights[" << varIndex << "] / sqrt(fabs(" << w2 << " / r2) - 1);\n"
|
<< "\t\t real_t r = " << weight << " / sqrt(fabs(" << w2 << " / r2) - 1);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t vOut.x = r * vIn.x;\n"
|
<< "\t\t vOut.x = r * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = r * vIn.y;\n"
|
<< "\t\t vOut.y = r * vIn.y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
@ -1517,6 +1528,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string w2 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string w2 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t r2;\n"
|
<< "\t\treal_t r2;\n"
|
||||||
@ -1528,15 +1540,15 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (r2 < " << w2 << ")\n"
|
<< "\t\tif (r2 < " << w2 << ")\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t real_t r = xform->m_VariationWeights[" << varIndex << "] * sqrt(" << w2 << " / r2 - 1);\n"
|
<< "\t\t real_t r = " << weight << " * sqrt(" << w2 << " / r2 - 1);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t vOut.x = r * vIn.x;\n"
|
<< "\t\t vOut.x = r * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = r * vIn.y;\n"
|
<< "\t\t vOut.y = r * vIn.y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
@ -1602,6 +1614,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string vv = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string vv = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t kikr = precalcAtanyx;\n"
|
<< "\t\treal_t kikr = precalcAtanyx;\n"
|
||||||
@ -1610,7 +1623,7 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (r2 < " << vv << ")\n"
|
<< "\t\tif (r2 < " << vv << ")\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t real_t r = xform->m_VariationWeights[" << varIndex << "] * sqrt(" << vv << " / r2 - 1);\n"
|
<< "\t\t real_t r = " << weight << " * sqrt(" << vv << " / r2 - 1);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t vOut.x = r * vIn.x;\n"
|
<< "\t\t vOut.x = r * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = r * vIn.y;\n"
|
<< "\t\t vOut.y = r * vIn.y;\n"
|
||||||
@ -1618,9 +1631,9 @@ public:
|
|||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * efTez * (real_t)(0.5);\n"
|
<< "\t\t vOut.z = " << weight << " * efTez * (real_t)(0.5);\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1674,18 +1687,19 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string twist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string twist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string tilt = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string tilt = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t t = precalcSumSquares * (real_t)(0.25) + 1;\n"
|
<< "\t\treal_t t = precalcSumSquares * (real_t)(0.25) + 1;\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] / t;\n"
|
<< "\t\treal_t r = " << weight << " / t;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = vIn.x * r * " << x << ";\n"
|
<< "\t\tvOut.x = vIn.x * r * " << x << ";\n"
|
||||||
<< "\t\tvOut.y = vIn.y * r * " << y << ";\n"
|
<< "\t\tvOut.y = vIn.y * r * " << y << ";\n"
|
||||||
<< "\t\tvOut.x += (1 - (" << twist << " * SQR(vIn.x)) + vIn.y) * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\tvOut.x += (1 - (" << twist << " * SQR(vIn.x)) + vIn.y) * " << weight << ";\n"
|
||||||
<< "\t\tvOut.y += " << tilt << " * vIn.x * xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\tvOut.y += " << tilt << " * vIn.x * " << weight << ";\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1740,14 +1754,15 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string freq = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string freq = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string scale = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string scale = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t avgxy = (vIn.x + vIn.y) * (real_t)(0.5);\n"
|
<< "\t\treal_t avgxy = (vIn.x + vIn.y) * (real_t)(0.5);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x + " << scale << " * sin(vIn.y * " << freq << "));\n"
|
<< "\t\tvOut.x = " << weight << " * (vIn.x + " << scale << " * sin(vIn.y * " << freq << "));\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y + " << scale << " * sin(vIn.x * " << freq << "));\n"
|
<< "\t\tvOut.y = " << weight << " * (vIn.y + " << scale << " * sin(vIn.x * " << freq << "));\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * (vIn.z + " << scale << " * sin(avgxy * " << freq << "));\n"
|
<< "\t\tvOut.z = " << weight << " * (vIn.z + " << scale << " * sin(avgxy * " << freq << "));\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -1796,17 +1811,18 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string slices = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string slices = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string rotation = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string rotation = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string thickness = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string thickness = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tint sl = (int)(MwcNext01(mwc) * " << slices << " + (real_t)(0.5));\n"
|
<< "\t\tint sl = (int)(MwcNext01(mwc) * " << slices << " + (real_t)(0.5));\n"
|
||||||
<< "\t\treal_t a = " << rotation << " + M_2PI * (sl + MwcNext01(mwc) * " << thickness << ") / " << slices << ";\n"
|
<< "\t\treal_t a = " << rotation << " + M_2PI * (sl + MwcNext01(mwc) * " << thickness << ") / " << slices << ";\n"
|
||||||
<< "\t\treal_t r = xform->m_VariationWeights[" << varIndex << "] * MwcNext01(mwc);\n"
|
<< "\t\treal_t r = " << weight << " * MwcNext01(mwc);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = r * cos(a);\n"
|
<< "\t\tvOut.x = r * cos(a);\n"
|
||||||
<< "\t\tvOut.y = r * sin(a);\n"
|
<< "\t\tvOut.y = r * sin(a);\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * sin(r);\n"
|
<< "\t\tvOut.z = " << weight << " * sin(r);\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -1872,6 +1888,7 @@ public:
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string z = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string z = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1968,10 +1985,11 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * sin(vIn.x);\n"
|
<< "\t\tvOut.x = " << weight << " * sin(vIn.x);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * sin(vIn.y);\n"
|
<< "\t\tvOut.y = " << weight << " * sin(vIn.y);\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * (atan2(SQR(vIn.x), SQR(vIn.y)) * cos(vIn.z));\n"
|
<< "\t\tvOut.z = " << weight << " * (atan2(SQR(vIn.x), SQR(vIn.y)) * cos(vIn.z));\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -2007,6 +2025,7 @@ public:
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string invWeight = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string invWeight = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t t = precalcSumSquares + SQR(vIn.z);\n"
|
<< "\t\treal_t t = precalcSumSquares + SQR(vIn.z);\n"
|
||||||
@ -2073,6 +2092,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string xdist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string xdist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string xwidth = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string xwidth = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string ydist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string ydist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2089,7 +2109,7 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = " << xw << " * ((xrng - (int)xrng) * " << xwidth << " + (int)xrng + ((real_t)(0.5) - xpos) * " << onemx << ");\n"
|
<< "\t\tvOut.x = " << xw << " * ((xrng - (int)xrng) * " << xwidth << " + (int)xrng + ((real_t)(0.5) - xpos) * " << onemx << ");\n"
|
||||||
<< "\t\tvOut.y = " << yw << " * ((yrng - (int)yrng) * " << ywidth << " + (int)yrng + ((real_t)(0.5) - ypos) * " << onemy << ");\n"
|
<< "\t\tvOut.y = " << yw << " * ((yrng - (int)yrng) * " << ywidth << " + (int)yrng + ((real_t)(0.5) - ypos) * " << onemy << ");\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * vIn.z;\n"
|
<< "\t\tvOut.z = " << weight << " * vIn.z;\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -2198,12 +2218,13 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string px = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string px = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string py = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string py = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t b = xform->m_VariationWeights[" << varIndex << "] / (precalcSumSquares * (real_t)(0.25) + 1);\n"
|
<< "\t\treal_t b = " << weight << " / (precalcSumSquares * (real_t)(0.25) + 1);\n"
|
||||||
<< "\t\treal_t roundX = rint(vIn.x);\n"
|
<< "\t\treal_t roundX = rint(vIn.x);\n"
|
||||||
<< "\t\treal_t roundY = rint(vIn.y);\n"
|
<< "\t\treal_t roundY = rint(vIn.y);\n"
|
||||||
<< "\t\treal_t offsetX = vIn.x - roundX;\n"
|
<< "\t\treal_t offsetX = vIn.x - roundX;\n"
|
||||||
@ -2214,8 +2235,8 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (MwcNext01(mwc) >= (real_t)(0.75))\n"
|
<< "\t\tif (MwcNext01(mwc) >= (real_t)(0.75))\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x += xform->m_VariationWeights[" << varIndex << "] * (offsetX * (real_t)(0.5) + roundX);\n"
|
<< "\t\t vOut.x += " << weight << " * (offsetX * (real_t)(0.5) + roundX);\n"
|
||||||
<< "\t\t vOut.y += xform->m_VariationWeights[" << varIndex << "] * (offsetY * (real_t)(0.5) + roundY);\n"
|
<< "\t\t vOut.y += " << weight << " * (offsetY * (real_t)(0.5) + roundY);\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
@ -2223,26 +2244,26 @@ public:
|
|||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t if (offsetX >= 0)\n"
|
<< "\t\t if (offsetX >= 0)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x += xform->m_VariationWeights[" << varIndex << "] * (offsetX * (real_t)(0.5) + roundX + " << x << ");\n"
|
<< "\t\t vOut.x += " << weight << " * (offsetX * (real_t)(0.5) + roundX + " << x << ");\n"
|
||||||
<< "\t\t vOut.y += xform->m_VariationWeights[" << varIndex << "] * (offsetY * (real_t)(0.5) + roundY + " << y << " * offsetY / Zeps(offsetX));\n"
|
<< "\t\t vOut.y += " << weight << " * (offsetY * (real_t)(0.5) + roundY + " << y << " * offsetY / Zeps(offsetX));\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x += xform->m_VariationWeights[" << varIndex << "] * (offsetX * (real_t)(0.5) + roundX - " << y << ");\n"
|
<< "\t\t vOut.x += " << weight << " * (offsetX * (real_t)(0.5) + roundX - " << y << ");\n"
|
||||||
<< "\t\t vOut.y += xform->m_VariationWeights[" << varIndex << "] * (offsetY * (real_t)(0.5) + roundY - " << y << " * offsetY / Zeps(offsetX));\n"
|
<< "\t\t vOut.y += " << weight << " * (offsetY * (real_t)(0.5) + roundY - " << y << " * offsetY / Zeps(offsetX));\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t if (offsetY >= 0)\n"
|
<< "\t\t if (offsetY >= 0)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.y += xform->m_VariationWeights[" << varIndex << "] * (offsetY * (real_t)(0.5) + roundY + " << y << ");\n"
|
<< "\t\t vOut.y += " << weight << " * (offsetY * (real_t)(0.5) + roundY + " << y << ");\n"
|
||||||
<< "\t\t vOut.x += xform->m_VariationWeights[" << varIndex << "] * (offsetX * (real_t)(0.5) + roundX + offsetX / Zeps(offsetY) * " << y << ");\n"
|
<< "\t\t vOut.x += " << weight << " * (offsetX * (real_t)(0.5) + roundX + offsetX / Zeps(offsetY) * " << y << ");\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.y += xform->m_VariationWeights[" << varIndex << "] * (offsetY * (real_t)(0.5) + roundY - " << y << ");\n"
|
<< "\t\t vOut.y += " << weight << " * (offsetY * (real_t)(0.5) + roundY - " << y << ");\n"
|
||||||
<< "\t\t vOut.x += xform->m_VariationWeights[" << varIndex << "] * (offsetX * (real_t)(0.5) + roundX - offsetX / Zeps(offsetY) * " << x << ");\n"
|
<< "\t\t vOut.x += " << weight << " * (offsetX * (real_t)(0.5) + roundX - offsetX / Zeps(offsetY) * " << x << ");\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
@ -2305,6 +2326,7 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t a = MPI / (precalcSqrtSumSquares + 1);\n"
|
<< "\t\treal_t a = MPI / (precalcSqrtSumSquares + 1);\n"
|
||||||
<< "\t\treal_t r = precalcAtanyx * M1PI;\n"
|
<< "\t\treal_t r = precalcAtanyx * M1PI;\n"
|
||||||
@ -2312,8 +2334,8 @@ public:
|
|||||||
<< "\t\tif (r > 0)\n"
|
<< "\t\tif (r > 0)\n"
|
||||||
<< "\t\t a = MPI - a;\n"
|
<< "\t\t a = MPI - a;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * r * cos(a);\n"
|
<< "\t\tvOut.x = " << weight << " * r * cos(a);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * r * sin(a);\n"
|
<< "\t\tvOut.y = " << weight << " * r * sin(a);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -2383,6 +2405,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string scatter = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string scatter = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string minDist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string minDist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string mulX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string mulX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2409,9 +2432,9 @@ public:
|
|||||||
<< "\t\tswitch ((int)" << type << ")\n"
|
<< "\t\tswitch ((int)" << type << ")\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t case 0:\n"
|
<< "\t\t case 0:\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x + " << mulX << " * ax * rs);\n"
|
<< "\t\t vOut.x = " << weight << " * (vIn.x + " << mulX << " * ax * rs);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y + " << mulY << " * ay * rs);\n"
|
<< "\t\t vOut.y = " << weight << " * (vIn.y + " << mulY << " * ay * rs);\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * (vIn.z + " << mulZ << " * az * rs);\n"
|
<< "\t\t vOut.z = " << weight << " * (vIn.z + " << mulZ << " * az * rs);\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\t\t case 1:\n"
|
<< "\t\t case 1:\n"
|
||||||
<< "\t\t sigma = asin(r == 0 ? 0 : vIn.z / r) + " << mulZ << " * az * rs;\n"
|
<< "\t\t sigma = asin(r == 0 ? 0 : vIn.z / r) + " << mulZ << " * az * rs;\n"
|
||||||
@ -2423,16 +2446,16 @@ public:
|
|||||||
<< "\t\t phis = sin(phi);\n"
|
<< "\t\t phis = sin(phi);\n"
|
||||||
<< "\t\t phic = cos(phi);\n"
|
<< "\t\t phic = cos(phi);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (rad * sigmac * phic);\n"
|
<< "\t\t vOut.x = " << weight << " * (rad * sigmac * phic);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (rad * sigmac * phis);\n"
|
<< "\t\t vOut.y = " << weight << " * (rad * sigmac * phis);\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * (rad * sigmas);\n"
|
<< "\t\t vOut.z = " << weight << " * (rad * sigmas);\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\t\t case 2:\n"
|
<< "\t\t case 2:\n"
|
||||||
<< "\t\t scale = clamp(rs, (real_t)(0.0), (real_t)(0.9)) + (real_t)(0.1);\n"
|
<< "\t\t scale = clamp(rs, (real_t)(0.0), (real_t)(0.9)) + (real_t)(0.1);\n"
|
||||||
<< "\t\t denom = 1 / scale;\n"
|
<< "\t\t denom = 1 / scale;\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * Lerp(vIn.x, floor(vIn.x * denom) + scale * ax, " << mulX << " * rs) + " << mulX << " * pow(ax, " << boxPow << ") * rs * denom;\n"
|
<< "\t\t vOut.x = " << weight << " * Lerp(vIn.x, floor(vIn.x * denom) + scale * ax, " << mulX << " * rs) + " << mulX << " * pow(ax, " << boxPow << ") * rs * denom;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * Lerp(vIn.y, floor(vIn.y * denom) + scale * ay, " << mulY << " * rs) + " << mulY << " * pow(ay, " << boxPow << ") * rs * denom;\n"
|
<< "\t\t vOut.y = " << weight << " * Lerp(vIn.y, floor(vIn.y * denom) + scale * ay, " << mulY << " * rs) + " << mulY << " * pow(ay, " << boxPow << ") * rs * denom;\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * Lerp(vIn.z, floor(vIn.z * denom) + scale * az, " << mulZ << " * rs) + " << mulZ << " * pow(az, " << boxPow << ") * rs * denom;\n"
|
<< "\t\t vOut.z = " << weight << " * Lerp(vIn.z, floor(vIn.z * denom) + scale * az, " << mulZ << " * rs) + " << mulZ << " * pow(az, " << boxPow << ") * rs * denom;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
@ -2565,6 +2588,7 @@ public:
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string scatter = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string scatter = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string minDist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string minDist = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string mulX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string mulX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2778,6 +2802,7 @@ public:
|
|||||||
int i = 0;
|
int i = 0;
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string blurType = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string blurType = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string blurShape = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string blurShape = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string blurStrength = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string blurStrength = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2970,6 +2995,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string width = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string width = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -3074,14 +3100,14 @@ public:
|
|||||||
<< "\t\t real_t inx = (beta - " << radius << " + (alpha - " << radius << ") * " << cosC << ") / " << sinC << ";\n"
|
<< "\t\t real_t inx = (beta - " << radius << " + (alpha - " << radius << ") * " << cosC << ") / " << sinC << ";\n"
|
||||||
<< "\t\t real_t iny = alpha - " << radius << ";\n"
|
<< "\t\t real_t iny = alpha - " << radius << ";\n"
|
||||||
<< "\t\t real_t angle = (atan2(iny, inx) + M_2PI * MwcNextRange(mwc, (int)" << absN << ")) / " << power << ";\n"
|
<< "\t\t real_t angle = (atan2(iny, inx) + M_2PI * MwcNextRange(mwc, (int)" << absN << ")) / " << power << ";\n"
|
||||||
<< "\t\t real_t r = xform->m_VariationWeights[" << varIndex << "] * pow(SQR(inx) + SQR(iny), " << cn << ");\n"
|
<< "\t\t real_t r = " << weight << " * pow(SQR(inx) + SQR(iny), " << cn << ");\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t x = r * cos(angle);\n"
|
<< "\t\t x = r * cos(angle);\n"
|
||||||
<< "\t\t y = r * sin(angle);\n"
|
<< "\t\t y = r * sin(angle);\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * x;\n"
|
<< "\t\tvOut.x = " << weight << " * x;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * y;\n"
|
<< "\t\tvOut.y = " << weight << " * y;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -3551,6 +3577,7 @@ public:
|
|||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber();
|
ss2 << "_" << XformIndexInEmber();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string index = ss2.str() + "]";
|
string index = ss2.str() + "]";
|
||||||
string stateIndex = ss2.str();
|
string stateIndex = ss2.str();
|
||||||
string majp = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string majp = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -3580,7 +3607,7 @@ public:
|
|||||||
<< "\t\tint posNeg = 1;\n"
|
<< "\t\tint posNeg = 1;\n"
|
||||||
<< "\t\tint loc;\n"
|
<< "\t\tint loc;\n"
|
||||||
<< "\t\treal_t tempx, tempy;\n"
|
<< "\t\treal_t tempx, tempy;\n"
|
||||||
<< "\t\treal_t lrmaj = xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\treal_t lrmaj = " << weight << ";\n"
|
||||||
<< "\t\treal_t boost = 1;\n"
|
<< "\t\treal_t boost = 1;\n"
|
||||||
<< "\t\treal_t sumX, sumY;\n\n";
|
<< "\t\treal_t sumX, sumY;\n\n";
|
||||||
|
|
||||||
@ -3881,6 +3908,7 @@ public:
|
|||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber();
|
ss2 << "_" << XformIndexInEmber();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string index = ss2.str() + "]";
|
string index = ss2.str() + "]";
|
||||||
string stateIndex = ss2.str();
|
string stateIndex = ss2.str();
|
||||||
string majp = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string majp = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -3907,7 +3935,7 @@ public:
|
|||||||
<< "\t\t " << rswtch << " = trunc(MwcNext01(mwc) * 3.0);\n"
|
<< "\t\t " << rswtch << " = trunc(MwcNext01(mwc) * 3.0);\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\treal_t lrmaj = xform->m_VariationWeights[" << varIndex << "];\n"
|
<< "\t\treal_t lrmaj = " << weight << ";\n"
|
||||||
<< "\t\treal_t smooth = 1;\n"
|
<< "\t\treal_t smooth = 1;\n"
|
||||||
<< "\t\treal_t smRotxFP = 0;\n"
|
<< "\t\treal_t smRotxFP = 0;\n"
|
||||||
<< "\t\treal_t smRotyFP = 0;\n"
|
<< "\t\treal_t smRotyFP = 0;\n"
|
||||||
@ -4168,6 +4196,7 @@ public:
|
|||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber();
|
ss2 << "_" << XformIndexInEmber();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string index = ss2.str() + "]";
|
string index = ss2.str() + "]";
|
||||||
string stateIndex = ss2.str();
|
string stateIndex = ss2.str();
|
||||||
string scalex = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string scalex = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -4202,20 +4231,20 @@ public:
|
|||||||
if (m_VarType == eVariationType::VARTYPE_REG)
|
if (m_VarType == eVariationType::VARTYPE_REG)
|
||||||
{
|
{
|
||||||
ss
|
ss
|
||||||
<< "\t\tvOut.x = c != 0 ? outPoint->m_X + i.x * xform->m_VariationWeights[" << varIndex << "] : " << dropoff << ";\n"
|
<< "\t\tvOut.x = c != 0 ? outPoint->m_X + i.x * " << weight << " : " << dropoff << ";\n"
|
||||||
<< "\t\tvOut.y = c != 0 ? outPoint->m_Y + i.y * xform->m_VariationWeights[" << varIndex << "] : " << dropoff << ";\n"
|
<< "\t\tvOut.y = c != 0 ? outPoint->m_Y + i.y * " << weight << " : " << dropoff << ";\n"
|
||||||
<< "\t\toutPoint->m_X = 0;\n"
|
<< "\t\toutPoint->m_X = 0;\n"
|
||||||
<< "\t\toutPoint->m_Y = 0;\n";
|
<< "\t\toutPoint->m_Y = 0;\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ss
|
ss
|
||||||
<< "\t\tvOut.x = c != 0 ? i.x * xform->m_VariationWeights[" << varIndex << "] : " << dropoff << ";\n"
|
<< "\t\tvOut.x = c != 0 ? i.x * " << weight << " : " << dropoff << ";\n"
|
||||||
<< "\t\tvOut.y = c != 0 ? i.y * xform->m_VariationWeights[" << varIndex << "] : " << dropoff << ";\n";
|
<< "\t\tvOut.y = c != 0 ? i.y * " << weight << " : " << dropoff << ";\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
ss
|
ss
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * vIn.z;\n"
|
<< "\t\tvOut.z = " << weight << " * vIn.z;\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
|
@ -143,6 +143,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string cellsize = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string cellsize = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string rotate = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -237,8 +238,8 @@ public:
|
|||||||
<< "\t\tVx += P[0].x;\n"
|
<< "\t\tVx += P[0].x;\n"
|
||||||
<< "\t\tVy += P[0].y;\n"
|
<< "\t\tVy += P[0].y;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * Vx;\n"
|
<< "\t\tvOut.x = " << weight << " * Vx;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * Vy;\n"
|
<< "\t\tvOut.y = " << weight << " * Vy;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -381,6 +382,7 @@ public:
|
|||||||
intmax_t i = 0;
|
intmax_t i = 0;
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string numEdges = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string numEdges = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string numStripes = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string numStripes = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string ratioStripes = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string ratioStripes = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1201,6 +1203,7 @@ public:
|
|||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber();
|
ss2 << "_" << XformIndexInEmber();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string index = ss2.str() + "]";
|
string index = ss2.str() + "]";
|
||||||
string stateIndex = ss2.str();
|
string stateIndex = ss2.str();
|
||||||
string polarweight = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string polarweight = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1246,8 +1249,8 @@ public:
|
|||||||
<< "\t\t real_t rd = log(Sqr(r / " << tempRad << "));\n"
|
<< "\t\t real_t rd = log(Sqr(r / " << tempRad << "));\n"
|
||||||
<< "\t\t real_t phi = atan2(y, x);\n"
|
<< "\t\t real_t phi = atan2(y, x);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t tempOut.x = xform->m_VariationWeights[" << varIndex << "] * Lerp(x, phi, rd * " << polarweight << ");\n"
|
<< "\t\t tempOut.x = " << weight << " * Lerp(x, phi, rd * " << polarweight << ");\n"
|
||||||
<< "\t\t tempOut.y = xform->m_VariationWeights[" << varIndex << "] * Lerp(y, r, rd * " << polarweight << ");\n"
|
<< "\t\t tempOut.y = " << weight << " * Lerp(y, r, rd * " << polarweight << ");\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse if (HitsSquareAroundOrigin(" << st << ", &xy))\n"
|
<< "\t\telse if (HitsSquareAroundOrigin(" << st << ", &xy))\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
@ -1258,8 +1261,8 @@ public:
|
|||||||
<< "\t\t HitsTriangle(&L, &D, &E, &xy, &u, &v) ||\n"
|
<< "\t\t HitsTriangle(&L, &D, &E, &xy, &u, &v) ||\n"
|
||||||
<< "\t\t HitsTriangle(&K, &F, &G, &xy, &u, &v))\n"
|
<< "\t\t HitsTriangle(&K, &F, &G, &xy, &u, &v))\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t tempOut.x = xform->m_VariationWeights[" << varIndex << "] * x;\n"
|
<< "\t\t tempOut.x = " << weight << " * x;\n"
|
||||||
<< "\t\t tempOut.y = xform->m_VariationWeights[" << varIndex << "] * y;\n"
|
<< "\t\t tempOut.y = " << weight << " * y;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t clear = true;\n"
|
<< "\t\t clear = true;\n"
|
||||||
@ -1286,9 +1289,9 @@ public:
|
|||||||
ss
|
ss
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = tempOut.x + (xform->m_VariationWeights[" << varIndex << "] * x);\n"
|
<< "\t\tvOut.x = tempOut.x + (" << weight << " * x);\n"
|
||||||
<< "\t\tvOut.y = tempOut.y + (xform->m_VariationWeights[" << varIndex << "] * y);\n"
|
<< "\t\tvOut.y = tempOut.y + (" << weight << " * y);\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * z;\n"
|
<< "\t\tvOut.z = " << weight << " * z;\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -1559,6 +1562,7 @@ public:
|
|||||||
intmax_t i = 0;
|
intmax_t i = 0;
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string top = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string top = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string bottom = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string bottom = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string left = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string left = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2004,6 +2008,7 @@ public:
|
|||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber();
|
ss2 << "_" << XformIndexInEmber();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string index = ss2.str() + "]";
|
string index = ss2.str() + "]";
|
||||||
string numberStripes = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string numberStripes = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string ratioStripes = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string ratioStripes = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2193,9 +2198,9 @@ public:
|
|||||||
"\t\t }\n"
|
"\t\t }\n"
|
||||||
"\t\t}\n"
|
"\t\t}\n"
|
||||||
"\t\t\n"
|
"\t\t\n"
|
||||||
"\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * x;\n"
|
"\t\tvOut.x = " << weight << " * x;\n"
|
||||||
"\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * y;\n"
|
"\t\tvOut.y = " << weight << " * y;\n"
|
||||||
"\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * z;\n"
|
"\t\tvOut.z = " << weight << " * z;\n"
|
||||||
"\t}\n";
|
"\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -2756,6 +2761,7 @@ public:
|
|||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber();
|
ss2 << "_" << XformIndexInEmber();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string index = ss2.str() + "]";
|
string index = ss2.str() + "]";
|
||||||
string synthA = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string synthA = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string synthMode = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string synthMode = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -2843,8 +2849,8 @@ public:
|
|||||||
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
||||||
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t s = sincos(theta, &c);\n"
|
<< "\t\t s = sincos(theta, &c);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * c;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * c;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_BUBBLE:\n"
|
<< "\t\tcase MODE_BUBBLE:\n"
|
||||||
@ -2855,8 +2861,8 @@ public:
|
|||||||
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
||||||
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t s = sincos(theta, &c);\n"
|
<< "\t\t s = sincos(theta, &c);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * c;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * c;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_BLUR_LEGACY:\n"
|
<< "\t\tcase MODE_BLUR_LEGACY:\n"
|
||||||
@ -2866,7 +2872,7 @@ public:
|
|||||||
<< "\t\t Vy = radius * cos(theta);\n"
|
<< "\t\t Vy = radius * cos(theta);\n"
|
||||||
<< "\t\t radius = pow(Zeps(radius * radius), " << synthPower << " / 2);\n"
|
<< "\t\t radius = pow(Zeps(radius * radius), " << synthPower << " / 2);\n"
|
||||||
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
||||||
<< "\t\t radius = xform->m_VariationWeights[" << varIndex << "] * Interpolate(radius, thetaFactor, synthSmooth);\n"
|
<< "\t\t radius = " << weight << " * Interpolate(radius, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t vOut.x = Vx * radius;\n"
|
<< "\t\t vOut.x = Vx * radius;\n"
|
||||||
<< "\t\t vOut.y = Vy * radius;\n"
|
<< "\t\t vOut.y = Vy * radius;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
@ -2878,8 +2884,8 @@ public:
|
|||||||
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
||||||
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t s = sincos(theta, &c);\n"
|
<< "\t\t s = sincos(theta, &c);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * c;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * c;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_BLUR_ZIGZAG:\n"
|
<< "\t\tcase MODE_BLUR_ZIGZAG:\n"
|
||||||
@ -2887,8 +2893,8 @@ public:
|
|||||||
<< "\t\t theta = 2 * asin((MwcNext01(mwc) - 0.5) * 2);\n"
|
<< "\t\t theta = 2 * asin((MwcNext01(mwc) - 0.5) * 2);\n"
|
||||||
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
||||||
<< "\t\t Vy = Interpolate(Vy, thetaFactor, synthSmooth);\n"
|
<< "\t\t Vy = Interpolate(Vy, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (theta / MPI);\n"
|
<< "\t\t vOut.x = " << weight << " * (theta / MPI);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (Vy - 1);\n"
|
<< "\t\t vOut.y = " << weight << " * (Vy - 1);\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_RAWCIRCLE:\n"
|
<< "\t\tcase MODE_RAWCIRCLE:\n"
|
||||||
@ -2897,61 +2903,61 @@ public:
|
|||||||
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
||||||
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t s = sincos(theta, &c);\n"
|
<< "\t\t s = sincos(theta, &c);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * c;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * c;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_RAWX:\n"
|
<< "\t\tcase MODE_RAWX:\n"
|
||||||
<< "\t\t Vx = vIn.x;\n"
|
<< "\t\t Vx = vIn.x;\n"
|
||||||
<< "\t\t Vy = vIn.y;\n"
|
<< "\t\t Vy = vIn.y;\n"
|
||||||
<< "\t\t thetaFactor = SynthValue(&synth, Vy);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, Vy);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * Interpolate(Vx, thetaFactor, synthSmooth);\n"
|
<< "\t\t vOut.x = " << weight << " * Interpolate(Vx, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * Vy;\n"
|
<< "\t\t vOut.y = " << weight << " * Vy;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_RAWY:\n"
|
<< "\t\tcase MODE_RAWY:\n"
|
||||||
<< "\t\t Vx = vIn.x;\n"
|
<< "\t\t Vx = vIn.x;\n"
|
||||||
<< "\t\t Vy = vIn.y;\n"
|
<< "\t\t Vy = vIn.y;\n"
|
||||||
<< "\t\t thetaFactor = SynthValue(&synth, Vx);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, Vx);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * Vx;\n"
|
<< "\t\t vOut.x = " << weight << " * Vx;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * Interpolate(Vy, thetaFactor, synthSmooth);\n"
|
<< "\t\t vOut.y = " << weight << " * Interpolate(Vy, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_RAWXY:\n"
|
<< "\t\tcase MODE_RAWXY:\n"
|
||||||
<< "\t\t Vx = vIn.x;\n"
|
<< "\t\t Vx = vIn.x;\n"
|
||||||
<< "\t\t Vy = vIn.y;\n"
|
<< "\t\t Vy = vIn.y;\n"
|
||||||
<< "\t\t thetaFactor = SynthValue(&synth, Vy);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, Vy);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * Interpolate(Vx, thetaFactor, synthSmooth);\n"
|
<< "\t\t vOut.x = " << weight << " * Interpolate(Vx, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t thetaFactor = SynthValue(&synth, Vx);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, Vx);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * Interpolate(Vy, thetaFactor, synthSmooth);\n"
|
<< "\t\t vOut.y = " << weight << " * Interpolate(Vy, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_SHIFTX:\n"
|
<< "\t\tcase MODE_SHIFTX:\n"
|
||||||
<< "\t\t Vx = vIn.x;\n"
|
<< "\t\t Vx = vIn.x;\n"
|
||||||
<< "\t\t Vy = vIn.y;\n"
|
<< "\t\t Vy = vIn.y;\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (Vx + SynthValue(&synth, Vy) - 1);\n"
|
<< "\t\t vOut.x = " << weight << " * (Vx + SynthValue(&synth, Vy) - 1);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * Vy;\n"
|
<< "\t\t vOut.y = " << weight << " * Vy;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_SHIFTY:\n"
|
<< "\t\tcase MODE_SHIFTY:\n"
|
||||||
<< "\t\t Vx = vIn.x;\n"
|
<< "\t\t Vx = vIn.x;\n"
|
||||||
<< "\t\t Vy = vIn.y;\n"
|
<< "\t\t Vy = vIn.y;\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * Vx;\n"
|
<< "\t\t vOut.x = " << weight << " * Vx;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (Vy + SynthValue(&synth, Vx) - 1);\n"
|
<< "\t\t vOut.y = " << weight << " * (Vy + SynthValue(&synth, Vx) - 1);\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_SHIFTXY:\n"
|
<< "\t\tcase MODE_SHIFTXY:\n"
|
||||||
<< "\t\t Vx = vIn.x;\n"
|
<< "\t\t Vx = vIn.x;\n"
|
||||||
<< "\t\t Vy = vIn.y;\n"
|
<< "\t\t Vy = vIn.y;\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (Vx + SynthValue(&synth, Vy) - 1);\n"
|
<< "\t\t vOut.x = " << weight << " * (Vx + SynthValue(&synth, Vy) - 1);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (Vy + SynthValue(&synth, Vx) - 1);\n"
|
<< "\t\t vOut.y = " << weight << " * (Vy + SynthValue(&synth, Vx) - 1);\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_SINUSOIDAL:\n"
|
<< "\t\tcase MODE_SINUSOIDAL:\n"
|
||||||
<< "\t\t Vx = vIn.x;\n"
|
<< "\t\t Vx = vIn.x;\n"
|
||||||
<< "\t\t Vy = vIn.y;\n"
|
<< "\t\t Vy = vIn.y;\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (SynthValue(&synth, Vx) - 1 + (1 - " << synthMix << ") * sin(Vx));\n"
|
<< "\t\t vOut.x = " << weight << " * (SynthValue(&synth, Vx) - 1 + (1 - " << synthMix << ") * sin(Vx));\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (SynthValue(&synth, Vy) - 1 + (1 - " << synthMix << ") * sin(Vy));\n"
|
<< "\t\t vOut.y = " << weight << " * (SynthValue(&synth, Vy) - 1 + (1 - " << synthMix << ") * sin(Vy));\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_SWIRL:\n"
|
<< "\t\tcase MODE_SWIRL:\n"
|
||||||
@ -2959,8 +2965,8 @@ public:
|
|||||||
<< "\t\t Vy = vIn.y;\n"
|
<< "\t\t Vy = vIn.y;\n"
|
||||||
<< "\t\t radius = pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
<< "\t\t radius = pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
||||||
<< "\t\t SynthSinCos(&synth, radius, &s, &c, synthSmooth);\n"
|
<< "\t\t SynthSinCos(&synth, radius, &s, &c, synthSmooth);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (s * Vx - c * Vy);\n"
|
<< "\t\t vOut.x = " << weight << " * (s * Vx - c * Vy);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (c * Vx + s * Vy);\n"
|
<< "\t\t vOut.y = " << weight << " * (c * Vx + s * Vy);\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_HYPERBOLIC:\n"
|
<< "\t\tcase MODE_HYPERBOLIC:\n"
|
||||||
@ -2969,8 +2975,8 @@ public:
|
|||||||
<< "\t\t radius = pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
<< "\t\t radius = pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
||||||
<< "\t\t theta = precalcAtanxy;\n"
|
<< "\t\t theta = precalcAtanxy;\n"
|
||||||
<< "\t\t SynthSinCos(&synth, theta, &s, &c, synthSmooth);\n"
|
<< "\t\t SynthSinCos(&synth, theta, &s, &c, synthSmooth);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * s / radius;\n"
|
<< "\t\t vOut.x = " << weight << " * s / radius;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * c * radius;\n"
|
<< "\t\t vOut.y = " << weight << " * c * radius;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_JULIA:\n"
|
<< "\t\tcase MODE_JULIA:\n"
|
||||||
@ -2983,8 +2989,8 @@ public:
|
|||||||
<< "\t\t theta += MPI;\n"
|
<< "\t\t theta += MPI;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t SynthSinCos(&synth, theta, &s, &c, synthSmooth);\n"
|
<< "\t\t SynthSinCos(&synth, theta, &s, &c, synthSmooth);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * c;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * c;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_DISC:\n"
|
<< "\t\tcase MODE_DISC:\n"
|
||||||
@ -2993,8 +2999,8 @@ public:
|
|||||||
<< "\t\t theta = precalcAtanxy / MPI;\n"
|
<< "\t\t theta = precalcAtanxy / MPI;\n"
|
||||||
<< "\t\t radius = MPI * pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
<< "\t\t radius = MPI * pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
||||||
<< "\t\t SynthSinCos(&synth, radius, &s, &c, synthSmooth);\n"
|
<< "\t\t SynthSinCos(&synth, radius, &s, &c, synthSmooth);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * s * theta;\n"
|
<< "\t\t vOut.x = " << weight << " * s * theta;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * c * theta;\n"
|
<< "\t\t vOut.y = " << weight << " * c * theta;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_RINGS:\n"
|
<< "\t\tcase MODE_RINGS:\n"
|
||||||
@ -3005,8 +3011,8 @@ public:
|
|||||||
<< "\t\t mu = Zeps(SQR(" << synthPower << "));\n"
|
<< "\t\t mu = Zeps(SQR(" << synthPower << "));\n"
|
||||||
<< "\t\t radius += -2 * mu * (int)((radius + mu) / (2 * mu)) + radius * (1 - mu);\n"
|
<< "\t\t radius += -2 * mu * (int)((radius + mu) / (2 * mu)) + radius * (1 - mu);\n"
|
||||||
<< "\t\t SynthSinCos(&synth, radius, &s, &c, synthSmooth);\n"
|
<< "\t\t SynthSinCos(&synth, radius, &s, &c, synthSmooth);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * s * theta;\n"
|
<< "\t\t vOut.x = " << weight << " * s * theta;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * c * theta;\n"
|
<< "\t\t vOut.y = " << weight << " * c * theta;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_CYLINDER:\n"
|
<< "\t\tcase MODE_CYLINDER:\n"
|
||||||
@ -3014,8 +3020,8 @@ public:
|
|||||||
<< "\t\t Vy = vIn.y;\n"
|
<< "\t\t Vy = vIn.y;\n"
|
||||||
<< "\t\t radius = pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
<< "\t\t radius = pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
||||||
<< "\t\t SynthSinCos(&synth, Vx, &s, &c, synthSmooth);\n"
|
<< "\t\t SynthSinCos(&synth, Vx, &s, &c, synthSmooth);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * Vy;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * Vy;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_BLUR_RING:\n"
|
<< "\t\tcase MODE_BLUR_RING:\n"
|
||||||
@ -3024,8 +3030,8 @@ public:
|
|||||||
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
<< "\t\t thetaFactor = SynthValue(&synth, theta);\n"
|
||||||
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t s = sincos(theta, &c);\n"
|
<< "\t\t s = sincos(theta, &c);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * c;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * c;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_BLUR_RING2:\n"
|
<< "\t\tcase MODE_BLUR_RING2:\n"
|
||||||
@ -3033,8 +3039,8 @@ public:
|
|||||||
<< "\t\t radius = pow(Zeps(MwcNext01(mwc)), " << synthPower << ");\n"
|
<< "\t\t radius = pow(Zeps(MwcNext01(mwc)), " << synthPower << ");\n"
|
||||||
<< "\t\t radius = SynthValue(&synth, theta) + 0.1 * radius;\n"
|
<< "\t\t radius = SynthValue(&synth, theta) + 0.1 * radius;\n"
|
||||||
<< "\t\t s = sincos(theta, &c);\n"
|
<< "\t\t s = sincos(theta, &c);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * c;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * c;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_SHIFTTHETA:\n"
|
<< "\t\tcase MODE_SHIFTTHETA:\n"
|
||||||
@ -3043,8 +3049,8 @@ public:
|
|||||||
<< "\t\t radius = pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
<< "\t\t radius = pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
||||||
<< "\t\t theta = precalcAtanxy - 1 + SynthValue(&synth, radius);\n"
|
<< "\t\t theta = precalcAtanxy - 1 + SynthValue(&synth, radius);\n"
|
||||||
<< "\t\t s = sincos(theta, &c);\n"
|
<< "\t\t s = sincos(theta, &c);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * c;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * c;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\t\tcase MODE_SHIFTNSTRETCH:\n"
|
<< "\t\tcase MODE_SHIFTNSTRETCH:\n"
|
||||||
<< "\t\t Vx = vIn.x;\n"
|
<< "\t\t Vx = vIn.x;\n"
|
||||||
@ -3052,8 +3058,8 @@ public:
|
|||||||
<< "\t\t radius = pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
<< "\t\t radius = pow(Zeps(precalcSumSquares), " << synthPower << " / 2);\n"
|
||||||
<< "\t\t theta = precalcAtanxy - 1 + SynthValue(&synth, radius);\n"
|
<< "\t\t theta = precalcAtanxy - 1 + SynthValue(&synth, radius);\n"
|
||||||
<< "\t\t s = sincos(theta, &c);\n"
|
<< "\t\t s = sincos(theta, &c);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * c;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * c;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_SHIFTTANGENT:\n"
|
<< "\t\tcase MODE_SHIFTTANGENT:\n"
|
||||||
@ -3064,8 +3070,8 @@ public:
|
|||||||
<< "\t\t mu = SynthValue(&synth, radius) - 1;\n"
|
<< "\t\t mu = SynthValue(&synth, radius) - 1;\n"
|
||||||
<< "\t\t Vx += mu * c;\n"
|
<< "\t\t Vx += mu * c;\n"
|
||||||
<< "\t\t Vy -= mu * s;\n"
|
<< "\t\t Vy -= mu * s;\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * Vx;\n"
|
<< "\t\t vOut.x = " << weight << " * Vx;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * Vy;\n"
|
<< "\t\t vOut.y = " << weight << " * Vy;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_XMIRROR:\n"
|
<< "\t\tcase MODE_XMIRROR:\n"
|
||||||
@ -3073,8 +3079,8 @@ public:
|
|||||||
<< "\t\t Vy = vIn.y;\n"
|
<< "\t\t Vy = vIn.y;\n"
|
||||||
<< "\t\t mu = SynthValue(&synth, Vx) - 1;\n"
|
<< "\t\t mu = SynthValue(&synth, Vx) - 1;\n"
|
||||||
<< "\t\t Vy = 2 * mu - Vy;\n"
|
<< "\t\t Vy = 2 * mu - Vy;\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * Vx;\n"
|
<< "\t\t vOut.x = " << weight << " * Vx;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * Vy;\n"
|
<< "\t\t vOut.y = " << weight << " * Vy;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_XYMIRROR:\n"
|
<< "\t\tcase MODE_XYMIRROR:\n"
|
||||||
@ -3084,8 +3090,8 @@ public:
|
|||||||
<< "\t\t radius = SynthValue(&synth, Vy) - 1;\n"
|
<< "\t\t radius = SynthValue(&synth, Vy) - 1;\n"
|
||||||
<< "\t\t Vy = 2 * mu - Vy;\n"
|
<< "\t\t Vy = 2 * mu - Vy;\n"
|
||||||
<< "\t\t Vx = 2 * radius - Vx;\n"
|
<< "\t\t Vx = 2 * radius - Vx;\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * Vx;\n"
|
<< "\t\t vOut.x = " << weight << " * Vx;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * Vy;\n"
|
<< "\t\t vOut.y = " << weight << " * Vy;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tcase MODE_SPHERICAL2:\n"
|
<< "\t\tcase MODE_SPHERICAL2:\n"
|
||||||
@ -3098,8 +3104,8 @@ public:
|
|||||||
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
<< "\t\t radius = Interpolate(radius, thetaFactor, synthSmooth);\n"
|
||||||
<< "\t\t radius = pow(radius, " << synthPower << ");\n"
|
<< "\t\t radius = pow(radius, " << synthPower << ");\n"
|
||||||
<< "\t\t s = sincos(theta, &c);\n"
|
<< "\t\t s = sincos(theta, &c);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * radius * s;\n"
|
<< "\t\t vOut.x = " << weight << " * radius * s;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * radius * c;\n"
|
<< "\t\t vOut.y = " << weight << " * radius * c;\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
@ -3805,6 +3811,7 @@ public:
|
|||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber();
|
ss2 << "_" << XformIndexInEmber();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string index = ss2.str() + "]";
|
string index = ss2.str() + "]";
|
||||||
string cellSize = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string cellSize = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -3861,8 +3868,8 @@ public:
|
|||||||
<< "\t\tr = trgL / l;\n"
|
<< "\t\tr = trgL / l;\n"
|
||||||
<< "\t\tdO *= r;\n"
|
<< "\t\tdO *= r;\n"
|
||||||
<< "\t\tdO += p[4];\n"
|
<< "\t\tdO += p[4];\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * dO.x;\n"
|
<< "\t\tvOut.x = " << weight << " * dO.x;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * dO.y;\n"
|
<< "\t\tvOut.y = " << weight << " * dO.y;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -4134,6 +4141,7 @@ public:
|
|||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber();
|
ss2 << "_" << XformIndexInEmber();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string index = ss2.str() + "]";
|
string index = ss2.str() + "]";
|
||||||
string stateIndex = ss2.str();
|
string stateIndex = ss2.str();
|
||||||
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -4212,15 +4220,15 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t if (" << staticc << " > 1 || " << staticc << " == -1)\n"
|
<< "\t\t if (" << staticc << " > 1 || " << staticc << " == -1)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * rad * c;\n"
|
<< "\t\t vOut.x = " << weight << " * rad * c;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * rad * s;\n"
|
<< "\t\t vOut.y = " << weight << " * rad * s;\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * zi;\n"
|
<< "\t\t vOut.z = " << weight << " * zi;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = vIn.x + (xform->m_VariationWeights[" << varIndex << "] * rad * c);\n"
|
<< "\t\t vOut.x = vIn.x + (" << weight << " * rad * c);\n"
|
||||||
<< "\t\t vOut.y = vIn.y + (xform->m_VariationWeights[" << varIndex << "] * rad * s);\n"
|
<< "\t\t vOut.y = vIn.y + (" << weight << " * rad * s);\n"
|
||||||
<< "\t\t vOut.z = vIn.z + (xform->m_VariationWeights[" << varIndex << "] * zi);\n"
|
<< "\t\t vOut.z = vIn.z + (" << weight << " * zi);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
@ -4284,15 +4292,15 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t if (" << staticc << " > 1 || " << staticc << " == -1)\n"
|
<< "\t\t if (" << staticc << " > 1 || " << staticc << " == -1)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * rdc * c;\n"
|
<< "\t\t vOut.x = " << weight << " * rdc * c;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * rdc * s;\n"
|
<< "\t\t vOut.y = " << weight << " * rdc * s;\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * zi;\n"
|
<< "\t\t vOut.z = " << weight << " * zi;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = vIn.x + (xform->m_VariationWeights[" << varIndex << "] * rdc * c);\n"
|
<< "\t\t vOut.x = vIn.x + (" << weight << " * rdc * c);\n"
|
||||||
<< "\t\t vOut.y = vIn.y + (xform->m_VariationWeights[" << varIndex << "] * rdc * s);\n"
|
<< "\t\t vOut.y = vIn.y + (" << weight << " * rdc * s);\n"
|
||||||
<< "\t\t vOut.z = vIn.z + (xform->m_VariationWeights[" << varIndex << "] * zi);\n"
|
<< "\t\t vOut.z = vIn.z + (" << weight << " * zi);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
@ -4314,15 +4322,15 @@ public:
|
|||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t if (" << staticc << " == 3)\n"
|
<< "\t\t if (" << staticc << " == 3)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t " << x << " = xform->m_VariationWeights[" << varIndex << "] * transX;\n"
|
<< "\t\t " << x << " = " << weight << " * transX;\n"
|
||||||
<< "\t\t " << y << " = xform->m_VariationWeights[" << varIndex << "] * transY;\n"
|
<< "\t\t " << y << " = " << weight << " * transY;\n"
|
||||||
<< "\t\t " << z << " = xform->m_VariationWeights[" << varIndex << "] * transZ;\n"
|
<< "\t\t " << z << " = " << weight << " * transZ;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t " << x << " = xform->m_VariationWeights[" << varIndex << "] * xi;\n"
|
<< "\t\t " << x << " = " << weight << " * xi;\n"
|
||||||
<< "\t\t " << y << " = xform->m_VariationWeights[" << varIndex << "] * yi;\n"
|
<< "\t\t " << y << " = " << weight << " * yi;\n"
|
||||||
<< "\t\t " << z << " = xform->m_VariationWeights[" << varIndex << "] * zi;\n"
|
<< "\t\t " << z << " = " << weight << " * zi;\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t if (" << cropmode << " == 2)\n"
|
<< "\t\t if (" << cropmode << " == 2)\n"
|
||||||
@ -4455,9 +4463,10 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * erf(vIn.x);\n"
|
<< "\t\tvOut.x = " << weight << " * erf(vIn.x);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * erf(vIn.y);\n"
|
<< "\t\tvOut.y = " << weight << " * erf(vIn.y);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -4487,11 +4496,12 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t r2 = Sqr(sqrt(precalcSumSquares + SQR(vIn.z)));\n"
|
<< "\t\treal_t r2 = Sqr(sqrt(precalcSumSquares + SQR(vIn.z)));\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (fabs(vIn.x) >= 2 ? vIn.x / r2 : erf(vIn.x));\n"
|
<< "\t\tvOut.x = " << weight << " * (fabs(vIn.x) >= 2 ? vIn.x / r2 : erf(vIn.x));\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (fabs(vIn.y) >= 2 ? vIn.y / r2 : erf(vIn.y));\n"
|
<< "\t\tvOut.y = " << weight << " * (fabs(vIn.y) >= 2 ? vIn.y / r2 : erf(vIn.y));\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * (fabs(vIn.z) >= 2 ? vIn.z / r2 : erf(vIn.z));\n"
|
<< "\t\tvOut.z = " << weight << " * (fabs(vIn.z) >= 2 ? vIn.z / r2 : erf(vIn.z));\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -4618,6 +4628,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string angle = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string angle = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string hypergon = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergon = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string hypergonN = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergonN = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -4721,15 +4732,15 @@ public:
|
|||||||
<< "\t\t total2 += " << super << " * pow(pow(fabs(c), " << superN2 << ") + pow(fabs(s), " << superN3 << "), " << oneOverSuperN1 << ");\n"
|
<< "\t\t total2 += " << super << " * pow(pow(fabs(c), " << superN2 << ") + pow(fabs(s), " << superN3 << "), " << oneOverSuperN1 << ");\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t r = xform->m_VariationWeights[" << varIndex << "] * total2 * r / total;\n"
|
<< "\t\t r = " << weight << " * total2 * r / total;\n"
|
||||||
<< "\t\t s = sincos(a2, &c);\n"
|
<< "\t\t s = sincos(a2, &c);\n"
|
||||||
<< "\t\t vOut.x = r * c;\n"
|
<< "\t\t vOut.x = r * c;\n"
|
||||||
<< "\t\t vOut.y = r * s;\n"
|
<< "\t\t vOut.y = r * s;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
@ -4869,6 +4880,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string hypergon = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergon = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string hypergonN = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergonN = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string hypergonR = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergonR = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -4927,7 +4939,7 @@ public:
|
|||||||
<< "\t\t total += " << super << " * pow(pow(fabs(c), " << superN2 << ") + pow(fabs(s), " << superN3 << "), " << oneOverSuperN1 << ");\n"
|
<< "\t\t total += " << super << " * pow(pow(fabs(c), " << superN2 << ") + pow(fabs(s), " << superN3 << "), " << oneOverSuperN1 << ");\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tr = xform->m_VariationWeights[" << varIndex << "] * sqrt(precalcSumSquares + Sqr(total));\n"
|
<< "\t\tr = " << weight << " * sqrt(precalcSumSquares + Sqr(total));\n"
|
||||||
<< "\t\ts = sincos(a, &c);\n"
|
<< "\t\ts = sincos(a, &c);\n"
|
||||||
<< "\t\tvOut.x = r * c;\n"
|
<< "\t\tvOut.x = r * c;\n"
|
||||||
<< "\t\tvOut.y = r * s;\n"
|
<< "\t\tvOut.y = r * s;\n"
|
||||||
@ -5066,6 +5078,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string hypergon = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergon = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string hypergonN = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergonN = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string hypergonR = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergonR = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -5124,7 +5137,7 @@ public:
|
|||||||
<< "\t\t total += " << super << " * pow(pow(fabs(c), " << superN2 << ") + pow(fabs(s), " << superN3 << "), " << oneOverSuperN1 << ");\n"
|
<< "\t\t total += " << super << " * pow(pow(fabs(c), " << superN2 << ") + pow(fabs(s), " << superN3 << "), " << oneOverSuperN1 << ");\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tr = xform->m_VariationWeights[" << varIndex << "] * Sqr(total) / precalcSqrtSumSquares;\n"
|
<< "\t\tr = " << weight << " * Sqr(total) / precalcSqrtSumSquares;\n"
|
||||||
<< "\t\ts = sincos(a, &c);\n"
|
<< "\t\ts = sincos(a, &c);\n"
|
||||||
<< "\t\tvOut.x = r * c;\n"
|
<< "\t\tvOut.x = r * c;\n"
|
||||||
<< "\t\tvOut.y = r * s;\n"
|
<< "\t\tvOut.y = r * s;\n"
|
||||||
@ -5263,6 +5276,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string hypergon = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergon = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string hypergonN = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergonN = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string hypergonR = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string hypergonR = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -5322,7 +5336,7 @@ public:
|
|||||||
<< "\t\t total += " << super << " * pow(pow(fabs(c), " << superN2 << ") + pow(fabs(s), " << superN3 << "), " << oneOverSuperN1 << ");\n"
|
<< "\t\t total += " << super << " * pow(pow(fabs(c), " << superN2 << ") + pow(fabs(s), " << superN3 << "), " << oneOverSuperN1 << ");\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tr = xform->m_VariationWeights[" << varIndex << "] * (precalcSqrtSumSquares + total);\n"
|
<< "\t\tr = " << weight << " * (precalcSqrtSumSquares + total);\n"
|
||||||
<< "\t\ts = sincos(a, &c);\n"
|
<< "\t\ts = sincos(a, &c);\n"
|
||||||
<< "\t\tvOut.x = r * c;\n"
|
<< "\t\tvOut.x = r * c;\n"
|
||||||
<< "\t\tvOut.y = r * s;\n"
|
<< "\t\tvOut.y = r * s;\n"
|
||||||
|
@ -42,24 +42,25 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string z = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string z = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tif (vIn.x >= 0)\n"
|
<< "\t\tif (vIn.x >= 0)\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x + " << x << ");\n"
|
<< "\t\t vOut.x = " << weight << " * (vIn.x + " << x << ");\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x - " << x << ");\n"
|
<< "\t\t vOut.x = " << weight << " * (vIn.x - " << x << ");\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (vIn.y >= 0)\n"
|
<< "\t\tif (vIn.y >= 0)\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y + " << y << ");\n"
|
<< "\t\t vOut.y = " << weight << " * (vIn.y + " << y << ");\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y - " << y << ");\n"
|
<< "\t\t vOut.y = " << weight << " * (vIn.y - " << y << ");\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (vIn.z >= 0)\n"
|
<< "\t\tif (vIn.z >= 0)\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * (vIn.z + " << z << ");\n"
|
<< "\t\t vOut.z = " << weight << " * (vIn.z + " << z << ");\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * (vIn.z - " << z << ");\n"
|
<< "\t\t vOut.z = " << weight << " * (vIn.z - " << z << ");\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -152,6 +153,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string freqx = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string freqx = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string freqy = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string freqy = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string pwx = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string pwx = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -176,22 +178,22 @@ public:
|
|||||||
<< "\t\tif (" << pwx << " >= 0 && " << pwx << " < 1e-4)\n"
|
<< "\t\tif (" << pwx << " >= 0 && " << pwx << " < 1e-4)\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t JacobiElliptic(vIn.y * " << freqx << ", " << jacok << ", &jcbSn, &jcbCn, &jcbDn);\n"
|
<< "\t\t JacobiElliptic(vIn.y * " << freqx << ", " << jacok << ", &jcbSn, &jcbCn, &jcbDn);\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x + CsX * jcbSn);\n"
|
<< "\t\t vOut.x = " << weight << " * (vIn.x + CsX * jcbSn);\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
//<< "\t\telse if (" << pwx << " < 0 && " << pwx << " > -1e-4)\n"
|
//<< "\t\telse if (" << pwx << " < 0 && " << pwx << " > -1e-4)\n"
|
||||||
//<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x + CsX * _j1(vIn.y * " << freqx << "));\n"//This is not implemented in OpenCL.
|
//<< "\t\t vOut.x = " << weight << " * (vIn.x + CsX * _j1(vIn.y * " << freqx << "));\n"//This is not implemented in OpenCL.
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x + CsX * sin(SignNz(vIn.y) * pow(Zeps(fabs(vIn.y)), " << pwx << ") * " << freqx << "));\n"
|
<< "\t\t vOut.x = " << weight << " * (vIn.x + CsX * sin(SignNz(vIn.y) * pow(Zeps(fabs(vIn.y)), " << pwx << ") * " << freqx << "));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (" << pwy << " >= 0 && " << pwy << " < 1e-4)\n"
|
<< "\t\tif (" << pwy << " >= 0 && " << pwy << " < 1e-4)\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t JacobiElliptic(vIn.x * " << freqy << ", " << jacok << ", &jcbSn, &jcbCn, &jcbDn);\n"
|
<< "\t\t JacobiElliptic(vIn.x * " << freqy << ", " << jacok << ", &jcbSn, &jcbCn, &jcbDn);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y + CsY * jcbSn);\n"
|
<< "\t\t vOut.y = " << weight << " * (vIn.y + CsY * jcbSn);\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
//<< "\t\telse if (" << pwy << " < 0 && " << pwy << " > -1e-4)\n"
|
//<< "\t\telse if (" << pwy << " < 0 && " << pwy << " > -1e-4)\n"
|
||||||
//<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y + CsY * _j1(vIn.x * " << freqy << "));\n"//This is not implemented in OpenCL.
|
//<< "\t\t vOut.y = " << weight << " * (vIn.y + CsY * _j1(vIn.x * " << freqy << "));\n"//This is not implemented in OpenCL.
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y + CsY * sin(SignNz(vIn.x) * pow(Zeps(fabs(vIn.x)), " << pwy << ") * " << freqy << "));\n"
|
<< "\t\t vOut.y = " << weight << " * (vIn.y + CsY * sin(SignNz(vIn.x) * pow(Zeps(fabs(vIn.x)), " << pwy << ") * " << freqy << "));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
@ -279,6 +281,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string k = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string k = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t snx, cnx, dnx;\n"
|
<< "\t\treal_t snx, cnx, dnx;\n"
|
||||||
@ -289,7 +292,7 @@ public:
|
|||||||
<< "\t\tnumX = cnx * cny;\n"
|
<< "\t\tnumX = cnx * cny;\n"
|
||||||
<< "\t\tnumY = -dnx * snx * dny * sny;\n"
|
<< "\t\tnumY = -dnx * snx * dny * sny;\n"
|
||||||
<< "\t\tdenom = SQR(snx) * SQR(sny) * " << k << " + SQR(cny);\n"
|
<< "\t\tdenom = SQR(snx) * SQR(sny) * " << k << " + SQR(cny);\n"
|
||||||
<< "\t\tdenom = xform->m_VariationWeights[" << varIndex << "] / Zeps(denom);\n"
|
<< "\t\tdenom = " << weight << " / Zeps(denom);\n"
|
||||||
<< "\t\tvOut.x = denom * numX;\n"
|
<< "\t\tvOut.x = denom * numX;\n"
|
||||||
<< "\t\tvOut.y = denom * numY;\n"
|
<< "\t\tvOut.y = denom * numY;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
@ -350,6 +353,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string k = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string k = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t snx, cnx, dnx;\n"
|
<< "\t\treal_t snx, cnx, dnx;\n"
|
||||||
@ -360,7 +364,7 @@ public:
|
|||||||
<< "\t\tnumX = dnx * cny * dny;\n"
|
<< "\t\tnumX = dnx * cny * dny;\n"
|
||||||
<< "\t\tnumY = -cnx * snx * sny * " << k << ";\n"
|
<< "\t\tnumY = -cnx * snx * sny * " << k << ";\n"
|
||||||
<< "\t\tdenom = SQR(snx) * SQR(sny) * " << k << " + SQR(cny);\n"
|
<< "\t\tdenom = SQR(snx) * SQR(sny) * " << k << " + SQR(cny);\n"
|
||||||
<< "\t\tdenom = xform->m_VariationWeights[" << varIndex << "] / Zeps(denom);\n"
|
<< "\t\tdenom = " << weight << " / Zeps(denom);\n"
|
||||||
<< "\t\tvOut.x = denom * numX;\n"
|
<< "\t\tvOut.x = denom * numX;\n"
|
||||||
<< "\t\tvOut.y = denom * numY;\n"
|
<< "\t\tvOut.y = denom * numY;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
@ -421,6 +425,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string k = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string k = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t snx, cnx, dnx;\n"
|
<< "\t\treal_t snx, cnx, dnx;\n"
|
||||||
@ -431,7 +436,7 @@ public:
|
|||||||
<< "\t\tnumX = snx * dny;\n"
|
<< "\t\tnumX = snx * dny;\n"
|
||||||
<< "\t\tnumY = cnx * dnx * cny * sny;\n"
|
<< "\t\tnumY = cnx * dnx * cny * sny;\n"
|
||||||
<< "\t\tdenom = SQR(snx) * SQR(sny) * " << k << " + SQR(cny);\n"
|
<< "\t\tdenom = SQR(snx) * SQR(sny) * " << k << " + SQR(cny);\n"
|
||||||
<< "\t\tdenom = xform->m_VariationWeights[" << varIndex << "] / Zeps(denom);\n"
|
<< "\t\tdenom = " << weight << " / Zeps(denom);\n"
|
||||||
<< "\t\tvOut.x = denom * numX;\n"
|
<< "\t\tvOut.x = denom * numX;\n"
|
||||||
<< "\t\tvOut.y = denom * numY;\n"
|
<< "\t\tvOut.y = denom * numY;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
@ -483,11 +488,12 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string y = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x + (1 / Zeps(" << x << " * M_2PI)) * sin(" << x << " * M_2PI * vIn.x));\n"
|
<< "\t\tvOut.x = " << weight << " * (vIn.x + (1 / Zeps(" << x << " * M_2PI)) * sin(" << x << " * M_2PI * vIn.x));\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y + (1 / Zeps(" << y << " * M_2PI)) * sin(" << y << " * M_2PI * vIn.y));\n"
|
<< "\t\tvOut.y = " << weight << " * (vIn.y + (1 / Zeps(" << y << " * M_2PI)) * sin(" << y << " * M_2PI * vIn.y));\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -536,11 +542,12 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * lgamma(precalcSqrtSumSquares);\n"
|
<< "\t\tvOut.x = " << weight << " * lgamma(precalcSqrtSumSquares);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * precalcAtanyx;\n"
|
<< "\t\tvOut.y = " << weight << " * precalcAtanyx;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -643,6 +650,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string l = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string l = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string k = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string k = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string c = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string c = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -717,30 +725,30 @@ public:
|
|||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t if (posNeg < 0)\n"
|
<< "\t\t if (posNeg < 0)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * 0.5 * " << refSc << " * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * cth;\n"
|
<< "\t\t vOut.x = " << weight << " * 0.5 * " << refSc << " * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * cth;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * 0.5 * " << refSc << " * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * sth;\n"
|
<< "\t\t vOut.y = " << weight << " * 0.5 * " << refSc << " * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * sth;\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * -0.5 * ((" << z2 << " * waggle + Sqr(rad * 0.5) * sin(wig) * " << wigScale << ") + " << dist << ");\n"
|
<< "\t\t vOut.z = " << weight << " * -0.5 * ((" << z2 << " * waggle + Sqr(rad * 0.5) * sin(wig) * " << wigScale << ") + " << dist << ");\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * cth;\n"
|
<< "\t\t vOut.x = " << weight << " * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * cth;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * sth;\n"
|
<< "\t\t vOut.y = " << weight << " * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * sth;\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * 0.5 * ((" << z1 << " * waggle + Sqr(rad * 0.5) * sin(wig) * " << wigScale << ") + " << dist << ");\n"
|
<< "\t\t vOut.z = " << weight << " * 0.5 * ((" << z1 << " * waggle + Sqr(rad * 0.5) * sin(wig) * " << wigScale << ") + " << dist << ");\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t if (posNeg < 0)\n"
|
<< "\t\t if (posNeg < 0)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * cth;\n"
|
<< "\t\t vOut.x = " << weight << " * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * cth;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * sth;\n"
|
<< "\t\t vOut.y = " << weight << " * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * sth;\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * 0.5 * ((" << z1 << " * waggle + Sqr(rad * 0.5) * sin(wig) * " << wigScale << ") + " << dist << ");\n"
|
<< "\t\t vOut.z = " << weight << " * 0.5 * ((" << z1 << " * waggle + Sqr(rad * 0.5) * sin(wig) * " << wigScale << ") + " << dist << ");\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * cth;\n"
|
<< "\t\t vOut.x = " << weight << " * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * cth;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * sth;\n"
|
<< "\t\t vOut.y = " << weight << " * 0.5 * (" << l << " * cos(" << numPetals << " * th + " << c << ")) * sth;\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * 0.5 * ((" << z1 << " * waggle + Sqr(rad * 0.5) * sin(wig) * " << wigScale << ") + " << dist << ");\n"
|
<< "\t\t vOut.z = " << weight << " * 0.5 * ((" << z1 << " * waggle + Sqr(rad * 0.5) * sin(wig) * " << wigScale << ") + " << dist << ");\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
@ -892,6 +900,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string base = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string base = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string fixPeriod = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string fixPeriod = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string denom = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string denom = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -912,8 +921,8 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tatanPeriod *= " << fixPe << ";\n"
|
<< "\t\tatanPeriod *= " << fixPe << ";\n"
|
||||||
<< "\t\tvOut.x = " << denom << " * log(precalcSumSquares);\n"
|
<< "\t\tvOut.x = " << denom << " * log(precalcSumSquares);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (precalcAtanyx + atanPeriod);\n"
|
<< "\t\tvOut.y = " << weight << " * (precalcAtanyx + atanPeriod);\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * vIn.z;\n"
|
<< "\t\tvOut.z = " << weight << " * vIn.z;\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -992,6 +1001,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string cs_radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string cs_radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string cs_split = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string cs_split = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -1009,8 +1019,8 @@ public:
|
|||||||
<< "\t\t\tx1 = cos(a) * len;\n"
|
<< "\t\t\tx1 = cos(a) * len;\n"
|
||||||
<< "\t\t\ty1 = sin(a) * len;\n"
|
<< "\t\t\ty1 = sin(a) * len;\n"
|
||||||
<< "\t\t}"
|
<< "\t\t}"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * x1;\n"
|
<< "\t\tvOut.x = " << weight << " * x1;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * y1;\n"
|
<< "\t\tvOut.y = " << weight << " * y1;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1054,10 +1064,11 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x / Zeps(sqrt(SQR(vIn.x) + (real_t)1.0)));\n"
|
<< "\t\tvOut.x = " << weight << " * (vIn.x / Zeps(sqrt(SQR(vIn.x) + (real_t)1.0)));\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\tvOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1099,12 +1110,13 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string spread = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string spread = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t temp = (real_t) (Round(log(MwcNext01(mwc)) * (MwcNext(mwc) & 1 ? " << spread << " : -" << spread << ")));\n"
|
<< "\t\treal_t temp = (real_t) (Round(log(MwcNext01(mwc)) * (MwcNext(mwc) & 1 ? " << spread << " : -" << spread << ")));\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x + temp);\n"
|
<< "\t\tvOut.x = " << weight << " * (vIn.x + temp);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\tvOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1235,6 +1247,7 @@ public:
|
|||||||
intmax_t i = 0;
|
intmax_t i = 0;
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string exponent = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string exponent = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string arcWidth = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string arcWidth = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string seed = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string seed = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1405,6 +1418,7 @@ public:
|
|||||||
factor = (dist < m_Null) ? T(0) : factor;
|
factor = (dist < m_Null) ? T(0) : factor;
|
||||||
helper.Out.x = m_Weight * (x0 + factor * std::sin(y0 * m_Freqx) * m_Scalex);
|
helper.Out.x = m_Weight * (x0 + factor * std::sin(y0 * m_Freqx) * m_Scalex);
|
||||||
helper.Out.y = m_Weight * (y0 + factor * std::sin(x0 * m_Freqy) * m_Scaley);
|
helper.Out.y = m_Weight * (y0 + factor * std::sin(x0 * m_Freqy) * m_Scaley);
|
||||||
|
helper.Out.z = DefaultZ(helper);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual string OpenCLString() const override
|
virtual string OpenCLString() const override
|
||||||
@ -1413,6 +1427,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string freqX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string freqX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string scaleX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string scaleX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string freqY = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string freqY = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1427,8 +1442,8 @@ public:
|
|||||||
<< "\t\treal_t factor = (dist < " << distance << ") ? (dist - " << nullVar << ") / Zeps(" << distance << "-" << nullVar << ") : (real_t)(1.0);\n"
|
<< "\t\treal_t factor = (dist < " << distance << ") ? (dist - " << nullVar << ") / Zeps(" << distance << "-" << nullVar << ") : (real_t)(1.0);\n"
|
||||||
<< "\t\tfactor = (dist < " << nullVar << ") ? (real_t) 0.0 : factor;\n"
|
<< "\t\tfactor = (dist < " << nullVar << ") ? (real_t) 0.0 : factor;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (x0 + factor * sin(y0 * " << freqX << ") * " << scaleX << ");\n"
|
<< "\t\tvOut.x = " << weight << " * (x0 + factor * sin(y0 * " << freqX << ") * " << scaleX << ");\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (y0 + factor * sin(x0 * " << freqY << ") * " << scaleY << ");\n"
|
<< "\t\tvOut.y = " << weight << " * (y0 + factor * sin(x0 * " << freqY << ") * " << scaleY << ");\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1468,7 +1483,7 @@ template <typename T>
|
|||||||
class Panorama1Variation : public Variation<T>
|
class Panorama1Variation : public Variation<T>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Panorama1Variation(T weight = 1.0) : Variation<T>("panorama1", eVariationId::VAR_PANORAMA1, weight, true, false, false, false, false)
|
Panorama1Variation(T weight = 1.0) : Variation<T>("panorama1", eVariationId::VAR_PANORAMA1, weight, true)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1489,6 +1504,7 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -1496,8 +1512,8 @@ public:
|
|||||||
<< "\t\treal_t x1 = transX * aux;\n"
|
<< "\t\treal_t x1 = transX * aux;\n"
|
||||||
<< "\t\treal_t y1 = transY * aux;\n"
|
<< "\t\treal_t y1 = transY * aux;\n"
|
||||||
<< "\t\taux = sqrt(x1 * x1 + y1 * y1);\n"
|
<< "\t\taux = sqrt(x1 * x1 + y1 * y1);\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * atan2(x1, y1) * M1PI;\n"
|
<< "\t\tvOut.x = " << weight << " * atan2(x1, y1) * M1PI;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (aux - 0.5);\n"
|
<< "\t\tvOut.y = " << weight << " * (aux - 0.5);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1511,7 +1527,7 @@ template <typename T>
|
|||||||
class Panorama2Variation : public Variation<T>
|
class Panorama2Variation : public Variation<T>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Panorama2Variation(T weight = 1.0) : Variation<T>("panorama2", eVariationId::VAR_PANORAMA2, weight, true, true, false, false, false)
|
Panorama2Variation(T weight = 1.0) : Variation<T>("panorama2", eVariationId::VAR_PANORAMA2, weight, true, true)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1532,6 +1548,7 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -1539,14 +1556,463 @@ public:
|
|||||||
<< "\t\treal_t x1 = transX * aux;\n"
|
<< "\t\treal_t x1 = transX * aux;\n"
|
||||||
<< "\t\treal_t y1 = transY * aux;\n"
|
<< "\t\treal_t y1 = transY * aux;\n"
|
||||||
<< "\t\taux = sqrt(x1 * x1 + y1 * y1);\n"
|
<< "\t\taux = sqrt(x1 * x1 + y1 * y1);\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * atan2(x1, y1) * M1PI;\n"
|
<< "\t\tvOut.x = " << weight << " * atan2(x1, y1) * M1PI;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (aux - 0.5);\n"
|
<< "\t\tvOut.y = " << weight << " * (aux - 0.5);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// arcsinh.
|
||||||
|
/// </summary>
|
||||||
|
/*
|
||||||
|
template <typename T>
|
||||||
|
class ArcsinhVariation : public ParametricVariation<T>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ArcsinhVariation(T weight = 1.0) : ParametricVariation<T>("arcsinh", eVariationId::VAR_ARCSINH, weight, false, false, false, false, false)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
PARVARCOPY(ArcsinhVariation)
|
||||||
|
|
||||||
|
virtual void Func(IteratorHelper<T>& helper, Point<T>& outPoint, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand) override
|
||||||
|
{
|
||||||
|
std::complex<T> z(helper.m_TransX, helper.m_TransY);
|
||||||
|
std::complex<T> result = m_Vpi * std::log(z + std::sqrt(z * z + 1.0));
|
||||||
|
helper.Out.x = result.real();
|
||||||
|
helper.Out.y = result.imag();
|
||||||
|
helper.Out.z = DefaultZ(helper);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual string OpenCLString() const override//Hold off on this for now, opencl doesn't have support for complex.
|
||||||
|
{
|
||||||
|
ostringstream ss, ss2;
|
||||||
|
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void Precalc() override
|
||||||
|
{
|
||||||
|
m_Vpi = m_Weight * M_2_PI;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
string prefix = Prefix();
|
||||||
|
m_Params.clear();
|
||||||
|
m_Params.push_back(ParamWithName<T>(true, &m_Vpi, prefix + "arcsinh_vpi"));//Precalc.
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
T m_Vpi;//Precalc.
|
||||||
|
};*/
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// helicoid.
|
||||||
|
/// </summary>
|
||||||
|
template <typename T>
|
||||||
|
class HelicoidVariation : public ParametricVariation<T>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
HelicoidVariation(T weight = 1.0) : ParametricVariation<T>("helicoid", eVariationId::VAR_HELICOID, weight, true, true, false, false, true)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
PARVARCOPY(HelicoidVariation)
|
||||||
|
|
||||||
|
virtual void Func(IteratorHelper<T>& helper, Point<T>& outPoint, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand) override
|
||||||
|
{
|
||||||
|
T temp = helper.In.z * m_Freq2Pi + helper.m_PrecalcAtanyx;
|
||||||
|
T weightXdist = m_Weight * helper.m_PrecalcSqrtSumSquares;
|
||||||
|
helper.Out.x = weightXdist * std::cos(temp);
|
||||||
|
helper.Out.y = weightXdist * std::sin(temp);
|
||||||
|
helper.Out.z = m_Weight * helper.In.z;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual string OpenCLString() const override
|
||||||
|
{
|
||||||
|
ostringstream ss, ss2;
|
||||||
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
|
string freq = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string freq2pi = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
ss << "\t{\n"
|
||||||
|
<< "\t\treal_t temp = vIn.z * " << freq2pi << " + precalcAtanyx;\n"
|
||||||
|
<< "\t\treal_t weightXdist = " << weight << " * precalcSqrtSumSquares;\n"
|
||||||
|
<< "\t\tvOut.x = weightXdist * cos(temp);\n"
|
||||||
|
<< "\t\tvOut.y = weightXdist * sin(temp);\n"
|
||||||
|
<< "\t\tvOut.z = " << weight << " * vIn.z;\n"
|
||||||
|
<< "\t}\n";
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void Precalc() override
|
||||||
|
{
|
||||||
|
m_Freq2Pi = m_Freq * M_2PI;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
string prefix = Prefix();
|
||||||
|
m_Params.clear();
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Freq, prefix + "helicoid_frequency", 1));
|
||||||
|
m_Params.push_back(ParamWithName<T>(true, &m_Freq2Pi, prefix + "helicoid_frequency_2pi"));//Precalc.
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
T m_Freq;
|
||||||
|
T m_Freq2Pi;//Precalc.
|
||||||
|
};
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// helix.
|
||||||
|
/// </summary>
|
||||||
|
template <typename T>
|
||||||
|
class HelixVariation : public ParametricVariation<T>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
HelixVariation(T weight = 1.0) : ParametricVariation<T>("helix", eVariationId::VAR_HELIX, weight)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
PARVARCOPY(HelixVariation)
|
||||||
|
|
||||||
|
virtual void Func(IteratorHelper<T>& helper, Point<T>& outPoint, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand) override
|
||||||
|
{
|
||||||
|
T temp = helper.In.z * m_Freq2Pi;
|
||||||
|
helper.Out.x = m_Weight * (helper.In.x + std::cos(temp) * m_Width);
|
||||||
|
helper.Out.y = m_Weight * (helper.In.y + std::sin(temp) * m_Width);
|
||||||
|
helper.Out.z = m_Weight * helper.In.z;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual string OpenCLString() const override
|
||||||
|
{
|
||||||
|
ostringstream ss, ss2;
|
||||||
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
|
string freq = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string width = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string freq2pi = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
ss << "\t{\n"
|
||||||
|
<< "\t\treal_t temp = vIn.z * " << freq2pi << ";\n"
|
||||||
|
<< "\t\tvOut.x = " << weight << " * (vIn.x + cos(temp) * " << width << ");\n"
|
||||||
|
<< "\t\tvOut.y = " << weight << " * (vIn.y + sin(temp) * " << width << ");\n"
|
||||||
|
<< "\t\tvOut.z = " << weight << " * vIn.z ;\n"
|
||||||
|
<< "\t}\n";
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void Precalc() override
|
||||||
|
{
|
||||||
|
m_Freq2Pi = m_Freq * M_2PI;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
string prefix = Prefix();
|
||||||
|
m_Params.clear();
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Freq, prefix + "helix_frequency", 1));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Width, prefix + "helix_width", T(0.5)));
|
||||||
|
m_Params.push_back(ParamWithName<T>(true, &m_Freq2Pi, prefix + "helix_frequency_2pi"));//Precalc.
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
T m_Freq;
|
||||||
|
T m_Width;
|
||||||
|
T m_Freq2Pi;//Precalc.
|
||||||
|
};
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// sphereblur.
|
||||||
|
/// </summary>
|
||||||
|
template <typename T>
|
||||||
|
class SphereblurVariation : public ParametricVariation<T>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SphereblurVariation(T weight = 1.0) : ParametricVariation<T>("sphereblur", eVariationId::VAR_SPHEREBLUR, weight)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
PARVARCOPY(SphereblurVariation)
|
||||||
|
|
||||||
|
virtual void Func(IteratorHelper<T>& helper, Point<T>& outPoint, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand) override
|
||||||
|
{
|
||||||
|
T ang = rand.Frand01<T>() * M_2PI;
|
||||||
|
T angz = std::acos(rand.Frand01<T>() * 2 - 1);
|
||||||
|
T r = m_Weight * std::exp(std::log(std::acos((m_Power == T(1.0) ? rand.Frand01<T>() : std::exp(std::log(rand.Frand01<T>()) * m_Power)) * 2 - 1) / T(M_PI)) / T(1.5));
|
||||||
|
T s = std::sin(ang);
|
||||||
|
T c = std::cos(ang);
|
||||||
|
T sz = std::sin(angz);
|
||||||
|
T cz = std::cos(angz);
|
||||||
|
helper.Out.x = r * c * sz;
|
||||||
|
helper.Out.y = r * s * sz;
|
||||||
|
helper.Out.z = r * cz;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual string OpenCLString() const override
|
||||||
|
{
|
||||||
|
ostringstream ss, ss2;
|
||||||
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
|
string power = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
ss << "\t{\n"
|
||||||
|
<< "\t\treal_t ang = MwcNext01(mwc) * M_2PI;\n"
|
||||||
|
<< "\t\treal_t angz = acos(MwcNext01(mwc) * 2 - 1);\n"
|
||||||
|
<< "\t\treal_t r = " << weight << " * exp(log(acos((" << power << " == 1.0 ? MwcNext01(mwc) : exp(log(MwcNext01(mwc)) * " << power << ")) * 2 - 1) / M_PI) / 1.5);\n"
|
||||||
|
<< "\t\treal_t s = sin(ang);\n"
|
||||||
|
<< "\t\treal_t c = cos(ang);\n"
|
||||||
|
<< "\t\treal_t sz = sin(angz);\n"
|
||||||
|
<< "\t\treal_t cz = cos(angz);\n"
|
||||||
|
<< "\t\tvOut.x = r * c * sz;\n"
|
||||||
|
<< "\t\tvOut.y = r * s * sz;\n"
|
||||||
|
<< "\t\tvOut.z = r * cz;\n"
|
||||||
|
<< "\t}\n";
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void Precalc() override
|
||||||
|
{
|
||||||
|
if (m_Power < 0)
|
||||||
|
m_Power = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
string prefix = Prefix();
|
||||||
|
m_Params.clear();
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Power, prefix + "sphereblur_power", 1, eParamType::REAL, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
T m_Power;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// cpow3.
|
||||||
|
/// </summary>
|
||||||
|
template <typename T>
|
||||||
|
class Cpow3Variation : public ParametricVariation<T>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
Cpow3Variation(T weight = 1.0) : ParametricVariation<T>("cpow3", eVariationId::VAR_CPOW3, weight, true, false, false, false, true)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
PARVARCOPY(Cpow3Variation)
|
||||||
|
|
||||||
|
virtual void Func(IteratorHelper<T>& helper, Point<T>& outPoint, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand) override
|
||||||
|
{
|
||||||
|
T a = helper.m_PrecalcAtanyx;
|
||||||
|
|
||||||
|
if (a < 0) a += M_2PI;
|
||||||
|
|
||||||
|
if (std::cos(a / 2) < rand.Frand11<T>())
|
||||||
|
a -= M_2PI;
|
||||||
|
|
||||||
|
a += (rand.RandBit() ? M_2PI : -M_2PI) * std::round(std::log(rand.Frand01<T>()) * m_Coeff);
|
||||||
|
T lnr2 = std::log(helper.m_PrecalcSumSquares);
|
||||||
|
T r = m_Weight * std::exp(m_HalfC * lnr2 - m_PrecalcD * a);
|
||||||
|
T temp = m_PrecalcC * a + m_HalfD * lnr2 + m_Ang * rand.Rand();
|
||||||
|
helper.Out.x = r * std::cos(temp);
|
||||||
|
helper.Out.y = r * std::sin(temp);
|
||||||
|
helper.Out.z = DefaultZ(helper);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual string OpenCLString() const override
|
||||||
|
{
|
||||||
|
ostringstream ss, ss2;
|
||||||
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
|
string r = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string d = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string divisor = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string spread = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string precalcc = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string halfc = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string precalcd = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string halfd = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string ang = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string coeff = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
ss << "\t{\n"
|
||||||
|
<< "\t\treal_t a = precalcAtanyx;\n"
|
||||||
|
<< "\n"
|
||||||
|
<< "\t\tif (a < 0) a += M_2PI;\n"
|
||||||
|
<< "\n"
|
||||||
|
<< "\t\tif (cos(a / 2) < MwcNextNeg1Pos1(mwc))\n"
|
||||||
|
<< "\t\ta -= M_2PI;\n"
|
||||||
|
<< "\n"
|
||||||
|
<< "\t\ta += ((MwcNext(mwc) & 1) ? M_2PI : -M_2PI) * round(log(MwcNext01(mwc)) * " << coeff << ");\n"
|
||||||
|
<< "\t\treal_t lnr2 = log(precalcSumSquares);\n"
|
||||||
|
<< "\t\treal_t r = " << weight << " * exp(" << halfc << " * lnr2 - " << precalcd << " * a);\n"
|
||||||
|
<< "\t\treal_t temp = " << precalcc << " * a + " << halfd << " * lnr2 + " << ang << " * MwcNext(mwc);\n"
|
||||||
|
<< "\t\tvOut.x = r * cos(temp);\n"
|
||||||
|
<< "\t\tvOut.y = r * sin(temp);\n"
|
||||||
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
|
<< "\t}\n";
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void Precalc() override
|
||||||
|
{
|
||||||
|
m_Ang = M_2PI / Zeps(m_Divisor);
|
||||||
|
T a = std::atan2((m_D < 0 ? -std::log(-m_D) : std::log(m_D)) * m_R, M_2PI);
|
||||||
|
m_PrecalcC = std::cos(a) * m_R * std::cos(a) / m_Divisor;
|
||||||
|
m_PrecalcD = std::cos(a) * m_R * std::sin(a) / m_Divisor;
|
||||||
|
m_HalfC = m_PrecalcC / 2;
|
||||||
|
m_HalfD = m_PrecalcD / 2;
|
||||||
|
m_Coeff = m_PrecalcD == 0 ? 0 : T(-0.095) * m_Spread / m_PrecalcD;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
string prefix = Prefix();
|
||||||
|
m_Params.clear();
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_R, prefix + "cpow3_r", 1));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_D, prefix + "cpow3_d", 1, eParamType::REAL_NONZERO));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Divisor, prefix + "cpow3_divisor", 1, eParamType::INTEGER_NONZERO));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Spread, prefix + "cpow3_spread", 1));
|
||||||
|
m_Params.push_back(ParamWithName<T>(true, &m_PrecalcC, prefix + "cpow3_precalc_c"));//Precalc.
|
||||||
|
m_Params.push_back(ParamWithName<T>(true, &m_HalfC, prefix + "cpow3_half_c"));
|
||||||
|
m_Params.push_back(ParamWithName<T>(true, &m_PrecalcD, prefix + "cpow3_precalc_d"));
|
||||||
|
m_Params.push_back(ParamWithName<T>(true, &m_HalfD, prefix + "cpow3_half_d"));
|
||||||
|
m_Params.push_back(ParamWithName<T>(true, &m_Ang, prefix + "cpow3_ang"));
|
||||||
|
m_Params.push_back(ParamWithName<T>(true, &m_Coeff, prefix + "cpow3_coeff"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
T m_R;
|
||||||
|
T m_D;
|
||||||
|
T m_Divisor;
|
||||||
|
T m_Spread;
|
||||||
|
T m_PrecalcC;//Precalc.
|
||||||
|
T m_HalfC;
|
||||||
|
T m_PrecalcD;
|
||||||
|
T m_HalfD;
|
||||||
|
T m_Ang;
|
||||||
|
T m_Coeff;
|
||||||
|
};
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// concentric.
|
||||||
|
/// </summary>
|
||||||
|
template <typename T>
|
||||||
|
class ConcentricVariation : public ParametricVariation<T>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ConcentricVariation(T weight = 1.0) : ParametricVariation<T>("concentric", eVariationId::VAR_CONCENTRIC, weight)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
PARVARCOPY(ConcentricVariation)
|
||||||
|
|
||||||
|
virtual void Func(IteratorHelper<T>& helper, Point<T>& outPoint, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand) override
|
||||||
|
{
|
||||||
|
T lvl = (Floor<T>(rand.Frand01<T>() * m_Density) / Zeps(m_Density)); //random level. should care if density=0 but meh, works fine
|
||||||
|
T randa = rand.Frand01<T>() * M_2PI; //random angle
|
||||||
|
T randr = lvl * m_Radius; //calc radius of rings
|
||||||
|
|
||||||
|
if (m_Rblur != 0)
|
||||||
|
randr += (std::sqrt(rand.Frand01<T>()) * 2 - 1) * m_Rblur; //blur ring. sqrt is expensive but gives nice effect
|
||||||
|
|
||||||
|
if (m_VarType == eVariationType::VARTYPE_REG)
|
||||||
|
{
|
||||||
|
outPoint.m_X = 0;//This variation intentionally assigns instead of summing.
|
||||||
|
outPoint.m_Y = 0;
|
||||||
|
outPoint.m_Z = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
helper.Out.x = randr * std::cos(randa) * m_Weight; //polar to cartesian coords, origin is origin
|
||||||
|
helper.Out.y = randr * std::sin(randa) * m_Weight;
|
||||||
|
T zb = 0;
|
||||||
|
|
||||||
|
if (m_Zblur != 0)
|
||||||
|
zb = (rand.Frand01<T>() * 2 - 1) * m_Zblur;
|
||||||
|
|
||||||
|
helper.Out.z = (-lvl + zb) * m_Weight;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual string OpenCLString() const override
|
||||||
|
{
|
||||||
|
ostringstream ss, ss2;
|
||||||
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
|
string radius = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string density = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string rblur = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string zblur = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
ss << "\t{\n"
|
||||||
|
<< "\t\treal_t lvl = floor(MwcNext01(mwc) * " << density << ") / Zeps(" << density << ");\n"
|
||||||
|
<< "\t\treal_t randa = MwcNext01(mwc) * M_2PI;\n"
|
||||||
|
<< "\t\treal_t randr = lvl * " << radius << ";\n"
|
||||||
|
<< "\n"
|
||||||
|
<< "\t\tif (" << rblur << " != 0)\n"
|
||||||
|
<< "\t\t\trandr += (sqrt(MwcNext01(mwc)) * 2.0 - 1.0) * " << rblur << ";\n";
|
||||||
|
|
||||||
|
if (m_VarType == eVariationType::VARTYPE_REG)
|
||||||
|
{
|
||||||
|
ss << "\t\toutPoint->m_X = 0;\n"
|
||||||
|
<< "\t\toutPoint->m_Y = 0;\n"
|
||||||
|
<< "\t\toutPoint->m_Z = 0;\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
ss << "\t\tvOut.x = randr * cos(randa) * " << weight << ";\n"
|
||||||
|
<< "\t\tvOut.y = randr * sin(randa) * " << weight << ";\n"
|
||||||
|
<< "\t\treal_t zb = 0;\n"
|
||||||
|
<< "\n"
|
||||||
|
<< "\t\tif (" << zblur << " != 0)\n"
|
||||||
|
<< "\t\t\tzb = (MwcNext01(mwc) * 2.0 - 1.0) * " << zblur << ";\n"
|
||||||
|
<< "\n"
|
||||||
|
<< "\t\tvOut.z = (-lvl + zb) * " << weight << ";\n"
|
||||||
|
<< "\t}\n";
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual vector<string> OpenCLGlobalFuncNames() const override
|
||||||
|
{
|
||||||
|
return vector<string> { "Zeps" };
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
string prefix = Prefix();
|
||||||
|
m_Params.clear();
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Radius, prefix + "concentric_radius", 1));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Density, prefix + "concentric_density", 10, eParamType::REAL_NONZERO));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Rblur, prefix + "concentric_R_blur"));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Zblur, prefix + "concentric_Z_blur"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
T m_Radius;
|
||||||
|
T m_Density;
|
||||||
|
T m_Rblur;
|
||||||
|
T m_Zblur;
|
||||||
|
};
|
||||||
|
|
||||||
MAKEPREPOSTPARVAR(Splits3D, splits3D, SPLITS3D)
|
MAKEPREPOSTPARVAR(Splits3D, splits3D, SPLITS3D)
|
||||||
MAKEPREPOSTPARVAR(Waves2B, waves2b, WAVES2B)
|
MAKEPREPOSTPARVAR(Waves2B, waves2b, WAVES2B)
|
||||||
MAKEPREPOSTPARVAR(JacCn, jac_cn, JAC_CN)
|
MAKEPREPOSTPARVAR(JacCn, jac_cn, JAC_CN)
|
||||||
@ -1563,4 +2029,10 @@ MAKEPREPOSTPARVAR(TruchetFill, Truchet_fill, TRUCHET_FILL)
|
|||||||
MAKEPREPOSTPARVAR(Waves2Radial, waves2_radial, WAVES2_RADIAL)
|
MAKEPREPOSTPARVAR(Waves2Radial, waves2_radial, WAVES2_RADIAL)
|
||||||
MAKEPREPOSTVAR(Panorama1, panorama1, PANORAMA1)
|
MAKEPREPOSTVAR(Panorama1, panorama1, PANORAMA1)
|
||||||
MAKEPREPOSTVAR(Panorama2, panorama2, PANORAMA2)
|
MAKEPREPOSTVAR(Panorama2, panorama2, PANORAMA2)
|
||||||
|
//MAKEPREPOSTPARVAR(Arcsinh, arcsinh, ARCSINH)
|
||||||
|
MAKEPREPOSTPARVAR(Helicoid, helicoid, HELICOID)
|
||||||
|
MAKEPREPOSTPARVAR(Helix, helix, HELIX)
|
||||||
|
MAKEPREPOSTPARVAR(Sphereblur, sphereblur, SPHEREBLUR)
|
||||||
|
MAKEPREPOSTPARVAR(Cpow3, cpow3, CPOW3)
|
||||||
|
MAKEPREPOSTPARVAR(Concentric, concentric, CONCENTRIC)
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string scale = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
string scale = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
||||||
string centerX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string centerX = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string centerY = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string centerY = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -58,11 +59,11 @@ public:
|
|||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t r = precalcSumSquares;\n"
|
<< "\t\treal_t r = precalcSumSquares;\n"
|
||||||
<< "\t\treal_t r4_1 = Zeps(r / 4 + 1);\n"
|
<< "\t\treal_t r4_1 = Zeps(r / 4 + 1);\n"
|
||||||
<< "\t\tr4_1 = xform->m_VariationWeights[" << varIndex << "] / r4_1;\n"
|
<< "\t\tr4_1 = " << weight << " / r4_1;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = r4_1 * vIn.x;\n"
|
<< "\t\tvOut.x = r4_1 * vIn.x;\n"
|
||||||
<< "\t\tvOut.y = r4_1 * vIn.y;\n"
|
<< "\t\tvOut.y = r4_1 * vIn.y;\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * (2 / r4_1 - 1);\n"
|
<< "\t\tvOut.z = " << weight << " * (2 / r4_1 - 1);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\treal_t sumX, sumY;\n\n";
|
<< "\t\treal_t sumX, sumY;\n\n";
|
||||||
|
|
||||||
@ -150,6 +151,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string origin = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
string origin = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
||||||
string h = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Precalc.
|
string h = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Precalc.
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
@ -160,8 +162,8 @@ public:
|
|||||||
<< "\t\treal_t x0_xor_y0 = (real_t)(x0 ^ y0);\n"
|
<< "\t\treal_t x0_xor_y0 = (real_t)(x0 ^ y0);\n"
|
||||||
<< "\t\treal_t h = -" << h << " + (1 - x0_xor_y0) * " << h << ";\n"
|
<< "\t\treal_t h = -" << h << " + (1 - x0_xor_y0) * " << h << ";\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (xform->m_A * x + xform->m_B * y + xform->m_E);\n"
|
<< "\t\tvOut.x = " << weight << " * (xform->m_A * x + xform->m_B * y + xform->m_E);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (xform->m_C * x + xform->m_D * y + xform->m_F);\n"
|
<< "\t\tvOut.y = " << weight << " * (xform->m_C * x + xform->m_D * y + xform->m_F);\n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t\toutPoint->m_ColorX = fmod(fabs(outPoint->m_ColorX * (real_t)(0.5) * (1 + h) + x0_xor_y0 * (1 - h) * (real_t)(0.5)), (real_t)(1.0));\n"
|
<< "\t\toutPoint->m_ColorX = fmod(fabs(outPoint->m_ColorX * (real_t)(0.5) * (1 + h) + x0_xor_y0 * (1 - h) * (real_t)(0.5)), (real_t)(1.0));\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
@ -260,6 +262,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string cubeC1 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
string cubeC1 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
||||||
string cubeC2 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string cubeC2 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string cubeC3 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string cubeC3 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -285,9 +288,9 @@ public:
|
|||||||
<< "\t\tswitch (i)\n"
|
<< "\t\tswitch (i)\n"
|
||||||
<< "\t\t{\n"
|
<< "\t\t{\n"
|
||||||
<< "\t\t case 0:\n"
|
<< "\t\t case 0:\n"
|
||||||
<< "\t\t x = xform->m_VariationWeights[" << varIndex << "] * (j ? -1 : 1);\n"
|
<< "\t\t x = " << weight << " * (j ? -1 : 1);\n"
|
||||||
<< "\t\t y = xform->m_VariationWeights[" << varIndex << "] * p;\n"
|
<< "\t\t y = " << weight << " * p;\n"
|
||||||
<< "\t\t z = xform->m_VariationWeights[" << varIndex << "] * q;\n"
|
<< "\t\t z = " << weight << " * q;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t if (j)\n"
|
<< "\t\t if (j)\n"
|
||||||
<< "\t\t outPoint->m_ColorX = " << clampC1 << ";\n"
|
<< "\t\t outPoint->m_ColorX = " << clampC1 << ";\n"
|
||||||
@ -296,9 +299,9 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\t\t case 1:\n"
|
<< "\t\t case 1:\n"
|
||||||
<< "\t\t x =xform->m_VariationWeights[" << varIndex << "] * p;\n"
|
<< "\t\t x =" << weight << " * p;\n"
|
||||||
<< "\t\t y =xform->m_VariationWeights[" << varIndex << "] * (j ? -1 : 1);\n"
|
<< "\t\t y =" << weight << " * (j ? -1 : 1);\n"
|
||||||
<< "\t\t z =xform->m_VariationWeights[" << varIndex << "] * q;\n"
|
<< "\t\t z =" << weight << " * q;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t if (j)\n"
|
<< "\t\t if (j)\n"
|
||||||
<< "\t\t outPoint->m_ColorX = " << clampC3 << ";\n"
|
<< "\t\t outPoint->m_ColorX = " << clampC3 << ";\n"
|
||||||
@ -307,9 +310,9 @@ public:
|
|||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t break;\n"
|
<< "\t\t break;\n"
|
||||||
<< "\t\t case 2:\n"
|
<< "\t\t case 2:\n"
|
||||||
<< "\t\t x = xform->m_VariationWeights[" << varIndex << "] * p;\n"
|
<< "\t\t x = " << weight << " * p;\n"
|
||||||
<< "\t\t y = xform->m_VariationWeights[" << varIndex << "] * q;\n"
|
<< "\t\t y = " << weight << " * q;\n"
|
||||||
<< "\t\t z = xform->m_VariationWeights[" << varIndex << "] * (j ? -1 : 1);\n"
|
<< "\t\t z = " << weight << " * (j ? -1 : 1);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\t if (j)\n"
|
<< "\t\t if (j)\n"
|
||||||
<< "\t\t outPoint->m_ColorX = " << clampC5 << ";\n"
|
<< "\t\t outPoint->m_ColorX = " << clampC5 << ";\n"
|
||||||
@ -424,6 +427,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string offset = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
string offset = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
||||||
string angle = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string angle = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string scale = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string scale = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -439,9 +443,9 @@ public:
|
|||||||
<< "\t\treal_t sr = sin(temp);\n"
|
<< "\t\treal_t sr = sin(temp);\n"
|
||||||
<< "\t\treal_t cr = cos(temp);\n"
|
<< "\t\treal_t cr = cos(temp);\n"
|
||||||
<< "\t\treal_t r = " << blur << " * (MwcNext01(mwc) + MwcNext01(mwc) + MwcNext01(mwc) + MwcNext01(mwc) - 2);\n"
|
<< "\t\treal_t r = " << blur << " * (MwcNext01(mwc) + MwcNext01(mwc) + MwcNext01(mwc) + MwcNext01(mwc) - 2);\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * sin(vIn.x + r * sr)* " << x << ";\n"
|
<< "\t\tvOut.x = " << weight << " * sin(vIn.x + r * sr)* " << x << ";\n"
|
||||||
<< "\t\tvOut.y = r + vIn.y * " << y << ";\n"
|
<< "\t\tvOut.y = r + vIn.y * " << y << ";\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * cos(vIn.x + r * cr);\n"
|
<< "\t\tvOut.z = " << weight << " * cos(vIn.x + r * cr);\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\treal_t sumX, sumY;\n\n";
|
<< "\t\treal_t sumX, sumY;\n\n";
|
||||||
|
|
||||||
@ -596,6 +600,7 @@ public:
|
|||||||
{
|
{
|
||||||
ostringstream ss;
|
ostringstream ss;
|
||||||
intmax_t varIndex = IndexInXform();
|
intmax_t varIndex = IndexInXform();
|
||||||
|
string weight = WeightDefineString();
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\treal_t x = LRint(vIn.x);\n"
|
<< "\t\treal_t x = LRint(vIn.x);\n"
|
||||||
<< "\t\treal_t y = LRint(vIn.y);\n"
|
<< "\t\treal_t y = LRint(vIn.y);\n"
|
||||||
@ -607,14 +612,14 @@ public:
|
|||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t if (-y >= x)\n"
|
<< "\t\t if (-y >= x)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x + 1);\n"
|
<< "\t\t vOut.x = " << weight << " * (vIn.x + 1);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t c += (real_t)(0.25);\n"
|
<< "\t\t c += (real_t)(0.25);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y + 1);\n"
|
<< "\t\t vOut.y = " << weight << " * (vIn.y + 1);\n"
|
||||||
<< "\t\t c += (real_t)(0.75);\n"
|
<< "\t\t c += (real_t)(0.75);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
@ -622,14 +627,14 @@ public:
|
|||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t if (y <= x)\n"
|
<< "\t\t if (y <= x)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x + 1);\n"
|
<< "\t\t vOut.x = " << weight << " * (vIn.x + 1);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t c += (real_t)(0.25);\n"
|
<< "\t\t c += (real_t)(0.25);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y - 1);\n"
|
<< "\t\t vOut.y = " << weight << " * (vIn.y - 1);\n"
|
||||||
<< "\t\t c += (real_t)(0.75);\n"
|
<< "\t\t c += (real_t)(0.75);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
@ -640,14 +645,14 @@ public:
|
|||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t if (y >= x)\n"
|
<< "\t\t if (y >= x)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x - 1);\n"
|
<< "\t\t vOut.x = " << weight << " * (vIn.x - 1);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t c += (real_t)(0.25);\n"
|
<< "\t\t c += (real_t)(0.25);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y + 1);\n"
|
<< "\t\t vOut.y = " << weight << " * (vIn.y + 1);\n"
|
||||||
<< "\t\t c += (real_t)(0.75);\n"
|
<< "\t\t c += (real_t)(0.75);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
@ -655,14 +660,14 @@ public:
|
|||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t if (y > -x)\n"
|
<< "\t\t if (y > -x)\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * (vIn.x - 1);\n"
|
<< "\t\t vOut.x = " << weight << " * (vIn.x - 1);\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\t vOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\t c += (real_t)(0.25);\n"
|
<< "\t\t c += (real_t)(0.25);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t else\n"
|
<< "\t\t else\n"
|
||||||
<< "\t\t {\n"
|
<< "\t\t {\n"
|
||||||
<< "\t\t vOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\t vOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\t vOut.y = xform->m_VariationWeights[" << varIndex << "] * (vIn.y - 1);\n"
|
<< "\t\t vOut.y = " << weight << " * (vIn.y - 1);\n"
|
||||||
<< "\t\t c += (real_t)(0.75);\n"
|
<< "\t\t c += (real_t)(0.75);\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
@ -724,6 +729,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string offset = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
string offset = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
||||||
string angle = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string angle = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string scale = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string scale = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -732,9 +738,9 @@ public:
|
|||||||
string sina = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string sina = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string cosa = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string cosa = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
ss << "\t{\n"
|
ss << "\t{\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\tvOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\tvOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * vIn.z;\n"
|
<< "\t\tvOut.z = " << weight << " * vIn.z;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\treal_t sumX, sumY;\n\n";
|
<< "\t\treal_t sumX, sumY;\n\n";
|
||||||
|
|
||||||
@ -894,6 +900,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string scatterArea = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
string scatterArea = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
||||||
string zeroEdges = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string zeroEdges = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Precalc.
|
string a = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Precalc.
|
||||||
@ -969,9 +976,9 @@ public:
|
|||||||
<< "\t\t }\n"
|
<< "\t\t }\n"
|
||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * (ox + u * xx + v * yx);\n"
|
<< "\t\tvOut.x = " << weight << " * (ox + u * xx + v * yx);\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * (oy + u * xy + v * yy);\n"
|
<< "\t\tvOut.y = " << weight << " * (oy + u * xy + v * yy);\n"
|
||||||
<< "\t\tvOut.z = xform->m_VariationWeights[" << varIndex << "] * vIn.z;\n"
|
<< "\t\tvOut.z = " << weight << " * vIn.z;\n"
|
||||||
<< "\t\toutPoint->m_ColorX = fmod(fabs(u + v), (real_t)(1.0));\n"
|
<< "\t\toutPoint->m_ColorX = fmod(fabs(u + v), (real_t)(1.0));\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
@ -1036,6 +1043,7 @@ public:
|
|||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber() << "]";
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
string index = ss2.str();
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string x0 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
string x0 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;//Params.
|
||||||
string x1 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string x1 = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string factor = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string factor = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1050,13 +1058,13 @@ public:
|
|||||||
<< "\t\tif (" << clamp << " != 0)\n"
|
<< "\t\tif (" << clamp << " != 0)\n"
|
||||||
<< "\t\t zf = zf < 0 ? 0 : zf > 1 ? 1 : zf;\n"
|
<< "\t\t zf = zf < 0 ? 0 : zf > 1 ? 1 : zf;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * vIn.x;\n"
|
<< "\t\tvOut.x = " << weight << " * vIn.x;\n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * vIn.y;\n"
|
<< "\t\tvOut.y = " << weight << " * vIn.y;\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tif (" << overwrite << " == 0)\n"
|
<< "\t\tif (" << overwrite << " == 0)\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * vIn.z * zf;\n"
|
<< "\t\t vOut.z = " << weight << " * vIn.z * zf;\n"
|
||||||
<< "\t\telse\n"
|
<< "\t\telse\n"
|
||||||
<< "\t\t vOut.z = xform->m_VariationWeights[" << varIndex << "] * zf;\n"
|
<< "\t\t vOut.z = " << weight << " * zf;\n"
|
||||||
<< "\t}\n";
|
<< "\t}\n";
|
||||||
return ss.str();
|
return ss.str();
|
||||||
}
|
}
|
||||||
@ -1262,6 +1270,7 @@ public:
|
|||||||
ostringstream ss, ss2;
|
ostringstream ss, ss2;
|
||||||
intmax_t i = 0, varIndex = IndexInXform();
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
ss2 << "_" << XformIndexInEmber();
|
ss2 << "_" << XformIndexInEmber();
|
||||||
|
string weight = WeightDefineString();
|
||||||
string index = ss2.str() + "]";
|
string index = ss2.str() + "]";
|
||||||
string shape = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string shape = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
string map = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
string map = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
@ -1393,8 +1402,8 @@ public:
|
|||||||
<< "\t\t}\n"
|
<< "\t\t}\n"
|
||||||
<< "\t\twhile ((e < " << notchBottom << " || e > " << notchTop << ") && t++ < iBailout); \n"
|
<< "\t\twhile ((e < " << notchBottom << " || e > " << notchTop << ") && t++ < iBailout); \n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "\t\tvOut.x = xform->m_VariationWeights[" << varIndex << "] * vx; \n"
|
<< "\t\tvOut.x = " << weight << " * vx; \n"
|
||||||
<< "\t\tvOut.y = xform->m_VariationWeights[" << varIndex << "] * vy; \n"
|
<< "\t\tvOut.y = " << weight << " * vy; \n"
|
||||||
<< "\t\tvOut.z = " << DefaultZCl()
|
<< "\t\tvOut.z = " << DefaultZCl()
|
||||||
<< "\t\tcol = " << centre << " + " << range << " * p; \n"
|
<< "\t\tcol = " << centre << " + " << range << " * p; \n"
|
||||||
<< "\t\toutPoint->m_ColorX = col - floor(col); \n"
|
<< "\t\toutPoint->m_ColorX = col - floor(col); \n"
|
||||||
@ -1452,6 +1461,96 @@ private:
|
|||||||
shared_ptr<VarFuncs<T>> m_VarFuncs = VarFuncs<T>::Instance();
|
shared_ptr<VarFuncs<T>> m_VarFuncs = VarFuncs<T>::Instance();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// randCubes.
|
||||||
|
/// </summary>
|
||||||
|
template <typename T>
|
||||||
|
class RandCubesVariation : public ParametricVariation<T>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
RandCubesVariation(T weight = 1.0) : ParametricVariation<T>("randCubes", eVariationId::VAR_RAND_CUBES, weight)
|
||||||
|
{
|
||||||
|
Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
PARVARCOPY(RandCubesVariation)
|
||||||
|
|
||||||
|
virtual void Func(IteratorHelper<T>& helper, Point<T>& outPoint, QTIsaac<ISAAC_SIZE, ISAAC_INT>& rand) override
|
||||||
|
{
|
||||||
|
auto blockx = Floor<T>(std::log(rand.Frand01<T>()) * (rand.RandBit() ? m_Spread : -m_Spread));
|
||||||
|
auto blocky = Floor<T>(std::log(rand.Frand01<T>()) * (rand.RandBit() ? m_Spread : -m_Spread));
|
||||||
|
T z = VarFuncs<T>::Hash(int(blockx * m_Seed)) + VarFuncs<T>::Hash(int(blockx + blocky * m_Seed)); //random height for each block
|
||||||
|
|
||||||
|
if (m_VarType == eVariationType::VARTYPE_REG)
|
||||||
|
{
|
||||||
|
outPoint.m_X = 0;//This variation intentionally assigns instead of summing.
|
||||||
|
outPoint.m_Y = 0;
|
||||||
|
outPoint.m_Z = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
helper.Out.x = (blockx * m_Density + rand.Frand01<T>()) * m_BlockSize;
|
||||||
|
helper.Out.y = (blocky * m_Density + rand.Frand01<T>()) * m_BlockSize;
|
||||||
|
helper.Out.z = m_BlockHeight * z * std::pow(rand.Frand01<T>(), T(0.125)); //fade out down
|
||||||
|
outPoint.m_ColorX = z / 2;//block height -> palette location
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual string OpenCLString() const override
|
||||||
|
{
|
||||||
|
ostringstream ss, ss2;
|
||||||
|
intmax_t i = 0, varIndex = IndexInXform();
|
||||||
|
ss2 << "_" << XformIndexInEmber() << "]";
|
||||||
|
string index = ss2.str();
|
||||||
|
string weight = WeightDefineString();
|
||||||
|
string blocksize = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string blockheight = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string spread = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string seed = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
string density = "parVars[" + ToUpper(m_Params[i++].Name()) + index;
|
||||||
|
ss << "\t{\n"
|
||||||
|
<< "\t\treal_t blockx = floor(log(MwcNext01(mwc)) * ((MwcNext(mwc) & 1) ? " << spread << " : -" << spread << "));\n"
|
||||||
|
<< "\t\treal_t blocky = floor(log(MwcNext01(mwc)) * ((MwcNext(mwc) & 1) ? " << spread << " : -" << spread << "));\n"
|
||||||
|
<< "\t\treal_t z = Hash(blockx * " << seed << ") + Hash(blockx + blocky * " << seed << ");\n";
|
||||||
|
|
||||||
|
if (m_VarType == eVariationType::VARTYPE_REG)
|
||||||
|
{
|
||||||
|
ss << "\t\toutPoint->m_X = 0;\n"
|
||||||
|
<< "\t\toutPoint->m_Y = 0;\n"
|
||||||
|
<< "\t\toutPoint->m_Z = 0;\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
ss << "\t\tvOut.x = (blockx * " << density << " + MwcNext01(mwc)) * " << blocksize << ";\n"
|
||||||
|
<< "\t\tvOut.y = (blocky * " << density << " + MwcNext01(mwc)) * " << blocksize << ";\n"
|
||||||
|
<< "\t\tvOut.z = " << blockheight << " * z * pow(MwcNext01(mwc), 0.125);\n"
|
||||||
|
<< "\t\toutPoint->m_ColorX = z / 2;\n"
|
||||||
|
<< "\t}\n";
|
||||||
|
return ss.str();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual vector<string> OpenCLGlobalFuncNames() const override
|
||||||
|
{
|
||||||
|
return vector<string> { "Hash" };
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
string prefix = Prefix();
|
||||||
|
m_Params.clear();
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_BlockSize, prefix + "randCubes_blockSize", 1));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_BlockHeight, prefix + "randCubes_blockHeight", 1));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Spread, prefix + "randCubes_spread", 3));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Seed, prefix + "randCubes_seed", 1, eParamType::INTEGER));
|
||||||
|
m_Params.push_back(ParamWithName<T>(&m_Density, prefix + "randCubes_density", 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
T m_BlockSize;
|
||||||
|
T m_BlockHeight;
|
||||||
|
T m_Spread;
|
||||||
|
T m_Seed;
|
||||||
|
T m_Density;
|
||||||
|
};
|
||||||
|
|
||||||
MAKEPREPOSTPARVAR(DCBubble, dc_bubble, DC_BUBBLE)
|
MAKEPREPOSTPARVAR(DCBubble, dc_bubble, DC_BUBBLE)
|
||||||
MAKEPREPOSTPARVAR(DCCarpet, dc_carpet, DC_CARPET)
|
MAKEPREPOSTPARVAR(DCCarpet, dc_carpet, DC_CARPET)
|
||||||
MAKEPREPOSTPARVARASSIGN(DCCube, dc_cube, DC_CUBE, eVariationAssignType::ASSIGNTYPE_SUM)
|
MAKEPREPOSTPARVARASSIGN(DCCube, dc_cube, DC_CUBE, eVariationAssignType::ASSIGNTYPE_SUM)
|
||||||
@ -1461,4 +1560,5 @@ MAKEPREPOSTPARVAR(DCLinear, dc_linear, DC_LINEAR)
|
|||||||
MAKEPREPOSTPARVAR(DCTriangle, dc_triangle, DC_TRIANGLE)
|
MAKEPREPOSTPARVAR(DCTriangle, dc_triangle, DC_TRIANGLE)
|
||||||
MAKEPREPOSTPARVAR(DCZTransl, dc_ztransl, DC_ZTRANSL)
|
MAKEPREPOSTPARVAR(DCZTransl, dc_ztransl, DC_ZTRANSL)
|
||||||
MAKEPREPOSTPARVAR(DCPerlin, dc_perlin, DC_PERLIN)
|
MAKEPREPOSTPARVAR(DCPerlin, dc_perlin, DC_PERLIN)
|
||||||
|
MAKEPREPOSTPARVAR(RandCubes, randCubes, RAND_CUBES)
|
||||||
}
|
}
|
||||||
|
@ -656,9 +656,9 @@ public:
|
|||||||
{
|
{
|
||||||
//There are no variations, so the affine transformed points can be assigned directly to the output points.
|
//There are no variations, so the affine transformed points can be assigned directly to the output points.
|
||||||
T inX = inPoint->m_X;
|
T inX = inPoint->m_X;
|
||||||
outPoint->m_X = (m_Affine.A() * inX) + (m_Affine.B() * inPoint->m_Y) + m_Affine.C();
|
outPoint->m_X = 0;//(m_Affine.A() * inX) + (m_Affine.B() * inPoint->m_Y) + m_Affine.C();
|
||||||
outPoint->m_Y = (m_Affine.D() * inX) + (m_Affine.E() * inPoint->m_Y) + m_Affine.F();
|
outPoint->m_Y = 0;//(m_Affine.D() * inX) + (m_Affine.E() * inPoint->m_Y) + m_Affine.F();
|
||||||
outPoint->m_Z = inPoint->m_Z;
|
outPoint->m_Z = 0;//inPoint->m_Z;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Apply post variations, these will modify outPoint.
|
//Apply post variations, these will modify outPoint.
|
||||||
@ -917,17 +917,15 @@ public:
|
|||||||
|
|
||||||
if (shouldFlatten)//Flatten was not present and neither was any variation name or parameter in the list.
|
if (shouldFlatten)//Flatten was not present and neither was any variation name or parameter in the list.
|
||||||
{
|
{
|
||||||
auto var = vl->GetVariationCopy(eVariationId::VAR_FLATTEN);
|
auto varflatten = vl->GetVariationCopy(eVariationId::VAR_FLATTEN);
|
||||||
|
|
||||||
if (AddVariation(var))
|
if (!AddVariation(varflatten))
|
||||||
{
|
{
|
||||||
return true;
|
delete varflatten;
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
delete var;
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ XmlToEmber<T>::XmlToEmber()
|
|||||||
if (!m_Init)
|
if (!m_Init)
|
||||||
{
|
{
|
||||||
//This list is for variation params which are incorrect, but their parent variation name may or may not be correct.
|
//This list is for variation params which are incorrect, but their parent variation name may or may not be correct.
|
||||||
//This has some overlap with the list below since some of these have parent variation names that are incorrect.
|
//This has some overlap with the list below since some of these have parent variation names that are also incorrect.
|
||||||
m_BadParamNames = unordered_map<string, string>
|
m_BadParamNames = unordered_map<string, string>
|
||||||
{
|
{
|
||||||
{ "swtin_distort", "stwin_distort" }, //stwin.
|
{ "swtin_distort", "stwin_distort" }, //stwin.
|
||||||
@ -163,7 +163,16 @@ XmlToEmber<T>::XmlToEmber()
|
|||||||
{ "w2r_distance", "waves2_radial_distance" },
|
{ "w2r_distance", "waves2_radial_distance" },
|
||||||
{ "tf_exponent", "Truchet_fill_exponent" },
|
{ "tf_exponent", "Truchet_fill_exponent" },
|
||||||
{ "tf_arc_width", "Truchet_fill_arc_width" },
|
{ "tf_arc_width", "Truchet_fill_arc_width" },
|
||||||
{ "tf_seed", "Truchet_fill_seed" }
|
{ "tf_seed", "Truchet_fill_seed" },
|
||||||
|
{ "blockSize", "randCubes_blockSize" },
|
||||||
|
{ "blockHeight", "randCubes_blockHeight" },
|
||||||
|
{ "spread", "randCubes_spread" },
|
||||||
|
{ "seed", "randCubes_seed" },
|
||||||
|
{ "density", "randCubes_density" },
|
||||||
|
{ "radius", "concentric_radius" },
|
||||||
|
//{ "density", "concentric_density" },//Can't have two, which means you can never properly paste from Apophysis with both of these in one xform.
|
||||||
|
{ "R_blur", "concentric_R_blur" },
|
||||||
|
{ "Z_blur", "concentric_Z_blur" }
|
||||||
};
|
};
|
||||||
m_FlattenNames =
|
m_FlattenNames =
|
||||||
{
|
{
|
||||||
@ -191,6 +200,7 @@ XmlToEmber<T>::XmlToEmber()
|
|||||||
"post_rotate_x",
|
"post_rotate_x",
|
||||||
"post_rotate_y",
|
"post_rotate_y",
|
||||||
"curl3D_cz",
|
"curl3D_cz",
|
||||||
|
"flatten"//Of course don't flatten if it's already present.
|
||||||
};
|
};
|
||||||
//This is a vector of the incorrect variation names and their param names as they are in the legacy, badly named flam3/Apophysis code.
|
//This is a vector of the incorrect variation names and their param names as they are in the legacy, badly named flam3/Apophysis code.
|
||||||
vector<string> badParams =
|
vector<string> badParams =
|
||||||
@ -284,7 +294,6 @@ template <typename T>
|
|||||||
template <typename Alloc, template <typename, typename> class C>
|
template <typename Alloc, template <typename, typename> class C>
|
||||||
bool XmlToEmber<T>::Parse(byte* buf, const char* filename, C<Ember<T>, Alloc>& embers, bool useDefaults)
|
bool XmlToEmber<T>::Parse(byte* buf, const char* filename, C<Ember<T>, Alloc>& embers, bool useDefaults)
|
||||||
{
|
{
|
||||||
char* bn;
|
|
||||||
const char* xmlPtr;
|
const char* xmlPtr;
|
||||||
const char* loc = __FUNCTION__;
|
const char* loc = __FUNCTION__;
|
||||||
size_t emberSize;
|
size_t emberSize;
|
||||||
@ -298,16 +307,17 @@ bool XmlToEmber<T>::Parse(byte* buf, const char* filename, C<Ember<T>, Alloc>& e
|
|||||||
xmlPtr = CX(&buf[0]);
|
xmlPtr = CX(&buf[0]);
|
||||||
bufSize = strlen(xmlPtr);
|
bufSize = strlen(xmlPtr);
|
||||||
//embers.reserve(bufSize / 2500);//The Xml text for an ember is around 2500 bytes, but can be much more. Pre-allocate to aovid unnecessary resizing.
|
//embers.reserve(bufSize / 2500);//The Xml text for an ember is around 2500 bytes, but can be much more. Pre-allocate to aovid unnecessary resizing.
|
||||||
doc = xmlReadMemory(xmlPtr, int(bufSize), filename, "ISO-8859-1", XML_PARSE_HUGE);
|
int flags = XML_PARSE_HUGE;// | XML_PARSE_RECOVER;
|
||||||
|
doc = xmlReadMemory(xmlPtr, int(bufSize), filename, "ISO-8859-1", flags);
|
||||||
//t.Toc("xmlReadMemory");
|
//t.Toc("xmlReadMemory");
|
||||||
|
|
||||||
if (doc == nullptr)
|
if (doc == nullptr)
|
||||||
{
|
{
|
||||||
doc = xmlReadMemory(xmlPtr, int(bufSize), filename, "UTF-8", XML_PARSE_HUGE);
|
doc = xmlReadMemory(xmlPtr, int(bufSize), filename, "UTF-8", flags);
|
||||||
|
|
||||||
if (doc == nullptr)
|
if (doc == nullptr)
|
||||||
{
|
{
|
||||||
doc = xmlReadMemory(xmlPtr, int(bufSize), filename, "UTF-16", XML_PARSE_HUGE);
|
doc = xmlReadMemory(xmlPtr, int(bufSize), filename, "UTF-16", flags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -321,8 +331,7 @@ bool XmlToEmber<T>::Parse(byte* buf, const char* filename, C<Ember<T>, Alloc>& e
|
|||||||
rootnode = xmlDocGetRootElement(doc);
|
rootnode = xmlDocGetRootElement(doc);
|
||||||
//Scan for <flame> nodes, starting with this node.
|
//Scan for <flame> nodes, starting with this node.
|
||||||
//t.Tic();
|
//t.Tic();
|
||||||
bn = basename(const_cast<char*>(filename));
|
ScanForEmberNodes(rootnode, filename, embers, useDefaults);
|
||||||
ScanForEmberNodes(rootnode, bn, embers, useDefaults);
|
|
||||||
xmlFreeDoc(doc);
|
xmlFreeDoc(doc);
|
||||||
emberSize = embers.size();
|
emberSize = embers.size();
|
||||||
auto first = embers.begin();
|
auto first = embers.begin();
|
||||||
@ -345,6 +354,11 @@ bool XmlToEmber<T>::Parse(byte* buf, const char* filename, C<Ember<T>, Alloc>& e
|
|||||||
secondToLast->m_Interp = eInterp::EMBER_INTERP_LINEAR;
|
secondToLast->m_Interp = eInterp::EMBER_INTERP_LINEAR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AddToReport(string(loc) + " : Error parsing xml file " + string(filename) + ", no flames present.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//Finally, ensure that consecutive 'rotate' parameters never exceed
|
//Finally, ensure that consecutive 'rotate' parameters never exceed
|
||||||
//a difference of more than 180 degrees (+/-) for interpolation.
|
//a difference of more than 180 degrees (+/-) for interpolation.
|
||||||
@ -438,7 +452,7 @@ bool XmlToEmber<T>::Aton(const char* str, valT& val)
|
|||||||
/// <param name="useDefaults">True to use defaults if they are not present in the file, else false to use invalid values as placeholders to indicate the values were not present.</param>
|
/// <param name="useDefaults">True to use defaults if they are not present in the file, else false to use invalid values as placeholders to indicate the values were not present.</param>
|
||||||
template <typename T>
|
template <typename T>
|
||||||
template <typename Alloc, template <typename, typename> class C>
|
template <typename Alloc, template <typename, typename> class C>
|
||||||
void XmlToEmber<T>::ScanForEmberNodes(xmlNode* curNode, char* parentFile, C<Ember<T>, Alloc>& embers, bool useDefaults)
|
void XmlToEmber<T>::ScanForEmberNodes(xmlNode* curNode, const char* parentFile, C<Ember<T>, Alloc>& embers, bool useDefaults)
|
||||||
{
|
{
|
||||||
bool parseEmberSuccess;
|
bool parseEmberSuccess;
|
||||||
xmlNodePtr thisNode = nullptr;
|
xmlNodePtr thisNode = nullptr;
|
||||||
@ -1025,6 +1039,7 @@ bool XmlToEmber<T>::ParseEmberElement(xmlNode* emberNode, Ember<T>& currentEmber
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//If new_linear == 0, manually add a linear
|
||||||
if (!fromEmber && !newLinear)
|
if (!fromEmber && !newLinear)
|
||||||
currentEmber.Flatten(m_FlattenNames);
|
currentEmber.Flatten(m_FlattenNames);
|
||||||
|
|
||||||
@ -1107,7 +1122,7 @@ bool XmlToEmber<T>::ParseXform(xmlNode* childNode, Xform<T>& xform, bool motion,
|
|||||||
xform.m_Name = string(attStr);
|
xform.m_Name = string(attStr);
|
||||||
std::replace(xform.m_Name.begin(), xform.m_Name.end(), ' ', '_');
|
std::replace(xform.m_Name.begin(), xform.m_Name.end(), ' ', '_');
|
||||||
}
|
}
|
||||||
else if (!Compare(curAtt->name, "symmetry"))//Legacy support.
|
else if (!fromEmber && !Compare(curAtt->name, "symmetry"))//Legacy support.
|
||||||
{
|
{
|
||||||
//Deprecated, set both color_speed and animate to this value.
|
//Deprecated, set both color_speed and animate to this value.
|
||||||
//Huh? Either set it or not?
|
//Huh? Either set it or not?
|
||||||
@ -1284,6 +1299,8 @@ bool XmlToEmber<T>::ParseXform(xmlNode* childNode, Xform<T>& xform, bool motion,
|
|||||||
if (Aton(attStr, val))
|
if (Aton(attStr, val))
|
||||||
{
|
{
|
||||||
parVar->SetParamVal(name, val);
|
parVar->SetParamVal(name, val);
|
||||||
|
//if (!parVar->SetParamVal(name, val))
|
||||||
|
// AddToReport(string(loc) + " : Failed to set parametric variation parameter " + name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1382,7 +1399,7 @@ bool XmlToEmber<T>::XmlContainsTag(xmlAttrPtr att, const char* name)
|
|||||||
/// <param name="chan">The number of channels in each color</param>
|
/// <param name="chan">The number of channels in each color</param>
|
||||||
/// <returns>True if there were no errors, else false.</returns>
|
/// <returns>True if there were no errors, else false.</returns>
|
||||||
template <typename T>
|
template <typename T>
|
||||||
bool XmlToEmber<T>::ParseHexColors(char* colstr, Ember<T>& ember, size_t numColors, intmax_t chan)
|
bool XmlToEmber<T>::ParseHexColors(const char* colstr, Ember<T>& ember, size_t numColors, intmax_t chan)
|
||||||
{
|
{
|
||||||
stringstream ss, temp(colstr); ss >> std::hex;
|
stringstream ss, temp(colstr); ss >> std::hex;
|
||||||
string s1, s;
|
string s1, s;
|
||||||
|
@ -47,23 +47,23 @@ class EMBER_API XmlToEmber : public EmberReport
|
|||||||
public:
|
public:
|
||||||
XmlToEmber();
|
XmlToEmber();
|
||||||
template <typename Alloc, template <typename, typename> class C>
|
template <typename Alloc, template <typename, typename> class C>
|
||||||
bool Parse(byte* buf, const char* filename, C<Ember<T>, Alloc>& embers, bool useDefaults = true);
|
bool Parse(byte* buf, const char* filename, C<Ember<T>, Alloc>& embers, bool useDefaults);
|
||||||
template <typename Alloc, template <typename, typename> class C>
|
template <typename Alloc, template <typename, typename> class C>
|
||||||
bool Parse(const char* filename, C<Ember<T>, Alloc>& embers, bool useDefaults = true);
|
bool Parse(const char* filename, C<Ember<T>, Alloc>& embers, bool useDefaults);
|
||||||
template <typename valT>
|
template <typename valT>
|
||||||
bool Aton(const char* str, valT& val);
|
bool Aton(const char* str, valT& val);
|
||||||
static vector<string> m_FlattenNames;
|
static vector<string> m_FlattenNames;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
template <typename Alloc, template <typename, typename> class C>
|
template <typename Alloc, template <typename, typename> class C>
|
||||||
void ScanForEmberNodes(xmlNode* curNode, char* parentFile, C<Ember<T>, Alloc>& embers, bool useDefaults);
|
void ScanForEmberNodes(xmlNode* curNode, const char* parentFile, C<Ember<T>, Alloc>& embers, bool useDefaults);
|
||||||
bool ParseEmberElement(xmlNode* emberNode, Ember<T>& currentEmber);
|
bool ParseEmberElement(xmlNode* emberNode, Ember<T>& currentEmber);
|
||||||
bool AttToEmberMotionFloat(xmlAttrPtr att, const char* attStr, eEmberMotionParam param, EmberMotion<T>& motion);
|
bool AttToEmberMotionFloat(xmlAttrPtr att, const char* attStr, eEmberMotionParam param, EmberMotion<T>& motion);
|
||||||
bool ParseXform(xmlNode* childNode, Xform<T>& xform, bool motion, bool fromEmber);
|
bool ParseXform(xmlNode* childNode, Xform<T>& xform, bool motion, bool fromEmber);
|
||||||
static string GetCorrectedParamName(const unordered_map<string, string>& names, const char* name);
|
static string GetCorrectedParamName(const unordered_map<string, string>& names, const char* name);
|
||||||
static string GetCorrectedVariationName(vector<pair<pair<string, string>, vector<string>>>& vec, xmlAttrPtr att);
|
static string GetCorrectedVariationName(vector<pair<pair<string, string>, vector<string>>>& vec, xmlAttrPtr att);
|
||||||
static bool XmlContainsTag(xmlAttrPtr att, const char* name);
|
static bool XmlContainsTag(xmlAttrPtr att, const char* name);
|
||||||
bool ParseHexColors(char* colstr, Ember<T>& ember, size_t numColors, intmax_t chan);
|
bool ParseHexColors(const char* colstr, Ember<T>& ember, size_t numColors, intmax_t chan);
|
||||||
template <typename valT>
|
template <typename valT>
|
||||||
bool ParseAndAssign(const xmlChar* name, const char* attStr, const char* str, valT& val, bool& b);
|
bool ParseAndAssign(const xmlChar* name, const char* attStr, const char* str, valT& val, bool& b);
|
||||||
|
|
||||||
|
@ -72,7 +72,7 @@ static string ConstantDefinesString(bool doublePrecision)
|
|||||||
"#define COLORMAP_LENGTH 256u\n"
|
"#define COLORMAP_LENGTH 256u\n"
|
||||||
"#define COLORMAP_LENGTH_MINUS_1 255\n"
|
"#define COLORMAP_LENGTH_MINUS_1 255\n"
|
||||||
"#define DE_THRESH 100u\n"
|
"#define DE_THRESH 100u\n"
|
||||||
"#define BadVal(x) (((x) != (x)) || ((x) > 1e10) || ((x) < -1e10))\n"
|
"#define BadVal(x) (((x) != (x)) || ((x) > 1e20) || ((x) < -1e20))\n"
|
||||||
"#define SQR(x) ((x) * (x))\n"
|
"#define SQR(x) ((x) * (x))\n"
|
||||||
"#define CUBE(x) ((x) * (x) * (x))\n"
|
"#define CUBE(x) ((x) * (x) * (x))\n"
|
||||||
"#define MPI ((real_t)M_PI)\n"
|
"#define MPI ((real_t)M_PI)\n"
|
||||||
@ -158,9 +158,6 @@ static const char* PointCLStructString =
|
|||||||
"} Point;\n"
|
"} Point;\n"
|
||||||
"\n";
|
"\n";
|
||||||
|
|
||||||
#define MAX_CL_VARS 8//These must always match.
|
|
||||||
#define MAX_CL_VARS_STRING "8"
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A structure on the host used to hold all of the needed information for an xform used on the device to iterate in OpenCL.
|
/// A structure on the host used to hold all of the needed information for an xform used on the device to iterate in OpenCL.
|
||||||
/// Template argument expected to be float or double.
|
/// Template argument expected to be float or double.
|
||||||
@ -169,12 +166,11 @@ template <typename T>
|
|||||||
struct ALIGN XformCL
|
struct ALIGN XformCL
|
||||||
{
|
{
|
||||||
T m_A, m_B, m_C, m_D, m_E, m_F;//24 (48)
|
T m_A, m_B, m_C, m_D, m_E, m_F;//24 (48)
|
||||||
T m_VariationWeights[MAX_CL_VARS];//56 (112)
|
T m_PostA, m_PostB, m_PostC, m_PostD, m_PostE, m_PostF;//48 (96)
|
||||||
T m_PostA, m_PostB, m_PostC, m_PostD, m_PostE, m_PostF;//80 (160)
|
T m_DirectColor;//52 (104)
|
||||||
T m_DirectColor;//84 (168)
|
T m_ColorSpeedCache;//56 (112)
|
||||||
T m_ColorSpeedCache;//88 (176)
|
T m_OneMinusColorCache;//60 (120)
|
||||||
T m_OneMinusColorCache;//92 (184)
|
T m_Opacity;//64 (128)
|
||||||
T m_Opacity;//96 (192)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -184,7 +180,6 @@ static const char* XformCLStructString =
|
|||||||
"typedef struct __attribute__ " ALIGN_CL " _XformCL\n"
|
"typedef struct __attribute__ " ALIGN_CL " _XformCL\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
" real_t m_A, m_B, m_C, m_D, m_E, m_F;\n"
|
" real_t m_A, m_B, m_C, m_D, m_E, m_F;\n"
|
||||||
" real_t m_VariationWeights[" MAX_CL_VARS_STRING "];\n"
|
|
||||||
" real_t m_PostA, m_PostB, m_PostC, m_PostD, m_PostE, m_PostF;\n"
|
" real_t m_PostA, m_PostB, m_PostC, m_PostD, m_PostE, m_PostF;\n"
|
||||||
" real_t m_DirectColor;\n"
|
" real_t m_DirectColor;\n"
|
||||||
" real_t m_ColorSpeedCache;\n"
|
" real_t m_ColorSpeedCache;\n"
|
||||||
|
@ -125,6 +125,16 @@ FunctionMapper::FunctionMapper()
|
|||||||
" *val1 = *val2;\n"
|
" *val1 = *val2;\n"
|
||||||
" *val2 = tmp;\n"
|
" *val2 = tmp;\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
|
s_GlobalMap["Hash"] =
|
||||||
|
"inline real_t Hash(int a)\n"
|
||||||
|
"{\n"
|
||||||
|
" a = (a ^ 61) ^ (a >> 16);\n"
|
||||||
|
" a = a + (a << 3);\n"
|
||||||
|
" a = a ^ (a >> 4);\n"
|
||||||
|
" a = a * 0x27d4eb2d;\n"
|
||||||
|
" a = a ^ (a >> 15);\n"
|
||||||
|
" return (real_t)a / INT_MAX;\n"
|
||||||
|
"}\n";
|
||||||
s_GlobalMap["Vratio"] =
|
s_GlobalMap["Vratio"] =
|
||||||
"inline real_t Vratio(real2* p, real2* q, real2* u)\n"
|
"inline real_t Vratio(real2* p, real2* q, real2* u)\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
|
@ -96,9 +96,9 @@ string IterOpenCLKernelCreator<T>::CreateIterKernelString(const Ember<T>& ember,
|
|||||||
if (xform->PreVariationCount() + xform->VariationCount() == 0)
|
if (xform->PreVariationCount() + xform->VariationCount() == 0)
|
||||||
{
|
{
|
||||||
xformFuncs <<
|
xformFuncs <<
|
||||||
" outPoint->m_X = (xform->m_A * inPoint->m_X) + (xform->m_B * inPoint->m_Y) + xform->m_C;\n" <<
|
" outPoint->m_X = 0;\n"
|
||||||
" outPoint->m_Y = (xform->m_D * inPoint->m_X) + (xform->m_E * inPoint->m_Y) + xform->m_F;\n" <<
|
" outPoint->m_Y = 0;\n"
|
||||||
" outPoint->m_Z = inPoint->m_Z;\n";
|
" outPoint->m_Z = 0;\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -577,7 +577,7 @@ string IterOpenCLKernelCreator<T>::GlobalFunctionsString(const Ember<T>& ember)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create an OpenCL string of #defines and a corresponding host side vector for parametric variation values.
|
/// Create an OpenCL string of #defines and a corresponding host side vector for variation weights and parametric variation values.
|
||||||
/// Parametric variations present a special problem in the iteration code.
|
/// Parametric variations present a special problem in the iteration code.
|
||||||
/// The values can't be passed in with the array of other xform values because
|
/// The values can't be passed in with the array of other xform values because
|
||||||
/// the length of the parametric values is unknown.
|
/// the length of the parametric values is unknown.
|
||||||
@ -609,6 +609,7 @@ string IterOpenCLKernelCreator<T>::GlobalFunctionsString(const Ember<T>& ember)
|
|||||||
/// The variations use these #defines by first looking up the index of the
|
/// The variations use these #defines by first looking up the index of the
|
||||||
/// xform they belong to in the parent ember and generating the OpenCL string based on that
|
/// xform they belong to in the parent ember and generating the OpenCL string based on that
|
||||||
/// in their overridden OpenCLString() functions.
|
/// in their overridden OpenCLString() functions.
|
||||||
|
/// Note that variation weights are also included in this buffer and are looked up in a similar manner.
|
||||||
/// Template argument expected to be float or double.
|
/// Template argument expected to be float or double.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ember">The ember to create the values from</param>
|
/// <param name="ember">The ember to create the values from</param>
|
||||||
@ -618,7 +619,7 @@ string IterOpenCLKernelCreator<T>::GlobalFunctionsString(const Ember<T>& ember)
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
void IterOpenCLKernelCreator<T>::ParVarIndexDefines(const Ember<T>& ember, pair<string, vector<T>>& params, bool doVals, bool doString)
|
void IterOpenCLKernelCreator<T>::ParVarIndexDefines(const Ember<T>& ember, pair<string, vector<T>>& params, bool doVals, bool doString)
|
||||||
{
|
{
|
||||||
size_t i = 0, j, k, size = 0;
|
size_t i = 0, size = 0;
|
||||||
ostringstream os;
|
ostringstream os;
|
||||||
|
|
||||||
if (doVals)
|
if (doVals)
|
||||||
@ -626,13 +627,19 @@ void IterOpenCLKernelCreator<T>::ParVarIndexDefines(const Ember<T>& ember, pair<
|
|||||||
|
|
||||||
while (auto xform = ember.GetTotalXform(i))
|
while (auto xform = ember.GetTotalXform(i))
|
||||||
{
|
{
|
||||||
size_t varCount = xform->TotalVariationCount();
|
size_t j = 0;
|
||||||
|
|
||||||
for (j = 0; j < varCount; j++)
|
while (auto var = xform->GetVariation(j))
|
||||||
{
|
{
|
||||||
if (auto parVar = dynamic_cast<ParametricVariation<T>*>(xform->GetVariation(j)))
|
if (doString)
|
||||||
|
os << "#define WEIGHT_" << i << "_" << j << " " << size++ << "\n";//Uniquely identify the weight of this variation in this xform.
|
||||||
|
|
||||||
|
if (doVals)
|
||||||
|
params.second.push_back(var->m_Weight);
|
||||||
|
|
||||||
|
if (auto parVar = dynamic_cast<ParametricVariation<T>*>(var))
|
||||||
{
|
{
|
||||||
for (k = 0; k < parVar->ParamCount(); k++)
|
for (size_t k = 0; k < parVar->ParamCount(); k++)
|
||||||
{
|
{
|
||||||
if (!parVar->Params()[k].IsState())
|
if (!parVar->Params()[k].IsState())
|
||||||
{
|
{
|
||||||
@ -651,6 +658,8 @@ void IterOpenCLKernelCreator<T>::ParVarIndexDefines(const Ember<T>& ember, pair<
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
j++;
|
||||||
}
|
}
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
|
@ -1772,9 +1772,6 @@ void RendererCL<T, bucketT>::ConvertEmber(Ember<T>& ember, EmberCL<T>& emberCL,
|
|||||||
xformsCL[i].m_ColorSpeedCache = xform->ColorSpeedCache();
|
xformsCL[i].m_ColorSpeedCache = xform->ColorSpeedCache();
|
||||||
xformsCL[i].m_OneMinusColorCache = xform->OneMinusColorCache();
|
xformsCL[i].m_OneMinusColorCache = xform->OneMinusColorCache();
|
||||||
xformsCL[i].m_Opacity = xform->m_Opacity;
|
xformsCL[i].m_Opacity = xform->m_Opacity;
|
||||||
|
|
||||||
for (size_t varIndex = 0; varIndex < xform->TotalVariationCount() && varIndex < MAX_CL_VARS; varIndex++)//Assign all variation weights for this xform, with a max of MAX_CL_VARS.
|
|
||||||
xformsCL[i].m_VariationWeights[varIndex] = xform->GetVariation(varIndex)->m_Weight;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -669,7 +669,7 @@ bool EmberGenome(EmberOptions& opt)
|
|||||||
mutMeth = eMutateMode::MUTATE_NOT_SPECIFIED;
|
mutMeth = eMutateMode::MUTATE_NOT_SPECIFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
os << tools.Mutate(orig, mutMeth, vars, opt.Symmetry(), T(opt.Speed()), MAX_CL_VARS);
|
os << tools.Mutate(orig, mutMeth, vars, opt.Symmetry(), T(opt.Speed()), 8);
|
||||||
|
|
||||||
//Scan string returned for 'mutate color'.
|
//Scan string returned for 'mutate color'.
|
||||||
if (strstr(os.str().c_str(), "mutate color"))
|
if (strstr(os.str().c_str(), "mutate color"))
|
||||||
@ -718,7 +718,7 @@ bool EmberGenome(EmberOptions& opt)
|
|||||||
{
|
{
|
||||||
os << "random";
|
os << "random";
|
||||||
randomMode = true;
|
randomMode = true;
|
||||||
tools.Random(orig, vars, opt.Symmetry(), 0, MAX_CL_VARS);
|
tools.Random(orig, vars, opt.Symmetry(), 0, 8);
|
||||||
orig.m_FinalRasW = 1920;
|
orig.m_FinalRasW = 1920;
|
||||||
orig.m_FinalRasH = 1080;
|
orig.m_FinalRasH = 1080;
|
||||||
aselp0 = nullptr;
|
aselp0 = nullptr;
|
||||||
|
@ -255,7 +255,7 @@ void MakeTestAllVarsRegPrePostComboFile(const string& filename)
|
|||||||
EmberToXml<float> writer;
|
EmberToXml<float> writer;
|
||||||
vector<Ember<float>> embers;
|
vector<Ember<float>> embers;
|
||||||
MakeTestAllVarsRegPrePost(embers);
|
MakeTestAllVarsRegPrePost(embers);
|
||||||
writer.Save(filename, embers, 0, true, true, false);
|
writer.Save(filename, embers, 0, true, true, false, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestAtomicAdd()
|
void TestAtomicAdd()
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
<enum>QFrame::NoFrame</enum>
|
<enum>QFrame::NoFrame</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string><html><head/><body><p align="center">Fractorium 1.0.0.6</p><p align="center"><span style=" font-size:10pt;">A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.</span></p><p align="center"><a href="http://fractorium.com"><span style=" text-decoration: underline; color:#0000ff;">fractorium.com</span></a><span style=" font-size:10pt;"><br/>Lead: Matt Feemster<br/>Contributors: Simon Detheridge, Michel Mastriani</span></p></body></html></string>
|
<string><html><head/><body><p align="center">Fractorium 1.0.0.7</p><p align="center"><span style=" font-size:10pt;">A Qt-based fractal flame editor which uses a C++ re-write of the flam3 algorithm named Ember and a GPU capable version named EmberCL which implements a portion of the cuburn algorithm in OpenCL.</span></p><p align="center"><a href="http://fractorium.com"><span style=" text-decoration: underline; color:#0000ff;">fractorium.com</span></a><span style=" font-size:10pt;"><br/>Lead: Matt Feemster<br/>Contributors: Simon Detheridge, Michel Mastriani</span></p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
<property name="textFormat">
|
<property name="textFormat">
|
||||||
<enum>Qt::RichText</enum>
|
<enum>Qt::RichText</enum>
|
||||||
|
@ -118,9 +118,9 @@ FinalRenderEmberController<T>::FinalRenderEmberController(FractoriumFinalRenderD
|
|||||||
|
|
||||||
//Save backup Xml.
|
//Save backup Xml.
|
||||||
if (doAll)
|
if (doAll)
|
||||||
m_XmlWriter.Save(backup.toStdString().c_str(), m_EmberFile.m_Embers, 0, true, false, true);
|
m_XmlWriter.Save(backup.toStdString().c_str(), m_EmberFile.m_Embers, 0, true, false, true, false, false);
|
||||||
else
|
else
|
||||||
m_XmlWriter.Save(backup.toStdString().c_str(), *m_Ember, 0, true, false, true);
|
m_XmlWriter.Save(backup.toStdString().c_str(), *m_Ember, 0, true, false, true, false, false);
|
||||||
|
|
||||||
m_FinishedImageCount.store(0);
|
m_FinishedImageCount.store(0);
|
||||||
SyncGuiToRenderer();
|
SyncGuiToRenderer();
|
||||||
|
@ -112,10 +112,10 @@ Fractorium::Fractorium(QWidget* p)
|
|||||||
m_Controller->SetupVariationsTree();
|
m_Controller->SetupVariationsTree();
|
||||||
m_Controller->FilteredVariations();
|
m_Controller->FilteredVariations();
|
||||||
|
|
||||||
if (m_Info->Ok() && m_Settings->OpenCL() && m_QualitySpin->value() < (30 * m_Settings->Devices().size()))
|
if (m_Info->Ok() && m_Settings->OpenCL() && m_QualitySpin->value() < (m_Settings->OpenClQuality() * m_Settings->Devices().size()))
|
||||||
m_QualitySpin->setValue(30 * m_Settings->Devices().size());
|
m_QualitySpin->setValue(m_Settings->OpenClQuality() * m_Settings->Devices().size());
|
||||||
|
|
||||||
int statusBarHeight = 20 * devicePixelRatio();
|
int statusBarHeight = 20;// *devicePixelRatio();
|
||||||
ui.StatusBar->setMinimumHeight(statusBarHeight);
|
ui.StatusBar->setMinimumHeight(statusBarHeight);
|
||||||
ui.StatusBar->setMaximumHeight(statusBarHeight);
|
ui.StatusBar->setMaximumHeight(statusBarHeight);
|
||||||
m_RenderStatusLabel = new QLabel(this);
|
m_RenderStatusLabel = new QLabel(this);
|
||||||
@ -222,6 +222,9 @@ Fractorium::~Fractorium()
|
|||||||
m_Settings->ShowGrid(ui.ActionDrawGrid->isChecked());
|
m_Settings->ShowGrid(ui.ActionDrawGrid->isChecked());
|
||||||
m_Settings->setValue("windowState", saveState());
|
m_Settings->setValue("windowState", saveState());
|
||||||
m_Settings->sync();
|
m_Settings->sync();
|
||||||
|
|
||||||
|
if (m_Settings->LoadLast())
|
||||||
|
m_Controller->SaveCurrentFileOnShutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -330,8 +333,8 @@ bool Fractorium::eventFilter(QObject* o, QEvent* e)
|
|||||||
{
|
{
|
||||||
if (o == ui.GLParentScrollArea && e->type() == QEvent::Resize)
|
if (o == ui.GLParentScrollArea && e->type() == QEvent::Resize)
|
||||||
{
|
{
|
||||||
m_WidthSpin->DoubleClickNonZero(ui.GLParentScrollArea->width());
|
m_WidthSpin->DoubleClickNonZero(ui.GLParentScrollArea->width() * ui.GLDisplay->devicePixelRatioF());
|
||||||
m_HeightSpin->DoubleClickNonZero(ui.GLParentScrollArea->height());
|
m_HeightSpin->DoubleClickNonZero(ui.GLParentScrollArea->height() * ui.GLDisplay->devicePixelRatioF());
|
||||||
}
|
}
|
||||||
else if (auto ke = dynamic_cast<QKeyEvent*>(e))
|
else if (auto ke = dynamic_cast<QKeyEvent*>(e))
|
||||||
{
|
{
|
||||||
@ -368,8 +371,8 @@ bool Fractorium::eventFilter(QObject* o, QEvent* e)
|
|||||||
/// <param name="e">The event</param>
|
/// <param name="e">The event</param>
|
||||||
void Fractorium::resizeEvent(QResizeEvent* e)
|
void Fractorium::resizeEvent(QResizeEvent* e)
|
||||||
{
|
{
|
||||||
m_WidthSpin->DoubleClickNonZero(ui.GLParentScrollArea->width());
|
m_WidthSpin->DoubleClickNonZero(ui.GLParentScrollArea->width() * ui.GLDisplay->devicePixelRatioF());
|
||||||
m_HeightSpin->DoubleClickNonZero(ui.GLParentScrollArea->height());
|
m_HeightSpin->DoubleClickNonZero(ui.GLParentScrollArea->height() * ui.GLDisplay->devicePixelRatioF());
|
||||||
QMainWindow::resizeEvent(e);
|
QMainWindow::resizeEvent(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -310,6 +310,7 @@ public slots:
|
|||||||
void OnXformsSelectAllButtonClicked(bool checked);
|
void OnXformsSelectAllButtonClicked(bool checked);
|
||||||
void OnXformsSelectNoneButtonClicked(bool checked);
|
void OnXformsSelectNoneButtonClicked(bool checked);
|
||||||
bool IsXformSelected(size_t i);
|
bool IsXformSelected(size_t i);
|
||||||
|
int SelectedXformCount(bool includeFinal);
|
||||||
|
|
||||||
//Xaos.
|
//Xaos.
|
||||||
void OnXaosChanged(double d);
|
void OnXaosChanged(double d);
|
||||||
|
@ -74,8 +74,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1269</width>
|
<width>1259</width>
|
||||||
<height>987</height>
|
<height>980</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -2007,14 +2007,14 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>770</x>
|
<x>770</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>294</width>
|
<width>295</width>
|
||||||
<height>881</height>
|
<height>881</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>294</width>
|
<width>295</width>
|
||||||
<height>617</height>
|
<height>624</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="features">
|
<property name="features">
|
||||||
@ -2689,13 +2689,13 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>60</width>
|
<width>65</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>60</width>
|
<width>65</width>
|
||||||
<height>22</height>
|
<height>22</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
@ -3700,8 +3700,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>263</width>
|
<width>128</width>
|
||||||
<height>722</height>
|
<height>686</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="autoFillBackground">
|
<property name="autoFillBackground">
|
||||||
@ -5786,8 +5786,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>259</width>
|
<width>136</width>
|
||||||
<height>652</height>
|
<height>58</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -5920,7 +5920,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>291</width>
|
<width>291</width>
|
||||||
<height>851</height>
|
<height>854</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -7027,8 +7027,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>432</width>
|
<width>442</width>
|
||||||
<height>589</height>
|
<height>587</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -344,7 +344,7 @@ void FractoriumEmberController<T>::SetEmberPrivate(const Ember<U>& ember, bool v
|
|||||||
dir.mkpath(".");
|
dir.mkpath(".");
|
||||||
|
|
||||||
string filename = path.toStdString() + "/last.flame";
|
string filename = path.toStdString() + "/last.flame";
|
||||||
writer.Save(filename.c_str(), m_Ember, 0, true, true, false, true, true);
|
writer.Save(filename, m_Ember, 0, true, true, false, true, true);
|
||||||
m_GLController->ResetMouseState();
|
m_GLController->ResetMouseState();
|
||||||
FillXforms();//Must do this first because the palette setup in FillParamTablesAndPalette() uses the xforms combo.
|
FillXforms();//Must do this first because the palette setup in FillParamTablesAndPalette() uses the xforms combo.
|
||||||
FillParamTablesAndPalette();
|
FillParamTablesAndPalette();
|
||||||
|
@ -100,6 +100,7 @@ public:
|
|||||||
virtual void SaveCurrentAsXml() { }
|
virtual void SaveCurrentAsXml() { }
|
||||||
virtual void SaveEntireFileAsXml() { }
|
virtual void SaveEntireFileAsXml() { }
|
||||||
virtual uint SaveCurrentToOpenedFile(bool render = true) { return 0; }
|
virtual uint SaveCurrentToOpenedFile(bool render = true) { return 0; }
|
||||||
|
virtual void SaveCurrentFileOnShutdown() { }
|
||||||
virtual void Undo() { }//Edit.
|
virtual void Undo() { }//Edit.
|
||||||
virtual void Redo() { }
|
virtual void Redo() { }
|
||||||
virtual void CopyXml() { }
|
virtual void CopyXml() { }
|
||||||
@ -362,6 +363,7 @@ public:
|
|||||||
virtual void SaveCurrentAsXml() override;
|
virtual void SaveCurrentAsXml() override;
|
||||||
virtual void SaveEntireFileAsXml() override;
|
virtual void SaveEntireFileAsXml() override;
|
||||||
virtual uint SaveCurrentToOpenedFile(bool render = true) override;
|
virtual uint SaveCurrentToOpenedFile(bool render = true) override;
|
||||||
|
virtual void SaveCurrentFileOnShutdown() override;
|
||||||
virtual void Undo() override;
|
virtual void Undo() override;
|
||||||
virtual void Redo() override;
|
virtual void Redo() override;
|
||||||
virtual void CopyXml() override;
|
virtual void CopyXml() override;
|
||||||
|
@ -768,7 +768,7 @@ void FractoriumEmberController<T>::SequenceSaveButtonClicked()
|
|||||||
for (auto& ember : m_SequenceFile.m_Embers)
|
for (auto& ember : m_SequenceFile.m_Embers)
|
||||||
ApplyXmlSavingTemplate(ember);
|
ApplyXmlSavingTemplate(ember);
|
||||||
|
|
||||||
if (writer.Save(filename.toStdString().c_str(), m_SequenceFile.m_Embers, 0, true, true))
|
if (writer.Save(filename.toStdString().c_str(), m_SequenceFile.m_Embers, 0, true, true, false, false, false))
|
||||||
s->SaveFolder(fileInfo.canonicalPath());
|
s->SaveFolder(fileInfo.canonicalPath());
|
||||||
else
|
else
|
||||||
m_Fractorium->ShowCritical("Save Failed", "Could not save sequence file, try saving to a different folder.");
|
m_Fractorium->ShowCritical("Save Failed", "Could not save sequence file, try saving to a different folder.");
|
||||||
@ -800,7 +800,7 @@ void FractoriumEmberController<T>::SequenceOpenButtonClicked()
|
|||||||
{
|
{
|
||||||
embers.clear();
|
embers.clear();
|
||||||
|
|
||||||
if (parser.Parse(filename.toStdString().c_str(), embers) && !embers.empty())
|
if (parser.Parse(filename.toStdString().c_str(), embers, true) && !embers.empty())
|
||||||
{
|
{
|
||||||
for (i = 0; i < embers.size(); i++)
|
for (i = 0; i < embers.size(); i++)
|
||||||
if (embers[i].m_Name == "" || embers[i].m_Name == "No name")//Ensure it has a name.
|
if (embers[i].m_Name == "" || embers[i].m_Name == "No name")//Ensure it has a name.
|
||||||
|
@ -77,7 +77,7 @@ void FractoriumEmberController<T>::NewFlock(size_t count)
|
|||||||
|
|
||||||
for (size_t i = 0; i < count; i++)
|
for (size_t i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
m_SheepTools->Random(ember, filteredVariationsRef, static_cast<intmax_t>(QTIsaac<ISAAC_SIZE, ISAAC_INT>::LockedFrand<T>(-2, 2)), 0, MAX_CL_VARS);
|
m_SheepTools->Random(ember, filteredVariationsRef, static_cast<intmax_t>(QTIsaac<ISAAC_SIZE, ISAAC_INT>::LockedFrand<T>(-2, 2)), 0, 8);
|
||||||
ParamsToEmber(ember);
|
ParamsToEmber(ember);
|
||||||
ember.m_Index = i;
|
ember.m_Index = i;
|
||||||
ember.m_Name = m_EmberFile.m_Filename.toStdString() + "_" + ToString(i + 1ULL).toStdString();
|
ember.m_Name = m_EmberFile.m_Filename.toStdString() + "_" + ToString(i + 1ULL).toStdString();
|
||||||
@ -114,6 +114,7 @@ void FractoriumEmberController<T>::NewEmptyFlameInCurrentFile()
|
|||||||
ParamsToEmber(ember);
|
ParamsToEmber(ember);
|
||||||
xform.m_Weight = T(0.25);
|
xform.m_Weight = T(0.25);
|
||||||
xform.m_ColorX = m_Rand.Frand01<T>();
|
xform.m_ColorX = m_Rand.Frand01<T>();
|
||||||
|
xform.AddVariation(m_VariationList->GetVariationCopy(eVariationId::VAR_LINEAR));
|
||||||
ember.AddXform(xform);
|
ember.AddXform(xform);
|
||||||
ember.m_Palette = *m_PaletteList->GetRandomPalette();
|
ember.m_Palette = *m_PaletteList->GetRandomPalette();
|
||||||
ember.m_Name = EmberFile<T>::DefaultEmberName(m_EmberFile.Size() + 1).toStdString();
|
ember.m_Name = EmberFile<T>::DefaultEmberName(m_EmberFile.Size() + 1).toStdString();
|
||||||
@ -136,7 +137,7 @@ void FractoriumEmberController<T>::NewRandomFlameInCurrentFile()
|
|||||||
{
|
{
|
||||||
Ember<T> ember;
|
Ember<T> ember;
|
||||||
StopAllPreviewRenderers();
|
StopAllPreviewRenderers();
|
||||||
m_SheepTools->Random(ember, m_FilteredVariations, static_cast<int>(QTIsaac<ISAAC_SIZE, ISAAC_INT>::LockedFrand<T>(-2, 2)), 0, MAX_CL_VARS);
|
m_SheepTools->Random(ember, m_FilteredVariations, static_cast<int>(QTIsaac<ISAAC_SIZE, ISAAC_INT>::LockedFrand<T>(-2, 2)), 0, 8);
|
||||||
ParamsToEmber(ember);
|
ParamsToEmber(ember);
|
||||||
ember.m_Name = EmberFile<T>::DefaultEmberName(m_EmberFile.Size() + 1).toStdString();
|
ember.m_Name = EmberFile<T>::DefaultEmberName(m_EmberFile.Size() + 1).toStdString();
|
||||||
ember.m_Index = m_EmberFile.Size();
|
ember.m_Index = m_EmberFile.Size();
|
||||||
@ -198,7 +199,7 @@ void FractoriumEmberController<T>::OpenAndPrepFiles(const QStringList& filenames
|
|||||||
{
|
{
|
||||||
embers.clear();
|
embers.clear();
|
||||||
|
|
||||||
if (parser.Parse(filename.toStdString().c_str(), embers) && !embers.empty())
|
if (parser.Parse(filename.toStdString().c_str(), embers, true) && !embers.empty())
|
||||||
{
|
{
|
||||||
for (i = 0; i < embers.size(); i++)
|
for (i = 0; i < embers.size(); i++)
|
||||||
{
|
{
|
||||||
@ -235,6 +236,12 @@ void FractoriumEmberController<T>::OpenAndPrepFiles(const QStringList& filenames
|
|||||||
}
|
}
|
||||||
else if (emberFile.Size() > 0)//Ensure at least something was read.
|
else if (emberFile.Size() > 0)//Ensure at least something was read.
|
||||||
m_EmberFile = std::move(emberFile);//Move the temp to avoid creating dupes because we no longer need it.
|
m_EmberFile = std::move(emberFile);//Move the temp to avoid creating dupes because we no longer need it.
|
||||||
|
else if (!m_EmberFile.Size())
|
||||||
|
{
|
||||||
|
//Loading failed, so fill it with a dummy.
|
||||||
|
Ember<T> ember;
|
||||||
|
m_EmberFile.m_Embers.push_back(ember);
|
||||||
|
}
|
||||||
|
|
||||||
//Resync indices and names.
|
//Resync indices and names.
|
||||||
i = 0;
|
i = 0;
|
||||||
@ -343,7 +350,7 @@ void FractoriumEmberController<T>::SaveEntireFileAsXml()
|
|||||||
for (auto& ember : emberFile.m_Embers)
|
for (auto& ember : emberFile.m_Embers)
|
||||||
ApplyXmlSavingTemplate(ember);
|
ApplyXmlSavingTemplate(ember);
|
||||||
|
|
||||||
if (writer.Save(filename.toStdString().c_str(), emberFile.m_Embers, 0, true, true))
|
if (writer.Save(filename.toStdString().c_str(), emberFile.m_Embers, 0, true, true, false, false, false))
|
||||||
{
|
{
|
||||||
if (!s->SaveAutoUnique() || m_LastSaveAll == "")//Only save filename on first time through when doing auto unique names.
|
if (!s->SaveAutoUnique() || m_LastSaveAll == "")//Only save filename on first time through when doing auto unique names.
|
||||||
m_LastSaveAll = filename;
|
m_LastSaveAll = filename;
|
||||||
@ -357,6 +364,20 @@ void FractoriumEmberController<T>::SaveEntireFileAsXml()
|
|||||||
|
|
||||||
void Fractorium::OnActionSaveEntireFileAsXml(bool checked) { m_Controller->SaveEntireFileAsXml(); }
|
void Fractorium::OnActionSaveEntireFileAsXml(bool checked) { m_Controller->SaveEntireFileAsXml(); }
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
void FractoriumEmberController<T>::SaveCurrentFileOnShutdown()
|
||||||
|
{
|
||||||
|
EmberToXml<T> writer;
|
||||||
|
auto path = GetDefaultUserPath();
|
||||||
|
QDir dir(path);
|
||||||
|
|
||||||
|
if (!dir.exists())
|
||||||
|
dir.mkpath(".");
|
||||||
|
|
||||||
|
string filename = path.toStdString() + "/lastonshutdown.flame";
|
||||||
|
writer.Save(filename, m_EmberFile.m_Embers, 0, true, true, false, false, false);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Show a file save dialog and save what is currently shown in the render window to disk as an image.
|
/// Show a file save dialog and save what is currently shown in the render window to disk as an image.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -557,7 +578,7 @@ void FractoriumEmberController<T>::PasteXmlAppend()
|
|||||||
|
|
||||||
b.clear();
|
b.clear();
|
||||||
StopAllPreviewRenderers();
|
StopAllPreviewRenderers();
|
||||||
parser.Parse(reinterpret_cast<byte*>(const_cast<char*>(s.c_str())), "", embers);
|
parser.Parse(reinterpret_cast<byte*>(const_cast<char*>(s.c_str())), "", embers, true);
|
||||||
errors = parser.ErrorReportString();
|
errors = parser.ErrorReportString();
|
||||||
|
|
||||||
if (errors != "")
|
if (errors != "")
|
||||||
@ -598,7 +619,8 @@ void FractoriumEmberController<T>::PasteXmlOver()
|
|||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
string s, errors;
|
string s, errors;
|
||||||
XmlToEmber<T> parser;
|
XmlToEmber<T> parser;
|
||||||
auto backupEmber = m_EmberFile.m_Embers.begin();
|
list<Ember<T>> embers;
|
||||||
|
auto backupEmber = *m_EmberFile.m_Embers.begin();
|
||||||
auto codec = QTextCodec::codecForName("UTF-8");
|
auto codec = QTextCodec::codecForName("UTF-8");
|
||||||
auto b = codec->fromUnicode(QApplication::clipboard()->text());
|
auto b = codec->fromUnicode(QApplication::clipboard()->text());
|
||||||
s.reserve(b.size());
|
s.reserve(b.size());
|
||||||
@ -611,8 +633,7 @@ void FractoriumEmberController<T>::PasteXmlOver()
|
|||||||
|
|
||||||
b.clear();
|
b.clear();
|
||||||
StopAllPreviewRenderers();
|
StopAllPreviewRenderers();
|
||||||
m_EmberFile.m_Embers.clear();//Will invalidate the pointers contained in the EmberTreeWidgetItems, UpdateLibraryTree() will resync.
|
parser.Parse(reinterpret_cast<byte*>(const_cast<char*>(s.c_str())), "", embers, true);
|
||||||
parser.Parse(reinterpret_cast<byte*>(const_cast<char*>(s.c_str())), "", m_EmberFile.m_Embers);
|
|
||||||
errors = parser.ErrorReportString();
|
errors = parser.ErrorReportString();
|
||||||
|
|
||||||
if (errors != "")
|
if (errors != "")
|
||||||
@ -620,8 +641,10 @@ void FractoriumEmberController<T>::PasteXmlOver()
|
|||||||
m_Fractorium->ShowCritical("Paste Error", QString::fromStdString(errors));
|
m_Fractorium->ShowCritical("Paste Error", QString::fromStdString(errors));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_EmberFile.Size())
|
if (embers.size())
|
||||||
{
|
{
|
||||||
|
m_EmberFile.m_Embers = std::move(embers);//Will invalidate the pointers contained in the EmberTreeWidgetItems, UpdateLibraryTree() will resync.
|
||||||
|
|
||||||
for (auto it : m_EmberFile.m_Embers)
|
for (auto it : m_EmberFile.m_Embers)
|
||||||
{
|
{
|
||||||
it.m_Index = i++;
|
it.m_Index = i++;
|
||||||
@ -631,17 +654,12 @@ void FractoriumEmberController<T>::PasteXmlOver()
|
|||||||
if (it.m_Name == "" || it.m_Name == "No name")
|
if (it.m_Name == "" || it.m_Name == "No name")
|
||||||
it.m_Name = ToString<qulonglong>(it.m_Index).toStdString();
|
it.m_Name = ToString<qulonglong>(it.m_Index).toStdString();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
backupEmber->m_Index = 0;
|
|
||||||
m_EmberFile.m_Embers.push_back(*backupEmber);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_EmberFile.MakeNamesUnique();
|
m_EmberFile.MakeNamesUnique();
|
||||||
FillLibraryTree();
|
FillLibraryTree();
|
||||||
SetEmber(0, false);
|
SetEmber(0, false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Fractorium::OnActionPasteXmlOver(bool checked) { m_Controller->PasteXmlOver(); }
|
void Fractorium::OnActionPasteXmlOver(bool checked) { m_Controller->PasteXmlOver(); }
|
||||||
|
|
||||||
@ -856,6 +874,7 @@ void FractoriumEmberController<T>::ClearFlame()
|
|||||||
if (auto xform = m_Ember.GetXform(0))
|
if (auto xform = m_Ember.GetXform(0))
|
||||||
{
|
{
|
||||||
xform->Clear();
|
xform->Clear();
|
||||||
|
xform->AddVariation(m_VariationList->GetVariationCopy(eVariationId::VAR_LINEAR));
|
||||||
xform->ParentEmber(&m_Ember);
|
xform->ParentEmber(&m_Ember);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ void Fractorium::InitParamsUI()
|
|||||||
//Filter.
|
//Filter.
|
||||||
row = 0;
|
row = 0;
|
||||||
table = ui.FilterTable;
|
table = ui.FilterTable;
|
||||||
SetupSpinner<DoubleSpinBox, double>(table, this, row, 1, m_SpatialFilterWidthSpin, spinHeight, 0.1, 2, 0.1, SIGNAL(valueChanged(double)), SLOT(OnSpatialFilterWidthChanged(double)), true, 1.0, 1.0, 0.1);
|
SetupSpinner<DoubleSpinBox, double>(table, this, row, 1, m_SpatialFilterWidthSpin, spinHeight, 0, 2, 0.1, SIGNAL(valueChanged(double)), SLOT(OnSpatialFilterWidthChanged(double)), true, 1.0, 1.0, 0);
|
||||||
m_SpatialFilterWidthSpin->DoubleClickLowVal(0.1);
|
m_SpatialFilterWidthSpin->DoubleClickLowVal(0.1);
|
||||||
comboVals = SpatialFilterCreator<float>::FilterTypes();
|
comboVals = SpatialFilterCreator<float>::FilterTypes();
|
||||||
SetupCombo(table, this, row, 1, m_SpatialFilterTypeCombo, comboVals, SIGNAL(currentIndexChanged(const QString&)), SLOT(OnSpatialFilterTypeComboCurrentIndexChanged(const QString&)));
|
SetupCombo(table, this, row, 1, m_SpatialFilterTypeCombo, comboVals, SIGNAL(currentIndexChanged(const QString&)), SLOT(OnSpatialFilterTypeComboCurrentIndexChanged(const QString&)));
|
||||||
@ -74,9 +74,10 @@ void Fractorium::InitParamsUI()
|
|||||||
//Iteration.
|
//Iteration.
|
||||||
row = 0;
|
row = 0;
|
||||||
table = ui.IterationTable;
|
table = ui.IterationTable;
|
||||||
|
auto quality = m_Settings->OpenCL() ? m_Settings->OpenClQuality() : m_Settings->CpuQuality();
|
||||||
SetupSpinner<SpinBox, int>( table, this, row, 1, m_SbsSpin, spinHeight, 1000, 100000, 100, SIGNAL(valueChanged(int)), SLOT(OnSbsChanged(int)), true, DEFAULT_SBS, DEFAULT_SBS, DEFAULT_SBS);
|
SetupSpinner<SpinBox, int>( table, this, row, 1, m_SbsSpin, spinHeight, 1000, 100000, 100, SIGNAL(valueChanged(int)), SLOT(OnSbsChanged(int)), true, DEFAULT_SBS, DEFAULT_SBS, DEFAULT_SBS);
|
||||||
SetupSpinner<SpinBox, int>( table, this, row, 1, m_FuseSpin, spinHeight, 1, 1000, 5, SIGNAL(valueChanged(int)), SLOT(OnFuseChanged(int)), true, 15, 15, 15);
|
SetupSpinner<SpinBox, int>( table, this, row, 1, m_FuseSpin, spinHeight, 1, 1000, 5, SIGNAL(valueChanged(int)), SLOT(OnFuseChanged(int)), true, 15, 15, 15);
|
||||||
SetupSpinner<DoubleSpinBox, double>(table, this, row, 1, m_QualitySpin, spinHeight, 1, dmax, 50, SIGNAL(valueChanged(double)), SLOT(OnQualityChanged(double)), true, 10, 10, 10);
|
SetupSpinner<DoubleSpinBox, double>(table, this, row, 1, m_QualitySpin, spinHeight, 1, dmax, 50, SIGNAL(valueChanged(double)), SLOT(OnQualityChanged(double)), true, quality, 10, 10);
|
||||||
SetupSpinner<SpinBox, int>( table, this, row, 1, m_SupersampleSpin, spinHeight, 1, 4, 1, SIGNAL(valueChanged(int)), SLOT(OnSupersampleChanged(int)), true, 1, 1, 1);
|
SetupSpinner<SpinBox, int>( table, this, row, 1, m_SupersampleSpin, spinHeight, 1, 4, 1, SIGNAL(valueChanged(int)), SLOT(OnSupersampleChanged(int)), true, 1, 1, 1);
|
||||||
//Animation.
|
//Animation.
|
||||||
row = 0;
|
row = 0;
|
||||||
|
@ -97,7 +97,7 @@ void FractoriumEmberControllerBase::UpdateRender(eProcessAction action)
|
|||||||
void FractoriumEmberControllerBase::DeleteRenderer()
|
void FractoriumEmberControllerBase::DeleteRenderer()
|
||||||
{
|
{
|
||||||
Shutdown();
|
Shutdown();
|
||||||
m_Renderer.reset();
|
m_Renderer = make_unique<EmberNs::Renderer<float, float>>();
|
||||||
|
|
||||||
if (GLController())
|
if (GLController())
|
||||||
GLController()->ClearWindow();
|
GLController()->ClearWindow();
|
||||||
@ -299,6 +299,9 @@ bool FractoriumEmberController<T>::SyncSizes()
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
bool FractoriumEmberController<T>::Render()
|
bool FractoriumEmberController<T>::Render()
|
||||||
{
|
{
|
||||||
|
if (!m_Renderer.get())
|
||||||
|
return false;
|
||||||
|
|
||||||
m_Rendering = true;
|
m_Rendering = true;
|
||||||
bool success = true;
|
bool success = true;
|
||||||
auto gl = m_Fractorium->ui.GLDisplay;
|
auto gl = m_Fractorium->ui.GLDisplay;
|
||||||
@ -567,7 +570,7 @@ bool FractoriumEmberController<T>::CreateRenderer(eRendererType renderType, cons
|
|||||||
|
|
||||||
if (m_RenderType == eRendererType::OPENCL_RENDERER)
|
if (m_RenderType == eRendererType::OPENCL_RENDERER)
|
||||||
{
|
{
|
||||||
auto val = 30 * m_Fractorium->m_Settings->Devices().size();
|
auto val = m_Fractorium->m_Settings->OpenClQuality() * m_Fractorium->m_Settings->Devices().size();
|
||||||
m_Fractorium->m_QualitySpin->DoubleClickZero(val);
|
m_Fractorium->m_QualitySpin->DoubleClickZero(val);
|
||||||
m_Fractorium->m_QualitySpin->DoubleClickNonZero(val);
|
m_Fractorium->m_QualitySpin->DoubleClickNonZero(val);
|
||||||
|
|
||||||
@ -576,11 +579,12 @@ bool FractoriumEmberController<T>::CreateRenderer(eRendererType renderType, cons
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_Fractorium->m_QualitySpin->DoubleClickZero(10);
|
auto quality = m_Fractorium->m_Settings->CpuQuality();
|
||||||
m_Fractorium->m_QualitySpin->DoubleClickNonZero(10);
|
m_Fractorium->m_QualitySpin->DoubleClickZero(quality);
|
||||||
|
m_Fractorium->m_QualitySpin->DoubleClickNonZero(quality);
|
||||||
|
|
||||||
if (m_Fractorium->m_QualitySpin->value() > 10)
|
if (m_Fractorium->m_QualitySpin->value() > quality)
|
||||||
m_Fractorium->m_QualitySpin->setValue(10);
|
m_Fractorium->m_QualitySpin->setValue(quality);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_Renderer->Callback(this);
|
m_Renderer->Callback(this);
|
||||||
|
@ -57,6 +57,12 @@ void FractoriumSettings::EnsureDefaults()
|
|||||||
OpenCLSubBatch(std::max(1u, OpenCLSubBatch()));
|
OpenCLSubBatch(std::max(1u, OpenCLSubBatch()));
|
||||||
RandomCount(std::max(1u, RandomCount()));
|
RandomCount(std::max(1u, RandomCount()));
|
||||||
|
|
||||||
|
if (CpuQuality() == 0)
|
||||||
|
CpuQuality(10);
|
||||||
|
|
||||||
|
if (OpenClQuality() == 0)
|
||||||
|
OpenClQuality(30);
|
||||||
|
|
||||||
if (FinalScale() > int(eScaleType::SCALE_HEIGHT))
|
if (FinalScale() > int(eScaleType::SCALE_HEIGHT))
|
||||||
FinalScale(0);
|
FinalScale(0);
|
||||||
|
|
||||||
@ -72,7 +78,11 @@ void FractoriumSettings::EnsureDefaults()
|
|||||||
if (SaveImageExt() == "")
|
if (SaveImageExt() == "")
|
||||||
SaveImageExt(".png");
|
SaveImageExt(".png");
|
||||||
|
|
||||||
if (FinalExt() != "jpg" && FinalExt() != "png")
|
if (FinalExt() != "jpg" && FinalExt() != "png" && FinalExt() != "exr"
|
||||||
|
#ifdef _WIN32
|
||||||
|
&& FinalExt() != "bmp"
|
||||||
|
#endif
|
||||||
|
)
|
||||||
FinalExt("png");
|
FinalExt("png");
|
||||||
|
|
||||||
auto s = SaveFolder();
|
auto s = SaveFolder();
|
||||||
@ -148,6 +158,15 @@ void FractoriumSettings::OpenCLSubBatch(uint i) { setValue(OPENCLSUBBATCH,
|
|||||||
uint FractoriumSettings::RandomCount() { return value(RANDOMCOUNT).toUInt(); }
|
uint FractoriumSettings::RandomCount() { return value(RANDOMCOUNT).toUInt(); }
|
||||||
void FractoriumSettings::RandomCount(uint i) { setValue(RANDOMCOUNT, i); }
|
void FractoriumSettings::RandomCount(uint i) { setValue(RANDOMCOUNT, i); }
|
||||||
|
|
||||||
|
uint FractoriumSettings::CpuQuality() { return value(CPU_QUALITY).toUInt(); }
|
||||||
|
void FractoriumSettings::CpuQuality(uint i) { setValue(CPU_QUALITY, i); }
|
||||||
|
|
||||||
|
uint FractoriumSettings::OpenClQuality() { return value(OPENCL_QUALITY).toUInt(); }
|
||||||
|
void FractoriumSettings::OpenClQuality(uint i) { setValue(OPENCL_QUALITY, i); }
|
||||||
|
|
||||||
|
bool FractoriumSettings::LoadLast() { return value(LOAD_LAST).toBool(); }
|
||||||
|
void FractoriumSettings::LoadLast(bool b) { setValue(LOAD_LAST, b); }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sequence generation settings.
|
/// Sequence generation settings.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -24,6 +24,9 @@
|
|||||||
#define CPUSUBBATCH "render/cpusubbatch"
|
#define CPUSUBBATCH "render/cpusubbatch"
|
||||||
#define OPENCLSUBBATCH "render/openclsubbatch"
|
#define OPENCLSUBBATCH "render/openclsubbatch"
|
||||||
#define RANDOMCOUNT "render/randomcount"
|
#define RANDOMCOUNT "render/randomcount"
|
||||||
|
#define CPU_QUALITY "render/cpuquality"
|
||||||
|
#define OPENCL_QUALITY "render/openclquality"
|
||||||
|
#define LOAD_LAST "render/loadlastonstart"
|
||||||
|
|
||||||
#define STAGGER "sequence/stagger"
|
#define STAGGER "sequence/stagger"
|
||||||
#define STAGGERMAX "sequence/staggermax"
|
#define STAGGERMAX "sequence/staggermax"
|
||||||
@ -153,6 +156,15 @@ public:
|
|||||||
uint RandomCount();
|
uint RandomCount();
|
||||||
void RandomCount(uint i);
|
void RandomCount(uint i);
|
||||||
|
|
||||||
|
uint CpuQuality();
|
||||||
|
void CpuQuality(uint i);
|
||||||
|
|
||||||
|
uint OpenClQuality();
|
||||||
|
void OpenClQuality(uint i);
|
||||||
|
|
||||||
|
bool LoadLast();
|
||||||
|
void LoadLast(bool b);
|
||||||
|
|
||||||
double Stagger();
|
double Stagger();
|
||||||
void Stagger(double i);
|
void Stagger(double i);
|
||||||
|
|
||||||
|
@ -32,13 +32,13 @@ void Fractorium::InitXaosUI()
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
void FractoriumEmberController<T>::FillXaos()
|
void FractoriumEmberController<T>::FillXaos()
|
||||||
{
|
{
|
||||||
for (int i = 0, count = int(XformCount()); i < count; i++)
|
for (int i = 0, count = int(XformCount()); i < count; i++)//Column.
|
||||||
{
|
{
|
||||||
if (auto xform = m_Ember.GetXform(i))
|
if (auto xform = m_Ember.GetXform(i))
|
||||||
{
|
{
|
||||||
for (int j = 0; j < count; j++)
|
for (int j = 0; j < count; j++)//Row.
|
||||||
{
|
{
|
||||||
QModelIndex index = m_Fractorium->m_XaosTableModel->index(i, j, QModelIndex());
|
QModelIndex index = m_Fractorium->m_XaosTableModel->index(j, i, QModelIndex());//j and i are intentionally swapped here.
|
||||||
m_Fractorium->m_XaosTableModel->setData(index, xform->Xaos(j));
|
m_Fractorium->m_XaosTableModel->setData(index, xform->Xaos(j));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -57,7 +57,9 @@ void FractoriumEmberController<T>::FillXaos()
|
|||||||
/// xaos value.
|
/// xaos value.
|
||||||
/// Resets the rendering process.
|
/// Resets the rendering process.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">The DoubleSpinBox that triggered this event</param>
|
/// <param name="x">The index of the xform whose xaos value was changed (column)</param>
|
||||||
|
/// <param name="y">The index of the to value that was changed for the xform (row)</param>
|
||||||
|
/// <param name="val">The changed value of the xaos element</param>
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void FractoriumEmberController<T>::XaosChanged(int x, int y, double val)
|
void FractoriumEmberController<T>::XaosChanged(int x, int y, double val)
|
||||||
{
|
{
|
||||||
@ -73,13 +75,13 @@ void Fractorium::OnXaosChanged(double d)
|
|||||||
if (auto senderSpinBox = qobject_cast<DoubleSpinBox*>(sender()))
|
if (auto senderSpinBox = qobject_cast<DoubleSpinBox*>(sender()))
|
||||||
{
|
{
|
||||||
auto p = senderSpinBox->property("tableindex").toPoint();
|
auto p = senderSpinBox->property("tableindex").toPoint();
|
||||||
m_Controller->XaosChanged(p.x(), p.y(), d);
|
m_Controller->XaosChanged(p.y(), p.x(), d);//Intentionally switched, column is the from xform, row is the to xform.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Fractorium::OnXaosTableModelDataChanged(const QModelIndex& indexA, const QModelIndex& indexB)
|
void Fractorium::OnXaosTableModelDataChanged(const QModelIndex& indexA, const QModelIndex& indexB)
|
||||||
{
|
{
|
||||||
m_Controller->XaosChanged(indexA.row(), indexA.column(), indexA.data().toDouble());
|
m_Controller->XaosChanged(indexA.column(), indexA.row(), indexA.data().toDouble());//Intentionally switched, column is the from xform, row is the to xform.
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -104,6 +104,7 @@ void FractoriumEmberController<T>::AddXform()
|
|||||||
Xform<T> newXform;
|
Xform<T> newXform;
|
||||||
newXform.m_Weight = 0.25;
|
newXform.m_Weight = 0.25;
|
||||||
newXform.m_ColorX = m_Rand.Frand01<T>();
|
newXform.m_ColorX = m_Rand.Frand01<T>();
|
||||||
|
newXform.AddVariation(m_VariationList->GetVariationCopy(eVariationId::VAR_LINEAR));
|
||||||
m_Ember.AddXform(newXform);
|
m_Ember.AddXform(newXform);
|
||||||
int index = int(m_Ember.TotalXformCount(forceFinal) - (forceFinal ? 2 : 1));//Set index to the last item before final.
|
int index = int(m_Ember.TotalXformCount(forceFinal) - (forceFinal ? 2 : 1));//Set index to the last item before final.
|
||||||
FillXforms(index);
|
FillXforms(index);
|
||||||
@ -115,7 +116,12 @@ void Fractorium::OnAddXformButtonClicked(bool checked) { m_Controller->AddXform(
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Add a new linked xform in the current ember and set it as the current xform.
|
/// Add a new linked xform in the current ember and set it as the current xform.
|
||||||
/// Linked means:
|
/// Linked means:
|
||||||
///
|
/// Add an xform whose xaos values are:
|
||||||
|
/// From: All xaos values from the current xform are zero when going to any xform but the new one added, which is 1.
|
||||||
|
/// To: The xaos value coming from the current xform is 1 and the xaos values from all other xforms are 0, when going to the newly added xform.
|
||||||
|
/// Take different action when a single xform is selected vs. multiple.
|
||||||
|
/// Single: Copy current xform's xaos values to the new one.
|
||||||
|
/// Multiple: Set new xform's xaos values to 1, and except the last entry which is 0.
|
||||||
/// Called when the add xform button is clicked.
|
/// Called when the add xform button is clicked.
|
||||||
/// Resets the rendering process.
|
/// Resets the rendering process.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -123,23 +129,42 @@ void Fractorium::OnAddXformButtonClicked(bool checked) { m_Controller->AddXform(
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
void FractoriumEmberController<T>::AddLinkedXform()
|
void FractoriumEmberController<T>::AddLinkedXform()
|
||||||
{
|
{
|
||||||
|
bool hasAdded = false;
|
||||||
bool forceFinal = m_Fractorium->HaveFinal();
|
bool forceFinal = m_Fractorium->HaveFinal();
|
||||||
|
auto selCount = m_Fractorium->SelectedXformCount(false);
|
||||||
|
|
||||||
|
if (!selCount)//If none explicitly selected, use current.
|
||||||
|
selCount = 1;
|
||||||
|
|
||||||
|
Ember<T> ember = m_Ember;
|
||||||
|
m_Ember.Reserve(m_Ember.XformCount() + 1);//Doing this ahead of time ensures pointers remain valid.
|
||||||
|
auto iterCount = 0;
|
||||||
UpdateXform([&](Xform<T>* xform)
|
UpdateXform([&](Xform<T>* xform)
|
||||||
|
{
|
||||||
|
//Covers very strange case where final is selected, but initially not considered because final is excluded,
|
||||||
|
//but after adding the new xform, it thinks its selected index is non-final.
|
||||||
|
if (iterCount < selCount)
|
||||||
{
|
{
|
||||||
size_t i, count = m_Ember.XformCount();
|
size_t i, count = m_Ember.XformCount();
|
||||||
|
|
||||||
|
if (!hasAdded)
|
||||||
|
{
|
||||||
Xform<T> newXform;
|
Xform<T> newXform;
|
||||||
newXform.m_Weight = 0.5;
|
newXform.m_Weight = 0.5;
|
||||||
newXform.m_Opacity = 1;
|
newXform.m_Opacity = xform->m_Opacity;
|
||||||
newXform.m_ColorSpeed = 1;
|
newXform.m_ColorSpeed = 0;
|
||||||
newXform.m_ColorX = xform->m_ColorX;
|
newXform.m_ColorX = 0;
|
||||||
//newXform.m_ColorY = xform->m_ColorY;
|
//newXform.m_ColorY = xform->m_ColorY;
|
||||||
|
newXform.AddVariation(m_VariationList->GetVariationCopy(eVariationId::VAR_LINEAR));
|
||||||
|
|
||||||
//Set all of the new xform's xaos values to the selected xform's xaos values,
|
//Set all of the new xform's xaos values to the selected xform's xaos values,
|
||||||
//then set the selected xform's xaos values to 0.
|
//then set the selected xform's xaos values to 0.
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
{
|
{
|
||||||
|
if (selCount == 1)
|
||||||
newXform.SetXaos(i, xform->Xaos(i));
|
newXform.SetXaos(i, xform->Xaos(i));
|
||||||
xform->SetXaos(i, 0);
|
else
|
||||||
|
newXform.SetXaos(i, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Add the new xform and update the total count.
|
//Add the new xform and update the total count.
|
||||||
@ -147,16 +172,28 @@ void FractoriumEmberController<T>::AddLinkedXform()
|
|||||||
count = m_Ember.XformCount();
|
count = m_Ember.XformCount();
|
||||||
|
|
||||||
//Set the xaos for all xforms pointing to the new one to zero.
|
//Set the xaos for all xforms pointing to the new one to zero.
|
||||||
|
//Will set the last element of all linking and non-linking xforms, including the one we just added.
|
||||||
|
//Linking xforms will have their last xaos element set to 1 below.
|
||||||
for (i = 0; i < count; i++)
|
for (i = 0; i < count; i++)
|
||||||
if (auto xf = m_Ember.GetXform(i))
|
if (auto xf = m_Ember.GetXform(i))
|
||||||
xf->SetXaos(count - 1, 0);
|
xf->SetXaos(count - 1, 0);
|
||||||
|
|
||||||
xform->SetXaos(count - 1, 1);//Set the xaos value for the previous xform pointing to the new one to one.
|
hasAdded = true;
|
||||||
xform->m_Opacity = 0;//Clear the opacity of the previous xform.
|
}
|
||||||
|
|
||||||
|
//Linking xform, so set all xaos elements to 0, except the last.
|
||||||
|
for (i = 0; i < count - 1; i++)
|
||||||
|
xform->SetXaos(i, 0);
|
||||||
|
|
||||||
|
xform->SetXaos(count - 1, 1);//Set the xaos value for the linking xform pointing to the new one to one.
|
||||||
|
xform->m_Opacity = 0;//Clear the opacity of the all linking xform.
|
||||||
|
iterCount++;
|
||||||
|
}
|
||||||
|
}, eXformUpdate::UPDATE_SELECTED_EXCEPT_FINAL);
|
||||||
|
//Now update the GUI.
|
||||||
int index = int(m_Ember.TotalXformCount(forceFinal) - (forceFinal ? 2 : 1));//Set index to the last item before final.
|
int index = int(m_Ember.TotalXformCount(forceFinal) - (forceFinal ? 2 : 1));//Set index to the last item before final.
|
||||||
FillXforms(index);
|
FillXforms(index);
|
||||||
FillXaos();
|
FillXaos();
|
||||||
}, eXformUpdate::UPDATE_CURRENT);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Fractorium::OnAddLinkedXformButtonClicked(bool checked) { m_Controller->AddLinkedXform(); }
|
void Fractorium::OnAddLinkedXformButtonClicked(bool checked) { m_Controller->AddLinkedXform(); }
|
||||||
|
@ -38,6 +38,25 @@ bool Fractorium::IsXformSelected(size_t i)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Return the number of xforms selected, optionally counting the final xform.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="includeFinal">Whether to include the final in the count if selected.</param>
|
||||||
|
/// <returns>The caption string</returns>
|
||||||
|
int Fractorium::SelectedXformCount(bool includeFinal)
|
||||||
|
{
|
||||||
|
int selCount = 0;
|
||||||
|
ForEachXformCheckbox([&](int index, QCheckBox * cb, bool isFinal)
|
||||||
|
{
|
||||||
|
if (cb->isChecked())
|
||||||
|
{
|
||||||
|
if (!isFinal || includeFinal)
|
||||||
|
selCount++;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return selCount;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Clear all of the dynamically created xform checkboxes.
|
/// Clear all of the dynamically created xform checkboxes.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -81,7 +100,7 @@ QString FractoriumEmberController<T>::MakeXformCaption(size_t i)
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Function to perform the specified operation on every dynamically created xform selection checkbox.
|
/// Function to perform the specified operation on every dynamically created xform selection checkbox.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="func">The operation to perform</param>
|
/// <param name="func">The operation to perform which is a function taking the index of the xform, its checkbox, and a bool specifying whether it's final.</param>
|
||||||
void Fractorium::ForEachXformCheckbox(std::function<void(int, QCheckBox*, bool)> func)
|
void Fractorium::ForEachXformCheckbox(std::function<void(int, QCheckBox*, bool)> func)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
@ -32,13 +32,36 @@ void GLWidget::InitGL()
|
|||||||
{
|
{
|
||||||
if (!m_Init)
|
if (!m_Init)
|
||||||
{
|
{
|
||||||
int w = m_Fractorium->ui.GLParentScrollArea->width();
|
int w = std::ceil(m_Fractorium->ui.GLParentScrollArea->width() * devicePixelRatioF());
|
||||||
int h = m_Fractorium->ui.GLParentScrollArea->height();
|
int h = std::ceil(m_Fractorium->ui.GLParentScrollArea->height() * devicePixelRatioF());
|
||||||
SetDimensions(w, h);
|
SetDimensions(w, h);
|
||||||
|
//Start with either a flock of random embers, or the last flame from the previous run.
|
||||||
|
//Can't do this until now because the window wasn't maximized yet, so the sizes would have been off.
|
||||||
|
bool b = m_Fractorium->m_Settings->LoadLast();
|
||||||
|
|
||||||
|
if (b)
|
||||||
|
{
|
||||||
|
auto path = GetDefaultUserPath();
|
||||||
|
QDir dir(path);
|
||||||
|
QString filename = path + "/lastonshutdown.flame";
|
||||||
|
|
||||||
|
if (dir.exists(filename))
|
||||||
|
{
|
||||||
|
QStringList ql;
|
||||||
|
ql << filename;
|
||||||
|
m_Fractorium->m_Controller->OpenAndPrepFiles(ql, false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
b = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!b)
|
||||||
|
{
|
||||||
|
m_Fractorium->OnActionNewFlock(false);
|
||||||
m_Fractorium->m_WidthSpin->setValue(w);
|
m_Fractorium->m_WidthSpin->setValue(w);
|
||||||
m_Fractorium->m_HeightSpin->setValue(h);
|
m_Fractorium->m_HeightSpin->setValue(h);
|
||||||
//Start with a flock of random embers. Can't do this until now because the window wasn't maximized yet, so the sizes would have been off.
|
}
|
||||||
m_Fractorium->OnActionNewFlock(false);
|
|
||||||
m_Fractorium->m_Controller->DelayedStartRenderTimer();
|
m_Fractorium->m_Controller->DelayedStartRenderTimer();
|
||||||
m_Init = true;
|
m_Init = true;
|
||||||
}
|
}
|
||||||
@ -61,9 +84,14 @@ void GLWidget::DrawQuad()
|
|||||||
if (m_OutputTexID != 0 && finalImage && !finalImage->empty())
|
if (m_OutputTexID != 0 && finalImage && !finalImage->empty())
|
||||||
{
|
{
|
||||||
glBindTexture(GL_TEXTURE_2D, m_OutputTexID);//The texture to draw to.
|
glBindTexture(GL_TEXTURE_2D, m_OutputTexID);//The texture to draw to.
|
||||||
|
auto scaledW = std::ceil(width() * devicePixelRatioF());
|
||||||
|
auto scaledH = std::ceil(height() * devicePixelRatioF());
|
||||||
|
|
||||||
//Only draw if the dimensions match exactly.
|
//Only draw if the dimensions match exactly.
|
||||||
if (m_TexWidth == width() && m_TexHeight == height() && ((m_TexWidth * m_TexHeight) == GLint(finalImage->size())))
|
if (m_TexWidth == m_Fractorium->m_Controller->FinalRasW() &&
|
||||||
|
m_TexHeight == m_Fractorium->m_Controller->FinalRasH() &&
|
||||||
|
((m_TexWidth * m_TexHeight) == GLint(finalImage->size())))
|
||||||
|
//if (m_TexWidth == scaledW && m_TexHeight == scaledH && ((m_TexWidth * m_TexHeight) == GLint(finalImage->size())))
|
||||||
{
|
{
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glPushMatrix();
|
glPushMatrix();
|
||||||
@ -337,16 +365,16 @@ void GLEmberController<T>::DrawAffines(bool pre, bool post)
|
|||||||
|
|
||||||
if (dragging)//Draw large yellow dot on select or drag.
|
if (dragging)//Draw large yellow dot on select or drag.
|
||||||
{
|
{
|
||||||
m_GL->glPointSize(6.0f);
|
m_GL->glPointSize(6.0f * m_GL->devicePixelRatioF());
|
||||||
m_GL->glBegin(GL_POINTS);
|
m_GL->glBegin(GL_POINTS);
|
||||||
m_GL->glColor4f(1.0f, 1.0f, 0.5f, 1.0f);
|
m_GL->glColor4f(1.0f, 1.0f, 0.5f, 1.0f);
|
||||||
m_GL->glVertex2f(m_DragHandlePos.x, m_DragHandlePos.y);
|
m_GL->glVertex2f(m_DragHandlePos.x, m_DragHandlePos.y);
|
||||||
m_GL->glEnd();
|
m_GL->glEnd();
|
||||||
m_GL->glPointSize(1.0f);//Restore point size.
|
m_GL->glPointSize(1.0f * m_GL->devicePixelRatioF());//Restore point size.
|
||||||
}
|
}
|
||||||
else if (m_DragState == eDragState::DragSelect)
|
else if (m_DragState == eDragState::DragSelect)
|
||||||
{
|
{
|
||||||
m_GL->glLineWidth(2.0f);
|
m_GL->glLineWidth(2.0f * m_GL->devicePixelRatioF());
|
||||||
m_GL->glBegin(GL_LINES);
|
m_GL->glBegin(GL_LINES);
|
||||||
m_GL->glColor4f(0.0f, 0.0f, 1.0f, 1.0f);
|
m_GL->glColor4f(0.0f, 0.0f, 1.0f, 1.0f);
|
||||||
m_GL->glVertex2f(m_MouseDownWorldPos.x, m_MouseDownWorldPos.y);//UL->UR
|
m_GL->glVertex2f(m_MouseDownWorldPos.x, m_MouseDownWorldPos.y);//UL->UR
|
||||||
@ -358,16 +386,16 @@ void GLEmberController<T>::DrawAffines(bool pre, bool post)
|
|||||||
m_GL->glVertex2f(m_MouseWorldPos.x, m_MouseDownWorldPos.y);//UR->LR
|
m_GL->glVertex2f(m_MouseWorldPos.x, m_MouseDownWorldPos.y);//UR->LR
|
||||||
m_GL->glVertex2f(m_MouseWorldPos.x, m_MouseWorldPos.y);
|
m_GL->glVertex2f(m_MouseWorldPos.x, m_MouseWorldPos.y);
|
||||||
m_GL->glEnd();
|
m_GL->glEnd();
|
||||||
m_GL->glLineWidth(1.0f);
|
m_GL->glLineWidth(1.0f * m_GL->devicePixelRatioF());
|
||||||
}
|
}
|
||||||
else if (m_HoverType != eHoverType::HoverNone && m_HoverXform == m_SelectedXform)//Draw large turquoise dot on hover if they are hovering over the selected xform.
|
else if (m_HoverType != eHoverType::HoverNone && m_HoverXform == m_SelectedXform)//Draw large turquoise dot on hover if they are hovering over the selected xform.
|
||||||
{
|
{
|
||||||
m_GL->glPointSize(6.0f);
|
m_GL->glPointSize(6.0f * m_GL->devicePixelRatioF());
|
||||||
m_GL->glBegin(GL_POINTS);
|
m_GL->glBegin(GL_POINTS);
|
||||||
m_GL->glColor4f(0.5f, 1.0f, 1.0f, 1.0f);
|
m_GL->glColor4f(0.5f, 1.0f, 1.0f, 1.0f);
|
||||||
m_GL->glVertex2f(m_HoverHandlePos.x, m_HoverHandlePos.y);
|
m_GL->glVertex2f(m_HoverHandlePos.x, m_HoverHandlePos.y);
|
||||||
m_GL->glEnd();
|
m_GL->glEnd();
|
||||||
m_GL->glPointSize(1.0f);
|
m_GL->glPointSize(1.0f * m_GL->devicePixelRatioF());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -435,7 +463,7 @@ void GLWidget::keyReleaseEvent(QKeyEvent* e)
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
void GLEmberController<T>::MousePress(QMouseEvent* e)
|
void GLEmberController<T>::MousePress(QMouseEvent* e)
|
||||||
{
|
{
|
||||||
v3T mouseFlipped(e->x() * m_GL->devicePixelRatio(), m_Viewport[3] - e->y() * m_GL->devicePixelRatio(), 0);//Must flip y because in OpenGL, 0,0 is bottom left, but in windows, it's top left.
|
v3T mouseFlipped(e->x() * m_GL->devicePixelRatioF(), m_Viewport[3] - e->y() * m_GL->devicePixelRatioF(), 0);//Must flip y because in OpenGL, 0,0 is bottom left, but in windows, it's top left.
|
||||||
auto ember = m_FractoriumEmberController->CurrentEmber();
|
auto ember = m_FractoriumEmberController->CurrentEmber();
|
||||||
auto renderer = m_FractoriumEmberController->Renderer();
|
auto renderer = m_FractoriumEmberController->Renderer();
|
||||||
|
|
||||||
@ -443,7 +471,7 @@ void GLEmberController<T>::MousePress(QMouseEvent* e)
|
|||||||
if (!renderer)
|
if (!renderer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_MouseDownPos = glm::ivec2(e->x() * m_GL->devicePixelRatio(), e->y() * m_GL->devicePixelRatio());//Capture the raster coordinates of where the mouse was clicked.
|
m_MouseDownPos = glm::ivec2(e->x() * m_GL->devicePixelRatioF(), e->y() * m_GL->devicePixelRatioF());//Capture the raster coordinates of where the mouse was clicked.
|
||||||
m_MouseWorldPos = WindowToWorld(mouseFlipped, false);//Capture the world cartesian coordinates of where the mouse is.
|
m_MouseWorldPos = WindowToWorld(mouseFlipped, false);//Capture the world cartesian coordinates of where the mouse is.
|
||||||
m_BoundsDown.w = renderer->LowerLeftX(false);//Need to capture these because they'll be changing if scaling.
|
m_BoundsDown.w = renderer->LowerLeftX(false);//Need to capture these because they'll be changing if scaling.
|
||||||
m_BoundsDown.x = renderer->LowerLeftY(false);
|
m_BoundsDown.x = renderer->LowerLeftY(false);
|
||||||
@ -530,7 +558,7 @@ void GLWidget::mousePressEvent(QMouseEvent* e)
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
void GLEmberController<T>::MouseRelease(QMouseEvent* e)
|
void GLEmberController<T>::MouseRelease(QMouseEvent* e)
|
||||||
{
|
{
|
||||||
v3T mouseFlipped(e->x() * m_GL->devicePixelRatio(), m_Viewport[3] - e->y() * m_GL->devicePixelRatio(), 0);//Must flip y because in OpenGL, 0,0 is bottom left, but in windows, it's top left.
|
v3T mouseFlipped(e->x() * m_GL->devicePixelRatioF(), m_Viewport[3] - e->y() * m_GL->devicePixelRatioF(), 0);//Must flip y because in OpenGL, 0,0 is bottom left, but in windows, it's top left.
|
||||||
m_MouseWorldPos = WindowToWorld(mouseFlipped, false);
|
m_MouseWorldPos = WindowToWorld(mouseFlipped, false);
|
||||||
|
|
||||||
if (m_DragState == eDragState::DragDragging && (e->button() & Qt::LeftButton))
|
if (m_DragState == eDragState::DragDragging && (e->button() & Qt::LeftButton))
|
||||||
@ -567,8 +595,8 @@ template <typename T>
|
|||||||
void GLEmberController<T>::MouseMove(QMouseEvent* e)
|
void GLEmberController<T>::MouseMove(QMouseEvent* e)
|
||||||
{
|
{
|
||||||
bool draw = true;
|
bool draw = true;
|
||||||
glm::ivec2 mouse(e->x() * m_GL->devicePixelRatio(), e->y() * m_GL->devicePixelRatio());
|
glm::ivec2 mouse(e->x() * m_GL->devicePixelRatioF(), e->y() * m_GL->devicePixelRatioF());
|
||||||
v3T mouseFlipped(e->x() * m_GL->devicePixelRatio(), m_Viewport[3] - e->y() * m_GL->devicePixelRatio(), 0);//Must flip y because in OpenGL, 0,0 is bottom left, but in windows, it's top left.
|
v3T mouseFlipped(e->x() * m_GL->devicePixelRatioF(), m_Viewport[3] - e->y() * m_GL->devicePixelRatioF(), 0);//Must flip y because in OpenGL, 0,0 is bottom left, but in windows, it's top left.
|
||||||
auto ember = m_FractoriumEmberController->CurrentEmber();
|
auto ember = m_FractoriumEmberController->CurrentEmber();
|
||||||
|
|
||||||
//First check to see if the mouse actually moved.
|
//First check to see if the mouse actually moved.
|
||||||
@ -580,7 +608,7 @@ void GLEmberController<T>::MouseMove(QMouseEvent* e)
|
|||||||
|
|
||||||
//Update status bar on main window, regardless of whether anything is being dragged.
|
//Update status bar on main window, regardless of whether anything is being dragged.
|
||||||
if (m_Fractorium->m_Controller->RenderTimerRunning())
|
if (m_Fractorium->m_Controller->RenderTimerRunning())
|
||||||
m_Fractorium->SetCoordinateStatus(e->x() * m_GL->devicePixelRatio(), e->y() * m_GL->devicePixelRatio(), m_MouseWorldPos.x, m_MouseWorldPos.y);
|
m_Fractorium->SetCoordinateStatus(e->x() * m_GL->devicePixelRatioF(), e->y() * m_GL->devicePixelRatioF(), m_MouseWorldPos.x, m_MouseWorldPos.y);
|
||||||
|
|
||||||
if (m_SelectedXform && m_DragState == eDragState::DragDragging)//Dragging and affine.
|
if (m_SelectedXform && m_DragState == eDragState::DragDragging)//Dragging and affine.
|
||||||
{
|
{
|
||||||
@ -723,7 +751,9 @@ void GLWidget::wheelEvent(QWheelEvent* e)
|
|||||||
/// <param name="h">Height in pixels</param>
|
/// <param name="h">Height in pixels</param>
|
||||||
void GLWidget::SetDimensions(int w, int h)
|
void GLWidget::SetDimensions(int w, int h)
|
||||||
{
|
{
|
||||||
setFixedSize(w, h);
|
auto downscaledW = std::ceil(w / devicePixelRatioF());
|
||||||
|
auto downscaledH = std::ceil(h / devicePixelRatioF());
|
||||||
|
setFixedSize(downscaledW, downscaledH);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -736,13 +766,18 @@ void GLWidget::SetDimensions(int w, int h)
|
|||||||
bool GLWidget::Allocate(bool force)
|
bool GLWidget::Allocate(bool force)
|
||||||
{
|
{
|
||||||
bool alloc = false;
|
bool alloc = false;
|
||||||
bool doResize = force || m_TexWidth != width() || m_TexHeight != height();
|
//auto scaledW = std::ceil(width() * devicePixelRatioF());
|
||||||
|
auto w = m_Fractorium->m_Controller->FinalRasW();
|
||||||
|
auto h = m_Fractorium->m_Controller->FinalRasH();
|
||||||
|
bool doResize = force || m_TexWidth != w || m_TexHeight != h;
|
||||||
bool doIt = doResize || m_OutputTexID == 0;
|
bool doIt = doResize || m_OutputTexID == 0;
|
||||||
|
|
||||||
if (doIt)
|
if (doIt)
|
||||||
{
|
{
|
||||||
m_TexWidth = width();
|
//m_TexWidth = scaledW;
|
||||||
m_TexHeight = height();
|
//m_TexHeight = scaledH;
|
||||||
|
m_TexWidth = GLint(w);
|
||||||
|
m_TexHeight = GLint(h);
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||||
|
|
||||||
@ -811,12 +846,12 @@ void GLWidget::SetViewport()
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
bool GLEmberController<T>::SizesMatch()
|
bool GLEmberController<T>::SizesMatch()
|
||||||
{
|
{
|
||||||
|
//auto scaledW = std::ceil(m_GL->width() * m_GL->devicePixelRatioF());
|
||||||
|
//auto scaledH = std::ceil(m_GL->height() * m_GL->devicePixelRatioF());
|
||||||
auto ember = m_FractoriumEmberController->CurrentEmber();
|
auto ember = m_FractoriumEmberController->CurrentEmber();
|
||||||
return (ember &&
|
return (ember &&
|
||||||
ember->m_FinalRasW == m_GL->width() &&
|
ember->m_FinalRasW == m_GL->m_TexWidth &&
|
||||||
ember->m_FinalRasH == m_GL->height() &&
|
ember->m_FinalRasH == m_GL->m_TexHeight &&
|
||||||
m_GL->width() == m_GL->m_TexWidth &&
|
|
||||||
m_GL->height() == m_GL->m_TexHeight &&
|
|
||||||
m_GL->m_TexWidth == m_GL->m_ViewWidth &&
|
m_GL->m_TexWidth == m_GL->m_ViewWidth &&
|
||||||
m_GL->m_TexHeight == m_GL->m_ViewHeight);
|
m_GL->m_TexHeight == m_GL->m_ViewHeight);
|
||||||
}
|
}
|
||||||
@ -826,7 +861,7 @@ bool GLEmberController<T>::SizesMatch()
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
void GLWidget::DrawUnitSquare()
|
void GLWidget::DrawUnitSquare()
|
||||||
{
|
{
|
||||||
glLineWidth(1.0f);
|
glLineWidth(1.0f * devicePixelRatioF());
|
||||||
glBegin(GL_LINES);
|
glBegin(GL_LINES);
|
||||||
glColor4f(1.0f, 1.0f, 1.0f, 0.25f);
|
glColor4f(1.0f, 1.0f, 1.0f, 0.25f);
|
||||||
glVertex2f(-1, -1);
|
glVertex2f(-1, -1);
|
||||||
@ -868,7 +903,7 @@ void GLEmberController<T>::DrawGrid()
|
|||||||
m_GL->glPushMatrix();
|
m_GL->glPushMatrix();
|
||||||
m_GL->glLoadIdentity();
|
m_GL->glLoadIdentity();
|
||||||
MultMatrix(mat);
|
MultMatrix(mat);
|
||||||
m_GL->glLineWidth(1.0f);
|
m_GL->glLineWidth(1.0f * m_GL->devicePixelRatioF());
|
||||||
m_GL->glBegin(GL_LINES);
|
m_GL->glBegin(GL_LINES);
|
||||||
m_GL->glColor4f(0.5f, 0.5f, 0.5f, alpha);
|
m_GL->glColor4f(0.5f, 0.5f, 0.5f, alpha);
|
||||||
|
|
||||||
@ -924,24 +959,24 @@ void GLEmberController<T>::DrawAffine(Xform<T>* xform, bool pre, bool selected)
|
|||||||
m_GL->glPushMatrix();
|
m_GL->glPushMatrix();
|
||||||
m_GL->glLoadIdentity();
|
m_GL->glLoadIdentity();
|
||||||
MultMatrix(mat);
|
MultMatrix(mat);
|
||||||
m_GL->glLineWidth(3.0f);//One 3px wide, colored black, except green on x axis for post affine.
|
m_GL->glLineWidth(3.0f * m_GL->devicePixelRatioF());//One 3px wide, colored black, except green on x axis for post affine.
|
||||||
m_GL->DrawAffineHelper(index, selected, pre, final, true);
|
m_GL->DrawAffineHelper(index, selected, pre, final, true);
|
||||||
m_GL->glLineWidth(1.0f);//Again 1px wide, colored white, to give a white middle with black outline effect.
|
m_GL->glLineWidth(1.0f * m_GL->devicePixelRatioF());//Again 1px wide, colored white, to give a white middle with black outline effect.
|
||||||
m_GL->DrawAffineHelper(index, selected, pre, final, false);
|
m_GL->DrawAffineHelper(index, selected, pre, final, false);
|
||||||
m_GL->glPointSize(5.0f);//Three black points, one in the center and two on the circle. Drawn big 5px first to give a black outline.
|
m_GL->glPointSize(5.0f * m_GL->devicePixelRatioF());//Three black points, one in the center and two on the circle. Drawn big 5px first to give a black outline.
|
||||||
m_GL->glBegin(GL_POINTS);
|
m_GL->glBegin(GL_POINTS);
|
||||||
m_GL->glColor4f(0.0f, 0.0f, 0.0f, selected ? 1.0f : 0.5f);
|
m_GL->glColor4f(0.0f, 0.0f, 0.0f, selected ? 1.0f : 0.5f);
|
||||||
m_GL->glVertex2f(0.0f, 0.0f);
|
m_GL->glVertex2f(0.0f, 0.0f);
|
||||||
m_GL->glVertex2f(1.0f, 0.0f);
|
m_GL->glVertex2f(1.0f, 0.0f);
|
||||||
m_GL->glVertex2f(0.0f, 1.0f);
|
m_GL->glVertex2f(0.0f, 1.0f);
|
||||||
m_GL->glEnd();
|
m_GL->glEnd();
|
||||||
m_GL->glLineWidth(2.0f);//Draw lines again for y axis only, without drawing the circle, using the color of the selected xform.
|
m_GL->glLineWidth(2.0f * m_GL->devicePixelRatioF());//Draw lines again for y axis only, without drawing the circle, using the color of the selected xform.
|
||||||
m_GL->glBegin(GL_LINES);
|
m_GL->glBegin(GL_LINES);
|
||||||
m_GL->glColor4f(color.r, color.g, color.b, 1.0f);
|
m_GL->glColor4f(color.r, color.g, color.b, 1.0f);
|
||||||
m_GL->glVertex2f(0.0f, 0.0f);
|
m_GL->glVertex2f(0.0f, 0.0f);
|
||||||
m_GL->glVertex2f(0.0f, 1.0f);
|
m_GL->glVertex2f(0.0f, 1.0f);
|
||||||
m_GL->glEnd();
|
m_GL->glEnd();
|
||||||
m_GL->glPointSize(3.0f);//Draw smaller white points, to give a black outline effect.
|
m_GL->glPointSize(3.0f * m_GL->devicePixelRatioF());//Draw smaller white points, to give a black outline effect.
|
||||||
m_GL->glBegin(GL_POINTS);
|
m_GL->glBegin(GL_POINTS);
|
||||||
m_GL->glColor4f(1.0f, 1.0f, 1.0f, selected ? 1.0f : 0.5f);
|
m_GL->glColor4f(1.0f, 1.0f, 1.0f, selected ? 1.0f : 0.5f);
|
||||||
m_GL->glVertex2f(0.0f, 0.0f);
|
m_GL->glVertex2f(0.0f, 0.0f);
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
int rv = -1;
|
int rv = -1;
|
||||||
|
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
#ifdef TEST_CL
|
#ifdef TEST_CL
|
||||||
QMessageBox::critical(QApplication::desktop(), "Error", "Fractorium cannot be run in test mode, undefine TEST_CL first.");
|
QMessageBox::critical(QApplication::desktop(), "Error", "Fractorium cannot be run in test mode, undefine TEST_CL first.");
|
||||||
|
@ -46,6 +46,7 @@ FractoriumOptionsDialog::FractoriumOptionsDialog(QWidget* p, Qt::WindowFlags f)
|
|||||||
ui.OpenCLCheckBox->setChecked(false);
|
ui.OpenCLCheckBox->setChecked(false);
|
||||||
ui.OpenCLCheckBox->setEnabled(false);
|
ui.OpenCLCheckBox->setEnabled(false);
|
||||||
ui.OpenCLSubBatchSpin->setEnabled(false);
|
ui.OpenCLSubBatchSpin->setEnabled(false);
|
||||||
|
ui.OpenCLQualitySpin->setEnabled(false);
|
||||||
ui.OpenCLFilteringDERadioButton->setEnabled(false);
|
ui.OpenCLFilteringDERadioButton->setEnabled(false);
|
||||||
ui.OpenCLFilteringLogRadioButton->setEnabled(false);
|
ui.OpenCLFilteringLogRadioButton->setEnabled(false);
|
||||||
ui.InteraciveGpuFilteringGroupBox->setEnabled(false);
|
ui.InteraciveGpuFilteringGroupBox->setEnabled(false);
|
||||||
@ -69,8 +70,11 @@ bool FractoriumOptionsDialog::ShowAllXforms() { return ui.ShowAllXformsCheckBox-
|
|||||||
bool FractoriumOptionsDialog::ToggleType() { return ui.ToggleTypeCheckBox->isChecked(); }
|
bool FractoriumOptionsDialog::ToggleType() { return ui.ToggleTypeCheckBox->isChecked(); }
|
||||||
bool FractoriumOptionsDialog::Png16Bit() { return ui.Png16BitCheckBox->isChecked(); }
|
bool FractoriumOptionsDialog::Png16Bit() { return ui.Png16BitCheckBox->isChecked(); }
|
||||||
bool FractoriumOptionsDialog::AutoUnique() { return ui.AutoUniqueCheckBox->isChecked(); }
|
bool FractoriumOptionsDialog::AutoUnique() { return ui.AutoUniqueCheckBox->isChecked(); }
|
||||||
|
bool FractoriumOptionsDialog::LoadLast() { return ui.LoadLastOnStartCheckBox->isChecked(); }
|
||||||
uint FractoriumOptionsDialog::ThreadCount() { return ui.ThreadCountSpin->value(); }
|
uint FractoriumOptionsDialog::ThreadCount() { return ui.ThreadCountSpin->value(); }
|
||||||
uint FractoriumOptionsDialog::RandomCount() { return ui.RandomCountSpin->value(); }
|
uint FractoriumOptionsDialog::RandomCount() { return ui.RandomCountSpin->value(); }
|
||||||
|
uint FractoriumOptionsDialog::CpuQuality() { return ui.CpuQualitySpin->value(); }
|
||||||
|
uint FractoriumOptionsDialog::OpenClQuality() { return ui.OpenCLQualitySpin->value(); }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The check state of one of the OpenCL devices was changed.
|
/// The check state of one of the OpenCL devices was changed.
|
||||||
@ -122,6 +126,8 @@ void FractoriumOptionsDialog::OnOpenCLCheckBoxStateChanged(int state)
|
|||||||
ui.ThreadCountSpin->setEnabled(!checked);
|
ui.ThreadCountSpin->setEnabled(!checked);
|
||||||
ui.CpuSubBatchSpin->setEnabled(!checked);
|
ui.CpuSubBatchSpin->setEnabled(!checked);
|
||||||
ui.OpenCLSubBatchSpin->setEnabled(checked);
|
ui.OpenCLSubBatchSpin->setEnabled(checked);
|
||||||
|
ui.OpenCLQualitySpin->setEnabled(checked);
|
||||||
|
ui.CpuQualitySpin->setEnabled(!checked);
|
||||||
ui.CpuFilteringDERadioButton->setEnabled(!checked);
|
ui.CpuFilteringDERadioButton->setEnabled(!checked);
|
||||||
ui.CpuFilteringLogRadioButton->setEnabled(!checked);
|
ui.CpuFilteringLogRadioButton->setEnabled(!checked);
|
||||||
ui.OpenCLFilteringDERadioButton->setEnabled(checked);
|
ui.OpenCLFilteringDERadioButton->setEnabled(checked);
|
||||||
@ -178,6 +184,9 @@ void FractoriumOptionsDialog::GuiToData()
|
|||||||
m_Settings->Png16Bit(Png16Bit());
|
m_Settings->Png16Bit(Png16Bit());
|
||||||
m_Settings->ThreadCount(ThreadCount());
|
m_Settings->ThreadCount(ThreadCount());
|
||||||
m_Settings->RandomCount(RandomCount());
|
m_Settings->RandomCount(RandomCount());
|
||||||
|
m_Settings->LoadLast(LoadLast());
|
||||||
|
m_Settings->CpuQuality(CpuQuality());
|
||||||
|
m_Settings->OpenClQuality(OpenClQuality());
|
||||||
m_Settings->CpuSubBatch(ui.CpuSubBatchSpin->value());
|
m_Settings->CpuSubBatch(ui.CpuSubBatchSpin->value());
|
||||||
m_Settings->OpenCLSubBatch(ui.OpenCLSubBatchSpin->value());
|
m_Settings->OpenCLSubBatch(ui.OpenCLSubBatchSpin->value());
|
||||||
m_Settings->CpuDEFilter(ui.CpuFilteringDERadioButton->isChecked());
|
m_Settings->CpuDEFilter(ui.CpuFilteringDERadioButton->isChecked());
|
||||||
@ -212,6 +221,9 @@ void FractoriumOptionsDialog::DataToGui()
|
|||||||
ui.Png16BitCheckBox->setChecked(m_Settings->Png16Bit());
|
ui.Png16BitCheckBox->setChecked(m_Settings->Png16Bit());
|
||||||
ui.ThreadCountSpin->setValue(m_Settings->ThreadCount());
|
ui.ThreadCountSpin->setValue(m_Settings->ThreadCount());
|
||||||
ui.RandomCountSpin->setValue(m_Settings->RandomCount());
|
ui.RandomCountSpin->setValue(m_Settings->RandomCount());
|
||||||
|
ui.LoadLastOnStartCheckBox->setChecked(m_Settings->LoadLast());
|
||||||
|
ui.CpuQualitySpin->setValue(m_Settings->CpuQuality());
|
||||||
|
ui.OpenCLQualitySpin->setValue(m_Settings->OpenClQuality());
|
||||||
ui.CpuSubBatchSpin->setValue(m_Settings->CpuSubBatch());
|
ui.CpuSubBatchSpin->setValue(m_Settings->CpuSubBatch());
|
||||||
ui.OpenCLSubBatchSpin->setValue(m_Settings->OpenCLSubBatch());
|
ui.OpenCLSubBatchSpin->setValue(m_Settings->OpenCLSubBatch());
|
||||||
SettingsToDeviceTable(ui.DeviceTable, devices);
|
SettingsToDeviceTable(ui.DeviceTable, devices);
|
||||||
|
@ -47,8 +47,11 @@ private:
|
|||||||
bool ToggleType();
|
bool ToggleType();
|
||||||
bool Png16Bit();
|
bool Png16Bit();
|
||||||
bool AutoUnique();
|
bool AutoUnique();
|
||||||
|
bool LoadLast();
|
||||||
uint ThreadCount();
|
uint ThreadCount();
|
||||||
uint RandomCount();
|
uint RandomCount();
|
||||||
|
uint CpuQuality();
|
||||||
|
uint OpenClQuality();
|
||||||
void DataToGui();
|
void DataToGui();
|
||||||
void GuiToData();
|
void GuiToData();
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>427</width>
|
<width>427</width>
|
||||||
<height>487</height>
|
<height>475</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -169,6 +169,26 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QCheckBox" name="ToggleTypeCheckBox">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>Checked: right clicking toggles spin boxes, right button dragging disabled.</p><p>Unchecked: double clicking toggles spin boxes, right button dragging enabled.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Right Click Toggles Spinboxes</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="0">
|
||||||
|
<widget class="QCheckBox" name="Png16BitCheckBox">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>Save each RGBA component as 16-bits when saving Png files.</p><p>This leads to greater color precision for use in high end rendering and display on HDR monitors, however it makes the file size larger.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Save 16-bit Png</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="6" column="0" colspan="2">
|
<item row="6" column="0" colspan="2">
|
||||||
<widget class="QTableWidget" name="DeviceTable">
|
<widget class="QTableWidget" name="DeviceTable">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -257,57 +277,53 @@
|
|||||||
</column>
|
</column>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="8" column="0">
|
<item row="15" column="0" colspan="2">
|
||||||
<widget class="QSpinBox" name="ThreadCountSpin">
|
<layout class="QGridLayout" name="InteractiveRenderingTabGridLayout">
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QGroupBox" name="InteraciveGpuFilteringGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>OpenCL Filtering</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>4</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>5</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QRadioButton" name="OpenCLFilteringLogRadioButton">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string><html><head/><body><p>The number of threads to use with CPU rendering.</p><p>Decrease for more responsive editing, increase for better performance.</p></body></html></string>
|
<string>Use log scale filtering for interactive editing using OpenCL.</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="prefix">
|
<property name="text">
|
||||||
<string>Threads </string>
|
<string>Log Scale</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="minimum">
|
<property name="checked">
|
||||||
<number>1</number>
|
<bool>true</bool>
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>64</number>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="0">
|
<item>
|
||||||
<widget class="QSpinBox" name="CpuSubBatchSpin">
|
<widget class="QRadioButton" name="OpenCLFilteringDERadioButton">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>The number of 10,000 iteration chunks ran per thread on the CPU
|
<string><html><head/><body><p>Use full density estimation filtering for interactive editing using OpenCL.</p><p>This is slower, but gives better feedback.</p></body></html></string>
|
||||||
in interactive mode for each mouse movement</string>
|
|
||||||
</property>
|
</property>
|
||||||
<property name="prefix">
|
<property name="text">
|
||||||
<string>CPU Sub Batch </string>
|
<string>Full DE</string>
|
||||||
</property>
|
|
||||||
<property name="minimum">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>100</number>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="10" column="0">
|
</layout>
|
||||||
<widget class="QSpinBox" name="OpenCLSubBatchSpin">
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>The number of ~8M iteration chunks ran using OpenCL
|
|
||||||
in interactive mode for each mouse movement</string>
|
|
||||||
</property>
|
|
||||||
<property name="prefix">
|
|
||||||
<string>OpenCL Sub Batch </string>
|
|
||||||
</property>
|
|
||||||
<property name="minimum">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="maximum">
|
|
||||||
<number>100</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="11" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QGroupBox" name="InteraciveCpuFilteringGroupBox">
|
<widget class="QGroupBox" name="InteraciveCpuFilteringGroupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>CPU Filtering</string>
|
<string>CPU Filtering</string>
|
||||||
@ -354,51 +370,79 @@ in interactive mode for each mouse movement</string>
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="12" column="0">
|
<item row="2" column="0">
|
||||||
<widget class="QGroupBox" name="InteraciveGpuFilteringGroupBox">
|
<widget class="QSpinBox" name="OpenCLSubBatchSpin">
|
||||||
<property name="title">
|
|
||||||
<string>OpenCL Filtering</string>
|
|
||||||
</property>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>3</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>4</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>5</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QRadioButton" name="OpenCLFilteringLogRadioButton">
|
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Use log scale filtering for interactive editing using OpenCL.</string>
|
<string>The number of ~8M iteration chunks ran using OpenCL
|
||||||
|
in interactive mode for each mouse movement</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="prefix">
|
||||||
<string>Log Scale</string>
|
<string>OpenCL Sub Batch </string>
|
||||||
</property>
|
</property>
|
||||||
<property name="checked">
|
<property name="minimum">
|
||||||
<bool>true</bool>
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item row="1" column="1">
|
||||||
<widget class="QRadioButton" name="OpenCLFilteringDERadioButton">
|
<widget class="QSpinBox" name="OpenCLQualitySpin">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string><html><head/><body><p>Use full density estimation filtering for interactive editing using OpenCL.</p><p>This is slower, but gives better feedback.</p></body></html></string>
|
<string><html><head/><body><p>The default quality to use for the interactive renderer when using OpenCL.</p><p>30 is a good number for this, but you can use a larger value if you have a faster GPU.</p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="prefix">
|
||||||
<string>Full DE</string>
|
<string>OpenCL Quality </string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>99999</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>30</number>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
<item row="2" column="1">
|
||||||
|
<widget class="QSpinBox" name="CpuQualitySpin">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>The default quality to use for the interactive renderer when using the CPU.</p><p>10 is a good number for this, but you can use a larger value if you have a faster system.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="prefix">
|
||||||
|
<string>CPU Quality </string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>99999</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="0">
|
<item row="0" column="1">
|
||||||
|
<widget class="QSpinBox" name="CpuSubBatchSpin">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>The number of 10,000 iteration chunks ran per thread on the CPU
|
||||||
|
in interactive mode for each mouse movement</string>
|
||||||
|
</property>
|
||||||
|
<property name="prefix">
|
||||||
|
<string>CPU Sub Batch </string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
<widget class="QSpinBox" name="RandomCountSpin">
|
<widget class="QSpinBox" name="RandomCountSpin">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string><html><head/><body><p>The number of random flames to generate on startup.</p><p>These are usually of low quality, so leave the count as 1 unless you are searching for good randoms.</p></body></html></string>
|
<string><html><head/><body><p>The number of random flames to generate on startup.</p><p>These are usually of low quality, so leave the count as 1 unless you are searching for good randoms.</p></body></html></string>
|
||||||
@ -414,23 +458,31 @@ in interactive mode for each mouse movement</string>
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="1">
|
<item row="0" column="0">
|
||||||
<widget class="QCheckBox" name="ToggleTypeCheckBox">
|
<widget class="QSpinBox" name="ThreadCountSpin">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string><html><head/><body><p>Checked: right clicking toggles spin boxes, right button dragging disabled.</p><p>Unchecked: double clicking toggles spin boxes, right button dragging enabled.</p></body></html></string>
|
<string><html><head/><body><p>The number of threads to use with CPU rendering.</p><p>Decrease for more responsive editing, increase for better performance.</p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="prefix">
|
||||||
<string>Right Click Toggles Spinboxes</string>
|
<string>Threads </string>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>64</number>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
</layout>
|
||||||
<widget class="QCheckBox" name="Png16BitCheckBox">
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QCheckBox" name="LoadLastOnStartCheckBox">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string><html><head/><body><p>Save each RGBA component as 16-bits when saving Png files.</p><p>This leads to greater color precision for use in high end rendering and display on HDR monitors, however it makes the file size larger.</p></body></html></string>
|
<string><html><head/><body><p>Checked: load the flame from the previous run on startup.</p><p>Unchecked: create randoms on startup.</p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Save 16-bit Png</string>
|
<string>Load Last on Start</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -858,10 +910,13 @@ in interactive mode for each mouse movement</string>
|
|||||||
<tabstop>ContinuousUpdateCheckBox</tabstop>
|
<tabstop>ContinuousUpdateCheckBox</tabstop>
|
||||||
<tabstop>ToggleTypeCheckBox</tabstop>
|
<tabstop>ToggleTypeCheckBox</tabstop>
|
||||||
<tabstop>Png16BitCheckBox</tabstop>
|
<tabstop>Png16BitCheckBox</tabstop>
|
||||||
<tabstop>RandomCountSpin</tabstop>
|
<tabstop>LoadLastOnStartCheckBox</tabstop>
|
||||||
<tabstop>ThreadCountSpin</tabstop>
|
<tabstop>ThreadCountSpin</tabstop>
|
||||||
<tabstop>CpuSubBatchSpin</tabstop>
|
<tabstop>CpuSubBatchSpin</tabstop>
|
||||||
|
<tabstop>RandomCountSpin</tabstop>
|
||||||
|
<tabstop>OpenCLQualitySpin</tabstop>
|
||||||
<tabstop>OpenCLSubBatchSpin</tabstop>
|
<tabstop>OpenCLSubBatchSpin</tabstop>
|
||||||
|
<tabstop>CpuQualitySpin</tabstop>
|
||||||
<tabstop>CpuFilteringLogRadioButton</tabstop>
|
<tabstop>CpuFilteringLogRadioButton</tabstop>
|
||||||
<tabstop>CpuFilteringDERadioButton</tabstop>
|
<tabstop>CpuFilteringDERadioButton</tabstop>
|
||||||
<tabstop>OpenCLFilteringLogRadioButton</tabstop>
|
<tabstop>OpenCLFilteringLogRadioButton</tabstop>
|
||||||
|
@ -15,7 +15,7 @@ if not exist ".\output" mkdir .\output
|
|||||||
|
|
||||||
cd IlmBase
|
cd IlmBase
|
||||||
|
|
||||||
cmake -G "Visual Studio 14 2015 Win64"^
|
cmake -G "Visual Studio 15 2017 Win64"^
|
||||||
-DCMAKE_PREFIX_PATH="%current%\output"^
|
-DCMAKE_PREFIX_PATH="%current%\output"^
|
||||||
-DCMAKE_INSTALL_PREFIX="%current%\output"^
|
-DCMAKE_INSTALL_PREFIX="%current%\output"^
|
||||||
.\
|
.\
|
||||||
@ -24,7 +24,7 @@ cmake --build . --target install --config Release -- /maxcpucount:8
|
|||||||
|
|
||||||
cd ..\OpenEXR
|
cd ..\OpenEXR
|
||||||
|
|
||||||
cmake -G "Visual Studio 14 2015 Win64"^
|
cmake -G "Visual Studio 15 2017 Win64"^
|
||||||
-DCMAKE_PREFIX_PATH="%current%\output"^
|
-DCMAKE_PREFIX_PATH="%current%\output"^
|
||||||
-DCMAKE_INSTALL_PREFIX="%current%\output"^
|
-DCMAKE_INSTALL_PREFIX="%current%\output"^
|
||||||
-DILMBASE_PACKAGE_PREFIX="%current%\output" ^
|
-DILMBASE_PACKAGE_PREFIX="%current%\output" ^
|
||||||
|
Loading…
Reference in New Issue
Block a user