simple render time extraction script
parent
2cb71227ef
commit
7ab0ff3533
|
@ -0,0 +1,37 @@
|
|||
import subprocess, sys, re
|
||||
|
||||
if len(sys.argv) == 1:
|
||||
print('rendertime.py: Simple utility to extract the rendering time of an EXR file created using Mitsuba')
|
||||
print('Syntax: rendertime.py <one or more EXR files>')
|
||||
|
||||
for arg in sys.argv[1:]:
|
||||
sys.stdout.write("%s: " % arg)
|
||||
|
||||
p = subprocess.Popen(["exrheader", arg], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||
matches = re.findall('Render time: ([^\n]*)', p.communicate()[0])
|
||||
if len(matches) != 1:
|
||||
sys.stdout.write('error reading metadata!\n')
|
||||
continue
|
||||
|
||||
value = matches[0]
|
||||
|
||||
units = [
|
||||
['d', 60*60*24],
|
||||
['h', 60*60],
|
||||
['m', 60],
|
||||
['s', 1]
|
||||
];
|
||||
|
||||
for unit in units:
|
||||
if value[-1] == unit[0]:
|
||||
value = float(value[0:-1]) * unit[1]
|
||||
break
|
||||
|
||||
force = False
|
||||
for unit in units:
|
||||
if value > unit[1] or force:
|
||||
amount = int(value / unit[1])
|
||||
value -= amount * unit[1]
|
||||
force = True
|
||||
sys.stdout.write('%i%s ' % (amount, unit[0]))
|
||||
sys.stdout.write('\n')
|
|
@ -30,7 +30,7 @@
|
|||
#endif
|
||||
|
||||
/// Activate lots of extra checks
|
||||
// #define MTS_KD_DEBUG 1
|
||||
#define MTS_KD_DEBUG 1
|
||||
|
||||
/** Compile-time KD-tree depth limit. Allows to put certain
|
||||
data structures on the stack */
|
||||
|
@ -2449,9 +2449,9 @@ protected:
|
|||
for (SizeType i=0; i<m_primCount; ++i) {
|
||||
const AABBType aabb = derived->getAABB(indices[i]);
|
||||
for (int axis=0; axis<PointType::dim; ++axis) {
|
||||
int64_t minIdx = (int64_t) ((aabb.min[axis] - m_aabb.min[axis])
|
||||
int64_t minIdx = (int64_t) (((float) aabb.min[axis] - (float) m_aabb.min[axis])
|
||||
* m_invBinSize[axis]);
|
||||
int64_t maxIdx = (int64_t) ((aabb.max[axis] - m_aabb.min[axis])
|
||||
int64_t maxIdx = (int64_t) (((float) aabb.max[axis] - (float) m_aabb.min[axis])
|
||||
* m_invBinSize[axis]);
|
||||
m_maxBins[axis * m_binCount
|
||||
+ std::max((int64_t) 0, std::min(maxIdx, maxBin))]++;
|
||||
|
|
|
@ -9,5 +9,6 @@ plugins += env.SharedLibrary('thinlens', ['thinlens.cpp'])
|
|||
plugins += env.SharedLibrary('orthographic', ['orthographic.cpp'])
|
||||
plugins += env.SharedLibrary('telecentric', ['telecentric.cpp'])
|
||||
plugins += env.SharedLibrary('spherical', ['spherical.cpp'])
|
||||
plugins += env.SharedLibrary('fisheye', ['fisheye.cpp'])
|
||||
|
||||
Export('plugins')
|
||||
|
|
Loading…
Reference in New Issue