This commit is contained in:
mfeemster 2014-10-16 21:16:25 -07:00
commit 2e054820f7
5 changed files with 72 additions and 72 deletions

View File

@ -120,6 +120,8 @@
<Unit filename="../../Source/Ember/Point.h" /> <Unit filename="../../Source/Ember/Point.h" />
<Unit filename="../../Source/Ember/Renderer.cpp" /> <Unit filename="../../Source/Ember/Renderer.cpp" />
<Unit filename="../../Source/Ember/Renderer.h" /> <Unit filename="../../Source/Ember/Renderer.h" />
<Unit filename="../../Source/Ember/RendererBase.cpp" />
<Unit filename="../../Source/Ember/RendererBase.h" />
<Unit filename="../../Source/Ember/SheepTools.h" /> <Unit filename="../../Source/Ember/SheepTools.h" />
<Unit filename="../../Source/Ember/SpatialFilter.h" /> <Unit filename="../../Source/Ember/SpatialFilter.h" />
<Unit filename="../../Source/Ember/TemporalFilter.h" /> <Unit filename="../../Source/Ember/TemporalFilter.h" />

View File

@ -1,9 +1,9 @@
# depslib dependency file v1.0 # depslib dependency file v1.0
1409545904 source:/home/heretic/Dev/fractorium/Source/Ember/Affine2D.cpp 1413384022 source:/home/heretic/Dev/fractorium/Source/Ember/Affine2D.cpp
"EmberPch.h" "EmberPch.h"
"Affine2D.h" "Affine2D.h"
1409545904 /home/heretic/Dev/fractorium/Source/Ember/EmberPch.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/EmberPch.h
<SDKDDKVer.h> <SDKDDKVer.h>
<windows.h> <windows.h>
<libgen.h> <libgen.h>
@ -160,22 +160,22 @@
<libxml/parser.h> <libxml/parser.h>
<libxml/encoding.h> <libxml/encoding.h>
1409545904 /home/heretic/Dev/fractorium/Source/Ember/Affine2D.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/Affine2D.h
"Utils.h" "Utils.h"
1410323169 /home/heretic/Dev/fractorium/Source/Ember/Utils.h 1413385950 /home/heretic/Dev/fractorium/Source/Ember/Utils.h
"Isaac.h" "Isaac.h"
1410239722 /home/heretic/Dev/fractorium/Source/Ember/Isaac.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/Isaac.h
"EmberDefines.h" "EmberDefines.h"
1410323436 /home/heretic/Dev/fractorium/Source/Ember/EmberDefines.h 1413385406 /home/heretic/Dev/fractorium/Source/Ember/EmberDefines.h
"EmberPch.h" "EmberPch.h"
1409545904 source:/home/heretic/Dev/fractorium/Source/Ember/DllMain.cpp 1413384022 source:/home/heretic/Dev/fractorium/Source/Ember/DllMain.cpp
"EmberPch.h" "EmberPch.h"
1409545904 source:/home/heretic/Dev/fractorium/Source/Ember/Ember.cpp 1413384022 source:/home/heretic/Dev/fractorium/Source/Ember/Ember.cpp
"EmberPch.h" "EmberPch.h"
"EmberDefines.h" "EmberDefines.h"
"Isaac.h" "Isaac.h"
@ -205,17 +205,17 @@
"Timing.h" "Timing.h"
"SheepTools.h" "SheepTools.h"
1410321103 /home/heretic/Dev/fractorium/Source/Ember/Ember.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/Ember.h
"Xform.h" "Xform.h"
"PaletteList.h" "PaletteList.h"
"SpatialFilter.h" "SpatialFilter.h"
"TemporalFilter.h" "TemporalFilter.h"
1410238756 /home/heretic/Dev/fractorium/Source/Ember/Xform.h 1413384023 /home/heretic/Dev/fractorium/Source/Ember/Xform.h
"VariationList.h" "VariationList.h"
"Interpolate.h" "Interpolate.h"
1410241694 /home/heretic/Dev/fractorium/Source/Ember/VariationList.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/VariationList.h
"Variations01.h" "Variations01.h"
"Variations02.h" "Variations02.h"
"Variations03.h" "Variations03.h"
@ -223,93 +223,92 @@
"Variations05.h" "Variations05.h"
"VariationsDC.h" "VariationsDC.h"
1410240575 /home/heretic/Dev/fractorium/Source/Ember/Variations01.h 1413384023 /home/heretic/Dev/fractorium/Source/Ember/Variations01.h
"Variation.h" "Variation.h"
1410320886 /home/heretic/Dev/fractorium/Source/Ember/Variation.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/Variation.h
"Point.h" "Point.h"
"Isaac.h" "Isaac.h"
1410232185 /home/heretic/Dev/fractorium/Source/Ember/Point.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/Point.h
"EmberDefines.h" "EmberDefines.h"
"Affine2D.h" "Affine2D.h"
"Timing.h" "Timing.h"
1410234252 /home/heretic/Dev/fractorium/Source/Ember/Timing.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/Timing.h
"EmberDefines.h" "EmberDefines.h"
1410241921 /home/heretic/Dev/fractorium/Source/Ember/Variations02.h 1413384023 /home/heretic/Dev/fractorium/Source/Ember/Variations02.h
"Variation.h" "Variation.h"
1410241921 /home/heretic/Dev/fractorium/Source/Ember/Variations03.h 1413384023 /home/heretic/Dev/fractorium/Source/Ember/Variations03.h
"Variation.h" "Variation.h"
1410241921 /home/heretic/Dev/fractorium/Source/Ember/Variations04.h 1413384023 /home/heretic/Dev/fractorium/Source/Ember/Variations04.h
"Variation.h" "Variation.h"
1410242146 /home/heretic/Dev/fractorium/Source/Ember/Variations05.h 1413384023 /home/heretic/Dev/fractorium/Source/Ember/Variations05.h
"Variation.h" "Variation.h"
1410238756 /home/heretic/Dev/fractorium/Source/Ember/VariationsDC.h 1413384023 /home/heretic/Dev/fractorium/Source/Ember/VariationsDC.h
"Variation.h" "Variation.h"
1410234251 /home/heretic/Dev/fractorium/Source/Ember/Interpolate.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/Interpolate.h
"Ember.h" "Ember.h"
1410319649 /home/heretic/Dev/fractorium/Source/Ember/PaletteList.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/PaletteList.h
"Palette.h" "Palette.h"
1410321665 /home/heretic/Dev/fractorium/Source/Ember/Palette.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/Palette.h
"Utils.h" "Utils.h"
"Isaac.h" "Isaac.h"
1410234252 /home/heretic/Dev/fractorium/Source/Ember/SpatialFilter.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/SpatialFilter.h
"EmberDefines.h" "EmberDefines.h"
1410234252 /home/heretic/Dev/fractorium/Source/Ember/TemporalFilter.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/TemporalFilter.h
"EmberDefines.h" "EmberDefines.h"
1410234189 /home/heretic/Dev/fractorium/Source/Ember/Iterator.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/Iterator.h
"Ember.h" "Ember.h"
1410242215 /home/heretic/Dev/fractorium/Source/Ember/EmberToXml.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/EmberToXml.h
"Utils.h" "Utils.h"
"PaletteList.h" "PaletteList.h"
"VariationList.h" "VariationList.h"
"Ember.h" "Ember.h"
1410320145 /home/heretic/Dev/fractorium/Source/Ember/XmlToEmber.h 1413385813 /home/heretic/Dev/fractorium/Source/Ember/XmlToEmber.h
"Utils.h" "Utils.h"
"PaletteList.h" "PaletteList.h"
"VariationList.h" "VariationList.h"
1409545904 /home/heretic/Dev/fractorium/Source/Ember/DensityFilter.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/DensityFilter.h
"SpatialFilter.h" "SpatialFilter.h"
1410321665 /home/heretic/Dev/fractorium/Source/Ember/Renderer.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/Renderer.h
"Ember.h" "RendererBase.h"
"Iterator.h" "Iterator.h"
"Utils.h"
"SpatialFilter.h" "SpatialFilter.h"
"DensityFilter.h"
"TemporalFilter.h" "TemporalFilter.h"
"Interpolate.h" "Interpolate.h"
"CarToRas.h" "CarToRas.h"
"EmberToXml.h" "EmberToXml.h"
1410232476 /home/heretic/Dev/fractorium/Source/Ember/CarToRas.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/RendererBase.h
"Utils.h"
"Ember.h"
"DensityFilter.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/CarToRas.h
"Point.h" "Point.h"
1410321103 /home/heretic/Dev/fractorium/Source/Ember/SheepTools.h 1413384022 /home/heretic/Dev/fractorium/Source/Ember/SheepTools.h
"EmberDefines.h" "EmberDefines.h"
"Isaac.h" "Isaac.h"
"VariationList.h" "VariationList.h"
"Renderer.h" "Renderer.h"
1409545904 source:/home/heretic/Dev/fractorium/Source/Ember/EmberPch.cpp 1413384022 source:/home/heretic/Dev/fractorium/Source/Ember/EmberPch.cpp
"EmberPch.h" "EmberPch.h"
1410321782 source:/home/heretic/Dev/fractorium/Source/Ember/Renderer.cpp
"EmberPch.h"
"Renderer.h"

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_workspace_layout_file> <CodeBlocks_workspace_layout_file>
<ActiveProject path="Ember.cbp" /> <ActiveProject path="EmberCL.cbp" />
<PreferredTarget name="Debug x64" />
</CodeBlocks_workspace_layout_file> </CodeBlocks_workspace_layout_file>

