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/.*\.aux$
^doc/.*\.log$ ^doc/.*\.log$
^doc/.*\.out$ ^doc/.*\.out$
^doc/.*\.pdf$
^doc/.*\.toc$ ^doc/.*\.toc$
^doc/.*\.bbl$ ^doc/.*\.bbl$
^doc/.*\.blg$ ^doc/.*\.blg$
^doc/main.pdf$
^doc/plugins_generated.tex$ ^doc/plugins_generated.tex$
# Build-related # Build-related

View File

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

View File

@ -27,7 +27,7 @@ COLLADALIB = ['collada14dom']
# versions at the same time by explicitly specifying e.g. PYTHON27INCLUDE, # versions at the same time by explicitly specifying e.g. PYTHON27INCLUDE,
# PYTHON27LIB, PYTHON27LIBDIR and PYTHON32INCLUDE, PYTHON32LIB, PYTHON32LIBDIR # 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 = locals()
env['PYTHON'+pyver+'INCLUDE'] = [] env['PYTHON'+pyver+'INCLUDE'] = []

View File

@ -27,7 +27,7 @@ COLLADALIB = ['collada14dom']
# versions at the same time by explicitly specifying e.g. PYTHON27INCLUDE, # versions at the same time by explicitly specifying e.g. PYTHON27INCLUDE,
# PYTHON27LIB, PYTHON27LIBDIR and PYTHON32INCLUDE, PYTHON32LIB, PYTHON32LIBDIR # 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 = locals()
env['PYTHON'+pyver+'INCLUDE'] = [] env['PYTHON'+pyver+'INCLUDE'] = []

View File

@ -4,7 +4,7 @@ CXX = 'icpc'
CC = 'icc' 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'] 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'] 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'] BASEINCLUDE = ['#include', '#dependencies/include']
BASELIBDIR = ['#dependencies/lib'] BASELIBDIR = ['#dependencies/lib']
BASELIB = ['m', 'pthread', 'gomp', 'Half'] BASELIB = ['m', 'pthread', 'gomp', 'Half']

View File

@ -4,7 +4,7 @@ CXX = 'icpc'
CC = 'icc' 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'] 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'] 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'] BASEINCLUDE = ['#include', '#dependencies/include']
BASELIBDIR = ['#dependencies/lib'] BASELIBDIR = ['#dependencies/lib']
BASELIB = ['m', 'pthread', 'gomp', 'Half'] BASELIB = ['m', 'pthread', 'gomp', 'Half']

View File

@ -4,7 +4,7 @@ CXX = 'icpc'
CC = 'icc' 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'] 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'] 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'] BASEINCLUDE = ['#include', '#dependencies/include']
BASELIBDIR = ['#dependencies/lib'] BASELIBDIR = ['#dependencies/lib']
BASELIB = ['m', 'pthread', 'gomp', 'Half'] BASELIB = ['m', 'pthread', 'gomp', 'Half']

View File

@ -4,7 +4,7 @@ CXX = 'icpc'
CC = 'icc' 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'] 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'] 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'] BASEINCLUDE = ['#include', '#dependencies/include']
BASELIBDIR = ['#dependencies/lib'] BASELIBDIR = ['#dependencies/lib']
BASELIB = ['m', 'pthread', 'gomp', 'Half'] 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 \ 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/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/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 \ 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/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/frameworks/QtXml.framework/QtXml dependencies/frameworks/QtXmlPatterns.framework/QtXmlPatterns dependencies/frameworks/QtOpenGL.framework/QtOpenGL

View File

