diff --git a/.gitignore b/.gitignore
index 6342cb2..d90a81f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,11 +24,8 @@
*.txt
*.msi
*.idb
-*.flam3
-*.flame
*.bmp
*.jpg
-Data/*.png
*.zip
*.avi
*.ini
@@ -57,7 +54,8 @@ Builds/MSVC/VS2015/Obj
Bin/x64/Release/testallvarsout.flame
fractorium.com/
Site/
-*.ps1
+Data/*.png
+/Data/Variations Bench.xlsx
*.o
ui_*.h
qrc_*.cpp
@@ -82,7 +80,6 @@ Builds/QtCreator/Fractorium/Makefile
Builds/lib/libOpenCL.so
Builds/include/CL
Builds/include/GL
-/Data/Variations Bench.xlsx
/Builds/QtCreator/EmberCL/EmberCL.pro.user.18
/Builds/QtCreator/Ember/Ember.pro.user.18
/Builds/QtCreator/Fractorium/Fractorium.pro.user.18
@@ -255,3 +252,4 @@ Builds/include/GL
/Builds/MSVC/VS2017/flam3-palettes.xml
/Builds/MSVC/VS2017/UpgradeLog.htm
/Builds/MSVC/VS2017/zlib.props
+*last.flame
diff --git a/Builds/MSVC/Installer/FractoriumInstaller.wixproj b/Builds/MSVC/Installer/FractoriumInstaller.wixproj
index 516c04e..2eef9c6 100644
--- a/Builds/MSVC/Installer/FractoriumInstaller.wixproj
+++ b/Builds/MSVC/Installer/FractoriumInstaller.wixproj
@@ -6,7 +6,7 @@
3.7
{c8096c47-e358-438c-a520-146d46b0637d}
2.0
- Fractorium_1.0.0.6
+ Fractorium_1.0.0.7
Package
$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets
$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets
diff --git a/Builds/MSVC/Installer/Product.wxs b/Builds/MSVC/Installer/Product.wxs
index f39a900..82a7b3c 100644
--- a/Builds/MSVC/Installer/Product.wxs
+++ b/Builds/MSVC/Installer/Product.wxs
@@ -13,7 +13,7 @@
-
+
+
@@ -81,6 +82,7 @@
-->
+
@@ -267,6 +269,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Data/Bench/EmberBench.ps1 b/Data/Bench/EmberBench.ps1
new file mode 100644
index 0000000..e612a38
--- /dev/null
+++ b/Data/Bench/EmberBench.ps1
@@ -0,0 +1,99 @@
+$exe = ".\EmberRender.exe"
+$benchprefix = ".\Bench\"
+$devices = "2"#Set this to whatever device index your main GPU resides at. If you are unsure, just run emberrender --opencl info to find out.
+$cpuquality = 150
+$gpuquality = 2000
+$verbose = "--verbose"
+$name_enable = "--name_enable"
+$dump_args = ""#"--dumpargs"
+$totalOutput = ""
+$ssArray = @(1,2,4)
+$ssSuffixArray = @(_ss1,_ss2,_ss4)
+
+$Script:output = ""
+[Collections.Generic.List[String]] $filteredLines = ""
+
+$table = New-Object system.Data.DataTable BenchTable
+$col1 = New-Object system.Data.DataColumn Filename, ([string])
+$col2 = New-Object system.Data.DataColumn Precision, ([string])
+$col3 = New-Object system.Data.DataColumn Device,([string])
+$col4 = New-Object system.Data.DataColumn SS1, ([string])
+$col5 = New-Object system.Data.DataColumn SS2, ([string])
+$col6 = New-Object system.Data.DataColumn SS4, ([string])
+
+#Add the Columns
+$table.columns.add($col1)
+$table.columns.add($col2)
+$table.columns.add($col3)
+$table.columns.add($col4)
+$table.columns.add($col5)
+$table.columns.add($col6)
+
+function TestFileSupersamples([string]$filename, [string]$precision, [string]$suffix, [string]$quality, [string]$misc)
+{
+ [int]$sscount = 0;
+ $row = $table.NewRow()
+ $row.Filename = [io.path]::GetFileNameWithoutExtension($filename)
+
+ if ($precision -eq "--sp")
+ {
+ $row.Precision = "Single"
+ }
+ else
+ {
+ $row.Precision = "Double"
+ }
+
+ if ($misc -like "*opencl*")
+ {
+ $row.Device = "GPU"
+ }
+ else
+ {
+ $row.Device = "CPU"
+ }
+
+ foreach ($ssval in $Script:ssArray)
+ {
+ $fullSuffix = $suffix + $Script:ssSuffixArray[$sscount]
+ $renderargs = ("--in=$filename", "$verbose", "$name_enable", "$dump_args", "--suffix=$fullSuffix", "--supersample=$ssval", "$precision", "--quality=$quality") + $misc.Split(" ")
+ $Script:output = (&$exe $renderargs) | Out-String
+ $val = $Script:output.split([environment]::NewLine) | where {$_ -like "*Iters/sec*"}
+ $val = (($val.split(' ')[1] -replace '[.,]',''))
+ $row[3 + $sscount] = $val
+ $Script:filteredLines += $val
+ $Script:totalOutput += [environment]::NewLine + "====================" + [environment]::NewLine + $Script:output
+ $sscount++
+ }
+
+ $table.Rows.Add($row)
+}
+
+function BenchAllForFile([string]$filename)
+{
+ $misc = "--opencl --device=" + $devices
+ TestFileSupersamples $filename "--sp" "_f32_cpu" $script:cpuquality ""
+ TestFileSupersamples $filename "" "_f64_cpu" $script:cpuquality ""
+ TestFileSupersamples $filename "--sp" "_f32_opencl" $script:gpuquality $misc
+ TestFileSupersamples $filename "" "_f64_opencl" $script:gpuquality $misc
+}
+
+cd ..
+
+$fileOne = $benchprefix + "mfeemster_basicmemory.flame"
+BenchAllForFile $fileOne
+
+$fileOne = $benchprefix + "tatasz_springcrown_manysimplexforms.flame"
+BenchAllForFile $fileOne
+
+$fileOne = $benchprefix + "tyrantwave_flippeddisc_normal.flame"
+BenchAllForFile $fileOne
+
+$fileOne = $benchprefix + "golubaja_rippingfrominside_complexcode.flame"
+BenchAllForFile $fileOne
+
+$fileOne = $benchprefix + "zy0rg_six_bigcomplexcode.flame"
+BenchAllForFile $fileOne
+
+$Script:totalOutput | Out-File -FilePath benchout.txt
+$table | Export-Csv -Path ".\benchout.csv" -Force -NoTypeInformation
diff --git a/Data/Bench/golubaja_rippingfrominside_complexcode.flame b/Data/Bench/golubaja_rippingfrominside_complexcode.flame
new file mode 100644
index 0000000..ecf917f
--- /dev/null
+++ b/Data/Bench/golubaja_rippingfrominside_complexcode.flame
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ 581F268A040B9A0B118C050C6C38204747474A4A4A575757
+ 675F5280673EC67130F29224FF9316F47911C67130735E4D
+ 5A58594B4B4B474B4C3F44482727270A0F0B0006040E0D15
+ 303938484A49565A5B5E5E5E606060626262626262626262
+ 666666646464626262626262626262626262626262626262
+ 626262626262626262626262626262626262626262626262
+ 626262626262626262626262626262626262626262626262
+ 626262626262626262626262626262636363626262626262
+ 62626261626463606B696969726870858585858B87858480
+ 6F6E6A6E6663656565626264626262626262626262626262
+ 63626061645D63635B60635C62626262626266626170665D
+ 7F6469D97539FF8325FF8F1FFF7F14FD7F06F56F0EE56D17
+ B36B217A4D5062595C606060626262626262626262626262
+ 6262625F5F5F5757575E38378C060F9304089C0B06A10F10
+ 90191D6B585C655F61666062626262626262626262626262
+ 626262626262626262626262626262626262626262626262
+ 626262626262626262626262626262626262626262626262
+ 626262626262626262626262626262626262626262626262
+ 626262626262626262626262626262626262626262626262
+ 62626264605D635D5D5E5E56654933951218A20B12A2090C
+ 9E090F9A0B0D891C194C4A4B5C5C5E606060626262626262
+ 626262626262626262626262646464676767696969656565
+ 646464626262626262626262626262626262626262626262
+ 626262626262626262626262626262626262626262626262
+ 626262626262626262626262626262626262626262626262
+ 626262626262626262626262626262626262626262626262
+ 626262626262626262626262626262626262626262605D68
+ 5E5E6A5F616E58656B5F6362626262626262626262626262
+ 626262626262626262626262626262626262626262626262
+ 6464646767676A6A6A8383838A8A8A939393989E9EF8F8F8
+ 99999986868669696961616157585A4343432B3537110E19
+ 1309072312025528003E220A1F06000E08000D0A05200E0E
+
+
diff --git a/Data/Bench/mfeemster_basicmemory.flame b/Data/Bench/mfeemster_basicmemory.flame
new file mode 100644
index 0000000..2a7ccdc
--- /dev/null
+++ b/Data/Bench/mfeemster_basicmemory.flame
@@ -0,0 +1,42 @@
+
+
+
+
+ F1DFDDFAEAEDFDEDEEFDEFEFFFF0F3FCEBF3FDEBEBFBE7E8
+ FEDADEF8D9E1F1D4D8DFC2C4D89CB8AB82A2934C6E814A5D
+ 644F6062495E5B414C5E3B4F6B3555853E5C9650527D6561
+ 9995A4BBB1B9C5C8D7D0C7D8E7D5E5EAD6DFF5E1E2F1D9D9
+ ECCFD4DCACA2B78296B18890B68171A66F749F456B8D3862
+ 822C495E1F323A171E1B0F0F110A041006070B0100120205
+ 1A0C0C321B133F17206F18388D1A2788293DB35E75D5A4A7
+ F6D2D6FADCDCFEE9F2FFEEF6FEF5F8FDF9FAFDF7FBFFF6FF
+ FFF4FDFFF4FBFEF3F9FEF3F7FCEFF6FCF1F7FDF7FBFDF7FB
+ FCFAFBFEFCFDFEFCFDFBFAFFFDFDFDFFFEFCFEFEFEFEFEFE
+ FFFFFFFFFFFFFFFFFFFEFFFFFEFFFFFDFEFFF7FFFFEBF8FE
+ F9F7F8FAEDF4FAE5ECE7DCECD8D9EBA4D0ED8ABAC65684A5
+ 2452862B3B4B16142C050A0E02020202020201100B190F10
+ 33141C531C31612C40862B3A64293D543545613E5265464C
+ 7D555D7B7277AD969CBBA6B7D7C0C6E5D5D6D6C9D0D6B6BB
+ E0B2B2D9B9BEDAC3D5DFC7D4E0DDE8C5E8FEEAE9F1F4EDF5
+ FBF0F6FDF2F6FFF4F8FFF5F9FEF1F8FCECF7FCE5EDEDCDE5
+ C7B9D0B0AEC46F82935E4B69423A4F212330100F15030102
+ 0101010100000000000000000101010102060C1011201615
+ 33191C4221284D31404D374E46323E3B2B4535333E282140
+ 3724373D2032451F3457233A7229447E2D4E962752DB0780
+ E50389EB2A87D33484CC7C95A9929C8D939F79778D825760
+ 7F555F7A4C70917F99B3A9B1C4C4C4EAD8D8EED5DBF0D6E1
+ FFCEEAFFDCECFEE9EEFEEBEFFEEAECFCE1EAFFCDE5EFC6D4
+ F5A4C5CF597BAD4874B13B78B03957A4454BA6584E885544
+ 68475053434640272D361528241D25231014250E182E141D
+ 3B1A2356303D654463665A8C6B82C59585AAA587A19997A4
+ 9D9FB892B4D995BFCFADA5BCBBB3C2DACBD0E4C5D4ECD4D4
+ EAD6D8EDD9DAF7DBD7F0D9E3E8DDEDEEE1EAF0E0E0F3D8E1
+ F4DFE6FAE8F4F8EBF4FCF0F4FCF1F7FEEFF4F9EAF1EFE4EA
+ E2D4E3C6B7CA9F8EAE667DA96B6071483B573A3247312A49
+ 28213320172A151314100702090001020001010000050100
+
+
+
+
+
+
diff --git a/Data/Bench/tatasz_springcrown_manysimplexforms.flame b/Data/Bench/tatasz_springcrown_manysimplexforms.flame
new file mode 100644
index 0000000..97c6883
--- /dev/null
+++ b/Data/Bench/tatasz_springcrown_manysimplexforms.flame
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FFF1E8F4E9E3E7E7DDCDD6D5BED3CEB9D0C6A9C9B1A7CAAA
+ 9FC0937FAC8F7CB08C889C779571578F456A933E67603C62
+ 593C5B533861443C633F3E66523A5E5C314F53294D410622
+ 41042341214A464A495B6543668E696795706EA38773A588
+ 85A894C29FA3D6B2B2F1C6BFFFDACAFEDDCEFEDBC7CCD7B7
+ B2C2A599BE957CB58C71A9846DA38977A88A8FBC9FB0CBAC
+ E7E1C1FEEDD3FEEBDAF1E6EEDDE4F4C4D9DAC6D3C9D0CBCF
+ EDC5BBF4C9C0F7CBC2FFDCC8E7E2DCCDD9CBC4D9C8BACEB2
+ AAC5A4A3C7AD9CC0A698BEAF8BBBA17EB9A37DA6966DA58C
+ 69A684709979689F78559A87439C98569D956F8D9566838B
+ 65838B5B827D66708B69708C73819B7B87979593A8BA9D9F
+ A89599A1838F776983464C6235465A263F55303845192E4B
+ 1F224B281F3E2B1C3B2E1646332A47363B3F2E353F2B2E35
+ 3A062A2F04202B041F1A0E1823082B2D193537214530385D
+ 32435D3C525F3E677942677757617A535A774E5C77465C71
+ 40566442525F4A67655779683276996087A68599A0C9BBB0
+ E1C7B8E1C7BAD8B8BBB7A9B6A3ABAE7EA7956E9F8C689B88
+ 4B9B764F736941485B3E3F51343D4C3A3A4643423D494C41
+ 4C63465371596A7F7A8A7489AA3675AA2F706A3C6A714872
+ 7466876C8C7F75908978A19188B098B5BE9FD4BFBAECC6BB
+ FFD4CBFED6CCFCCCC2FBCDC0F5CBBFE7C5BBD3B0AEC0B6AD
+ A6C393B7C379B4CB9FB0BDB6BAD3D798CDD577AD8D6DA18B
+ 74979B6885955F68876343685B3C6548436145465A39485D
+ 46605F628A4E6D9A3F789555A6B476D7DAA1FADCD4FFE8EE
+ FFEEF4FFFFFFFFFFFFFFFFFFFFFFFFFFF4FCEBECFEE5E3F8
+ D7DFECBAC4C68EBCA06AA299477585246488385462334E57
+ 3B515E4C6D74568774798F7874978182A07A93B17597AA73
+ 98AE6EBECD68D1DD8BFFD9B2FFE5CEFFE8D6FFEDE3FFEEEE
+ FFF3F5FEF2F2FFF2EAFFEEE2FFECDEFFF0E0FFF0EBFFF1E8
+ FFEADDFEE4D5F6CFD0CBBEB69CB87D75A567608A64527967
+ 4559623D4F5B51785D67935677A25B8AB486C5D396F4E0BB
+ FEE8D3FFEFE2FEF9F5FEFEFEFFF9FDFEF6F4F0EFFDFFECF3
+
+
diff --git a/Data/Bench/tyrantwave_flippeddisc_normal.flame b/Data/Bench/tyrantwave_flippeddisc_normal.flame
new file mode 100644
index 0000000..27ebe5a
--- /dev/null
+++ b/Data/Bench/tyrantwave_flippeddisc_normal.flame
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ 2D3E584D76AE558DC05B98B45B98B45D96B36098B1688C9C
+ 74934D6F93156086006578043F4C0015300300190A0E0F07
+ 13120D142208243D152D5F18424436445569508BAD5291B0
+ 5393AF5595B05595B05893B15893B15895B15895B15A9FAF
+ 659A8072A336618114503C013D1F1D472011662511732C0E
+ 872E04933309AA2A4BA84655A04B689791916399B1508CAE
+ 507F933541570721540926221A282B44333B53393A504647
+ 596A34585F2C5D600F6274065F5500582D1A862B19932F00
+ AA3102D03000D63500C41F0BB02601882B0A4C1006240902
+ 1107000305040000070A0605170D0B14130E2423295E5A34
+ 7C854696927990A0627FAC4790A94391A0438E9D40988F2A
+ 9E8A319F862CC56018C75523BE5D33BD5B42C16B5A978B7F
+ 908C8B639BB26AA3B76BA4B56FA6BA6CA5B967AAB372ACAE
+ A79EA1ACA7A4ADA8A5A0A7AD75A8BD629CB45693B0508CA8
+ 6E6D6B873C1D8231207D27426C68675189A05B8498635E5B
+ 873C1DA5481CC03936B14D4DC36960C56765CE5B5ECE5E53
+ D64F49CD5533CB5923DB621DC75E25BE5F319D954296A138
+ 92A02F827C326D8122465F1D463308392608341B17440B00
+ 4E0E1C832816AE3A09C24624C46859968C8A6496AD6199B2
+ 5D96B35A95B35C95B26199B0778A98958B89A1656572756C
+ 5F8DA55E96B15F97B26098B1639BB2629DAB9D9392A69C9D
+ A49E9E959A9D6AA3B6659EB2619BB1669EB768A1B492979A
+ 9C9794A79F9CAAA1A2AFA6A7B4AEAEB5AFAF88BAD57CB4CF
+ 70A9C46CABBD68AEB864A7B769A3B96C9EB5989292B670A6
+ C56064DE4C4DDE3B28CC182195082B73221F5F0A214E1F2F
+ 542C345E47516B6C815D94B25C98B4609CB65E9EB95D9DB6
+ 5E9AB65A9AB55A9AB55D9AB9609CB6649DB869A1B865A2B7
+ 639FB7619FB85E9EB75999B45999B45B98B4619BB16495A6
+ 7B8083913E52652A3C4514171D1216190B0A1B07090D080C
+ 0D0B0E130D111A12103522245C3B426552705094A75292AE
+ 5291B05291B05190AF4D88AA2F4982373F415124415F0A21
+ 6E19308C2842863556994868B94C5FB1687C5E9EB7A29A98
+
+
diff --git a/Data/Bench/zy0rg_six_bigcomplexcode.flame b/Data/Bench/zy0rg_six_bigcomplexcode.flame
new file mode 100644
index 0000000..9471570
--- /dev/null
+++ b/Data/Bench/zy0rg_six_bigcomplexcode.flame
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3E05053C05053604043304042B03032B03032B03032B0303
+ 2B03032B03032B03032B03032A03032A0303280303270303
+ 2303032203031C02021802021802021B02021F0202200202
+ 2203032503032903032B03032B03032B03032B03032B0303
+ 2B03032B03032B03032B03032B03032B03032B03032B0303
+ 2B03032B03032B03032B03032D04042F0404330404360404
+ 450C065917086E3109984814D37832E28139F08A42FF9951
+ F7A15BF5A65CE39C52B67E4198592C7B34196E2B1163240B
+ 470A063704043104042C03032B03032B03032B03032B0303
+ 2B03032B03032B03032B03032B03032B03032B03032B0303
+ 2B03032B03032B03032B03032B03032B03032B03032B0303
+ 2B03032B03032B03032B03032B03032B03032B03032B0303
+ 2B03032B03032B03032B03032A0303280303270303240303
+ 2002021E02022002022203032403032703032A03032B0303
+ 2B03032B03032B03032B03032B03032B03032B03032B0303
+ 2A03032A03032A03032A03032A03032A03032A03032A0303
+ 2B03032B03032B0303310404370404400F05581F076D320E
+ 77400A8A4E0C904E1881410D75320A6625094F0D07400505
+ 3C05053704043204043104043104042E04042B03032B0303
+ 2B03032B03032B03032B03032B03032B03032B03032B0303
+ 2B03032B03032B03032B03032B03032B03032B03032B0303
+ 2B03032B03032B03032C03032E0404360404440B065B1F08
+ 7840199A672FC08B48DCB065F9D77DEFC974E6BC6CC69657
+ A56F42975E36894C2C460E0D3B05053104042D04042B0303
+ 2B03032B03032B03032B03033C0505531C0D6C321793512F
+ BA7248C78753D49B60FFC57EFFD390FFE3A2FFE8A5FFEEA7
+ FFEDA5FFECA3FFEE9CFFE996EFC57AE4B765DAA951D09B4A
+ C78F44C99141CB9340E6B459E3B45CDFB562DAAD5BD5A657
+ C7974FB888469966307F44214F13074105053404042F0404
+ 2B03032B03032B03032B03032B03032B03032B03032B0303
+ 2B03032B03032B03032B03032B03032B03032B03032B0303
+ 2B03032D04043104043B05053E0505410505410505410505
+
+
diff --git a/Source/Fractorium/GLWidget.cpp b/Source/Fractorium/GLWidget.cpp
index a273d6a..6f1f516 100644
--- a/Source/Fractorium/GLWidget.cpp
+++ b/Source/Fractorium/GLWidget.cpp
@@ -774,8 +774,6 @@ bool GLWidget::Allocate(bool force)
if (doIt)
{
- //m_TexWidth = scaledW;
- //m_TexHeight = scaledH;
m_TexWidth = GLint(w);
m_TexHeight = GLint(h);
glEnable(GL_TEXTURE_2D);