View File

@ -118,7 +118,7 @@ void Renderer<T, bucketT>::ComputeBounds()
{ {
size_t maxDEFilterWidth = 0; size_t maxDEFilterWidth = 0;
m_GutterWidth = ClampGte((m_SpatialFilter->FinalFilterWidth() - Supersample()) / 2, 0ULL); m_GutterWidth = ClampGte((m_SpatialFilter->FinalFilterWidth() - Supersample()) / 2, size_t(0));
//Check the size of the density estimation filter. //Check the size of the density estimation filter.
//If the radius of the density estimation filter is greater than the //If the radius of the density estimation filter is greater than the
@ -373,8 +373,8 @@ eRenderStatus Renderer<T, bucketT>::Run(vector<unsigned char>& finalImage, doubl
pass = (resume ? m_LastPass : 0); pass = (resume ? m_LastPass : 0);
//Make sure values are within valid range. //Make sure values are within valid range.
ClampGteRef(m_Ember.m_Passes, 1ULL); ClampGteRef(m_Ember.m_Passes, size_t(1));
ClampGteRef(m_Ember.m_Supersample, 1ULL); ClampGteRef(m_Ember.m_Supersample, size_t(1));
//Make sure to get most recent update since loop won't be entered to call Interp(). //Make sure to get most recent update since loop won't be entered to call Interp().
//Vib, gam and background are normally summed for each temporal sample. However if iteration is skipped, make sure to get the latest. //Vib, gam and background are normally summed for each temporal sample. However if iteration is skipped, make sure to get the latest.
@ -892,7 +892,7 @@ eRenderStatus Renderer<T, bucketT>::GaussianDensityFilter()
size_t chunkSize = (size_t)ceil(double(endRow - startRow) / double(threads)); size_t chunkSize = (size_t)ceil(double(endRow - startRow) / double(threads));
//parallel_for scales very well, dividing the work almost perfectly among all processors. //parallel_for scales very well, dividing the work almost perfectly among all processors.
parallel_for(0ULL, threads, [&] (size_t threadIndex) parallel_for(size_t(0), threads, [&] (size_t threadIndex)
{ {
size_t pixelNumber = 0; size_t pixelNumber = 0;
int localStartRow = (int)min(startRow + (threadIndex * chunkSize), endRow - 1); int localStartRow = (int)min(startRow + (threadIndex * chunkSize), endRow - 1);
@ -1078,7 +1078,7 @@ eRenderStatus Renderer<T, bucketT>::AccumulatorToFinalImage(unsigned char* pixel
//The original does it this way as well and it's roughly 11 times faster to do it this way than inline below with each pixel. //The original does it this way as well and it's roughly 11 times faster to do it this way than inline below with each pixel.
if (EarlyClip()) if (EarlyClip())
{ {
parallel_for(0ULL, m_SuperRasH, [&] (size_t j) parallel_for(size_t(0), m_SuperRasH, [&] (size_t j)
{ {
size_t rowStart = j * m_SuperRasW;//Pull out of inner loop for optimization. size_t rowStart = j * m_SuperRasW;//Pull out of inner loop for optimization.
@ -1099,7 +1099,7 @@ eRenderStatus Renderer<T, bucketT>::AccumulatorToFinalImage(unsigned char* pixel
//otherwise artifacts that resemble page tearing will occur in an interactive run. It's //otherwise artifacts that resemble page tearing will occur in an interactive run. It's
//critical to never exit this loop prematurely. //critical to never exit this loop prematurely.
//for (size_t j = 0; j < FinalRasH(); j++)//Keep around for debugging. //for (size_t j = 0; j < FinalRasH(); j++)//Keep around for debugging.
parallel_for(0ULL, FinalRasH(), [&](size_t j) parallel_for(size_t(0), FinalRasH(), [&](size_t j)
{ {
Color<bucketT> newBucket; Color<bucketT> newBucket;
size_t pixelsRowStart = (m_YAxisUp ? ((FinalRasH() - j) - 1) : j) * FinalRowSize();//Pull out of inner loop for optimization. size_t pixelsRowStart = (m_YAxisUp ? ((FinalRasH() - j) - 1) : j) * FinalRowSize();//Pull out of inner loop for optimization.
@ -1234,7 +1234,7 @@ EmberStats Renderer<T, bucketT>::Iterate(size_t iterCount, size_t pass, size_t t
threadIndex = i; threadIndex = i;
m_TaskGroup.run([&, threadIndex] () { m_TaskGroup.run([&, threadIndex] () {
#else #else
parallel_for(0ULL, m_ThreadsToUse, [&] (size_t threadIndex) parallel_for(size_t(0), m_ThreadsToUse, [&] (size_t threadIndex)
{ {
#endif #endif
Timing t; Timing t;

View File

@ -632,7 +632,7 @@ private:
} }
else if (!Compare(curAtt->name, "size")) else if (!Compare(curAtt->name, "size"))
{ {
if (sscanf_s(attStr, "%u %u", &currentEmber.m_FinalRasW, &currentEmber.m_FinalRasH) != 2) if (sscanf_s(attStr, "%lu %lu", &currentEmber.m_FinalRasW, &currentEmber.m_FinalRasH) != 2)
{ {
m_ErrorReport.push_back(string(loc) + " : Invalid size attribute " + string(attStr)); m_ErrorReport.push_back(string(loc) + " : Invalid size attribute " + string(attStr));
xmlFree(attStr); xmlFree(attStr);