--User changes

-Add a palette editor.
 -Add support for reading .ugr/.gradient/.gradients palette files.
 -Allow toggling on spinners whose minimum value is not zero.
 -Allow toggling display of image, affines and grid.
 -Add new variations: cylinder2, circlesplit, tile_log, truchet_fill, waves2_radial.

--Bug fixes
 -cpow2 was wrong.
 -Palettes with rapid changes in color would produce slightly different outputs from Apo/Chaotica. This was due to a long standing bug from flam3.
 -Use exec() on Apple and show() on all other OSes for dialog boxes.
 -Trying to render a sequence with no frames would crash.
 -Selecting multiple xforms and rotating them would produce the wrong rotation.
 -Better handling when parsing flames using different encoding, such as unicode and UTF-8.
 -Switching between SP/DP didn't reselect the selected flame in the Library tab.

--Code changes
 -Make all types concerning palettes be floats, including PaletteTableWidgetItem.
 -PaletteTableWidgetItem is no longer templated because all palettes are float.
 -Include the source colors for user created gradients.
 -Change parallel_for() calls to work with very old versions of TBB which are lingering on some systems.
 -Split conditional out of accumulation loop on the CPU for better performance.
 -Vectorize summing when doing density filter for better performance.
 -Make all usage of palettes be of type float, double is pointless.
 -Allow palettes to reside in multiple folders, while ensuring only one of each name is added.
 -Refactor some palette path searching code.
 -Make ReadFile() throw and catch an exception if the file operation fails.
 -A little extra safety in foci and foci3D with a call to Zeps().
 -Cast to (real_t) in the OpenCL string for the w variation, which was having trouble compiling on Mac.
 -Fixing missing comma between paths in InitPaletteList().
 -Move Xml and PaletteList classes into cpp to shorten build times when working on them.
 -Remove default param values for IterOpenCLKernelCreator<T>::SharedDataIndexDefines in cpp file.
 -Change more NULL to nullptr.
This commit is contained in:
Person
2017-02-26 00:02:21 -08:00
parent 8a75d5d227
commit 8a4127d5d7
102 changed files with 242668 additions and 3713 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5240
Data/tatasz_pack_01.gradient Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

5239
Data/tatasz_pack_03.gradient Normal file

File diff suppressed because it is too large Load Diff

68
Data/user-palettes.xml Normal file
View File

