Merge with bidir-0.4.0

metadata
Edgar Velazquez-Armendariz 2012-09-28 07:46:48 -04:00
commit 74cc20442e
71 changed files with 23653 additions and 63 deletions

View File

@ -3,10 +3,10 @@
^doc/.*\.aux$
^doc/.*\.log$
^doc/.*\.out$
^doc/.*\.pdf$
^doc/.*\.toc$
^doc/.*\.bbl$
^doc/.*\.blg$
^doc/main.pdf$
^doc/plugins_generated.tex$
# Build-related

View File

@ -310,11 +310,20 @@ def osxlibinst_as_build_function(self, target, source, pkgname = None, use_own =
return inst
def remove_flag(env, flag):
try:
success = False
if flag in env['CXXFLAGS']:
env['CXXFLAGS'].remove(flag)
return True
except:
return False
success = True
if flag in env['SHCXXFLAGS']:
env['SHCXXFLAGS'].remove(flag)
success = True
if flag in env['CFLAGS']:
env['CFLAGS'].remove(flag)
success = True
if flag in env['LINKFLAGS']:
env['LINKFLAGS'].remove(flag)
success = True
return success
def match_pattern(x, patterns):
match = False
@ -327,6 +336,7 @@ def match_pattern(x, patterns):
def remove_flags(env, patterns):
env['CCFLAGS'][:] = [ x for x in env['CCFLAGS'] if not match_pattern(x, patterns) ]
env['CXXFLAGS'][:] = [ x for x in env['CXXFLAGS'] if not match_pattern(x, patterns) ]
env['SHCXXFLAGS'][:] = [ x for x in env['SHCXXFLAGS'] if not match_pattern(x, patterns) ]
env['LINKFLAGS'][:] = [ x for x in env['LINKFLAGS'] if not match_pattern(x, patterns) ]
def append_flag(env, value):
@ -354,7 +364,7 @@ def relax_compiler_settings(env):
# Relax the compiler settings when compiling heavy templated code
# (e.g. Boost::Spirit parsers, etc., which don't necessarily have
# to be that fast)
env.RemoveFlags(['-g', '/Z7', '-ipo', '/GL'])
env.RemoveFlags(['-g', '/Z7', '/Zi', '-ipo', '/GL', '/DEBUG'])
if env.RemoveFlag('-O3'):
env.AppendFlag('-Os')
if env.RemoveFlag('/O2'):

View File

@ -27,7 +27,7 @@ COLLADALIB = ['collada14dom']
# versions at the same time by explicitly specifying e.g. PYTHON27INCLUDE,
# PYTHON27LIB, PYTHON27LIBDIR and PYTHON32INCLUDE, PYTHON32LIB, PYTHON32LIBDIR
pyver = str(sys.version_info[0])+str(sys.version_info[1])
pyver = os.popen("python --version 2>&1 | grep -oE '([[:digit:]].[[:digit:]])'").read().strip().replace('.', '')
env = locals()
env['PYTHON'+pyver+'INCLUDE'] = []

View File

@ -27,7 +27,7 @@ COLLADALIB = ['collada14dom']
# versions at the same time by explicitly specifying e.g. PYTHON27INCLUDE,
# PYTHON27LIB, PYTHON27LIBDIR and PYTHON32INCLUDE, PYTHON32LIB, PYTHON32LIBDIR
pyver = str(sys.version_info[0])+str(sys.version_info[1])
pyver = os.popen("python --version 2>&1 | grep -oE '([[:digit:]].[[:digit:]])'").read().strip().replace('.', '')
env = locals()
env['PYTHON'+pyver+'INCLUDE'] = []

View File

@ -4,7 +4,7 @@ CXX = 'icpc'
CC = 'icc'
CCFLAGS = ['-arch', 'i386', '-mmacosx-version-min=10.6', '-mfpmath=sse', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk', '-O3', '-ipo', '-no-prec-div', '-xSSE3', '-fp-model', 'fast=2', '-openmp', '-wd279', '-wd1875', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DSPECTRUM_SAMPLES=3', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fvisibility=hidden']
CXXFLAGS = ['-std=c++0x']
LINKFLAGS = ['-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'i386', '-mmacosx-version-min=10.6', '-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk', '-openmp', '-Wl,-headerpad,128', '-wd11012']
LINKFLAGS = ['-g', '-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'i386', '-mmacosx-version-min=10.6', '-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk', '-openmp', '-Wl,-headerpad,128', '-wd11012']
BASEINCLUDE = ['#include', '#dependencies/include']
BASELIBDIR = ['#dependencies/lib']
BASELIB = ['m', 'pthread', 'gomp', 'Half']

View File

@ -4,7 +4,7 @@ CXX = 'icpc'
CC = 'icc'
CCFLAGS = ['-arch', 'x86_64', '-mmacosx-version-min=10.6', '-mfpmath=sse', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk', '-O3', '-ipo', '-xSSSE3', '-fp-model', 'fast=2', '-openmp', '-wd279', '-wd1875', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DSPECTRUM_SAMPLES=3', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fvisibility=hidden']
CXXFLAGS = ['-std=c++0x']
LINKFLAGS = ['-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'x86_64', '-mmacosx-version-min=10.6', '-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk', '-openmp', '-Wl,-headerpad,128', '-wd11012']
LINKFLAGS = ['-g', '-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'x86_64', '-mmacosx-version-min=10.6', '-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk', '-openmp', '-Wl,-headerpad,128', '-wd11012']
BASEINCLUDE = ['#include', '#dependencies/include']
BASELIBDIR = ['#dependencies/lib']
BASELIB = ['m', 'pthread', 'gomp', 'Half']

View File

@ -4,7 +4,7 @@ CXX = 'icpc'
CC = 'icc'
CCFLAGS = ['-arch', 'i386', '-mmacosx-version-min=10.7', '-mfpmath=sse', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk', '-O3', '-ipo', '-no-prec-div', '-xSSE3', '-fp-model', 'fast=2', '-openmp', '-wd279', '-wd1875', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DSPECTRUM_SAMPLES=3', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fvisibility=hidden']
CXXFLAGS = ['-std=c++0x']
LINKFLAGS = ['-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'i386', '-mmacosx-version-min=10.7', '-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk', '-openmp', '-Wl,-headerpad,128', '-wd11012']
LINKFLAGS = ['-g', '-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'i386', '-mmacosx-version-min=10.7', '-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk', '-openmp', '-Wl,-headerpad,128', '-wd11012']
BASEINCLUDE = ['#include', '#dependencies/include']
BASELIBDIR = ['#dependencies/lib']
BASELIB = ['m', 'pthread', 'gomp', 'Half']

View File

@ -4,7 +4,7 @@ CXX = 'icpc'
CC = 'icc'
CCFLAGS = ['-arch', 'x86_64', '-mmacosx-version-min=10.7', '-mfpmath=sse', '-isysroot', '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk', '-O3', '-ipo', '-xSSSE3', '-fp-model', 'fast=2', '-openmp', '-wd279', '-wd1875', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DSPECTRUM_SAMPLES=3', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fvisibility=hidden']
CXXFLAGS = ['-std=c++0x']
LINKFLAGS = ['-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'x86_64', '-mmacosx-version-min=10.7', '-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk', '-openmp', '-Wl,-headerpad,128', '-wd11012']
LINKFLAGS = ['-g', '-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'x86_64', '-mmacosx-version-min=10.7', '-Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk', '-openmp', '-Wl,-headerpad,128', '-wd11012']
BASEINCLUDE = ['#include', '#dependencies/include']
BASELIBDIR = ['#dependencies/lib']
BASELIB = ['m', 'pthread', 'gomp', 'Half']

View File

@ -1,9 +1,10 @@
rm -Rf symbols32 symbols64
dependencies/bin/symbolstore.py -a "i386" dependencies/bin/dump_syms symbols32 \
`find build/release -type f -and \( -name *.dylib -or -name mtsgui \)` `find dependencies/lib -type f -name *.dylib` \
`find Mitsuba.app -type f -and \( -name *.dylib -or -name mtsgui -or -name mitsuba -or -name mtsutil \)` \
dependencies/frameworks/QtCore.framework/QtCore dependencies/frameworks/QtGui.framework/QtGui dependencies/frameworks/QtNetwork.framework/QtNetwork \
dependencies/frameworks/QtXml.framework/QtXml dependencies/frameworks/QtXmlPatterns.framework/QtXmlPatterns dependencies/frameworks/QtOpenGL.framework/QtOpenGL
dependencies/bin/symbolstore.py -a "x86_64" dependencies/bin/dump_syms symbols64 \
`find build/release -type f -and \( -name *.dylib -or -name mtsgui \)` `find dependencies/lib -type f -name *.dylib` \
`find Mitsuba.app -type f -and \( -name *.dylib -or -name mtsgui -or -name mitsuba -or -name mtsutil \)` \
dependencies/frameworks/QtCore.framework/QtCore dependencies/frameworks/QtGui.framework/QtGui dependencies/frameworks/QtNetwork.framework/QtNetwork \
dependencies/frameworks/QtXml.framework/QtXml dependencies/frameworks/QtXmlPatterns.framework/QtXmlPatterns dependencies/frameworks/QtOpenGL.framework/QtOpenGL

View File

@ -17,14 +17,8 @@ _hgrepo="mitsuba"
build() {
cd ${_hgrepo}
cp build/config-linux.py config.py
if [ -e dependencies ]; then
cd dependencies
hg pull -u
cd ..
else
hg clone https://www.mitsuba-renderer.org/hg/dependencies
fi
hg update bidir-0.4.0 # TODO: remove
cp build/config-linux-gcc.py config.py
scons --jobs=$[${MAKEFLAGS/-j/} - 1]
}
@ -36,10 +30,11 @@ package() {
${pkgdir}/usr/share/mitsuba/plugins \
${pkgdir}/usr/share/mitsuba/data/schema \
${pkgdir}/usr/share/mitsuba/data/ior \
${pkgdir}/usr/share/mitsuba/data/microfacet \
${pkgdir}/usr/share/applications \
${pkgdir}/usr/share/pixmaps \
${pkgdir}/usr/include/mitsuba/{core,hw,render,bidir} \
${pkgdir}/usr/lib/python2.7/lib-dynload
${pkgdir}/usr/lib/python3.2/lib-dynload
cd ${_hgrepo}
install -m755 dist/mitsuba dist/mtsgui dist/mtsimport dist/mtssrv dist/mtsutil ${pkgdir}/usr/bin
@ -51,7 +46,8 @@ package() {
install -m755 dist/plugins/* ${pkgdir}/usr/share/mitsuba/plugins
install -m644 dist/data/schema/* ${pkgdir}/usr/share/mitsuba/data/schema
install -m644 dist/data/ior/* ${pkgdir}/usr/share/mitsuba/data/ior
install -m644 dist/python/mitsuba.so ${pkgdir}/usr/lib/python2.7/lib-dynload
install -m644 dist/data/microfacet/* ${pkgdir}/usr/share/mitsuba/data/microfacet
install -m644 dist/python/3.2/mitsuba.so ${pkgdir}/usr/lib/python3.2/lib-dynload
install -m644 data/linux/mitsuba.desktop ${pkgdir}/usr/share/applications
install -m644 src/mtsgui/resources/mitsuba48.png ${pkgdir}/usr/share/pixmaps
install -m644 include/mitsuba/*.h ${pkgdir}/usr/include/mitsuba

View File

@ -1,3 +1,24 @@
mitsuba (0.4.0-1) unstable; urgency=low
* New bidirectional rendering algorithms: Bidirectional path tracing,
Primary sample space MLT, Path space MLT, Energy redistribution path
tracing, Manifold exploration
* New framework for representing sensors and emitters
* Vastly improved realtime preview that scales to big scenes
* Crop/Zoom/Multiple sensor support
* Redesigned skylight emitter based on work by Hosek and Wilkie
* Improved texturing system with support for high quality resampling,
out-of-core textures, and anisotropic texture filtering
* Sobol, Halton, and Hammersley Quasi Monte Carlo point set generators
* Fixed a handedness problem that affected all cameras
* Flexible bitmap I/O with support for many new output formats
* Reimplemented dipole subsurface scattering integrator
* SSE-based CPU tonemapper & Mersenne Twister implementation
* All threading code was mooved over to boost::thread
* The build system can now simultaneously deal with several versions of Python
* Other new plugins: blendbsdf, thindielectric
* New CMake-based build system
-- Wenzel Jakob <wenzel@cs.cornell.edu> Thu, 27 Sep 2012 00:00:00 -0400
mitsuba (0.3.1-1) unstable; urgency=low
* Photon mapper: The photon mapper had some serious issues in the

View File

@ -6,15 +6,17 @@ Build-Depends: debhelper (>= 7), build-essential, scons, qt4-dev-tools,
libpng12-dev, libjpeg62-dev, libilmbase-dev, libopenexr-dev,
libxerces-c-dev, libboost-dev, libglewmx1.5-dev, libxxf86vm-dev,
collada-dom-dev, libboost-system-dev, libboost-filesystem-dev,
libboost-python-dev, libgl1-mesa-dev, libglu1-mesa-dev, pkg-config
libboost-python-dev, libboost-thread-dev, libgl1-mesa-dev,
libglu1-mesa-dev, pkg-config, libeigen3-dev
Standards-Version: 3.8.3
Homepage: http://www.mitsuba-renderer.org
Package: mitsuba
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-core, libqt4-gui, libqt4-network, libqt4-opengl, libqt4-xml, libpng12-0, libjpeg62,
libilmbase6, libopenexr6, libxerces-c3.1, libboost-filesystem1.42.0,
libboost-system1.42.0, libboost-python1.42.0, libglewmx1.5,
Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-core, libqt4-gui,
libqt4-network, libqt4-opengl, libqt4-xml, libpng12-0, libjpeg62,
libilmbase6, libopenexr6, libxerces-c3.1, libboost-filesystem1.46.0,
libboost-system1.46.0, libboost-python1.46.0, libglewmx1.5,
libxxf86vm1, collada-dom, libgl1-mesa-glx, libglu1-mesa
Description: Mitsuba renderer
Mitsuba is an extensible rendering framework written in portable C++. It implements unbiased as well as biased techniques and contains heavy optimizations targeted towards current CPU architectures.
@ -28,7 +30,8 @@ Architecture: any
Depends: qt4-dev-tools, libpng12-dev, libjpeg62-dev, libilmbase-dev,
libopenexr-dev, libxerces-c-dev, libboost-dev, libglewmx1.5-dev,
libxxf86vm-dev, collada-dom-dev, libboost-system-dev,
libboost-filesystem-dev, libboost-python-dev, mitsuba
libboost-filesystem-dev, libboost-python-dev, libboost-thread-dev,
libeigen3-dev, mitsuba
Description: Mitsuba renderer -- development files
Mitsuba is an extensible rendering framework written in portable C++. It implements unbiased as well as biased techniques and contains heavy optimizations targeted towards current CPU architectures.
.

View File

@ -7,7 +7,7 @@ dist/libmitsuba-hw.so /usr/lib
dist/libmitsuba-render.so /usr/lib
dist/libmitsuba-core.so /usr/lib
dist/libmitsuba-bidir.so /usr/lib
dist/python/mitsuba.so /usr/lib/pymodules/pythonPYTHONVERSION
dist/python/PYTHONVERSION/mitsuba.so /usr/lib/pymodules/pythonPYTHONVERSION
dist/plugins/* /usr/share/mitsuba/plugins
dist/data/* /usr/share/mitsuba/data
src/mtsgui/resources/mitsuba48.png /usr/share/pixmaps

View File

@ -14,7 +14,7 @@ PYTHONVERSION = `python-config --includes | sed -e 's/^.*python\([0-9\.]*\).*/\1
clean:
dh_testdir
dh_testroot
cp build/config-linux.py config.py
cp build/config-linux-gcc.py config.py
scons -c
rm -f build-stamp configure-stamp
rm -Rf .sconsign.dblite .sconf_temp/
@ -26,7 +26,7 @@ configure:
binary-arch:
dh_testdir
dh_testroot
cp build/config-linux.py config.py
cp build/config-linux-gcc.py config.py
scons -j 2
dh_installdirs
dh_auto_install

View File

@ -111,7 +111,16 @@ def generate(env):
else:
raise Exception('Unknown version of visual studio!')
icpp_path = os.environ.get('ICPP_COMPOSER2011')
if 'ICPP_COMPOSER2011' in os.environ:
icpp_path = os.environ.get('ICPP_COMPOSER2011')
elif 'ICPP_COMPILER12' in os.environ:
icpp_path = os.environ.get('ICPP_COMPILER12')
elif 'ICPP_COMPOSER2013' in os.environ:
icpp_path = os.environ.get('ICPP_COMPOSER2013')
elif 'ICPP_COMPILER13' in os.environ:
icpp_path = os.environ.get('ICPP_COMPILER13')
else:
raise Exception('Could not find any of the ICCPP_* environment variables!')
merge_script_vars(env, os.path.join(icpp_path, 'bin/iclvars.bat'), arch + ' ' + vsrelease)
env['REDIST_PATH'] = os.path.join(os.path.join(os.path.join(icpp_path, 'redist'), arch_redist), 'compiler')

View File

@ -195,7 +195,7 @@ using another version.
First, run
\begin{shell}
$\text{\$}$ yum install mercurial gcc-c++ scons boost-devel qt4-devel OpenEXR-devel xerces-c-devel python-devel glew-devel collada-dom-devel
$\text{\$}$ yum install mercurial gcc-c++ scons boost-devel qt4-devel OpenEXR-devel xerces-c-devel python-devel glew-devel libpng-devel libjpeg-devel collada-dom-devel
\end{shell}
Afterwards, simply run
\begin{shell}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
doc/images/emitter_area.pdf Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

BIN
doc/images/emitter_sky.pdf Normal file

Binary file not shown.

BIN
doc/images/emitter_spot.pdf Normal file

Binary file not shown.

BIN
doc/images/emitter_sun.pdf Normal file

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -530,7 +530,7 @@ void exportAnimation(ColladaContext &ctx, const fs::path &path, const std::strin
continue;
trafo->addTrack(track);
}
SLog(EDebug, "Writing animation track \"%s\"", path.filename().c_str());
SLog(EDebug, "Writing animation track \"%s\"", path.filename().string().c_str());
ref<FileStream> fs = new FileStream(path, FileStream::ETruncReadWrite);
trafo->serialize(fs);
}
@ -1578,7 +1578,7 @@ void GeometryConverter::convertCollada(const fs::path &inputFile,
const fs::path &meshesDirectory) {
CustomErrorHandler errorHandler;
daeErrorHandler::setErrorHandler(&errorHandler);
SLog(EInfo, "Loading \"%s\" ..", inputFile.filename().c_str());
SLog(EInfo, "Loading \"%s\" ..", inputFile.filename().string().c_str());
#if COLLADA_DOM_SUPPORT141
DAE *dae = new DAE(NULL, NULL, "1.4.1");
domCOLLADA *document = dae->open141(inputFile.string());

View File

@ -117,7 +117,7 @@ public:
m_filename = Thread::getThread()->getFileResolver()->resolve(
props.getString("filename"));
Log(EInfo, "Loading environment map \"%s\"", m_filename.filename().c_str());
Log(EInfo, "Loading environment map \"%s\"", m_filename.filename().string().c_str());
if (!fs::exists(m_filename))
Log(EError, "Environment map file \"%s\" could not be found!", m_filename.c_str());
@ -154,7 +154,7 @@ public:
bitmap = new Bitmap(Bitmap::EAuto, fs);
if (m_gamma != 0)
bitmap->setGamma(m_gamma);
Log(EDebug, "Loaded \"%s\" in %i ms", m_filename.filename().c_str(),
Log(EDebug, "Loaded \"%s\" in %i ms", m_filename.filename().string().c_str(),
timer->getMilliseconds());
}
@ -191,7 +191,7 @@ public:
EnvironmentMap(Stream *stream, InstanceManager *manager) : Emitter(stream, manager),
m_mipmap(NULL), m_cdfRows(NULL), m_cdfCols(NULL), m_rowWeights(NULL) {
m_filename = stream->readString();
Log(EDebug, "Unserializing texture \"%s\"", m_filename.filename().c_str());
Log(EDebug, "Unserializing texture \"%s\"", m_filename.filename().string().c_str());
m_gamma = stream->readFloat();
m_scale = stream->readFloat();
m_sceneBSphere = BSphere(stream);

View File

@ -249,7 +249,7 @@ public:
ref<Bitmap> bitmap = m_storage->getBitmap()->convert(
m_pixelFormat, Bitmap::EFloat);
Log(EInfo, "Writing image to \"%s\" ..", filename.filename().c_str());
Log(EInfo, "Writing image to \"%s\" ..", filename.filename().string().c_str());
fs::ofstream os(filename);
if (!os.good() || os.fail())

View File

@ -97,7 +97,7 @@ void BDPTWorkResult::dump(const BDPTConfiguration &conf,
Bitmap *bitmap = const_cast<Bitmap *>(m_debugBlocks[strategyIndex(s, t)]->getBitmap());
ref<Bitmap> ldrBitmap = bitmap->convert(Bitmap::ERGB, Bitmap::EUInt8, -1, weight);
fs::path filename =
prefix / fs::path(formatString("%s_k%02i_s%02i_t%02i.png", stem.filename().c_str(), k, s, t));
prefix / fs::path(formatString("%s_k%02i_s%02i_t%02i.png", stem.filename().string().c_str(), k, s, t));
ref<FileStream> targetFile = new FileStream(filename,
FileStream::ETruncReadWrite);
ldrBitmap->write(Bitmap::EPNG, targetFile, 1);

View File

@ -26,7 +26,7 @@ struct MemoryMappedFile::MemoryMappedFilePrivate
MemoryMappedFile::MemoryMappedFile(const fs::path &filename, size_t size)
: d(new MemoryMappedFilePrivate(filename, size)) {
Log(ETrace, "Creating memory-mapped file \"%s\" (%s)..",
filename.filename().c_str(), memString(d->size).c_str());
filename.filename().string().c_str(), memString(d->size).c_str());
#if defined(__LINUX__) || defined(__OSX__)
int fd = open(filename.string().c_str(), O_RDWR | O_CREAT | O_TRUNC, 0664);
if (fd == -1)
@ -68,7 +68,7 @@ MemoryMappedFile::MemoryMappedFile(const fs::path &filename)
Log(EError, "The file \"%s\" does not exist!", filename.string().c_str());
d->size = (size_t) fs::file_size(filename);
Log(ETrace, "Mapping \"%s\" into memory (%s)..",
filename.filename().c_str(), memString(d->size).c_str());
filename.filename().string().c_str(), memString(d->size).c_str());
#if defined(__LINUX__) || defined(__OSX__)
int fd = open(filename.string().c_str(), O_RDONLY);
if (fd == -1)

View File

@ -544,7 +544,7 @@ InterpolatedSpectrum::InterpolatedSpectrum(const fs::path &path) {
path.string().c_str());
SLog(EInfo, "\"%s\": loaded a spectral power distribution with " SIZE_T_FMT
" entries (between %f and %f nm)", path.filename().c_str(), m_wavelengths.size(),
" entries (between %f and %f nm)", path.filename().string().c_str(), m_wavelengths.size(),
m_wavelengths[0], m_wavelengths[m_wavelengths.size()-1]);
}

View File

@ -96,20 +96,20 @@ void RenderJob::run() {
if (!m_scene->preprocess(m_queue, this, m_sceneResID, m_sensorResID, m_samplerResID)) {
m_cancelled = true;
Log(EWarn, "Preprocessing of scene \"%s\" did not complete successfully!",
m_scene->getSourceFile().filename().c_str());
m_scene->getSourceFile().filename().string().c_str());
}
if (!m_cancelled) {
if (!m_scene->render(m_queue, this, m_sceneResID, m_sensorResID, m_samplerResID)) {
m_cancelled = true;
Log(EWarn, "Rendering of scene \"%s\" did not complete successfully!",
m_scene->getSourceFile().filename().c_str());
m_scene->getSourceFile().filename().string().c_str());
}
m_scene->postprocess(m_queue, this, m_sceneResID, m_sensorResID, m_samplerResID);
}
} catch (const std::exception &ex) {
Log(EWarn, "Rendering of scene \"%s\" did not complete successfully, caught exception: %s",
m_scene->getSourceFile().filename().c_str(), ex.what());
m_scene->getSourceFile().filename().string().c_str(), ex.what());
m_cancelled = true;
}

View File

@ -581,7 +581,7 @@ void SceneHandler::endElement(const XMLCh* const xmlName) {
parser->setCalculateSrcOfs(true);
#endif
fs::path path = resolver->resolve(context.attributes["filename"]);
XMLLog(EInfo, "Parsing included file \"%s\" ..", path.filename().c_str());
XMLLog(EInfo, "Parsing included file \"%s\" ..", path.filename().string().c_str());
parser->parse(path.string().c_str());
object = handler->getScene();

View File

@ -16,6 +16,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <mitsuba/core/platform.h>
#include <QtGui/QtGui>
#include <QtOpenGL/QGLFormat>
#include <mitsuba/core/shvector.h>

View File

@ -106,7 +106,7 @@
<x>0</x>
<y>0</y>
<width>605</width>
<height>26</height>
<height>25</height>
</rect>
</property>
<widget class="QMenu" name="menuFile">
@ -170,6 +170,10 @@
<property name="title">
<string>Developer</string>
</property>
<property name="icon">
<iconset resource="resources.qrc">
<normaloff>:/resources/devel.png</normaloff>:/resources/devel.png</iconset>
</property>
<addaction name="actionShowKDTree"/>
<addaction name="actionSceneDescription"/>
</widget>
@ -498,7 +502,7 @@
<action name="actionMagnify">
<property name="icon">
<iconset resource="resources.qrc">
<normaloff>:/resources/zoom.png</normaloff>:/resources/zoom.png</iconset>
<normaloff>:/resources/zoomcrop.png</normaloff>:/resources/zoomcrop.png</iconset>
</property>
<property name="text">
<string>Crop and &amp;Magnify</string>
@ -532,6 +536,10 @@
</property>
</action>
<action name="actionFocusSelected">
<property name="icon">
<iconset resource="resources.qrc">
<normaloff>:/resources/zoom.png</normaloff>:/resources/zoom.png</iconset>
</property>
<property name="text">
<string>&amp;Focus Selection</string>
</property>
@ -540,6 +548,10 @@
</property>
</action>
<action name="actionFocusAll">
<property name="icon">
<iconset resource="resources.qrc">
<normaloff>:/resources/zoom-best-fit.png</normaloff>:/resources/zoom-best-fit.png</iconset>
</property>
<property name="text">
<string>Focus &amp;All</string>
</property>

View File

@ -4,6 +4,7 @@
<file>resources/play.png</file>
<file>resources/save16.png</file>
<file>resources/add.png</file>
<file>resources/devel.png</file>
<file>resources/import16.png</file>
<file>resources/branch-closed.png</file>
<file>resources/clear.png</file>
@ -29,7 +30,9 @@
<file>resources/server.png</file>
<file>resources/update.png</file>
<file>resources/zoom.png</file>
<file>resources/zoom-best-fit.png</file>
<file>resources/crop.png</file>
<file>resources/zoomcrop.png</file>
<file>resources/controls.png</file>
<file>resources/zoom-reset.png</file>
<file>resources/preferences.png</file>

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg id="svg3222" xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.0">
<path id="path3220" style="fill:#4d4d4d;fill-rule:evenodd" d="m7.9402 10.056 5.5131 5.7901c0.09497 0.10582 0.23427 0.16205 0.38313 0.15465s0.29323-0.07774 0.39706-0.19345l0.94443-1.0513c0.19322-0.21977 0.19232-0.53772-0.0021-0.72168l-5.5455-5.3566-1.6893 1.3786z"/>
<path id="path2447" style="fill-opacity:.58824;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:2;fill:#fff" d="m6 11c-3 0-5-1.9411-5-5 0-3 1.9064-5 5-5 3 0 5 2 5 5 0 2.7758-1.8917 5-5 5z"/>
<path id="rect2866" style="fill:#4d4d4d" d="m-8.7 7h0.4c0.1662 0 0.3 0.1338 0.3 0.3v1.4c0 0.1662-0.1338 0.3-0.3 0.3h-0.4c-0.1662 0-0.3-0.1338-0.3-0.3v-1.4c0-0.1662 0.1338-0.3 0.3-0.3zm0 1h1.4c0.1662 0 0.3 0.1338 0.3 0.3v0.4c0 0.1662-0.1338 0.3-0.3 0.3h-1.4c-0.1662 0-0.3-0.1338-0.3-0.3v-0.4c0-0.1662 0.1338-0.3 0.3-0.3zm0-3h0.4c0.1662 0 0.3-0.1338 0.3-0.3v-1.4c0-0.1662-0.1338-0.3-0.3-0.3h-0.4c-0.1662 0-0.3 0.1338-0.3 0.3v1.4c0 0.1662 0.1338 0.3 0.3 0.3zm0-1h1.4c0.1662 0 0.3-0.1338 0.3-0.3v-0.4c0-0.1662-0.1338-0.3-0.3-0.3h-1.4c-0.1662 0-0.3 0.1338-0.3 0.3v0.4c0 0.1662 0.1338 0.3 0.3 0.3zm5.4 1h-0.4c-0.1662 0-0.3-0.1338-0.3-0.3v-1.4c0-0.1662 0.1338-0.3 0.3-0.3h0.4c0.1662 0 0.3 0.1338 0.3 0.3v1.4c0 0.1662-0.1338 0.3-0.3 0.3zm0-1h-1.4c-0.1662 0-0.3-0.1338-0.3-0.3v-0.4c0-0.1662 0.1338-0.3 0.3-0.3h1.4c0.1662 0 0.3 0.1338 0.3 0.3v0.4c0 0.1662-0.1338 0.3-0.3 0.3zm0 3h-0.4c-0.1662 0-0.3 0.1338-0.3 0.3v1.4c0 0.1662 0.1338 0.3 0.3 0.3h0.4c0.1662 0 0.3-0.1338 0.3-0.3v-1.4c0-0.1662-0.1338-0.3-0.3-0.3zm0 1h-1.4c-0.1662 0-0.3 0.1338-0.3 0.3v0.4c0 0.1662 0.1338 0.3 0.3 0.3h1.4c0.1662 0 0.3-0.1338 0.3-0.3v-0.4c0-0.1662-0.1338-0.3-0.3-0.3z" transform="scale(-1,1)"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 682 B

View File

@ -77,7 +77,7 @@ UpgradeManager::UpgradeManager(const FileResolver *resolver) : m_resolver(resolv
for (size_t i=0; i<m_transformations.size(); ++i)
SLog(EInfo, " - registered transformation \"%s\", which updates to version %s",
m_transformations[i].second.filename().c_str(),
m_transformations[i].second.filename().string().c_str(),
m_transformations[i].first.toString().c_str());
}
@ -114,7 +114,7 @@ void UpgradeManager::performUpgrade(const QString &filename, const Version &vers
outputBuffer.open(QIODevice::WriteOnly | QIODevice::Truncate);
SLog(EInfo, "Applying transformation \"%s\" ..",
m_transformations[i].second.filename().c_str());
m_transformations[i].second.filename().string().c_str());
std::string trafoFilename = m_transformations[i].second.string();
QFile trafoFile(trafoFilename.c_str());
if (!trafoFile.open(QIODevice::ReadOnly | QIODevice::Text))

View File

@ -631,7 +631,7 @@ HairShape::HairShape(const Properties &props) : Shape(props) {
Transform objectToWorld = props.getTransform("toWorld", Transform());
radius *= objectToWorld(Vector(0, 0, 1)).length();
Log(EInfo, "Loading hair geometry from \"%s\" ..", path.filename().c_str());
Log(EInfo, "Loading hair geometry from \"%s\" ..", path.filename().string().c_str());
ref<Timer> timer = new Timer();
ref<FileStream> binaryStream = new FileStream(path, FileStream::EReadOnly);

View File

@ -204,7 +204,7 @@ public:
Transform objectToWorld = props.getTransform("toWorld", Transform());
/* Load the geometry */
Log(EInfo, "Loading geometry from \"%s\" ..", path.filename().c_str());
Log(EInfo, "Loading geometry from \"%s\" ..", path.filename().string().c_str());
fs::ifstream is(path);
if (is.bad() || is.fail())
Log(EError, "Wavefront OBJ file '%s' not found!", path.string().c_str());
@ -329,7 +329,7 @@ public:
if (!materialLibrary.empty())
loadMaterialLibrary(fileResolver, materialLibrary);
Log(EInfo, "Done with \"%s\" (took %i ms)", path.filename().c_str(), timer->getMilliseconds());
Log(EInfo, "Done with \"%s\" (took %i ms)", path.filename().string().c_str(), timer->getMilliseconds());
}
WavefrontOBJ(Stream *stream, InstanceManager *manager) : Shape(stream, manager) {
@ -401,7 +401,7 @@ public:
return;
}
Log(EInfo, "Loading OBJ materials from \"%s\" ..", mtlPath.filename().c_str());
Log(EInfo, "Loading OBJ materials from \"%s\" ..", mtlPath.filename().string().c_str());
fs::ifstream is(mtlPath);
if (is.bad() || is.fail())
Log(EError, "Unexpected I/O error while accessing material file '%s'!",

View File

@ -103,7 +103,7 @@ public:
m_objectToWorld = props.getTransform("toWorld", Transform());
/* Load the geometry */
Log(EInfo, "Loading geometry from \"%s\" ..", filePath.filename().c_str());
Log(EInfo, "Loading geometry from \"%s\" ..", filePath.filename().string().c_str());
if (!fs::exists(filePath))
Log(EError, "PLY file \"%s\" could not be found!", filePath.c_str());

View File

@ -148,10 +148,10 @@ public:
int shapeIndex = props.getInteger("shapeIndex", 0);
m_name = (props.getID() != "unnamed") ? props.getID()
: formatString("%s@%i", filePath.stem().c_str(), shapeIndex);
: formatString("%s@%i", filePath.stem().string().c_str(), shapeIndex);
/* Load the geometry */
Log(EInfo, "Loading shape %i from \"%s\" ..", shapeIndex, filePath.filename().c_str());
Log(EInfo, "Loading shape %i from \"%s\" ..", shapeIndex, filePath.filename().string().c_str());
ref<FileStream> stream = new FileStream(filePath, FileStream::EReadOnly);
ref<Timer> timer = new Timer();
loadCompressed(stream, shapeIndex);

View File

@ -184,7 +184,7 @@ public:
m_filename = Thread::getThread()->getFileResolver()->resolve(
props.getString("filename"));
Log(EInfo, "Loading texture \"%s\"", m_filename.filename().c_str());
Log(EInfo, "Loading texture \"%s\"", m_filename.filename().string().c_str());
if (!fs::exists(m_filename))
Log(EError, "Texture file \"%s\" could not be found!", m_filename.c_str());
@ -236,7 +236,7 @@ public:
bitmap = new Bitmap(Bitmap::EAuto, fs);
if (m_gamma != 0)
bitmap->setGamma(m_gamma);
Log(EDebug, "Loaded \"%s\" in %i ms", m_filename.filename().c_str(),
Log(EDebug, "Loaded \"%s\" in %i ms", m_filename.filename().string().c_str(),
timer->getMilliseconds());
}
@ -299,7 +299,7 @@ public:
BitmapTexture(Stream *stream, InstanceManager *manager)
: Texture2D(stream, manager) {
m_filename = stream->readString();
Log(EDebug, "Unserializing texture \"%s\"", m_filename.filename().c_str());
Log(EDebug, "Unserializing texture \"%s\"", m_filename.filename().string().c_str());
m_filterType = (EMIPFilterType) stream->readUInt();
m_wrapModeU = (ReconstructionFilter::EBoundaryCondition) stream->readUInt();
m_wrapModeV = (ReconstructionFilter::EBoundaryCondition) stream->readUInt();

View File

@ -281,7 +281,7 @@ public:
}
Log(EDebug, "Mapped \"%s\" into memory: %ix%ix%i (%i channels, format = %s), %s, %s",
resolved.filename().c_str(), m_res.x, m_res.y, m_res.z, m_channels, format.c_str(),
resolved.filename().string().c_str(), m_res.x, m_res.y, m_res.z, m_channels, format.c_str(),
memString(m_mmap->getSize()).c_str(), m_dataAABB.toString().c_str());
m_data = (uint8_t *) (((float *) m_mmap->getData()) + 12);
}