spectral rendering improvements, added back further documentation chapters
parent
4a6d69df32
commit
1dc0193f68
|
@ -1,7 +1,7 @@
|
||||||
BUILDDIR = '#build/release'
|
BUILDDIR = '#build/release'
|
||||||
CXX = 'g++'
|
CXX = 'g++'
|
||||||
CC = 'gcc'
|
CC = 'gcc'
|
||||||
CXXFLAGS = ['-arch', 'i386', '-arch', 'x86_64', '-mmacosx-version-min=10.5', '-march=nocona', '-msse2', '-mfpmath=sse', '-ftree-vectorize', '-funsafe-math-optimizations', '-fno-rounding-math', '-fno-signaling-nans', '-fomit-frame-pointer', '-isysroot', '/Developer/SDKs/MacOSX10.5.sdk', '-O3', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fopenmp', '-fstrict-aliasing', '-fsched-interblock', '-freorder-blocks']
|
CXXFLAGS = ['-arch', 'i386', '-arch', 'x86_64', '-mmacosx-version-min=10.5', '-march=nocona', '-msse2', '-mfpmath=sse', '-ftree-vectorize', '-funsafe-math-optimizations', '-fno-rounding-math', '-fno-signaling-nans', '-fomit-frame-pointer', '-isysroot', '/Developer/SDKs/MacOSX10.5.sdk', '-O3', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DSPECTRUM_SAMPLES=3', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fopenmp', '-fstrict-aliasing', '-fsched-interblock', '-freorder-blocks']
|
||||||
LINKFLAGS = ['-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'i386', '-arch', 'x86_64', '-mmacosx-version-min=10.5', '-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk']
|
LINKFLAGS = ['-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'i386', '-arch', 'x86_64', '-mmacosx-version-min=10.5', '-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk']
|
||||||
BASEINCLUDE = ['#include']
|
BASEINCLUDE = ['#include']
|
||||||
BASELIB = ['m', 'pthread', 'gomp']
|
BASELIB = ['m', 'pthread', 'gomp']
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
BUILDDIR = '#build/release'
|
BUILDDIR = '#build/release'
|
||||||
CXX = 'g++'
|
CXX = 'g++'
|
||||||
CC = 'gcc'
|
CC = 'gcc'
|
||||||
CXXFLAGS = ['-arch', 'i386', '-mmacosx-version-min=10.5', '-march=nocona', '-msse2', '-mfpmath=sse', '-ftree-vectorize', '-funsafe-math-optimizations', '-fno-rounding-math', '-fno-signaling-nans', '-fomit-frame-pointer', '-isysroot', '/Developer/SDKs/MacOSX10.5.sdk', '-O3', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fopenmp', '-fstrict-aliasing', '-fsched-interblock', '-freorder-blocks']
|
CXXFLAGS = ['-arch', 'i386', '-mmacosx-version-min=10.5', '-march=nocona', '-msse2', '-mfpmath=sse', '-ftree-vectorize', '-funsafe-math-optimizations', '-fno-rounding-math', '-fno-signaling-nans', '-fomit-frame-pointer', '-isysroot', '/Developer/SDKs/MacOSX10.5.sdk', '-O3', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DSPECTRUM_SAMPLES=3', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fopenmp', '-fstrict-aliasing', '-fsched-interblock', '-freorder-blocks']
|
||||||
LINKFLAGS = ['-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'i386', '-mmacosx-version-min=10.5', '-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk']
|
LINKFLAGS = ['-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'i386', '-mmacosx-version-min=10.5', '-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk']
|
||||||
BASEINCLUDE = ['#include']
|
BASEINCLUDE = ['#include']
|
||||||
BASELIB = ['m', 'pthread', 'gomp']
|
BASELIB = ['m', 'pthread', 'gomp']
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
BUILDDIR = '#build/release'
|
BUILDDIR = '#build/release'
|
||||||
CXX = 'g++'
|
CXX = 'g++'
|
||||||
CC = 'gcc'
|
CC = 'gcc'
|
||||||
CXXFLAGS = ['-arch', 'x86_64', '-mmacosx-version-min=10.5', '-march=nocona', '-msse2', '-mfpmath=sse', '-ftree-vectorize', '-funsafe-math-optimizations', '-fno-rounding-math', '-fno-signaling-nans', '-isysroot', '/Developer/SDKs/MacOSX10.5.sdk', '-O3', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fopenmp', '-fstrict-aliasing', '-fsched-interblock', '-freorder-blocks']
|
CXXFLAGS = ['-arch', 'x86_64', '-mmacosx-version-min=10.5', '-march=nocona', '-msse2', '-mfpmath=sse', '-ftree-vectorize', '-funsafe-math-optimizations', '-fno-rounding-math', '-fno-signaling-nans', '-isysroot', '/Developer/SDKs/MacOSX10.5.sdk', '-O3', '-Wall', '-g', '-pipe', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DSPECTRUM_SAMPLES=3', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fopenmp', '-fstrict-aliasing', '-fsched-interblock', '-freorder-blocks']
|
||||||
LINKFLAGS = ['-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'x86_64', '-mmacosx-version-min=10.5', '-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk']
|
LINKFLAGS = ['-framework', 'OpenGL', '-framework', 'Cocoa', '-arch', 'x86_64', '-mmacosx-version-min=10.5', '-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk']
|
||||||
BASEINCLUDE = ['#include']
|
BASEINCLUDE = ['#include']
|
||||||
BASELIB = ['m', 'pthread', 'gomp']
|
BASELIB = ['m', 'pthread', 'gomp']
|
||||||
|
|
|
@ -2,7 +2,7 @@ BUILDDIR = '#build/release'
|
||||||
CXX = 'icl'
|
CXX = 'icl'
|
||||||
CC = 'icl'
|
CC = 'icl'
|
||||||
LINK = 'xilink'
|
LINK = 'xilink'
|
||||||
CXXFLAGS = ['/nologo', '/O3', '/Qipo', '/QxSSE2', '/QaxSSE3,SSE4.2', '/fp:fast=2', '/D', 'WIN32', '/W3', '/Qdiag-disable:2586', '/EHsc', '/GS-', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/Qopenmp']
|
CXXFLAGS = ['/nologo', '/O3', '/Qipo', '/QxSSE2', '/QaxSSE3,SSE4.2', '/fp:fast=2', '/D', 'WIN32', '/W3', '/Qdiag-disable:2586', '/EHsc', '/GS-', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/Qopenmp']
|
||||||
SHCXXFLAGS = CXXFLAGS
|
SHCXXFLAGS = CXXFLAGS
|
||||||
TARGET_ARCH = 'x86'
|
TARGET_ARCH = 'x86'
|
||||||
MSVC_VERSION = '10.0'
|
MSVC_VERSION = '10.0'
|
||||||
|
|
|
@ -2,7 +2,7 @@ BUILDDIR = '#build/release'
|
||||||
CXX = 'icl'
|
CXX = 'icl'
|
||||||
CC = 'icl'
|
CC = 'icl'
|
||||||
LINK = 'xilink'
|
LINK = 'xilink'
|
||||||
CXXFLAGS = ['/nologo', '/O3', '/Qipo', '/QxSSE2', '/QaxSSE3,SSE4.2', '/fp:fast=2', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/Qdiag-disable:2586', '/EHsc', '/GS-', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/Qopenmp']
|
CXXFLAGS = ['/nologo', '/O3', '/Qipo', '/QxSSE2', '/QaxSSE3,SSE4.2', '/fp:fast=2', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/Qdiag-disable:2586', '/EHsc', '/GS-', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/Qopenmp']
|
||||||
SHCXXFLAGS = CXXFLAGS
|
SHCXXFLAGS = CXXFLAGS
|
||||||
TARGET_ARCH = 'x86_64'
|
TARGET_ARCH = 'x86_64'
|
||||||
MSVC_VERSION = '10.0'
|
MSVC_VERSION = '10.0'
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
BUILDDIR = '#build/debug'
|
BUILDDIR = '#build/debug'
|
||||||
CXX = 'g++'
|
CXX = 'g++'
|
||||||
CC = 'gcc'
|
CC = 'gcc'
|
||||||
CXXFLAGS = ['-O0', '-Wall', '-g', '-pipe', '-march=nocona', '-msse2', '-ftree-vectorize', '-mfpmath=sse', '-funsafe-math-optimizations', '-fno-rounding-math', '-fno-signaling-nans', '-fomit-frame-pointer', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fopenmp']
|
CXXFLAGS = ['-O0', '-Wall', '-g', '-pipe', '-march=nocona', '-msse2', '-ftree-vectorize', '-mfpmath=sse', '-funsafe-math-optimizations', '-fno-rounding-math', '-fno-signaling-nans', '-fomit-frame-pointer', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DSPECTRUM_SAMPLES=3', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fopenmp']
|
||||||
LINKFLAGS = []
|
LINKFLAGS = []
|
||||||
SHLINKFLAGS = ['-rdynamic', '-shared', '-fPIC']
|
SHLINKFLAGS = ['-rdynamic', '-shared', '-fPIC']
|
||||||
BASEINCLUDE = ['#include']
|
BASEINCLUDE = ['#include']
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
BUILDDIR = '#build/release'
|
BUILDDIR = '#build/release'
|
||||||
CXX = 'g++'
|
CXX = 'g++'
|
||||||
CC = 'gcc'
|
CC = 'gcc'
|
||||||
CXXFLAGS = ['-O3', '-Wall', '-g', '-pipe', '-march=nocona', '-msse2', '-ftree-vectorize', '-mfpmath=sse', '-funsafe-math-optimizations', '-fno-rounding-math', '-fno-signaling-nans', '-fomit-frame-pointer', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fopenmp']
|
CXXFLAGS = ['-O3', '-Wall', '-g', '-pipe', '-march=nocona', '-msse2', '-ftree-vectorize', '-mfpmath=sse', '-funsafe-math-optimizations', '-fno-rounding-math', '-fno-signaling-nans', '-fomit-frame-pointer', '-DMTS_DEBUG', '-DSINGLE_PRECISION', '-DSPECTRUM_SAMPLES=3', '-DMTS_SSE', '-DMTS_HAS_COHERENT_RT', '-fopenmp']
|
||||||
LINKFLAGS = []
|
LINKFLAGS = []
|
||||||
SHLINKFLAGS = ['-rdynamic', '-shared', '-fPIC']
|
SHLINKFLAGS = ['-rdynamic', '-shared', '-fPIC']
|
||||||
BASEINCLUDE = ['#include']
|
BASEINCLUDE = ['#include']
|
||||||
|
|
|
@ -4,7 +4,7 @@ CC = 'cl'
|
||||||
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
||||||
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
||||||
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
||||||
CXXFLAGS = ['/nologo', '/Od', '/Z7', '/fp:fast', '/arch:SSE2' ,'/D', 'WIN32', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
CXXFLAGS = ['/nologo', '/Od', '/Z7', '/fp:fast', '/arch:SSE2' ,'/D', 'WIN32', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
||||||
SHCXXFLAGS = CXXFLAGS
|
SHCXXFLAGS = CXXFLAGS
|
||||||
TARGET_ARCH = 'x86'
|
TARGET_ARCH = 'x86'
|
||||||
MSVC_VERSION = '9.0'
|
MSVC_VERSION = '9.0'
|
||||||
|
|
|
@ -4,7 +4,7 @@ CC = 'cl'
|
||||||
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
||||||
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
||||||
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
||||||
CXXFLAGS = ['/nologo', '/Ox', '/fp:fast', '/arch:SSE2' ,'/D', 'WIN32', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
CXXFLAGS = ['/nologo', '/Ox', '/fp:fast', '/arch:SSE2' ,'/D', 'WIN32', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
||||||
SHCXXFLAGS = CXXFLAGS
|
SHCXXFLAGS = CXXFLAGS
|
||||||
TARGET_ARCH = 'x86'
|
TARGET_ARCH = 'x86'
|
||||||
MSVC_VERSION = '9.0'
|
MSVC_VERSION = '9.0'
|
||||||
|
|
|
@ -4,7 +4,7 @@ CC = 'cl'
|
||||||
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
||||||
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
||||||
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
||||||
CXXFLAGS = ['/nologo', '/Od', '/Z7', '/fp:fast', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
CXXFLAGS = ['/nologo', '/Od', '/Z7', '/fp:fast', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
||||||
SHCXXFLAGS = CXXFLAGS
|
SHCXXFLAGS = CXXFLAGS
|
||||||
TARGET_ARCH = 'x86_64'
|
TARGET_ARCH = 'x86_64'
|
||||||
MSVC_VERSION = '9.0'
|
MSVC_VERSION = '9.0'
|
||||||
|
|
|
@ -4,7 +4,7 @@ CC = 'cl'
|
||||||
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
||||||
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
||||||
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
||||||
CXXFLAGS = ['/nologo', '/Ox', '/fp:fast', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
CXXFLAGS = ['/nologo', '/Ox', '/fp:fast', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
||||||
SHCXXFLAGS = CXXFLAGS
|
SHCXXFLAGS = CXXFLAGS
|
||||||
TARGET_ARCH = 'x86_64'
|
TARGET_ARCH = 'x86_64'
|
||||||
MSVC_VERSION = '9.0'
|
MSVC_VERSION = '9.0'
|
||||||
|
|
|
@ -4,7 +4,7 @@ CC = 'cl'
|
||||||
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
||||||
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
||||||
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
||||||
CXXFLAGS = ['/nologo', '/Od', '/Z7', '/fp:fast', '/arch:SSE2' ,'/D', 'WIN32', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
CXXFLAGS = ['/nologo', '/Od', '/Z7', '/fp:fast', '/arch:SSE2' ,'/D', 'WIN32', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
||||||
SHCXXFLAGS = CXXFLAGS
|
SHCXXFLAGS = CXXFLAGS
|
||||||
TARGET_ARCH = 'x86'
|
TARGET_ARCH = 'x86'
|
||||||
MSVC_VERSION = '10.0'
|
MSVC_VERSION = '10.0'
|
||||||
|
|
|
@ -4,7 +4,7 @@ CC = 'cl'
|
||||||
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
||||||
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
||||||
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
||||||
CXXFLAGS = ['/nologo', '/Ox', '/fp:fast', '/arch:SSE2' ,'/D', 'WIN32', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
CXXFLAGS = ['/nologo', '/Ox', '/fp:fast', '/arch:SSE2' ,'/D', 'WIN32', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
||||||
SHCXXFLAGS = CXXFLAGS
|
SHCXXFLAGS = CXXFLAGS
|
||||||
TARGET_ARCH = 'x86'
|
TARGET_ARCH = 'x86'
|
||||||
MSVC_VERSION = '10.0'
|
MSVC_VERSION = '10.0'
|
||||||
|
|
|
@ -4,7 +4,7 @@ CC = 'cl'
|
||||||
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
||||||
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
||||||
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
||||||
CXXFLAGS = ['/nologo', '/Od', '/Z7', '/fp:fast', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
CXXFLAGS = ['/nologo', '/Od', '/Z7', '/fp:fast', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
||||||
SHCXXFLAGS = CXXFLAGS
|
SHCXXFLAGS = CXXFLAGS
|
||||||
TARGET_ARCH = 'x86_64'
|
TARGET_ARCH = 'x86_64'
|
||||||
MSVC_VERSION = '10.0'
|
MSVC_VERSION = '10.0'
|
||||||
|
|
|
@ -4,7 +4,7 @@ CC = 'cl'
|
||||||
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
# /Ox=optimize for speed, global optimizations, intrinsic functions, favor fast code, frame pointer omission
|
||||||
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
# /EHsc=C++ exceptions, /fp:fast=Enable reasonable FP optimizations, /GS-=No buffer security checks, /GL=whole program optimizations
|
||||||
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
# To include debug information add '/Z7' to CXXFLAGS and '/DEBUG' to LINKFLAGS
|
||||||
CXXFLAGS = ['/nologo', '/Ox', '/fp:fast', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
CXXFLAGS = ['/nologo', '/Ox', '/fp:fast', '/D', 'WIN32', '/D', 'WIN64', '/W3', '/EHsc', '/GS-', '/GL', '/MD', '/D', 'MTS_DEBUG', '/D', 'SINGLE_PRECISION', '/D', 'SPECTRUM_SAMPLES=3', '/D', 'MTS_SSE', '/D', 'MTS_HAS_COHERENT_RT', '/D', '_CONSOLE', '/D', 'NDEBUG', '/openmp']
|
||||||
SHCXXFLAGS = CXXFLAGS
|
SHCXXFLAGS = CXXFLAGS
|
||||||
TARGET_ARCH = 'x86_64'
|
TARGET_ARCH = 'x86_64'
|
||||||
MSVC_VERSION = '10.0'
|
MSVC_VERSION = '10.0'
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
\section{Basic usage}
|
\section{Basic usage}
|
||||||
|
\label{sec:basics}
|
||||||
The rendering functionality of Mitsuba can be accessed through
|
The rendering functionality of Mitsuba can be accessed through
|
||||||
a command line interface and an interactive Qt-based frontend. This section
|
a command line interface and an interactive Qt-based frontend. This section
|
||||||
provides some basic instructions on how to use them.
|
provides some basic instructions on how to use them.
|
||||||
|
@ -91,11 +92,11 @@ where each line contains a separate connection description as discussed previous
|
||||||
$\texttt{\$}$ mitsuba -s servers.txt path-to/my-scene.xml
|
$\texttt{\$}$ mitsuba -s servers.txt path-to/my-scene.xml
|
||||||
\end{shell}
|
\end{shell}
|
||||||
where \code{servers.txt} e.g. contains
|
where \code{servers.txt} e.g. contains
|
||||||
\begin{console}
|
\begin{shell}
|
||||||
user1@machine1.domain.org:/opt/mitsuba
|
user1@machine1.domain.org:/opt/mitsuba
|
||||||
machine2.domain.org
|
machine2.domain.org
|
||||||
machine3.domain.org:7346
|
machine3.domain.org:7346
|
||||||
\end{console}
|
\end{shell}
|
||||||
\subsubsection{Passing parameters}
|
\subsubsection{Passing parameters}
|
||||||
Any attribute in the scene XML file can be parameterized from the
|
Any attribute in the scene XML file can be parameterized from the
|
||||||
command line.
|
command line.
|
||||||
|
|
|
@ -3,7 +3,7 @@ To compile Mitsuba, you will need a recent C++ compiler (e.g. GCC 4.1+ or
|
||||||
Visual Studio 2008+) and some additional libraries, which Mitsuba uses internally.
|
Visual Studio 2008+) and some additional libraries, which Mitsuba uses internally.
|
||||||
Builds on all supported platforms are done using a unified system
|
Builds on all supported platforms are done using a unified system
|
||||||
based on SCons (\url{http://www.scons.org}), which is a Python-based
|
based on SCons (\url{http://www.scons.org}), which is a Python-based
|
||||||
software construction tool. There are some minor differences between operating systems though: for
|
software construction tool. There are some differences between the different operating systems---for
|
||||||
more details, please refer to one of the next sections depending on which one you use.
|
more details, please refer to one of the next sections depending on which one you use.
|
||||||
|
|
||||||
\subsection{Common steps}
|
\subsection{Common steps}
|
||||||
|
@ -11,8 +11,8 @@ To get started, you will need to download a recent version of Mitsuba. Make sure
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
$\texttt{\$}$ hg clone https://www.mitsuba-renderer.org/hg/mitsuba
|
$\texttt{\$}$ hg clone https://www.mitsuba-renderer.org/hg/mitsuba
|
||||||
\end{shell}
|
\end{shell}
|
||||||
Afterwards, you will need to download the precompiled dependencies into the
|
Afterwards, you will need to download the precompiled dependencies into a new
|
||||||
subdirectory \code{mitsuba/dependencies}:
|
subdirectory named \code{mitsuba/dependencies}:
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
$\texttt{\$}$ cd mitsuba
|
$\texttt{\$}$ cd mitsuba
|
||||||
$\texttt{\$}$ hg clone https://www.mitsuba-renderer.org/hg/dependencies
|
$\texttt{\$}$ hg clone https://www.mitsuba-renderer.org/hg/dependencies
|
||||||
|
@ -33,7 +33,7 @@ build/config-icl12-msvc2010-win32.py
|
||||||
build/config-icl12-msvc2010-win64.py
|
build/config-icl12-msvc2010-win64.py
|
||||||
\end{shell}
|
\end{shell}
|
||||||
|
|
||||||
Usually, you will not have to make any modification to this fine, but sometimes a few minor
|
Usually, you will not have to make any modification to this file, but sometimes a few minor
|
||||||
edits may be necessary. In particular, you might want to add or remove certain
|
edits may be necessary. In particular, you might want to add or remove certain
|
||||||
compilation flags from the \code{CXXFLAGS} parameter. The following settings
|
compilation flags from the \code{CXXFLAGS} parameter. The following settings
|
||||||
affect the behavior of Mitsuba:
|
affect the behavior of Mitsuba:
|
||||||
|
@ -42,20 +42,28 @@ affect the behavior of Mitsuba:
|
||||||
enabled by default.
|
enabled by default.
|
||||||
\item[\texttt{MTS\_KD\_DEBUG}] Enable additional checks in the kd-Tree. This
|
\item[\texttt{MTS\_KD\_DEBUG}] Enable additional checks in the kd-Tree. This
|
||||||
is quite slow and mainly useful to track down bugs when they are suspected.
|
is quite slow and mainly useful to track down bugs when they are suspected.
|
||||||
\item[\texttt{MTS\_KD\_CONSERVE\_MEMORY}] Use less memory for storing geometry (at the cost of speed).
|
\item[\texttt{MTS\_KD\_CONSERVE\_MEMORY}] Use a more compact representation
|
||||||
|
for triangle geometry (at the cost of speed). This flag causes Mitsuba to use the somewhat slower
|
||||||
|
Moeller-Trumbore triangle intersection method instead of the default Wald
|
||||||
|
intersection test, which has an overhead of 48 bytes per triangle.
|
||||||
Off by default.
|
Off by default.
|
||||||
\item[\texttt{SINGLE\_PRECISION}] Do all computation in single precision. This is usually sufficient.
|
\item[\texttt{MTS\_SSE}]Activate optimized SSE routines. On by default.
|
||||||
\item[\texttt{DOUBLE\_PRECISION}] Do all computation in double precision. Incompatible with
|
\item[\texttt{MTS\_HAS\_COHERENT\_RT}]Include coherent ray tracing support (depends on \texttt{MTS\_SSE}). This flag is activated by default.
|
||||||
|
\item[\texttt{MTS\_DEBUG\_FP}]Generated NaNs and overflows will cause floating point exceptions, which can be caught in a debugger. This is slow and mainly meant as a debugging tool for developers. Off by default.
|
||||||
|
\item[\texttt{MTS\_SPECTRUM\_SAMPLES=}$\langle ..\rangle$]This setting defines the number of evenly-spaced
|
||||||
|
spectral samples in the 400-700nm range that Mitsuba uses when rendering scenes.
|
||||||
|
The default is 3 samples, in which case the renderer automatically turns into an
|
||||||
|
RGB-based system.
|
||||||
|
\item[\texttt{SINGLE\_PRECISION}] Do all computation in single precision. This is normally sufficient and therefore used as the default setting.
|
||||||
|
\item[\texttt{DOUBLE\_PRECISION}] Do all computation in double precision. This flag is incompatible with
|
||||||
\texttt{MTS\_SSE}, \texttt{MTS\_HAS\_COHERENT\_RT}, and \texttt{MTS\_DEBUG\_FP}.
|
\texttt{MTS\_SSE}, \texttt{MTS\_HAS\_COHERENT\_RT}, and \texttt{MTS\_DEBUG\_FP}.
|
||||||
\item[\texttt{MTS\_SSE}]Activate optimized SSE routines.
|
|
||||||
\item[\texttt{MTS\_HAS\_COHERENT\_RT}]Include coherent ray tracing support (depends on \texttt{MTS\_SSE}).
|
|
||||||
\item[\texttt{MTS\_DEBUG\_FP}]Generated NaNs and overflows will cause floating point exceptions, which can be caught in a debugger. This is slow and mainly meant as a debugging tool for developers.
|
|
||||||
\item[\texttt{MTS\_GUI\_SOFTWARE\_FALLBACK}]Forces the GUI to use a software
|
\item[\texttt{MTS\_GUI\_SOFTWARE\_FALLBACK}]Forces the GUI to use a software
|
||||||
fallback mode, which is considerably slower and removes the realtime preview.
|
fallback mode, which is considerably slower and removes the realtime preview.
|
||||||
This is useful when running the interface on a remote machine
|
This is useful when running the interface on a remote Windows machine
|
||||||
accessed via the Remote Desktop Protocol (RDP).
|
accessed via the Remote Desktop Protocol (RDP).
|
||||||
\end{description}
|
\end{description}
|
||||||
All default configurations use the flags \code{MTS\_DEBUG}, \code{SINGLE\_PRECISION}, \code{MTS\_SSE},
|
All of the default configurations files located in the \texttt{build} directory use the flags
|
||||||
|
\code{SINGLE\_PRECISION}, \code{SPECTRUM\_SAMPLES=3}, \code{MTS\_DEBUG}, \code{MTS\_SSE},
|
||||||
as well as \code{MTS\_HAS\_COHERENT\_RT}.
|
as well as \code{MTS\_HAS\_COHERENT\_RT}.
|
||||||
|
|
||||||
\subsection{Building on Ubuntu Linux}
|
\subsection{Building on Ubuntu Linux}
|
||||||
|
@ -67,9 +75,9 @@ First, run
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
$\text{\$}$ sudo apt-get install build-essential scons qt4-dev-tools scons libpng12-dev libjpeg62-dev libilmbase-dev libopenexr-dev libxerces-c-dev libboost-dev libglewmx1.5-dev libxxf86vm-dev libboost-system-dev libboost-filesystem-dev
|
$\text{\$}$ sudo apt-get install build-essential scons qt4-dev-tools scons libpng12-dev libjpeg62-dev libilmbase-dev libopenexr-dev libxerces-c-dev libboost-dev libglewmx1.5-dev libxxf86vm-dev libboost-system-dev libboost-filesystem-dev
|
||||||
\end{shell}
|
\end{shell}
|
||||||
To get COLLADA support, you will also need to install the \texttt{collada-dom} packages or build them from scratch. Here, we install the \code{x86\_64} binaries and development headers available on the Mitsuba website:
|
To get COLLADA support, you will also need to install the \texttt{collada-dom} packages or build it from scratch. Here, we install the \code{x86\_64} binaries and development headers that can be found in the \texttt{dependencies/linux} directory\footnote{The directory also contains source packages in case these binaries don't work for you.}:
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
$\text{\$}$ sudo dpkg --install collada-dom2.2_2.2-2_amd64.deb collada-dom-dev_2.2-2_amd64.deb
|
$\text{\$}$ sudo dpkg --install collada-dom_2.3.1-1_amd64.deb collada-dom-dev_2.2-2_amd64.deb
|
||||||
\end{shell}
|
\end{shell}
|
||||||
Afterwards, simply run
|
Afterwards, simply run
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
|
@ -85,6 +93,7 @@ To be able to run the renderer from the command line, you will also have to impo
|
||||||
$\text{\$}$ . setpath.sh
|
$\text{\$}$ . setpath.sh
|
||||||
\end{shell}
|
\end{shell}
|
||||||
(note the period at the beginning -- this assumes that you are using \code{bash}).
|
(note the period at the beginning -- this assumes that you are using \code{bash}).
|
||||||
|
Having set up everything, you can now move on to \secref{basics}.
|
||||||
|
|
||||||
\subsection{Building on Fedora Core}
|
\subsection{Building on Fedora Core}
|
||||||
You'll first need to install a number of dependencies. It is assumed here
|
You'll first need to install a number of dependencies. It is assumed here
|
||||||
|
@ -96,8 +105,8 @@ First, run
|
||||||
$\text{\$}$ yum install mercurial gcc-c++ scons boost-devel qt4-devel OpenEXR-devel xerces-c-devel
|
$\text{\$}$ yum install mercurial gcc-c++ scons boost-devel qt4-devel OpenEXR-devel xerces-c-devel
|
||||||
\end{shell}
|
\end{shell}
|
||||||
You will also need the \texttt{glew-mx} and \texttt{collada-dom} packages, which are not included in the Fedora package repository.
|
You will also need the \texttt{glew-mx} and \texttt{collada-dom} packages, which are not included in the Fedora package repository.
|
||||||
You can grab source, \texttt{i386}, and \text{x86\_64} \texttt{RPM} files here: \texttt{http://www.mitsuba-renderer.org/releases}.
|
You can grab source, \texttt{i386}, and \text{x86\_64} \texttt{RPM} files at the following location: \texttt{http://www.mitsuba-renderer.org/releases}.
|
||||||
Afterwards, simply run
|
After installing them, simply run
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
$\text{\$}$ scons
|
$\text{\$}$ scons
|
||||||
\end{shell}
|
\end{shell}
|
||||||
|
@ -111,24 +120,25 @@ To be able to run the renderer from the command line, you will also have to impo
|
||||||
$\text{\$}$ . setpath.sh
|
$\text{\$}$ . setpath.sh
|
||||||
\end{shell}
|
\end{shell}
|
||||||
(note the period at the beginning -- this assumes that you are using \code{bash}).
|
(note the period at the beginning -- this assumes that you are using \code{bash}).
|
||||||
|
Having set up everything, you can now move on to \secref{basics}.
|
||||||
|
|
||||||
\subsection{Building on Arch Linux}
|
\subsection{Building on Arch Linux}
|
||||||
There are two ways to install Mitsuba on Archlinux, the Arch way, and the other way.
|
There are two ways to install Mitsuba on Archlinux, the Arch way, and the other way.
|
||||||
|
|
||||||
The Arch Way is to use the Aur software repository.
|
The Arch Way is to use the Aur software repository.
|
||||||
Accessing software in the Aur repository is made a lot easier by using a script called packer.
|
Accessing software in the Aur repository is easiest when using a script called \texttt{packer}.
|
||||||
|
|
||||||
First download packer then use makepkg to build and install it.
|
First download packer then use \texttt{makepkg} to build and install it.
|
||||||
The -is flags will prompt you for your sudo password and then install the package after it has finished building as well as install any needed dependencies.
|
The \texttt{-is} flags will prompt you for your sudo password and then install the package after it has finished building as well as install any needed dependencies.
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
$\text{\$}$ mkdir packer && cd packer
|
$\text{\$}$ mkdir packer && cd packer
|
||||||
$\text{\$}$ wget http://aur.archlinux.org/packages/packer/packer/PKGBUILD
|
$\text{\$}$ wget http://aur.archlinux.org/packages/packer/packer/PKGBUILD
|
||||||
$\text{\$}$ makepkg -is
|
$\text{\$}$ makepkg -is
|
||||||
\end{shell}
|
\end{shell}
|
||||||
|
|
||||||
Next use packer to automatically download, build, and install Mitsuba as well as any needed dependencies.
|
Next, use packer to automatically download, build, and install Mitsuba as well as any needed dependencies.
|
||||||
The optional --noedit flag is used if you do not wish to edit the files after they are downloaded.
|
The optional \code{--noedit} flag is used if you do not wish to edit the files after they are downloaded.
|
||||||
The optional --noconfirm flag is used if you do not wish to confirm each step of the installation.
|
The optional \code{--noconfirm} flag is used if you do not wish to confirm each step of the installation.
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
$\text{\$}$ sudo packer -S --noedit --noconfirm mitsuba-hg glewmx collada-dom
|
$\text{\$}$ sudo packer -S --noedit --noconfirm mitsuba-hg glewmx collada-dom
|
||||||
\end{shell}
|
\end{shell}
|
||||||
|
@ -165,10 +175,11 @@ To uninstall do this
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
$\text{\$}$ sudo pacman -R mitsuba-hg glewmx collada-dom
|
$\text{\$}$ sudo pacman -R mitsuba-hg glewmx collada-dom
|
||||||
\end{shell}
|
\end{shell}
|
||||||
|
|
||||||
After installing you will be able to run the renderer from the command line.
|
After installing you will be able to run the renderer from the command line.
|
||||||
|
Having set up everything, you can now move on to \secref{basics}.
|
||||||
|
|
||||||
If for some reason you are unable access the Aur files, they are also hosted at (\url{https://www.mitsuba-renderer.org/releases/contrib/archlinux/})
|
If for some reason you are unable access the Aur files, they are also hosted at
|
||||||
|
(\url{https://www.mitsuba-renderer.org/releases/contrib/archlinux/}).
|
||||||
|
|
||||||
\subsection{Building on Windows}
|
\subsection{Building on Windows}
|
||||||
On the Windows platform, Mitsuba already includes most of the dependencies in precompiled form.
|
On the Windows platform, Mitsuba already includes most of the dependencies in precompiled form.
|
||||||
|
@ -179,9 +190,9 @@ installer generates a warning about not finding Python in the registry. In this
|
||||||
Next, you will either need to compile Qt 4.7 (or a newer version) from
|
Next, you will either need to compile Qt 4.7 (or a newer version) from
|
||||||
source or grab pre-built binaries (e.g. from
|
source or grab pre-built binaries (e.g. from
|
||||||
\url{http://code.google.com/p/qt-msvc-installer}).
|
\url{http://code.google.com/p/qt-msvc-installer}).
|
||||||
It is crucial that the Qt build configuration matches that of Mitsuba:
|
It is crucial that the Qt build configuration \emph{exactly} matches that of Mitsuba:
|
||||||
for instance, if you were planning to use the 64-bit compiler in Visual
|
for instance, if you were planning to use the 64-bit compiler in Visual
|
||||||
Studio 2010, both projects must be built with that \emph{exact} same compiler.
|
Studio 2010, both projects must be built with that exact same compiler.
|
||||||
|
|
||||||
When building Qt from source, an important point is to install any
|
When building Qt from source, an important point is to install any
|
||||||
Visual Studio service packs prior to this step---for instance, 64-bit
|
Visual Studio service packs prior to this step---for instance, 64-bit
|
||||||
|
@ -209,16 +220,17 @@ Afterwards, simply run
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
C:\Mitsuba\>scons
|
C:\Mitsuba\>scons
|
||||||
\end{shell}
|
\end{shell}
|
||||||
In the case that you have multiple processors, you might want to parallelize the build by appending \code{-j }\emph{core count} to the \code{scons} command.
|
In the case that you have multiple processors, you might want to parallelize the build by appending the option \code{-j }\emph{core count} to the \code{scons} command.
|
||||||
|
|
||||||
If all goes well, the build process will finish successfully after a few
|
If all goes well, the build process will finish successfully after a few
|
||||||
minutes. In comparison to the other platforms, you don't have to run the \code{setpath.sh} script at this point.
|
minutes. In comparison to the other platforms, you don't have to run the \code{setpath.sh} script at this point.
|
||||||
All binaries are now located in the \code{dist} directory, and they should be executed directly from there.
|
All binaries are now located in the \code{dist} directory, and they should be executed directly from there.
|
||||||
|
|
||||||
\subsubsection{Integration with the Visual Studio interface}
|
\subsubsection{Integration with the Visual Studio interface}
|
||||||
Basic Visual Studio 2008 and 2010 integration with support for code completion
|
Basic Visual Studio 2008 and 2010 integration with support for code completion
|
||||||
exists for those who develop Mitsuba code on Windows.
|
exists for those who develop Mitsuba code on Windows.
|
||||||
To use the supplied projects, simply double-click on \code{build/mitsuba-msvc2008.sln}
|
To use the supplied projects, simply double-click on one of the two files \code{build/mitsuba-msvc2008.sln}
|
||||||
or \code{build/mitsuba-msvc2010.sln}. These Visual Studio projects still internally
|
and \code{build/mitsuba-msvc2010.sln}. These Visual Studio projects still internally
|
||||||
use the SCons-based build system to compile Mitsuba; whatever
|
use the SCons-based build system to compile Mitsuba; whatever
|
||||||
build configuration is selected within Visual Studio will be used to pick a matching
|
build configuration is selected within Visual Studio will be used to pick a matching
|
||||||
configuration file from the \texttt{build} directory. Note that you will
|
configuration file from the \texttt{build} directory. Note that you will
|
||||||
|
@ -230,7 +242,6 @@ On Mac OS X, you will need to install both scons (\code{www.scons.org}) and
|
||||||
a recent release of XCode. You will also need to get Qt 4.7.0 or a newer version
|
a recent release of XCode. You will also need to get Qt 4.7.0 or a newer version
|
||||||
--- make sure that you get the normal Cocoa release (i.e. \emph{not} the one based on Carbon). All of the
|
--- make sure that you get the normal Cocoa release (i.e. \emph{not} the one based on Carbon). All of the
|
||||||
other dependencies are already included in precompiled form.
|
other dependencies are already included in precompiled form.
|
||||||
|
|
||||||
Now open a Terminal and run
|
Now open a Terminal and run
|
||||||
\begin{shell}
|
\begin{shell}
|
||||||
$\text{\$}$ scons
|
$\text{\$}$ scons
|
||||||
|
|
|
@ -161,9 +161,10 @@ file:
|
||||||
<spectrum name="spectrumProperty" filename="measuredSpectrum.spd"/>
|
<spectrum name="spectrumProperty" filename="measuredSpectrum.spd"/>
|
||||||
\end{xml}
|
\end{xml}
|
||||||
The file should contain a single measurement per line, with the corresponding
|
The file should contain a single measurement per line, with the corresponding
|
||||||
wavelength in nanometers and the measured value separated by a space. Here is
|
wavelength in nanometers and the measured value separated by a space. Comments
|
||||||
an example:
|
are allowed. Here is an example:
|
||||||
\begin{xml}
|
\begin{xml}
|
||||||
|
# This file contains a measured spectral power distribution
|
||||||
406.13 0.703313
|
406.13 0.703313
|
||||||
413.88 0.744563
|
413.88 0.744563
|
||||||
422.03 0.791625
|
422.03 0.791625
|
||||||
|
@ -172,8 +173,7 @@ an example:
|
||||||
...
|
...
|
||||||
\end{xml}
|
\end{xml}
|
||||||
|
|
||||||
It is also possible to specify a completely flat spectral power distribution by specifying
|
Passing a single value to \texttt{spectrum} will result in a a completely flat spectral power distribution:
|
||||||
just one value:
|
|
||||||
\begin{xml}
|
\begin{xml}
|
||||||
<spectrum name="spectrumProperty" value="0.56"/>
|
<spectrum name="spectrumProperty" value="0.56"/>
|
||||||
\end{xml}
|
\end{xml}
|
||||||
|
|
|
@ -6,7 +6,6 @@ bear with me while things are coming together.
|
||||||
Mitsuba is an extensible rendering framework written in portable C++. It implements unbiased
|
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
|
as well as biased techniques and contains heavy optimizations targeted towards current CPU
|
||||||
architectures.
|
architectures.
|
||||||
|
|
||||||
In comparison to other open source renderers, Mitsuba places a strong emphasis on recent research-oriented
|
In comparison to other open source renderers, Mitsuba places a strong emphasis on recent research-oriented
|
||||||
rendering techniques, such as path-based formulations of Metropolis Light Transport and volumetric
|
rendering techniques, such as path-based formulations of Metropolis Light Transport and volumetric
|
||||||
modeling approaches.
|
modeling approaches.
|
||||||
|
|
10
doc/main.tex
10
doc/main.tex
|
@ -72,7 +72,6 @@
|
||||||
\definecolor{lstcomment}{gray}{0.5}
|
\definecolor{lstcomment}{gray}{0.5}
|
||||||
\definecolor{lstattrib}{rgb}{0,0.34,0}
|
\definecolor{lstattrib}{rgb}{0,0.34,0}
|
||||||
|
|
||||||
|
|
||||||
% Listings settings
|
% Listings settings
|
||||||
\lstset{
|
\lstset{
|
||||||
basicstyle = \small\ttfamily\raggedright,
|
basicstyle = \small\ttfamily\raggedright,
|
||||||
|
@ -92,7 +91,6 @@
|
||||||
upquote = true
|
upquote = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
\lstdefinelanguage{xml} {
|
\lstdefinelanguage{xml} {
|
||||||
sensitive=true,
|
sensitive=true,
|
||||||
morecomment=[s][\color{lstcomment}\itshape]{<!--}{-->},
|
morecomment=[s][\color{lstcomment}\itshape]{<!--}{-->},
|
||||||
|
@ -114,12 +112,12 @@
|
||||||
% Less vertical spacing for \figure[h] floats
|
% Less vertical spacing for \figure[h] floats
|
||||||
\setlength{\intextsep}{3pt}
|
\setlength{\intextsep}{3pt}
|
||||||
|
|
||||||
|
\lstnewenvironment{shell}[1][]{\lstset{#1}}
|
||||||
|
{}
|
||||||
\lstnewenvironment{cpp}[1][]{\lstset{language=c++, #1}}
|
\lstnewenvironment{cpp}[1][]{\lstset{language=c++, #1}}
|
||||||
{}
|
{}
|
||||||
\lstnewenvironment{xml}[1][]{\lstset{language=xml, #1}}
|
\lstnewenvironment{xml}[1][]{\lstset{language=xml, #1}}
|
||||||
{}
|
{}
|
||||||
\lstnewenvironment{shell}[1]{\lstset{language=bash, #1}}
|
|
||||||
{}
|
|
||||||
\lstnewenvironment{console}[1][]{\lstset{basicstyle=\footnotesize\ttfamily, float, #1}}
|
\lstnewenvironment{console}[1][]{\lstset{basicstyle=\footnotesize\ttfamily, float, #1}}
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
@ -140,8 +138,8 @@
|
||||||
\tableofcontents
|
\tableofcontents
|
||||||
|
|
||||||
\include{introduction}
|
\include{introduction}
|
||||||
%\include{compiling}
|
\include{compiling}
|
||||||
%\include{basics}
|
\include{basics}
|
||||||
\include{format}
|
\include{format}
|
||||||
\IfFileExists{plugins_generated.tex}{\include{plugins_generated}}{}
|
\IfFileExists{plugins_generated.tex}{\include{plugins_generated}}{}
|
||||||
%\include{import}
|
%\include{import}
|
||||||
|
|
|
@ -27,7 +27,11 @@ namespace fs = boost::filesystem;
|
||||||
#define SPECTRUM_MIN_WAVELENGTH 400
|
#define SPECTRUM_MIN_WAVELENGTH 400
|
||||||
#define SPECTRUM_MAX_WAVELENGTH 700
|
#define SPECTRUM_MAX_WAVELENGTH 700
|
||||||
#define SPECTRUM_RANGE (SPECTRUM_MAX_WAVELENGTH-SPECTRUM_MIN_WAVELENGTH+1)
|
#define SPECTRUM_RANGE (SPECTRUM_MAX_WAVELENGTH-SPECTRUM_MIN_WAVELENGTH+1)
|
||||||
#define SPECTRUM_SAMPLES 3
|
|
||||||
|
#if !defined(SPECTRUM_SAMPLES)
|
||||||
|
#error The desired number of spectral samples must be specified \
|
||||||
|
in the configuration file!
|
||||||
|
#endif
|
||||||
|
|
||||||
MTS_NAMESPACE_BEGIN
|
MTS_NAMESPACE_BEGIN
|
||||||
|
|
||||||
|
|
|
@ -1,34 +1,27 @@
|
||||||
Import('env', 'plugins')
|
Import('env', 'plugins')
|
||||||
|
|
||||||
|
# Basic materials (smooth & rough versions of each)
|
||||||
# Basic materials (one smooth & microfacet version of each)
|
|
||||||
#plugins += env.SharedLibrary('roughdielectric', ['roughdielectric.cpp'])
|
|
||||||
#plugins += env.SharedLibrary('plastic', ['plastic.cpp'])
|
|
||||||
#plugins += env.SharedLibrary('roughplastic', ['roughplastic.cpp'])
|
|
||||||
#plugins += env.SharedLibrary('varnish', ['varnish.cpp'])
|
|
||||||
#plugins += env.SharedLibrary('conductor', ['conductor.cpp'])
|
|
||||||
#plugins += env.SharedLibrary('roughconductor', ['roughconductor.cpp'])
|
|
||||||
|
|
||||||
#plugins += env.SharedLibrary('diffuse', ['diffuse.cpp'])
|
|
||||||
#plugins += env.SharedLibrary('roughdiffuse', ['roughdiffuse.cpp'])
|
|
||||||
|
|
||||||
|
|
||||||
plugins += env.SharedLibrary('dielectric', ['dielectric.cpp'])
|
plugins += env.SharedLibrary('dielectric', ['dielectric.cpp'])
|
||||||
|
plugins += env.SharedLibrary('conductor', ['conductor.cpp'])
|
||||||
# Diffuse models
|
|
||||||
plugins += env.SharedLibrary('difftrans', ['difftrans.cpp'])
|
|
||||||
plugins += env.SharedLibrary('diffuse', ['diffuse.cpp'])
|
plugins += env.SharedLibrary('diffuse', ['diffuse.cpp'])
|
||||||
|
#plugins += env.SharedLibrary('plastic', ['plastic.cpp'])
|
||||||
|
|
||||||
|
#plugins += env.SharedLibrary('roughdielectric', ['roughdielectric.cpp'])
|
||||||
|
#plugins += env.SharedLibrary('roughconductor', ['roughconductor.cpp'])
|
||||||
|
#plugins += env.SharedLibrary('roughdiffuse', ['roughdiffuse.cpp'])
|
||||||
|
#plugins += env.SharedLibrary('roughplastic', ['roughplastic.cpp'])
|
||||||
|
|
||||||
|
# Other
|
||||||
|
plugins += env.SharedLibrary('difftrans', ['difftrans.cpp'])
|
||||||
|
|
||||||
# Plugins that act as modifiers
|
# Plugins that act as modifiers
|
||||||
plugins += env.SharedLibrary('mixture', ['mixture.cpp'])
|
plugins += env.SharedLibrary('mixture', ['mixture.cpp'])
|
||||||
|
|
||||||
#plugins += env.SharedLibrary('twosided', ['twosided.cpp'])
|
#plugins += env.SharedLibrary('twosided', ['twosided.cpp'])
|
||||||
|
|
||||||
#plugins += env.SharedLibrary('difftrans', ['difftrans.cpp'])
|
|
||||||
#plugins += env.SharedLibrary('mask', ['mask.cpp'])
|
#plugins += env.SharedLibrary('mask', ['mask.cpp'])
|
||||||
|
#plugins += env.SharedLibrary('coating', ['coating.cpp'])
|
||||||
|
|
||||||
#plugins += env.SharedLibrary('ward', ['ward.cpp'])
|
#plugins += env.SharedLibrary('ward', ['ward.cpp'])
|
||||||
#plugins += env.SharedLibrary('phong', ['phong.cpp'])
|
#plugins += env.SharedLibrary('phong', ['phong.cpp'])
|
||||||
#plugins += env.SharedLibrary('microfacet', ['microfacet.cpp'])
|
|
||||||
#plugins += env.SharedLibrary('irawan', ['irawan.cpp'])
|
#plugins += env.SharedLibrary('irawan', ['irawan.cpp'])
|
||||||
|
|
||||||
Export('plugins')
|
Export('plugins')
|
||||||
|
|
|
@ -268,11 +268,21 @@ InterpolatedSpectrum::InterpolatedSpectrum(const fs::path &path) {
|
||||||
SLog(EError, "InterpolatedSpectrum: could not open \"%s\"",
|
SLog(EError, "InterpolatedSpectrum: could not open \"%s\"",
|
||||||
path.file_string().c_str());
|
path.file_string().c_str());
|
||||||
|
|
||||||
while (is.good() && !is.eof()) {
|
std::string line;
|
||||||
|
while (true) {
|
||||||
|
if (!std::getline(is, line))
|
||||||
|
break;
|
||||||
|
line = trim(line);
|
||||||
|
if (line.length() == 0 || line[0] == '#')
|
||||||
|
continue;
|
||||||
|
std::istringstream iss(line);
|
||||||
Float lambda, value;
|
Float lambda, value;
|
||||||
is >> lambda >> value;
|
if (!(iss >> lambda >> value))
|
||||||
|
break;
|
||||||
appendSample(lambda, value);
|
appendSample(lambda, value);
|
||||||
}
|
}
|
||||||
|
SLog(EInfo, "Loaded a spectral power distribution with " SIZE_T_FMT
|
||||||
|
" entries", m_wavelength.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
void InterpolatedSpectrum::appendSample(Float lambda, Float value) {
|
void InterpolatedSpectrum::appendSample(Float lambda, Float value) {
|
||||||
|
|
|
@ -421,7 +421,7 @@ Spectrum PhotonMap::estimateIrradiance(const Point &p, const Normal &n,
|
||||||
return result * (m_scale * INV_PI / distSquared);
|
return result * (m_scale * INV_PI / distSquared);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(MTS_SSE)
|
#if !defined(MTS_SSE) || SPECTRUM_SAMPLES != 3
|
||||||
Spectrum PhotonMap::estimateIrradianceFiltered(const Point &p, const Normal &n,
|
Spectrum PhotonMap::estimateIrradianceFiltered(const Point &p, const Normal &n,
|
||||||
Float searchRadius, size_t maxPhotons) const {
|
Float searchRadius, size_t maxPhotons) const {
|
||||||
Spectrum result(0.0f);
|
Spectrum result(0.0f);
|
||||||
|
|
|
@ -393,7 +393,6 @@ void SceneHandler::endElement(const XMLCh* const xmlName) {
|
||||||
} else if (name == "transform") {
|
} else if (name == "transform") {
|
||||||
context.parent->properties.setTransform(context.attributes["name"],
|
context.parent->properties.setTransform(context.attributes["name"],
|
||||||
m_transform);
|
m_transform);
|
||||||
/* Do nothing */
|
|
||||||
} else if (name == "include") {
|
} else if (name == "include") {
|
||||||
SAXParser* parser = new SAXParser();
|
SAXParser* parser = new SAXParser();
|
||||||
FileResolver *resolver = Thread::getThread()->getFileResolver();
|
FileResolver *resolver = Thread::getThread()->getFileResolver();
|
||||||
|
|
Loading…
Reference in New Issue