@ -0,0 +1,68 @@
<palettes>
<palette number="0" name="pal1" source_colors="0,0.847059,0.482353,0.109804 0.111111,0.878431,0.67451,0.282353 0.222222,0.329412,0.258824,0.866667 0.333333,0.843137,0.286275,0.0745098 0.444444,0.470588,0.909804,0.180392 0.555556,0.0588235,0.168627,0.529412 0.666667,0.439216,0.615686,0.780392 0.777778,0.890196,0.701961,0.101961 0.888889,0.486275,0.886275,0.568627 1,0.443137,0.384314,0.921569 " data="00d87c1d00d87e1f00d9802000d9812200d9832300da852500da862600da8828
00da8a2900db8c2b00db8d2c00db8f2e00dc913000dc933100dc943300dc9634
00dd983600dd993700dd9b3900de9d3a00de9f3c00dea03e00dea23f00dfa441
00dfa54200dfa74400dfa94500e0ab4700dfab4900daa74e00d5a45400d0a059
00cb9c5e00c6996300c1956900bc916e00b88d7300b38a7800ae867e00a98283
00a47e88009f7b8d009a7792009573980090709d008b6ca2008668a7008164ad
007c61b200785db7007359bc006e55c2006952c700644ecc005f4ad1005a47d7
005543dc005842d7005c42d0006143c9006543c2006a43bb006f43b4007344ad
007844a6007b44a1007f449a008445930089458c008d45850092457e00974676
009b466f00a0466800a4466100a9475a00ae475300b2474c00b7474500bb483e
00c0483700c5482f00c9482800ce492100d2491a00d7491300d44f1400d05415
00cd5a1600ca5f1700c6651800c36b1900c0701a00bc761b00b97b1c00b6811c
00b2861d00af8c1e00ac921f00a8972000a59d2100a2a222009ea823009bae24
0098b3250094b9260091be27008ec428008aca290087cf2a0084d52b0080da2c
007de02d0079e62e0076e4300072de33006fd736006bd0390067ca3c0063c33f
0060bc43005cb6460058af490055a94c0051a24f004d9b52004a955500468e58
0042875c003f815f003b7a620037736500336d680030666b002c5f6e00285971
0025527500214b78001d457b001a3e7e0016388100123184000f2b8700132f89
0016338c001a378e001d3b9000203f920024439500274797002b4c99002e509b
0031549e003558a000385ca2003c60a4003f64a7004368a900466cab004970ad
004d74b0005078b200547cb4005780b6005a84b9005e88bb00618cbd006590bf
006894c2006b98c4006f9cc600739ec300779ebd007b9fb7007fa0b10083a1ab
0087a1a5008ba29e008fa3980093a4920097a48c009ba586009fa68000a3a77a
00a7a87400aba86e00afa96800b3aa6200b7ab5c00bbab5500c0ac4f00c4ad49
00c8ae4300cbae3e00cfaf3800d3b03200d7b12c00dbb12600dfb22000e3b31a
00dfb51e00dcb62200d8b82700d5ba2b00d1bb2f00cdbd3300cabf3700c6c03b
00c2c24000bfc44400bbc54800b8c74c00b4c85000b0ca5500adcc5900a9cd5d
00a5cf6100a2d165009ed269009bd46e0097d6720093d7760090d97a008cdb7e
0088dc830085de870081e08b007ee18f007cdf93007bdb96007bd699007bd29c
007acd9f007ac9a30079c4a60079c0a90079bbac0078b7af0078b2b20078aeb6
0077a9b90077a5bc0076a0bf00769cc2007697c5007593c900758ecc00748acf
007485d2007481d500737cd8007378dc007273df00726fe200726ae5007166e8
"/>
<palette number="1" name="pal2" source_colors="0,0.545098,0.223529,0.298039 0.0666667,0.694118,0.337255,0.427451 0.133333,0.690196,0.392157,0.505882 0.2,0.686275,0.282353,0.34902 0.266667,0.694118,0.337255,0.419608 0.333333,0.243137,0.286275,0.301961 0.4,0.533333,0.32549,0.521569 0.466667,0.47451,0.392157,0.517647 0.533333,0.52549,0.298039,0.466667 0.6,0.521569,0.243137,0.305882 0.666667,0.521569,0.282353,0.392157 0.733333,0.619608,0.513726,0.556863 0.8,0.486275,0.458824,0.501961 0.866667,0.345098,0.317647,0.352941 0.933333,0.678431,0.360784,0.454902 1,0.807843,0.407843,0.490196 " data="008c3a4d008f3c4f00913d5100933f530095415500974357009a4459009c465b
009e485d00a0495f00a34b6000a54d6200a74e6400a9506600ac526800ae546a
00b0556c00b1566e00b1576f00b1587000b1597100b15a7200b15b7300b15b75
00b15c7600b05d7700b05e7800b05f7900b05f7b00b0607c00b0617d00b0627e
00b0637f00b0648000b0638000b0627e00b0607b00b05e7900b05d7700b05b74
00b0597200b0586f00af566d00af546b00af536800af516600af506400af4e61
00af4c5f00af4b5d00af495a00af485900af495a00af4a5c00af4b5d00b04c5e
00b04c5f00b04d6000b04e6100b04f6200b0506300b0516400b0516500b05266
00b1536700b1546800b1546900b1556a00b0566b00a9556900a35467009c5465
00955364008e5262008851600081515e007a505d00734f5b006d4e5900664e57
005f4d5600584c5400524b52004b4a5000444a4f003e494d00434a5000474a54
004b4b5700504b5a00544c5e00584d61005d4d6400614e6700654e6b006a4f6e
006e4f710072507500775178007b517b007f527e008452820088538500875485
008655850085568500845785008458850083598500825a8500815b8500805c84
007f5d84007e5e84007d5f84007d6084007c6184007b6284007a638400796484
007a6383007a6183007b6082007c5e81007d5d80007e5c7f007e5a7f007f597e
0080577d0081567c0081557c0082537b0083527a0084507900844f7900854e78
00864c7700864b7500864a7300864a700086496e0086486b0086476900864667
00864664008545620085445f0085435d0085425a008541580085415600854053
00853f5100853e4e00853e4f00853f5000854052008540530085415400854155
0085425700854358008543590085445b0085445c0085455d0085455e00854660
00854761008547620085486400864b6600884e680089516b008a556d008c5870
008d5c72008f5f75009063770092667900936a7c00956d7e0096718100987483
00997786009b7b88009c7e8b009e828d009d828d009b828d0099818c0097808b
00957f8a00937f8a00917e89008f7d88008d7c87008b7b8600897a8500877a85
008579840083788300817782007f7681007d7681007b747f0079727d0077707b
00756e7900736c7600716a74006f6872006d6670006a636d0068616b00665f69
00645d6700625b6500605962005e5760005c555e005a535c0059515a005e525c
0063525d0068535f006d54600072546200775564007c56650081566700865768
008b586a0090586b0095596d009a5a6e009f5a7000a45b7100a95b7300ad5c74
00af5d7500b15e7500b35e7600b55f7600b7607700b9607700bb617800bd6278
00bf627900c1637900c3647a00c5657a00c7657b00c8667b00ca677c00cc677d
"/>
</palettes>