--Bug fixes

-ETA time was wrong with incremental final renders after waiting for a period of time.

--Code changes
 -Small change to prevent parsing error when using tbb on some systems.
This commit is contained in:
Person 2020-04-09 15:41:49 -07:00
parent d2893010f0
commit b9ce48f649
2 changed files with 8 additions and 5 deletions

View File

@ -66,9 +66,11 @@
#include "libxml2/libxml/parser.h"
#endif
//Intel's Threading Building Blocks is what's used for all threading.
#include <tbb/parallel_for.h>
#include <tbb/task_scheduler_init.h>
#if !defined(Q_MOC_RUN)
//Intel's Threading Building Blocks is what's used for all threading.
#include <tbb/parallel_for.h>
#include <tbb/task_scheduler_init.h>
#endif
#define GLM_FORCE_RADIANS 1
#define GLM_ENABLE_EXPERIMENTAL 1

View File

@ -390,12 +390,12 @@ eRenderStatus Renderer<T, bucketT>::Run(vector<v4F>& finalImage, double time, si
if (!resume)//Only set this if it's the first run through.
m_ProcessState = eProcessState::ITER_STARTED;
m_RenderTimer.Tic();
m_ProgressTimer.Tic();
}
if (!resume)//Beginning, reset everything.
{
m_RenderTimer.Tic();
m_LastTemporalSample = 0;
m_LastIter = 0;
m_LastIterPercent = 0;
@ -409,6 +409,7 @@ eRenderStatus Renderer<T, bucketT>::Run(vector<v4F>& finalImage, double time, si
//User requested an increase in quality after finishing.
else if (m_ProcessState == eProcessState::ITER_STARTED && m_ProcessAction == eProcessAction::KEEP_ITERATING && TemporalSamples() == 1)
{
m_RenderTimer.Tic();
m_LastTemporalSample = 0;
m_LastIter = m_Stats.m_Iters;
m_LastIterPercent = 0;//Might skip a progress update, but shouldn't matter.
@ -697,7 +698,7 @@ AccumOnly:
if (AccumulatorToFinalImage(finalImage, finalOffset) == eRenderStatus::RENDER_OK)
{
m_Stats.m_RenderMs = m_RenderTimer.Toc();//Record total time from the very beginning to the very end, including all intermediate calls.
m_Stats.m_RenderMs += m_RenderTimer.Toc();//Record total time from the very beginning to the very end, including all intermediate calls.
//Even though the ember changes throughought the inner loops because of interpolation, it's probably ok to assign here.
//This will hold the last interpolated value (even though spatial and temporal filters were created based off of one of the first interpolated values).
m_LastEmber = m_Ember;