@ -17,14 +17,8 @@ _hgrepo="mitsuba"
build() { build() {
cd ${_hgrepo} cd ${_hgrepo}
cp build/config-linux.py config.py hg update bidir-0.4.0 # TODO: remove
if [ -e dependencies ]; then cp build/config-linux-gcc.py config.py
cd dependencies
hg pull -u
cd ..
else
hg clone https://www.mitsuba-renderer.org/hg/dependencies
fi
scons --jobs=$[${MAKEFLAGS/-j/} - 1] scons --jobs=$[${MAKEFLAGS/-j/} - 1]
} }
@ -36,10 +30,11 @@ package() {
${pkgdir}/usr/share/mitsuba/plugins \ ${pkgdir}/usr/share/mitsuba/plugins \
${pkgdir}/usr/share/mitsuba/data/schema \ ${pkgdir}/usr/share/mitsuba/data/schema \
${pkgdir}/usr/share/mitsuba/data/ior \ ${pkgdir}/usr/share/mitsuba/data/ior \
${pkgdir}/usr/share/mitsuba/data/microfacet \
${pkgdir}/usr/share/applications \ ${pkgdir}/usr/share/applications \
${pkgdir}/usr/share/pixmaps \ ${pkgdir}/usr/share/pixmaps \
${pkgdir}/usr/include/mitsuba/{core,hw,render,bidir} \ ${pkgdir}/usr/include/mitsuba/{core,hw,render,bidir} \
${pkgdir}/usr/lib/python2.7/lib-dynload ${pkgdir}/usr/lib/python3.2/lib-dynload
cd ${_hgrepo} cd ${_hgrepo}
install -m755 dist/mitsuba dist/mtsgui dist/mtsimport dist/mtssrv dist/mtsutil ${pkgdir}/usr/bin 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 -m755 dist/plugins/* ${pkgdir}/usr/share/mitsuba/plugins
install -m644 dist/data/schema/* ${pkgdir}/usr/share/mitsuba/data/schema 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/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 data/linux/mitsuba.desktop ${pkgdir}/usr/share/applications
install -m644 src/mtsgui/resources/mitsuba48.png ${pkgdir}/usr/share/pixmaps install -m644 src/mtsgui/resources/mitsuba48.png ${pkgdir}/usr/share/pixmaps
install -m644 include/mitsuba/*.h ${pkgdir}/usr/include/mitsuba 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 mitsuba (0.3.1-1) unstable; urgency=low
* Photon mapper: The photon mapper had some serious issues in the * 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, libpng12-dev, libjpeg62-dev, libilmbase-dev, libopenexr-dev,
libxerces-c-dev, libboost-dev, libglewmx1.5-dev, libxxf86vm-dev, libxerces-c-dev, libboost-dev, libglewmx1.5-dev, libxxf86vm-dev,
collada-dom-dev, libboost-system-dev, libboost-filesystem-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 Standards-Version: 3.8.3
Homepage: http://www.mitsuba-renderer.org Homepage: http://www.mitsuba-renderer.org
Package: mitsuba Package: mitsuba
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-core, libqt4-gui, libqt4-network, libqt4-opengl, libqt4-xml, libpng12-0, libjpeg62, Depends: ${shlibs:Depends}, ${misc:Depends}, libqt4-core, libqt4-gui,
libilmbase6, libopenexr6, libxerces-c3.1, libboost-filesystem1.42.0, libqt4-network, libqt4-opengl, libqt4-xml, libpng12-0, libjpeg62,
libboost-system1.42.0, libboost-python1.42.0, libglewmx1.5, 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 libxxf86vm1, collada-dom, libgl1-mesa-glx, libglu1-mesa
Description: Mitsuba renderer 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. 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, Depends: qt4-dev-tools, libpng12-dev, libjpeg62-dev, libilmbase-dev,
libopenexr-dev, libxerces-c-dev, libboost-dev, libglewmx1.5-dev, libopenexr-dev, libxerces-c-dev, libboost-dev, libglewmx1.5-dev,
libxxf86vm-dev, collada-dom-dev, libboost-system-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 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. 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-render.so /usr/lib
dist/libmitsuba-core.so /usr/lib dist/libmitsuba-core.so /usr/lib
dist/libmitsuba-bidir.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/plugins/* /usr/share/mitsuba/plugins
dist/data/* /usr/share/mitsuba/data dist/data/* /usr/share/mitsuba/data
src/mtsgui/resources/mitsuba48.png /usr/share/pixmaps 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: clean:
dh_testdir dh_testdir
dh_testroot dh_testroot
cp build/config-linux.py config.py cp build/config-linux-gcc.py config.py
scons -c scons -c
rm -f build-stamp configure-stamp rm -f build-stamp configure-stamp
rm -Rf .sconsign.dblite .sconf_temp/ rm -Rf .sconsign.dblite .sconf_temp/
@ -26,7 +26,7 @@ configure:
binary-arch: binary-arch:
dh_testdir dh_testdir
dh_testroot dh_testroot
cp build/config-linux.py config.py cp build/config-linux-gcc.py config.py
scons -j 2 scons -j 2
dh_installdirs dh_installdirs
dh_auto_install dh_auto_install

View File

@ -111,7 +111,16 @@ def generate(env):
else: else:
raise Exception('Unknown version of visual studio!') 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) 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') 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 First, run
\begin{shell} \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} \end{shell}
Afterwards, simply run Afterwards, simply run
\begin{shell} \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; continue;
trafo->addTrack(track); 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); ref<FileStream> fs = new FileStream(path, FileStream::ETruncReadWrite);
trafo->serialize(fs); trafo->serialize(fs);
} }
@ -1578,7 +1578,7 @@ void GeometryConverter::convertCollada(const fs::path &inputFile,
const fs::path &meshesDirectory) { const fs::path &meshesDirectory) {
CustomErrorHandler errorHandler; CustomErrorHandler errorHandler;
daeErrorHandler::setErrorHandler(&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 #if COLLADA_DOM_SUPPORT141
DAE *dae = new DAE(NULL, NULL, "1.4.1"); DAE *dae = new DAE(NULL, NULL, "1.4.1");
domCOLLADA *document = dae->open141(inputFile.string()); domCOLLADA *document = dae->open141(inputFile.string());

View File

@ -117,7 +117,7 @@ public:
m_filename = Thread::getThread()->getFileResolver()->resolve( m_filename = Thread::getThread()->getFileResolver()->resolve(
props.getString("filename")); 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)) if (!fs::exists(m_filename))
Log(EError, "Environment map file \"%s\" could not be found!", m_filename.c_str()); 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); bitmap = new Bitmap(Bitmap::EAuto, fs);
if (m_gamma != 0) if (m_gamma != 0)
bitmap->setGamma(m_gamma); 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()); timer->getMilliseconds());
} }
@ -191,7 +191,7 @@ public:
EnvironmentMap(Stream *stream, InstanceManager *manager) : Emitter(stream, manager), EnvironmentMap(Stream *stream, InstanceManager *manager) : Emitter(stream, manager),
m_mipmap(NULL), m_cdfRows(NULL), m_cdfCols(NULL), m_rowWeights(NULL) { m_mipmap(NULL), m_cdfRows(NULL), m_cdfCols(NULL), m_rowWeights(NULL) {
m_filename = stream->readString(); 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_gamma = stream->readFloat();
m_scale = stream->readFloat(); m_scale = stream->readFloat();
m_sceneBSphere = BSphere(stream); m_sceneBSphere = BSphere(stream);

View File

@ -249,7 +249,7 @@ public:
ref<Bitmap> bitmap = m_storage->getBitmap()->convert( ref<Bitmap> bitmap = m_storage->getBitmap()->convert(
m_pixelFormat, Bitmap::EFloat); 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); fs::ofstream os(filename);
if (!os.good() || os.fail()) 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()); Bitmap *bitmap = const_cast<Bitmap *>(m_debugBlocks[strategyIndex(s, t)]->getBitmap());
ref<Bitmap> ldrBitmap = bitmap->convert(Bitmap::ERGB, Bitmap::EUInt8, -1, weight); ref<Bitmap> ldrBitmap = bitmap->convert(Bitmap::ERGB, Bitmap::EUInt8, -1, weight);
fs::path filename = 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, ref<FileStream> targetFile = new FileStream(filename,
FileStream::ETruncReadWrite); FileStream::ETruncReadWrite);
ldrBitmap->write(Bitmap::EPNG, targetFile, 1); ldrBitmap->write(Bitmap::EPNG, targetFile, 1);

View File

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

View File

@ -544,7 +544,7 @@ InterpolatedSpectrum::InterpolatedSpectrum(const fs::path &path) {
path.string().c_str()); path.string().c_str());
SLog(EInfo, "\"%s\": loaded a spectral power distribution with " SIZE_T_FMT 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]); 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)) { if (!m_scene->preprocess(m_queue, this, m_sceneResID, m_sensorResID, m_samplerResID)) {
m_cancelled = true; m_cancelled = true;
Log(EWarn, "Preprocessing of scene \"%s\" did not complete successfully!", 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_cancelled) {
if (!m_scene->render(m_queue, this, m_sceneResID, m_sensorResID, m_samplerResID)) { if (!m_scene->render(m_queue, this, m_sceneResID, m_sensorResID, m_samplerResID)) {
m_cancelled = true; m_cancelled = true;
Log(EWarn, "Rendering of scene \"%s\" did not complete successfully!", 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); m_scene->postprocess(m_queue, this, m_sceneResID, m_sensorResID, m_samplerResID);
} }
} catch (const std::exception &ex) { } catch (const std::exception &ex) {
Log(EWarn, "Rendering of scene \"%s\" did not complete successfully, caught exception: %s", 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; m_cancelled = true;
} }

View File

@ -581,7 +581,7 @@ void SceneHandler::endElement(const XMLCh* const xmlName) {
parser->setCalculateSrcOfs(true); parser->setCalculateSrcOfs(true);
#endif #endif
fs::path path = resolver->resolve(context.attributes["filename"]); 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()); parser->parse(path.string().c_str());
object = handler->getScene(); object = handler->getScene();

View File

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

View File

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

View File

@ -4,6 +4,7 @@
<file>resources/play.png</file> <file>resources/play.png</file>
<file>resources/save16.png</file> <file>resources/save16.png</file>
<file>resources/add.png</file> <file>resources/add.png</file>
<file>resources/devel.png</file>
<file>resources/import16.png</file> <file>resources/import16.png</file>
<file>resources/branch-closed.png</file> <file>resources/branch-closed.png</file>
<file>resources/clear.png</file> <file>resources/clear.png</file>
@ -29,7 +30,9 @@
<file>resources/server.png</file> <file>resources/server.png</file>
<file>resources/update.png</file> <file>resources/update.png</file>
<file>resources/zoom.png</file> <file>resources/zoom.png</file>
<file>resources/zoom-best-fit.png</file>
<file>resources/crop.png</file> <file>resources/crop.png</file>
<file>resources/zoomcrop.png</file>
<file>resources/controls.png</file> <file>resources/controls.png</file>
<file>resources/zoom-reset.png</file> <file>resources/zoom-reset.png</file>
<file>resources/preferences.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) for (size_t i=0; i<m_transformations.size(); ++i)
SLog(EInfo, " - registered transformation \"%s\", which updates to version %s", 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()); 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); outputBuffer.open(QIODevice::WriteOnly | QIODevice::Truncate);
SLog(EInfo, "Applying transformation \"%s\" ..", 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(); std::string trafoFilename = m_transformations[i].second.string();
QFile trafoFile(trafoFilename.c_str()); QFile trafoFile(trafoFilename.c_str());
if (!trafoFile.open(QIODevice::ReadOnly | QIODevice::Text)) 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()); Transform objectToWorld = props.getTransform("toWorld", Transform());
radius *= objectToWorld(Vector(0, 0, 1)).length(); 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<Timer> timer = new Timer();
ref<FileStream> binaryStream = new FileStream(path, FileStream::EReadOnly); ref<FileStream> binaryStream = new FileStream(path, FileStream::EReadOnly);

View File

@ -204,7 +204,7 @@ public:
Transform objectToWorld = props.getTransform("toWorld", Transform()); Transform objectToWorld = props.getTransform("toWorld", Transform());
/* Load the geometry */ /* 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); fs::ifstream is(path);
if (is.bad() || is.fail()) if (is.bad() || is.fail())
Log(EError, "Wavefront OBJ file '%s' not found!", path.string().c_str()); Log(EError, "Wavefront OBJ file '%s' not found!", path.string().c_str());
@ -329,7 +329,7 @@ public:
if (!materialLibrary.empty()) if (!materialLibrary.empty())
loadMaterialLibrary(fileResolver, materialLibrary); 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) { WavefrontOBJ(Stream *stream, InstanceManager *manager) : Shape(stream, manager) {
@ -401,7 +401,7 @@ public:
return; 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); fs::ifstream is(mtlPath);
if (is.bad() || is.fail()) if (is.bad() || is.fail())
Log(EError, "Unexpected I/O error while accessing material file '%s'!", Log(EError, "Unexpected I/O error while accessing material file '%s'!",

View File

@ -103,7 +103,7 @@ public:
m_objectToWorld = props.getTransform("toWorld", Transform()); m_objectToWorld = props.getTransform("toWorld", Transform());
/* Load the geometry */ /* 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)) if (!fs::exists(filePath))
Log(EError, "PLY file \"%s\" could not be found!", filePath.c_str()); 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); int shapeIndex = props.getInteger("shapeIndex", 0);
m_name = (props.getID() != "unnamed") ? props.getID() 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 */ /* 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<FileStream> stream = new FileStream(filePath, FileStream::EReadOnly);
ref<Timer> timer = new Timer(); ref<Timer> timer = new Timer();
loadCompressed(stream, shapeIndex); loadCompressed(stream, shapeIndex);

View File

@ -184,7 +184,7 @@ public:
m_filename = Thread::getThread()->getFileResolver()->resolve( m_filename = Thread::getThread()->getFileResolver()->resolve(
props.getString("filename")); 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)) if (!fs::exists(m_filename))
Log(EError, "Texture file \"%s\" could not be found!", m_filename.c_str()); Log(EError, "Texture file \"%s\" could not be found!", m_filename.c_str());
@ -236,7 +236,7 @@ public:
bitmap = new Bitmap(Bitmap::EAuto, fs); bitmap = new Bitmap(Bitmap::EAuto, fs);
if (m_gamma != 0) if (m_gamma != 0)
bitmap->setGamma(m_gamma); 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()); timer->getMilliseconds());
} }
@ -299,7 +299,7 @@ public:
BitmapTexture(Stream *stream, InstanceManager *manager) BitmapTexture(Stream *stream, InstanceManager *manager)
: Texture2D(stream, manager) { : Texture2D(stream, manager) {
m_filename = stream->readString(); 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_filterType = (EMIPFilterType) stream->readUInt();
m_wrapModeU = (ReconstructionFilter::EBoundaryCondition) stream->readUInt(); m_wrapModeU = (ReconstructionFilter::EBoundaryCondition) stream->readUInt();
m_wrapModeV = (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", 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()); memString(m_mmap->getSize()).c_str(), m_dataAABB.toString().c_str());
m_data = (uint8_t *) (((float *) m_mmap->getData()) + 12); m_data = (uint8_t *) (((float *) m_mmap->getData()) + 12);
} }