├── data ├── microfacet │ ├── ggx.dat │ ├── phong.dat │ └── beckmann.dat ├── ior │ ├── TiC.k.spd │ ├── TiN.k.spd │ ├── VC.eta.spd │ ├── VC.k.spd │ ├── VN.eta.spd │ ├── VN.k.spd │ ├── TiC.eta.spd │ ├── TiN.eta.spd │ ├── VC_palik.k.spd │ ├── VN_palik.k.spd │ ├── TiN_palik.eta.spd │ ├── TiN_palik.k.spd │ ├── VC_palik.eta.spd │ ├── VN_palik.eta.spd │ ├── TiC_palik.eta.spd │ ├── TiC_palik.k.spd │ ├── d-C.eta.spd │ ├── d-C.k.spd │ ├── Be_palik.k.spd │ ├── Be_palik.eta.spd │ ├── CuO.k.spd │ ├── Li.k.spd │ ├── Cu2O.eta.spd │ ├── Cu2O.k.spd │ ├── CuO.eta.spd │ ├── Li.eta.spd │ ├── Li_palik.k.spd │ ├── Li_palik.eta.spd │ ├── d-C_palik.k.spd │ ├── Hg.eta.spd │ ├── Hg.k.spd │ ├── Se-e.k.spd │ ├── d-C_palik.eta.spd │ ├── Se-e.eta.spd │ ├── Se-e_palik.eta.spd │ ├── Se-e_palik.k.spd │ ├── Be.eta.spd │ ├── Be.k.spd │ ├── Cu2O_palik.k.spd │ ├── Cu2O_palik.eta.spd │ ├── Se.eta.spd │ ├── Se.k.spd │ ├── a-C.eta.spd │ ├── a-C.k.spd │ ├── Se_palik.k.spd │ ├── CuO_palik.eta.spd │ ├── CuO_palik.k.spd │ ├── Se_palik.eta.spd │ ├── Hg_palik.k.spd │ ├── Na_palik.k.spd │ ├── Hg_palik.eta.spd │ ├── Na_palik.eta.spd │ ├── K.eta.spd │ ├── K.k.spd │ ├── K_palik.k.spd │ ├── K_palik.eta.spd │ ├── Ta.eta.spd │ ├── Ta.k.spd │ ├── Cu_palik.eta.spd │ ├── Cu_palik.k.spd │ ├── SnTe.eta.spd │ ├── SnTe.k.spd │ ├── AlSb.k.spd │ ├── SnTe_palik.k.spd │ ├── AlSb.eta.spd │ ├── AlSb_palik.k.spd │ ├── SnTe_palik.eta.spd │ ├── AlSb_palik.eta.spd │ ├── Ta_palik.k.spd │ ├── Ta_palik.eta.spd │ ├── Nb.eta.spd │ ├── Nb.k.spd │ ├── SiC.eta.spd │ ├── SiC.k.spd │ ├── Rh.eta.spd │ ├── Rh.k.spd │ ├── Ir.eta.spd │ ├── Ir.k.spd │ ├── Mo.eta.spd │ ├── Mo.k.spd │ ├── Cr.eta.spd │ ├── Cr.k.spd │ ├── Nb_palik.k.spd │ ├── Nb_palik.eta.spd │ ├── MgO.k.spd │ ├── MgO.eta.spd │ ├── Rh_palik.eta.spd │ ├── Rh_palik.k.spd │ ├── SiC_palik.eta.spd │ ├── SiC_palik.k.spd │ ├── Ir_palik.eta.spd │ ├── Ir_palik.k.spd │ ├── Mo_palik.eta.spd │ ├── Mo_palik.k.spd │ ├── V_palik.eta.spd │ ├── V_palik.k.spd │ ├── MgO_palik.eta.spd │ ├── MgO_palik.k.spd │ ├── TiO2.k.spd │ ├── TiO2.eta.spd │ ├── Ni_palik.eta.spd │ ├── Ni_palik.k.spd │ ├── TiO2-e.eta.spd │ ├── TiO2-e.k.spd │ ├── TiO2-e_palik.eta.spd │ ├── TiO2-e_palik.k.spd │ ├── TiO2_palik.eta.spd │ ├── TiO2_palik.k.spd │ ├── ThF4.k.spd │ ├── ThF4.eta.spd │ ├── ThF4_palik.k.spd │ ├── ThF4_palik.eta.spd │ ├── AlAs.k.spd │ ├── AlAs.eta.spd │ ├── AlAs_palik.k.spd │ ├── AlAs_palik.eta.spd │ ├── Te.eta.spd │ ├── Te.k.spd │ ├── Te-e.k.spd │ ├── Te_palik.eta.spd │ ├── Te_palik.k.spd │ ├── Te-e.eta.spd │ ├── Te-e_palik.k.spd │ ├── Te-e_palik.eta.spd │ ├── Ag.eta.spd │ ├── Ag.k.spd │ ├── Al.eta.spd │ ├── Al.k.spd │ ├── Au.eta.spd │ ├── Au.k.spd │ ├── Cu.eta.spd │ ├── Cu.k.spd │ ├── W.eta.spd │ ├── W.k.spd │ ├── CsI.k.spd │ └── CsI.eta.spd └── schema │ ├── upgrade_0.6.0.xsl │ └── upgrade_0.5.0.xsl ├── src ├── mtsgui │ ├── resources │ │ ├── add.png │ │ ├── log.png │ │ ├── about.png │ │ ├── clear.png │ │ ├── clone.png │ │ ├── close.png │ │ ├── crop.png │ │ ├── devel.png │ │ ├── help.png │ │ ├── logo.png │ │ ├── open.png │ │ ├── play.png │ │ ├── save.png │ │ ├── stop.png │ │ ├── zoom.png │ │ ├── appicon.png │ │ ├── camera.png │ │ ├── controls.png │ │ ├── fpreview.png │ │ ├── import.png │ │ ├── picture.png │ │ ├── preview.png │ │ ├── refresh.png │ │ ├── remove.png │ │ ├── saveas.png │ │ ├── server.png │ │ ├── settings.png │ │ ├── update.png │ │ ├── zoomcrop.png │ │ ├── adjustsize.png │ │ ├── mitsuba48.png │ │ ├── refresh@2x.png │ │ ├── showStats.png │ │ ├── zoom-reset.png │ │ ├── branch-closed.png │ │ ├── branch-open.png │ │ ├── duplicatetab.png │ │ ├── preferences.png │ │ ├── zoom-best-fit.png │ │ ├── zoom.svg │ │ ├── zoom-reset.svg │ │ ├── crop.svg │ │ └── stylesheet.css │ ├── shaders │ │ ├── gamma.vert │ │ ├── reinhard.vert │ │ ├── logluminance.vert │ │ ├── downsampling.vert │ │ ├── logluminance.frag │ │ ├── gamma.frag │ │ ├── downsampling.frag │ │ └── reinhard.frag │ ├── previewsettingsdlg_cocoa.cpp │ ├── save.h │ ├── tabbar.h │ ├── aboutdlg.h │ ├── acknowledgmentdlg.h │ ├── upgrade.h │ ├── sceneinfodlg.h │ ├── addserverdlg.h │ ├── locateresourcedlg.h │ ├── acknowledgmentdlg.cpp │ ├── loaddlg.h │ ├── importdlg.h │ ├── sceneinfodlg.cpp │ └── updatedlg.h ├── subsurface │ └── SConscript ├── medium │ └── SConscript ├── volume │ └── SConscript ├── rfilters │ └── SConscript ├── utils │ └── SConscript ├── samplers │ └── SConscript ├── phase │ └── SConscript ├── textures │ └── SConscript ├── emitters │ └── SConscript ├── sensors │ └── SConscript ├── tests │ └── SConscript ├── libbidir │ └── SConscript ├── films │ └── SConscript ├── libhw │ ├── data │ │ ├── sh_unsupported.frag │ │ ├── sh_directional.vert │ │ ├── sh_cube_1pass.vert │ │ ├── sh_paraboloid.vert │ │ ├── sh_hemicube_1pass.vert │ │ ├── sh_directional.frag │ │ ├── sh_cube_1pass.frag │ │ ├── sh_hemicube_1pass.frag │ │ ├── sh_unsupported.vert │ │ ├── sh_background.vert │ │ ├── sh_cube_6pass.frag │ │ ├── sh_cube_6pass.vert │ │ ├── sh_background.frag │ │ ├── sh_cube_1pass.geom │ │ └── sh_hemicube_1pass.geom │ ├── gpusync.cpp │ ├── gpugeometry.cpp │ └── session.cpp ├── shapes │ ├── SConscript │ └── ply │ │ ├── io_operators.hpp │ │ └── ply.hpp ├── mitsuba │ ├── darwin_stub.mm │ └── SConscript ├── converter │ └── SConscript └── librender │ ├── SConscript │ └── phase.cpp └── include └── mitsuba └── hw └── glxdevice.h /data/microfacet/ggx.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/data/microfacet/ggx.dat -------------------------------------------------------------------------------- /data/microfacet/phong.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/data/microfacet/phong.dat -------------------------------------------------------------------------------- /data/microfacet/beckmann.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/data/microfacet/beckmann.dat -------------------------------------------------------------------------------- /src/mtsgui/resources/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/add.png -------------------------------------------------------------------------------- /src/mtsgui/resources/log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/log.png -------------------------------------------------------------------------------- /src/mtsgui/resources/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/about.png -------------------------------------------------------------------------------- /src/mtsgui/resources/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/clear.png -------------------------------------------------------------------------------- /src/mtsgui/resources/clone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/clone.png -------------------------------------------------------------------------------- /src/mtsgui/resources/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/close.png -------------------------------------------------------------------------------- /src/mtsgui/resources/crop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/crop.png -------------------------------------------------------------------------------- /src/mtsgui/resources/devel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/devel.png -------------------------------------------------------------------------------- /src/mtsgui/resources/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/help.png -------------------------------------------------------------------------------- /src/mtsgui/resources/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/logo.png -------------------------------------------------------------------------------- /src/mtsgui/resources/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/open.png -------------------------------------------------------------------------------- /src/mtsgui/resources/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/play.png -------------------------------------------------------------------------------- /src/mtsgui/resources/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/save.png -------------------------------------------------------------------------------- /src/mtsgui/resources/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/stop.png -------------------------------------------------------------------------------- /src/mtsgui/resources/zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/zoom.png -------------------------------------------------------------------------------- /src/mtsgui/resources/appicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/appicon.png -------------------------------------------------------------------------------- /src/mtsgui/resources/camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/camera.png -------------------------------------------------------------------------------- /src/mtsgui/resources/controls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/controls.png -------------------------------------------------------------------------------- /src/mtsgui/resources/fpreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/fpreview.png -------------------------------------------------------------------------------- /src/mtsgui/resources/import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/import.png -------------------------------------------------------------------------------- /src/mtsgui/resources/picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/picture.png -------------------------------------------------------------------------------- /src/mtsgui/resources/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/preview.png -------------------------------------------------------------------------------- /src/mtsgui/resources/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/refresh.png -------------------------------------------------------------------------------- /src/mtsgui/resources/remove.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/remove.png -------------------------------------------------------------------------------- /src/mtsgui/resources/saveas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/saveas.png -------------------------------------------------------------------------------- /src/mtsgui/resources/server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/server.png -------------------------------------------------------------------------------- /src/mtsgui/resources/settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/settings.png -------------------------------------------------------------------------------- /src/mtsgui/resources/update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/update.png -------------------------------------------------------------------------------- /src/mtsgui/resources/zoomcrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/zoomcrop.png -------------------------------------------------------------------------------- /src/mtsgui/resources/adjustsize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/adjustsize.png -------------------------------------------------------------------------------- /src/mtsgui/resources/mitsuba48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/mitsuba48.png -------------------------------------------------------------------------------- /src/mtsgui/resources/refresh@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/refresh@2x.png -------------------------------------------------------------------------------- /src/mtsgui/resources/showStats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/showStats.png -------------------------------------------------------------------------------- /src/mtsgui/resources/zoom-reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/zoom-reset.png -------------------------------------------------------------------------------- /src/mtsgui/resources/branch-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/branch-closed.png -------------------------------------------------------------------------------- /src/mtsgui/resources/branch-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/branch-open.png -------------------------------------------------------------------------------- /src/mtsgui/resources/duplicatetab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/duplicatetab.png -------------------------------------------------------------------------------- /src/mtsgui/resources/preferences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/preferences.png -------------------------------------------------------------------------------- /src/mtsgui/resources/zoom-best-fit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tflsguoyu/layeredbsdf/HEAD/src/mtsgui/resources/zoom-best-fit.png -------------------------------------------------------------------------------- /src/mtsgui/shaders/gamma.vert: -------------------------------------------------------------------------------- 1 | void main() { 2 | gl_Position = ftransform(); 3 | gl_TexCoord[0] = gl_MultiTexCoord0; 4 | } 5 | -------------------------------------------------------------------------------- /src/mtsgui/shaders/reinhard.vert: -------------------------------------------------------------------------------- 1 | void main() { 2 | gl_Position = ftransform(); 3 | gl_TexCoord[0] = gl_MultiTexCoord0; 4 | } 5 | -------------------------------------------------------------------------------- /src/mtsgui/shaders/logluminance.vert: -------------------------------------------------------------------------------- 1 | void main() { 2 | gl_Position = ftransform(); 3 | gl_TexCoord[0] = gl_MultiTexCoord0; 4 | } 5 | -------------------------------------------------------------------------------- /src/mtsgui/shaders/downsampling.vert: -------------------------------------------------------------------------------- 1 | uniform vec2 targetSize; 2 | void main() { 3 | gl_Position = ftransform(); 4 | gl_TexCoord[0].xy = vec2(gl_MultiTexCoord0.x * targetSize.x, 5 | gl_MultiTexCoord0.y * targetSize.y); 6 | } 7 | -------------------------------------------------------------------------------- /src/subsurface/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('dipole', 4 | ['dipole.cpp', 'irrproc.cpp', 'irrtree.cpp', 'bluenoise.cpp']) 5 | 6 | plugins += env.SharedLibrary('singlescatter', ['singlescatter.cpp']) 7 | Export('plugins') 8 | -------------------------------------------------------------------------------- /src/medium/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('homogeneous', ['homogeneous.cpp']) 4 | plugins += env.SharedLibrary('heterogeneous', ['heterogeneous.cpp']) 5 | plugins += env.SharedLibrary('homogeneous_aniso', ['homogeneous_aniso.cpp']) 6 | 7 | Export('plugins') 8 | -------------------------------------------------------------------------------- /data/ior/TiC.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for TiC 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; TiC_llnl_cxro + TiC_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.330000 11 | 354.229004 2.340000 12 | 413.266998 2.430000 13 | 495.920013 2.380000 14 | 619.900024 2.670000 15 | 826.533020 3.070000 16 | -------------------------------------------------------------------------------- /data/ior/TiN.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for TiN 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; TiN_llnl_cxro + TiN_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 1.230000 11 | 354.229004 1.060000 12 | 413.266998 1.040000 13 | 495.920013 1.650000 14 | 619.900024 2.690000 15 | 826.533020 3.810000 16 | -------------------------------------------------------------------------------- /data/ior/VC.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for VC 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; VC_llnl_cxro + VC_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.470000 11 | 354.229004 2.590000 12 | 413.266998 2.770000 13 | 495.920013 2.840000 14 | 619.900024 3.010000 15 | 826.533020 3.370000 16 | -------------------------------------------------------------------------------- /data/ior/VC.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for VC 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; VC_llnl_cxro + VC_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.150000 11 | 354.229004 2.120000 12 | 413.266998 2.160000 13 | 495.920013 2.210000 14 | 619.900024 2.510000 15 | 826.533020 2.880000 16 | -------------------------------------------------------------------------------- /data/ior/VN.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for VN 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; VN_llnl_cxro + VN_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.200000 11 | 354.229004 2.180000 12 | 413.266998 2.130000 13 | 495.920013 2.170000 14 | 619.900024 2.350000 15 | 826.533020 2.730000 16 | -------------------------------------------------------------------------------- /data/ior/VN.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for VN 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; VN_llnl_cxro + VN_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 1.540000 11 | 354.229004 1.580000 12 | 413.266998 1.700000 13 | 495.920013 1.980000 14 | 619.900024 2.470000 15 | 826.533020 2.920000 16 | -------------------------------------------------------------------------------- /data/ior/TiC.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for TiC 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; TiC_llnl_cxro + TiC_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.300000 11 | 354.229004 2.570000 12 | 413.266998 2.780000 13 | 495.920013 2.950000 14 | 619.900024 3.050000 15 | 826.533020 3.510000 16 | -------------------------------------------------------------------------------- /data/ior/TiN.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for TiN 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; TiN_llnl_cxro + TiN_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.270000 11 | 354.229004 2.140000 12 | 413.266998 1.740000 13 | 495.920013 1.200000 14 | 619.900024 1.320000 15 | 826.533020 1.820000 16 | -------------------------------------------------------------------------------- /src/volume/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('constvolume', ['constvolume.cpp']) 4 | plugins += env.SharedLibrary('gridvolume', ['gridvolume.cpp']) 5 | plugins += env.SharedLibrary('gridvol_simple', ['gridvol_simple.cpp']) 6 | plugins += env.SharedLibrary('hgridvolume', ['hgridvolume.cpp']) 7 | plugins += env.SharedLibrary('volcache', ['volcache.cpp']) 8 | 9 | Export('plugins') 10 | -------------------------------------------------------------------------------- /src/rfilters/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('box', ['box.cpp']) 4 | plugins += env.SharedLibrary('tent', ['tent.cpp']) 5 | plugins += env.SharedLibrary('lanczos', ['lanczos.cpp']) 6 | plugins += env.SharedLibrary('mitchell', ['mitchell.cpp']) 7 | plugins += env.SharedLibrary('catmullrom', ['catmullrom.cpp']) 8 | plugins += env.SharedLibrary('gaussian', ['gaussian.cpp']) 9 | 10 | Export('plugins') 11 | -------------------------------------------------------------------------------- /src/utils/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('addimages', ['addimages.cpp']) 4 | plugins += env.SharedLibrary('joinrgb', ['joinrgb.cpp']) 5 | plugins += env.SharedLibrary('cylclip', ['cylclip.cpp']) 6 | plugins += env.SharedLibrary('kdbench', ['kdbench.cpp']) 7 | plugins += env.SharedLibrary('tonemap', ['tonemap.cpp']) 8 | #plugins += env.SharedLibrary('rdielprec', ['rdielprec.cpp']) 9 | 10 | Export('plugins') 11 | -------------------------------------------------------------------------------- /data/ior/VC_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for VC 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.150000 12 | 354.229004 2.120000 13 | 413.266998 2.160000 14 | 495.920013 2.210000 15 | 619.900024 2.510000 16 | 826.533020 2.880000 17 | -------------------------------------------------------------------------------- /data/ior/VN_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for VN 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.540000 12 | 354.229004 1.580000 13 | 413.266998 1.700000 14 | 495.920013 1.980000 15 | 619.900024 2.470000 16 | 826.533020 2.920000 17 | -------------------------------------------------------------------------------- /data/ior/TiN_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for TiN 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.270000 12 | 354.229004 2.140000 13 | 413.266998 1.740000 14 | 495.920013 1.200000 15 | 619.900024 1.320000 16 | 826.533020 1.820000 17 | -------------------------------------------------------------------------------- /data/ior/TiN_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for TiN 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.230000 12 | 354.229004 1.060000 13 | 413.266998 1.040000 14 | 495.920013 1.650000 15 | 619.900024 2.690000 16 | 826.533020 3.810000 17 | -------------------------------------------------------------------------------- /data/ior/VC_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for VC 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.470000 12 | 354.229004 2.590000 13 | 413.266998 2.770000 14 | 495.920013 2.840000 15 | 619.900024 3.010000 16 | 826.533020 3.370000 17 | -------------------------------------------------------------------------------- /data/ior/VN_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for VN 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.200000 12 | 354.229004 2.180000 13 | 413.266998 2.130000 14 | 495.920013 2.170000 15 | 619.900024 2.350000 16 | 826.533020 2.730000 17 | -------------------------------------------------------------------------------- /src/samplers/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('independent', ['independent.cpp']) 4 | plugins += env.SharedLibrary('stratified', ['stratified.cpp']) 5 | plugins += env.SharedLibrary('halton', ['halton.cpp', 'faure.cpp']) 6 | plugins += env.SharedLibrary('hammersley', ['hammersley.cpp', 'faure.cpp']) 7 | plugins += env.SharedLibrary('ldsampler', ['ldsampler.cpp']) 8 | plugins += env.SharedLibrary('sobol', ['sobol.cpp', 'sobolseq.cpp']) 9 | 10 | Export('plugins') 11 | -------------------------------------------------------------------------------- /data/ior/TiC_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline TiC 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.300000 12 | 354.229004 2.570000 13 | 413.266998 2.780000 14 | 495.920013 2.950000 15 | 619.900024 3.050000 16 | 826.533020 3.510000 17 | -------------------------------------------------------------------------------- /data/ior/TiC_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline TiC 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.330000 12 | 354.229004 2.340000 13 | 413.266998 2.430000 14 | 495.920013 2.380000 15 | 619.900024 2.670000 16 | 826.533020 3.070000 17 | -------------------------------------------------------------------------------- /data/ior/d-C.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for diamond 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; d-C_llnl_cxro + d-C_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 346.700012 2.495400 11 | 361.037018 2.485400 12 | 404.634003 2.462600 13 | 467.795990 2.440800 14 | 486.120026 2.435400 15 | 508.552002 2.430600 16 | 546.047058 2.423500 17 | 588.979004 2.417500 18 | 643.818054 2.411100 19 | 656.257019 2.410400 20 | -------------------------------------------------------------------------------- /data/ior/d-C.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for diamond 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; d-C_llnl_cxro + d-C_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 346.700012 0.000000 11 | 361.037018 0.000000 12 | 404.634003 0.000000 13 | 467.795990 0.000000 14 | 486.120026 0.000000 15 | 508.552002 0.000000 16 | 546.047058 0.000000 17 | 588.979004 0.000000 18 | 643.818054 0.000000 19 | 656.257019 0.000000 20 | -------------------------------------------------------------------------------- /src/phase/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('isotropic', ['isotropic.cpp']) 4 | plugins += env.SharedLibrary('hg', ['hg.cpp']) 5 | plugins += env.SharedLibrary('rayleigh', ['rayleigh.cpp']) 6 | plugins += env.SharedLibrary('kkay', ['kkay.cpp']) 7 | plugins += env.SharedLibrary('microflake', ['microflake.cpp']) 8 | plugins += env.SharedLibrary('mixturephase', ['mixturephase.cpp']) 9 | 10 | # add by GY 11 | plugins += env.SharedLibrary('vmf', ['vmf.cpp']) 12 | 13 | Export('plugins') 14 | -------------------------------------------------------------------------------- /data/ior/Be_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline Be 3 | # ; 4 | # ; Lambda (A) n k 5 | # data from www.luxpop.com database 6 | 310.000000 3.080000 7 | 326.300018 3.080000 8 | 344.399994 3.080000 9 | 364.600006 3.100000 10 | 387.399994 3.120000 11 | 413.300018 3.140000 12 | 442.800018 3.160000 13 | 476.800018 3.160000 14 | 516.600037 3.180000 15 | 563.500000 3.170000 16 | 619.900024 3.180000 17 | 688.799988 3.230000 18 | 774.900024 3.350000 19 | 885.600037 3.550000 20 | -------------------------------------------------------------------------------- /data/ior/Be_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline Be 3 | # ; 4 | # ; Lambda (A) n k 5 | # data from www.luxpop.com database 6 | 310.000000 2.470000 7 | 326.300018 2.550000 8 | 344.399994 2.640000 9 | 364.600006 2.730000 10 | 387.399994 2.840000 11 | 413.300018 2.950000 12 | 442.800018 3.070000 13 | 476.800018 3.190000 14 | 516.600037 3.300000 15 | 563.500000 3.390000 16 | 619.900024 3.460000 17 | 688.799988 3.470000 18 | 774.900024 3.440000 19 | 885.600037 3.350000 20 | -------------------------------------------------------------------------------- /data/ior/CuO.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for CuO 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; CuO_llnl_cxro + CuO_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 350.028015 1.030000 11 | 399.935028 0.870000 12 | 449.854980 0.770000 13 | 499.919006 0.680000 14 | 549.799988 0.590000 15 | 599.806030 0.500000 16 | 649.789978 0.400000 17 | 700.056030 0.310000 18 | 750.029968 0.220000 19 | 799.871033 0.110000 20 | 849.759949 0.040000 21 | 899.709961 0.030000 22 | -------------------------------------------------------------------------------- /data/ior/Li.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Li 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 306.123016 1.210000 12 | 330.613007 1.320000 13 | 359.362030 1.450000 14 | 393.587006 1.600000 15 | 435.018036 1.820000 16 | 486.196014 2.110000 17 | 551.022034 2.480000 18 | 635.795044 2.940000 19 | 751.393982 3.550000 20 | -------------------------------------------------------------------------------- /data/ior/Cu2O.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Cu2O 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Cu2O_llnl_cxro + Cu2O_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 350.028015 2.400000 11 | 399.935028 2.800000 12 | 449.854980 3.060000 13 | 499.919006 3.120000 14 | 549.799988 3.100000 15 | 599.806030 3.020000 16 | 649.789978 2.900000 17 | 700.056030 2.830000 18 | 750.029968 2.770000 19 | 799.871033 2.700000 20 | 849.759949 2.660000 21 | 899.709961 2.630000 22 | -------------------------------------------------------------------------------- /data/ior/Cu2O.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Cu2O 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Cu2O_llnl_cxro + Cu2O_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 350.028015 1.440000 11 | 399.935028 0.990000 12 | 449.854980 0.600000 13 | 499.919006 0.350000 14 | 549.799988 0.190000 15 | 599.806030 0.130000 16 | 649.789978 0.100000 17 | 700.056030 0.083000 18 | 750.029968 0.070000 19 | 799.871033 0.060000 20 | 849.759949 0.053000 21 | 899.709961 0.048000 22 | -------------------------------------------------------------------------------- /data/ior/CuO.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for CuO 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; CuO_llnl_cxro + CuO_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 350.028015 2.240000 11 | 399.935028 2.340000 12 | 449.854980 2.450000 13 | 499.919006 2.540000 14 | 549.799988 2.580000 15 | 599.806030 2.650000 16 | 649.789978 2.720000 17 | 700.056030 2.880000 18 | 750.029968 2.970000 19 | 799.871033 2.940000 20 | 849.759949 2.810000 21 | 899.709961 2.740000 22 | -------------------------------------------------------------------------------- /data/ior/Li.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Li 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 306.123016 0.346000 12 | 330.613007 0.345000 13 | 359.362030 0.334000 14 | 393.587006 0.304000 15 | 435.018036 0.247000 16 | 486.196014 0.217000 17 | 551.022034 0.206000 18 | 635.795044 0.221000 19 | 751.393982 0.265000 20 | -------------------------------------------------------------------------------- /data/ior/Li_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Li 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 306.123016 1.210000 12 | 330.613007 1.320000 13 | 359.362030 1.450000 14 | 393.587006 1.600000 15 | 435.018036 1.820000 16 | 486.196014 2.110000 17 | 551.022034 2.480000 18 | 635.795044 2.940000 19 | 751.393982 3.550000 20 | -------------------------------------------------------------------------------- /data/ior/Li_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Li 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 306.123016 0.346000 12 | 330.613007 0.345000 13 | 359.362030 0.334000 14 | 393.587006 0.304000 15 | 435.018036 0.247000 16 | 486.196014 0.217000 17 | 551.022034 0.206000 18 | 635.795044 0.221000 19 | 751.393982 0.265000 20 | -------------------------------------------------------------------------------- /data/ior/d-C_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for cubic diamond 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 346.700012 0.000000 12 | 361.037018 0.000000 13 | 404.634003 0.000000 14 | 467.795990 0.000000 15 | 486.120026 0.000000 16 | 508.552002 0.000000 17 | 546.047058 0.000000 18 | 588.979004 0.000000 19 | 643.818054 0.000000 20 | 656.257019 0.000000 21 | -------------------------------------------------------------------------------- /data/ior/Hg.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Hg 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Hg_llnl_cxro + Hg_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 0.542000 11 | 326.263000 0.589000 12 | 344.389008 0.644000 13 | 364.647003 0.713000 14 | 387.437988 0.798000 15 | 413.266998 0.898000 16 | 442.785980 1.027000 17 | 476.846008 1.186000 18 | 516.583008 1.384000 19 | 563.545044 1.620000 20 | 619.900024 1.910000 21 | 688.778015 2.284000 22 | 774.875000 2.746000 23 | 885.570984 3.324000 24 | -------------------------------------------------------------------------------- /data/ior/Hg.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Hg 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Hg_llnl_cxro + Hg_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.502000 11 | 326.263000 2.665000 12 | 344.389008 2.860000 13 | 364.647003 3.074000 14 | 387.437988 3.294000 15 | 413.266998 3.538000 16 | 442.785980 3.802000 17 | 476.846008 4.090000 18 | 516.583008 4.407000 19 | 563.545044 4.751000 20 | 619.900024 5.150000 21 | 688.778015 5.582000 22 | 774.875000 6.054000 23 | 885.570984 6.558000 24 | -------------------------------------------------------------------------------- /data/ior/Se-e.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Se, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 344.389008 3.010000 12 | 364.647003 2.760000 13 | 387.437988 2.590000 14 | 413.266998 2.290000 15 | 442.785980 1.700000 16 | 476.846008 1.320000 17 | 516.583008 1.210000 18 | 563.545044 1.190000 19 | 619.900024 0.760000 20 | 688.778015 0.022000 21 | -------------------------------------------------------------------------------- /data/ior/d-C_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for cubic diamond 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 346.700012 2.495400 12 | 361.037018 2.485400 13 | 404.634003 2.462600 14 | 467.795990 2.440800 15 | 486.120026 2.435400 16 | 508.552002 2.430600 17 | 546.047058 2.423500 18 | 588.979004 2.417500 19 | 643.818054 2.411100 20 | 656.257019 2.410400 21 | -------------------------------------------------------------------------------- /data/ior/Se-e.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Se, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 344.389008 3.390000 12 | 364.647003 3.690000 13 | 387.437988 3.920000 14 | 413.266998 4.440000 15 | 442.785980 4.590000 16 | 476.846008 4.400000 17 | 516.583008 4.280000 18 | 563.545044 4.490000 19 | 619.900024 4.790000 20 | 688.778015 4.460000 21 | -------------------------------------------------------------------------------- /src/mtsgui/shaders/logluminance.frag: -------------------------------------------------------------------------------- 1 | uniform sampler2D source; 2 | uniform float multiplier; 3 | 4 | void main() { 5 | vec4 color = texture2D(source, gl_TexCoord[0].xy); 6 | float luminance = color.r * 0.212671 + color.g * 0.715160 + color.b * 0.072169; 7 | if (luminance < 0.0 || luminance != luminance || luminance == 1024.0 || abs(luminance-.7) < 1e-4) 8 | luminance = 0.0; // catch NaNs, negatives, and the Mitsuba banner 9 | luminance = luminance * multiplier; 10 | float logLuminance = log(1e-3 + luminance); 11 | gl_FragColor = vec4(logLuminance, luminance, 0.0, 1.0); 12 | } 13 | -------------------------------------------------------------------------------- /data/ior/Se-e_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Se, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 344.389008 3.390000 12 | 364.647003 3.690000 13 | 387.437988 3.920000 14 | 413.266998 4.440000 15 | 442.785980 4.590000 16 | 476.846008 4.400000 17 | 516.583008 4.280000 18 | 563.545044 4.490000 19 | 619.900024 4.790000 20 | 688.778015 4.460000 21 | -------------------------------------------------------------------------------- /data/ior/Se-e_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Se, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 344.389008 3.010000 12 | 364.647003 2.760000 13 | 387.437988 2.590000 14 | 413.266998 2.290000 15 | 442.785980 1.700000 16 | 476.846008 1.320000 17 | 516.583008 1.210000 18 | 563.545044 1.190000 19 | 619.900024 0.760000 20 | 688.778015 0.022000 21 | -------------------------------------------------------------------------------- /src/textures/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('bitmap', ['bitmap.cpp']) 4 | plugins += env.SharedLibrary('scale', ['scale.cpp']) 5 | plugins += env.SharedLibrary('gridtexture', ['gridtexture.cpp']) 6 | plugins += env.SharedLibrary('checkerboard', ['checkerboard.cpp']) 7 | plugins += env.SharedLibrary('vertexcolors', ['vertexcolors.cpp']) 8 | plugins += env.SharedLibrary('wireframe', ['wireframe.cpp']) 9 | plugins += env.SharedLibrary('curvature', ['curvature.cpp']) 10 | plugins += env.SharedLibrary('instancedtexture', ['instancedtexture.cpp']) 11 | 12 | Export('plugins') 13 | -------------------------------------------------------------------------------- /data/ior/Be.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline Be 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Be_llnl_cxro + Be_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 310.000000 2.470000 11 | 326.300018 2.550000 12 | 344.399994 2.640000 13 | 364.600006 2.730000 14 | 387.399994 2.840000 15 | 413.300018 2.950000 16 | 442.800018 3.070000 17 | 476.800018 3.190000 18 | 516.600037 3.300000 19 | 563.500000 3.390000 20 | 619.900024 3.460000 21 | 688.799988 3.470000 22 | 774.900024 3.440000 23 | 885.600037 3.350000 24 | -------------------------------------------------------------------------------- /data/ior/Be.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline Be 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Be_llnl_cxro + Be_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 310.000000 3.080000 11 | 326.300018 3.080000 12 | 344.399994 3.080000 13 | 364.600006 3.100000 14 | 387.399994 3.120000 15 | 413.300018 3.140000 16 | 442.800018 3.160000 17 | 476.800018 3.160000 18 | 516.600037 3.180000 19 | 563.500000 3.170000 20 | 619.900024 3.180000 21 | 688.799988 3.230000 22 | 774.900024 3.350000 23 | 885.600037 3.550000 24 | -------------------------------------------------------------------------------- /data/ior/Cu2O_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Cu2O 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 350.028015 1.440000 12 | 399.935028 0.990000 13 | 449.854980 0.600000 14 | 499.919006 0.350000 15 | 549.799988 0.190000 16 | 599.806030 0.130000 17 | 649.789978 0.100000 18 | 700.056030 0.083000 19 | 750.029968 0.070000 20 | 799.871033 0.060000 21 | 849.759949 0.053000 22 | 899.709961 0.048000 23 | -------------------------------------------------------------------------------- /data/ior/Cu2O_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Cu2O 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 350.028015 2.400000 12 | 399.935028 2.800000 13 | 449.854980 3.060000 14 | 499.919006 3.120000 15 | 549.799988 3.100000 16 | 599.806030 3.020000 17 | 649.789978 2.900000 18 | 700.056030 2.830000 19 | 750.029968 2.770000 20 | 799.871033 2.700000 21 | 849.759949 2.660000 22 | 899.709961 2.630000 23 | -------------------------------------------------------------------------------- /data/ior/Se.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Se, ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.510000 12 | 326.263000 2.840000 13 | 344.389008 3.060000 14 | 364.647003 3.220000 15 | 387.437988 3.350000 16 | 413.266998 3.300000 17 | 442.785980 3.120000 18 | 476.846008 3.000000 19 | 516.583008 2.930000 20 | 563.545044 3.070000 21 | 619.900024 3.380000 22 | 688.778015 3.320000 23 | -------------------------------------------------------------------------------- /data/ior/Se.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Se, ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.810000 12 | 326.263000 1.660000 13 | 344.389008 1.470000 14 | 364.647003 1.240000 15 | 387.437988 1.010000 16 | 413.266998 0.700000 17 | 442.785980 0.580000 18 | 476.846008 0.530000 19 | 516.583008 0.610000 20 | 563.545044 0.730000 21 | 619.900024 0.650000 22 | 688.778015 0.110000 23 | -------------------------------------------------------------------------------- /data/ior/a-C.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for amorphous carbon 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; a-C_llnl_cxro + a-C_windt88 + a-C_palik 7 | # ; 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.840000 12 | 326.263000 1.900000 13 | 344.389008 1.940000 14 | 364.647003 2.000000 15 | 387.437988 2.060000 16 | 413.266998 2.110000 17 | 442.785980 2.170000 18 | 476.846008 2.240000 19 | 516.583008 2.300000 20 | 563.545044 2.380000 21 | 619.900024 2.430000 22 | 688.778015 2.430000 23 | 774.875000 2.330000 24 | 885.570984 2.240000 25 | -------------------------------------------------------------------------------- /data/ior/a-C.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for amorphous carbon 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; a-C_llnl_cxro + a-C_windt88 + a-C_palik 7 | # ; 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 0.808000 12 | 326.263000 0.910000 13 | 344.389008 0.920000 14 | 364.647003 0.920000 15 | 387.437988 0.910000 16 | 413.266998 0.900000 17 | 442.785980 0.890000 18 | 476.846008 0.880000 19 | 516.583008 0.870000 20 | 563.545044 0.820000 21 | 619.900024 0.750000 22 | 688.778015 0.700000 23 | 774.875000 0.710000 24 | 885.570984 0.800000 25 | -------------------------------------------------------------------------------- /data/ior/Se_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Se, ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.810000 12 | 326.263000 1.660000 13 | 344.389008 1.470000 14 | 364.647003 1.240000 15 | 387.437988 1.010000 16 | 413.266998 0.700000 17 | 442.785980 0.580000 18 | 476.846008 0.530000 19 | 516.583008 0.610000 20 | 563.545044 0.730000 21 | 619.900024 0.650000 22 | 688.778015 0.110000 23 | -------------------------------------------------------------------------------- /data/ior/CuO_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline CuO 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 350.028015 2.240000 12 | 399.935028 2.340000 13 | 449.854980 2.450000 14 | 499.919006 2.540000 15 | 549.799988 2.580000 16 | 599.806030 2.650000 17 | 649.789978 2.720000 18 | 700.056030 2.880000 19 | 750.029968 2.970000 20 | 799.871033 2.940000 21 | 849.759949 2.810000 22 | 899.709961 2.740000 23 | -------------------------------------------------------------------------------- /data/ior/CuO_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline CuO 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 350.028015 1.030000 12 | 399.935028 0.870000 13 | 449.854980 0.770000 14 | 499.919006 0.680000 15 | 549.799988 0.590000 16 | 599.806030 0.500000 17 | 649.789978 0.400000 18 | 700.056030 0.310000 19 | 750.029968 0.220000 20 | 799.871033 0.110000 21 | 849.759949 0.040000 22 | 899.709961 0.030000 23 | -------------------------------------------------------------------------------- /data/ior/Se_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Se, ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.510000 12 | 326.263000 2.840000 13 | 344.389008 3.060000 14 | 364.647003 3.220000 15 | 387.437988 3.350000 16 | 413.266998 3.300000 17 | 442.785980 3.120000 18 | 476.846008 3.000000 19 | 516.583008 2.930000 20 | 563.545044 3.070000 21 | 619.900024 3.380000 22 | 688.778015 3.320000 23 | -------------------------------------------------------------------------------- /data/ior/Hg_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Hg 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.502000 12 | 326.263000 2.665000 13 | 344.389008 2.860000 14 | 364.647003 3.074000 15 | 387.437988 3.294000 16 | 413.266998 3.538000 17 | 442.785980 3.802000 18 | 476.846008 4.090000 19 | 516.583008 4.407000 20 | 563.545044 4.751000 21 | 619.900024 5.150000 22 | 688.778015 5.582000 23 | 774.875000 6.054000 24 | 885.570984 6.558000 25 | -------------------------------------------------------------------------------- /data/ior/Na_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Na 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 312.291992 1.010000 12 | 334.178009 1.130000 13 | 364.647003 1.330000 14 | 387.437988 1.470000 15 | 405.162994 1.540000 16 | 420.270996 1.630000 17 | 439.645020 1.760000 18 | 469.621002 1.880000 19 | 506.041016 2.070000 20 | 546.166992 2.230000 21 | 598.937012 2.480000 22 | 662.995056 2.760000 23 | 751.393982 3.220000 24 | 860.971985 3.720000 25 | -------------------------------------------------------------------------------- /data/ior/Hg_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Hg 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 0.542000 12 | 326.263000 0.589000 13 | 344.389008 0.644000 14 | 364.647003 0.713000 15 | 387.437988 0.798000 16 | 413.266998 0.898000 17 | 442.785980 1.027000 18 | 476.846008 1.186000 19 | 516.583008 1.384000 20 | 563.545044 1.620000 21 | 619.900024 1.910000 22 | 688.778015 2.284000 23 | 774.875000 2.746000 24 | 885.570984 3.324000 25 | -------------------------------------------------------------------------------- /data/ior/Na_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Na 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 312.291992 0.049000 12 | 334.178009 0.055000 13 | 364.647003 0.061000 14 | 387.437988 0.065000 15 | 405.162994 0.069000 16 | 420.270996 0.068000 17 | 439.645020 0.068000 18 | 469.621002 0.066000 19 | 506.041016 0.063000 20 | 546.166992 0.059000 21 | 598.937012 0.053000 22 | 662.995056 0.049000 23 | 751.393982 0.050000 24 | 860.971985 0.053000 25 | -------------------------------------------------------------------------------- /src/emitters/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('area', ['area.cpp']) 4 | plugins += env.SharedLibrary('collimated', ['collimated.cpp']) 5 | plugins += env.SharedLibrary('directional', ['directional.cpp']) 6 | plugins += env.SharedLibrary('point', ['point.cpp']) 7 | plugins += env.SharedLibrary('constant', ['constant.cpp']) 8 | plugins += env.SharedLibrary('envmap', ['envmap.cpp']) 9 | plugins += env.SharedLibrary('sky', ['sky.cpp', 'sunsky/skymodel.cpp']) 10 | plugins += env.SharedLibrary('sun', ['sun.cpp']) 11 | plugins += env.SharedLibrary('sunsky', ['sunsky.cpp']) 12 | plugins += env.SharedLibrary('spot', ['spot.cpp']) 13 | 14 | Export('plugins') 15 | -------------------------------------------------------------------------------- /src/mtsgui/shaders/gamma.frag: -------------------------------------------------------------------------------- 1 | uniform sampler2D colorSource, depthSource; 2 | uniform float invWhitePoint, invGamma; 3 | uniform bool sRGB, hasDepth; 4 | 5 | float toSRGB(float value) { 6 | if (value < 0.0031308) 7 | return 12.92 * value; 8 | return 1.055 * pow(value, 1.0/2.4) - 0.055; 9 | } 10 | 11 | void main() { 12 | vec4 color = texture2D(colorSource, gl_TexCoord[0].xy) * invWhitePoint; 13 | if (sRGB) 14 | gl_FragColor = vec4(toSRGB(color.r), toSRGB(color.g), toSRGB(color.b), 1); 15 | else 16 | gl_FragColor = vec4(pow(color.rgb, vec3(invGamma)), 1); 17 | gl_FragDepth = hasDepth ? texture2D(depthSource, gl_TexCoord[0].xy).r : 0.5; 18 | } 19 | -------------------------------------------------------------------------------- /src/sensors/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('radiancemeter', ['radiancemeter.cpp']) 4 | plugins += env.SharedLibrary('irradiancemeter', ['irradiancemeter.cpp']) 5 | plugins += env.SharedLibrary('fluencemeter', ['fluencemeter.cpp']) 6 | plugins += env.SharedLibrary('perspective', ['perspective.cpp']) 7 | plugins += env.SharedLibrary('perspective_rdist', ['perspective_rdist.cpp']) 8 | plugins += env.SharedLibrary('thinlens', ['thinlens.cpp']) 9 | plugins += env.SharedLibrary('orthographic', ['orthographic.cpp']) 10 | plugins += env.SharedLibrary('telecentric', ['telecentric.cpp']) 11 | plugins += env.SharedLibrary('spherical', ['spherical.cpp']) 12 | 13 | Export('plugins') 14 | -------------------------------------------------------------------------------- /data/ior/K.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline K 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 304.993988 0.380000 12 | 309.950012 0.340000 13 | 312.291992 0.287000 14 | 334.178009 0.089000 15 | 364.647003 0.052000 16 | 405.162994 0.041000 17 | 420.270996 0.041000 18 | 439.645020 0.043000 19 | 469.621002 0.043000 20 | 506.041016 0.046000 21 | 546.166992 0.049000 22 | 598.937012 0.053000 23 | 662.995056 0.050000 24 | 751.393982 0.044000 25 | 860.971985 0.040000 26 | -------------------------------------------------------------------------------- /data/ior/K.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline K 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 304.993988 0.070000 12 | 309.950012 0.080000 13 | 312.291992 0.091000 14 | 334.178009 0.288000 15 | 364.647003 0.549000 16 | 405.162994 0.799000 17 | 420.270996 0.898000 18 | 439.645020 1.020000 19 | 469.621002 1.140000 20 | 506.041016 1.280000 21 | 546.166992 1.430000 22 | 598.937012 1.620000 23 | 662.995056 1.840000 24 | 751.393982 2.190000 25 | 860.971985 2.560000 26 | -------------------------------------------------------------------------------- /data/ior/K_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline K 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 304.993988 0.070000 12 | 309.950012 0.080000 13 | 312.291992 0.091000 14 | 334.178009 0.288000 15 | 364.647003 0.549000 16 | 405.162994 0.799000 17 | 420.270996 0.898000 18 | 439.645020 1.020000 19 | 469.621002 1.140000 20 | 506.041016 1.280000 21 | 546.166992 1.430000 22 | 598.937012 1.620000 23 | 662.995056 1.840000 24 | 751.393982 2.190000 25 | 860.971985 2.560000 26 | -------------------------------------------------------------------------------- /data/ior/K_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline K 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 304.993988 0.380000 12 | 309.950012 0.340000 13 | 312.291992 0.287000 14 | 334.178009 0.089000 15 | 364.647003 0.052000 16 | 405.162994 0.041000 17 | 420.270996 0.041000 18 | 439.645020 0.043000 19 | 469.621002 0.043000 20 | 506.041016 0.046000 21 | 546.166992 0.049000 22 | 598.937012 0.053000 23 | 662.995056 0.050000 24 | 751.393982 0.044000 25 | 860.971985 0.040000 26 | -------------------------------------------------------------------------------- /src/tests/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins', 'glob', 'os', 'SCons') 2 | 3 | testEnv = env.Clone() 4 | testEnv.Append(CPPDEFINES = [['MTS_TESTCASE', '1']]) 5 | 6 | bidirEnv = testEnv.Clone() 7 | bidirEnv.Append(LIBS=['mitsuba-bidir']) 8 | bidirEnv.Append(LIBPATH=['#src/libbidir']) 9 | 10 | for plugin in glob.glob(GetBuildPath('test_*.cpp')): 11 | name = os.path.basename(plugin) 12 | if "bidir" in name: 13 | lib = bidirEnv.SharedLibrary(name[0:len(name)-4], name) 14 | else: 15 | lib = testEnv.SharedLibrary(name[0:len(name)-4], name) 16 | if isinstance(lib, SCons.Node.NodeList): 17 | lib = lib[0] 18 | plugins += [ lib ] 19 | 20 | Export('plugins') 21 | -------------------------------------------------------------------------------- /data/schema/upgrade_0.6.0.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 0.6.0 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /data/ior/Ta.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ta 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Ta_llnl_cxro + Ta_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.360000 11 | 326.263000 2.400000 12 | 344.389008 2.490000 13 | 364.647003 2.610000 14 | 387.437988 2.730000 15 | 413.266998 2.810000 16 | 427.516998 2.840000 17 | 442.785980 2.850000 18 | 459.185028 2.840000 19 | 476.846008 2.800000 20 | 495.920013 2.750000 21 | 516.583008 2.680000 22 | 539.044006 2.560000 23 | 563.545044 2.360000 24 | 590.381042 2.100000 25 | 619.900024 1.830000 26 | 652.526001 1.570000 27 | 688.778015 1.350000 28 | 729.294006 1.240000 29 | 774.875000 1.150000 30 | 826.533020 1.090000 31 | 885.570984 1.040000 32 | -------------------------------------------------------------------------------- /data/ior/Ta.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ta 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Ta_llnl_cxro + Ta_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.140000 11 | 326.263000 2.220000 12 | 344.389008 2.300000 13 | 364.647003 2.330000 14 | 387.437988 2.310000 15 | 413.266998 2.240000 16 | 427.516998 2.200000 17 | 442.785980 2.140000 18 | 459.185028 2.080000 19 | 476.846008 2.020000 20 | 495.920013 1.980000 21 | 516.583008 1.920000 22 | 539.044006 1.860000 23 | 563.545044 1.810000 24 | 590.381042 1.840000 25 | 619.900024 1.990000 26 | 652.526001 2.240000 27 | 688.778015 2.600000 28 | 729.294006 2.950000 29 | 774.875000 3.330000 30 | 826.533020 3.730000 31 | 885.570984 4.150000 32 | -------------------------------------------------------------------------------- /data/ior/Cu_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Cu 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.340000 12 | 326.263000 1.340000 13 | 344.389008 1.310000 14 | 364.647003 1.270000 15 | 387.437988 1.180000 16 | 413.266998 1.180000 17 | 442.785980 1.170000 18 | 476.846008 1.150000 19 | 516.583008 1.120000 20 | 539.044006 1.040000 21 | 563.545044 0.826000 22 | 590.381042 0.468000 23 | 619.900024 0.272000 24 | 652.526001 0.214000 25 | 670.162048 0.215000 26 | 688.778015 0.213000 27 | 708.456970 0.214000 28 | 729.294006 0.223000 29 | 826.533020 0.260000 30 | -------------------------------------------------------------------------------- /data/ior/Cu_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Cu 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.720000 12 | 326.263000 1.810000 13 | 344.389008 1.870000 14 | 364.647003 1.950000 15 | 387.437988 2.210000 16 | 413.266998 2.210000 17 | 442.785980 2.360000 18 | 476.846008 2.500000 19 | 516.583008 2.600000 20 | 539.044006 2.590000 21 | 563.545044 2.600000 22 | 590.381042 2.810000 23 | 619.900024 3.240000 24 | 652.526001 3.670000 25 | 670.162048 3.860000 26 | 688.778015 4.050000 27 | 708.456970 4.240000 28 | 729.294006 4.430000 29 | 826.533020 5.260000 30 | -------------------------------------------------------------------------------- /src/libbidir/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'sys', 'os') 2 | 3 | bidirEnv = env.Clone() 4 | bidirEnv.Append(CPPDEFINES = [['MTS_BUILD_MODULE', 'MTS_MODULE_BIDIR']]) 5 | 6 | # bidirEnv.RemoveFlags(['-O3']) 7 | # bidirEnv.Append(CXXFLAGS = ['-O0']); 8 | 9 | libbidir = bidirEnv.SharedLibrary('mitsuba-bidir', [ 10 | 'common.cpp', 'rsampler.cpp', 'vertex.cpp', 'edge.cpp', 11 | 'path.cpp', 'verification.cpp', 'util.cpp', 'pathsampler.cpp', 12 | 'mut_bidir.cpp', 'mut_lens.cpp', 'mut_caustic.cpp', 13 | 'mut_mchain.cpp', 'manifold.cpp', 'mut_manifold.cpp' 14 | ]) 15 | 16 | env.Append(LIBPATH=[os.path.join(env['BUILDDIR'], 'libbidir')]) 17 | 18 | if sys.platform == "darwin": 19 | bidirEnv.AddPostAction(libbidir, 'install_name_tool -id @rpath/libmitsuba-bidir.dylib $TARGET') 20 | -------------------------------------------------------------------------------- /src/mtsgui/previewsettingsdlg_cocoa.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | -------------------------------------------------------------------------------- /src/films/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | filmEnv = env.Clone() 4 | if filmEnv.has_key('OEXRLIBDIR'): 5 | filmEnv.Prepend(LIBPATH=env['OEXRLIBDIR']) 6 | if filmEnv.has_key('OEXRINCLUDE'): 7 | filmEnv.Prepend(CPPPATH=env['OEXRINCLUDE']) 8 | if filmEnv.has_key('OEXRFLAGS'): 9 | filmEnv.Prepend(CPPFLAGS=env['OEXRFLAGS']) 10 | if filmEnv.has_key('OEXRLIB'): 11 | filmEnv.Prepend(LIBS=env['OEXRLIB']) 12 | 13 | plugins += filmEnv.SharedLibrary('mfilm', ['mfilm.cpp', 'cnpy.cpp']) 14 | plugins += filmEnv.SharedLibrary('ldrfilm', ['ldrfilm.cpp']) 15 | plugins += filmEnv.SharedLibrary('hdrfilm', ['hdrfilm.cpp']) 16 | 17 | if ['MTS_HAS_OPENEXR', 1] in filmEnv['CPPDEFINES']: 18 | plugins += filmEnv.SharedLibrary('tiledhdrfilm', ['tiledhdrfilm.cpp']) 19 | 20 | Export('plugins') 21 | -------------------------------------------------------------------------------- /data/ior/SnTe.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for SnTe 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 311.586029 0.967000 12 | 332.118988 1.007000 13 | 361.037018 1.103000 14 | 390.242004 1.228000 15 | 414.372040 1.364000 16 | 453.308990 1.551000 17 | 498.312012 1.702000 18 | 533.476990 1.813000 19 | 548.099060 1.878000 20 | 550.533020 1.989000 21 | 552.987976 2.135000 22 | 558.216980 2.442000 23 | 566.119019 2.719000 24 | 582.339050 2.991000 25 | 605.963013 3.273000 26 | 621.454041 3.479000 27 | 648.091980 3.701000 28 | 681.208984 3.912000 29 | 748.671021 4.285000 30 | 804.020996 4.541000 31 | 867.478027 4.803000 32 | -------------------------------------------------------------------------------- /data/ior/SnTe.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for SnTe 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 311.586029 0.000000 12 | 332.118988 0.000000 13 | 361.037018 0.000000 14 | 390.242004 0.000000 15 | 414.372040 0.000000 16 | 453.308990 0.000000 17 | 498.312012 0.000000 18 | 533.476990 0.000000 19 | 548.099060 0.000000 20 | 550.533020 0.000000 21 | 552.987976 0.000000 22 | 558.216980 0.000000 23 | 566.119019 0.000000 24 | 582.339050 0.000000 25 | 605.963013 0.000000 26 | 621.454041 0.000000 27 | 648.091980 0.000000 28 | 681.208984 0.000000 29 | 748.671021 0.000000 30 | 804.020996 0.000000 31 | 867.478027 0.000000 32 | -------------------------------------------------------------------------------- /data/ior/AlSb.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for cubic AlSb 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 4.000000 12 | 309.950012 3.710000 13 | 317.897003 3.400000 14 | 326.263000 3.160000 15 | 335.081024 2.970000 16 | 344.389008 2.810000 17 | 354.229004 2.690000 18 | 364.647003 2.640000 19 | 375.696991 2.690000 20 | 387.437988 2.470000 21 | 399.935028 2.120000 22 | 413.266998 1.970000 23 | 427.516998 2.060000 24 | 442.785980 1.580000 25 | 459.185028 0.920000 26 | 476.846008 0.630000 27 | 495.920013 0.460000 28 | 516.583008 0.330000 29 | 539.044006 0.240000 30 | 563.545044 0.010000 31 | 590.381042 0.006000 32 | -------------------------------------------------------------------------------- /data/ior/SnTe_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for SnTe 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 311.586029 0.000000 12 | 332.118988 0.000000 13 | 361.037018 0.000000 14 | 390.242004 0.000000 15 | 414.372040 0.000000 16 | 453.308990 0.000000 17 | 498.312012 0.000000 18 | 533.476990 0.000000 19 | 548.099060 0.000000 20 | 550.533020 0.000000 21 | 552.987976 0.000000 22 | 558.216980 0.000000 23 | 566.119019 0.000000 24 | 582.339050 0.000000 25 | 605.963013 0.000000 26 | 621.454041 0.000000 27 | 648.091980 0.000000 28 | 681.208984 0.000000 29 | 748.671021 0.000000 30 | 804.020996 0.000000 31 | 867.478027 0.000000 32 | -------------------------------------------------------------------------------- /data/ior/AlSb.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for cubic AlSb 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 3.150000 12 | 309.950012 3.500000 13 | 317.897003 3.710000 14 | 326.263000 3.810000 15 | 335.081024 3.930000 16 | 344.389008 3.960000 17 | 354.229004 3.950000 18 | 364.647003 3.970000 19 | 375.696991 4.140000 20 | 387.437988 4.510000 21 | 399.935028 4.570000 22 | 413.266998 4.520000 23 | 427.516998 4.660000 24 | 442.785980 5.270000 25 | 459.185028 5.080000 26 | 476.846008 4.810000 27 | 495.920013 4.610000 28 | 516.583008 4.440000 29 | 539.044006 4.310000 30 | 563.545044 4.200000 31 | 590.381042 4.010000 32 | -------------------------------------------------------------------------------- /data/ior/AlSb_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for cubic AlSb 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 4.000000 12 | 309.950012 3.710000 13 | 317.897003 3.400000 14 | 326.263000 3.160000 15 | 335.081024 2.970000 16 | 344.389008 2.810000 17 | 354.229004 2.690000 18 | 364.647003 2.640000 19 | 375.696991 2.690000 20 | 387.437988 2.470000 21 | 399.935028 2.120000 22 | 413.266998 1.970000 23 | 427.516998 2.060000 24 | 442.785980 1.580000 25 | 459.185028 0.920000 26 | 476.846008 0.630000 27 | 495.920013 0.460000 28 | 516.583008 0.330000 29 | 539.044006 0.240000 30 | 563.545044 0.010000 31 | 590.381042 0.006000 32 | -------------------------------------------------------------------------------- /data/ior/SnTe_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for SnTe 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 311.586029 0.967000 12 | 332.118988 1.007000 13 | 361.037018 1.103000 14 | 390.242004 1.228000 15 | 414.372040 1.364000 16 | 453.308990 1.551000 17 | 498.312012 1.702000 18 | 533.476990 1.813000 19 | 548.099060 1.878000 20 | 550.533020 1.989000 21 | 552.987976 2.135000 22 | 558.216980 2.442000 23 | 566.119019 2.719000 24 | 582.339050 2.991000 25 | 605.963013 3.273000 26 | 621.454041 3.479000 27 | 648.091980 3.701000 28 | 681.208984 3.912000 29 | 748.671021 4.285000 30 | 804.020996 4.541000 31 | 867.478027 4.803000 32 | -------------------------------------------------------------------------------- /data/ior/AlSb_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for cubic AlSb 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 3.150000 12 | 309.950012 3.500000 13 | 317.897003 3.710000 14 | 326.263000 3.810000 15 | 335.081024 3.930000 16 | 344.389008 3.960000 17 | 354.229004 3.950000 18 | 364.647003 3.970000 19 | 375.696991 4.140000 20 | 387.437988 4.510000 21 | 399.935028 4.570000 22 | 413.266998 4.520000 23 | 427.516998 4.660000 24 | 442.785980 5.270000 25 | 459.185028 5.080000 26 | 476.846008 4.810000 27 | 495.920013 4.610000 28 | 516.583008 4.440000 29 | 539.044006 4.310000 30 | 563.545044 4.200000 31 | 590.381042 4.010000 32 | -------------------------------------------------------------------------------- /src/libhw/data/sh_unsupported.frag: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | void main() { 20 | gl_FragColor = vec4(0.0); 21 | } 22 | -------------------------------------------------------------------------------- /data/ior/Ta_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ta 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.140000 12 | 326.263000 2.220000 13 | 344.389008 2.300000 14 | 364.647003 2.330000 15 | 387.437988 2.310000 16 | 413.266998 2.240000 17 | 427.516998 2.200000 18 | 442.785980 2.140000 19 | 459.185028 2.080000 20 | 476.846008 2.020000 21 | 495.920013 1.980000 22 | 516.583008 1.920000 23 | 539.044006 1.860000 24 | 563.545044 1.810000 25 | 590.381042 1.840000 26 | 619.900024 1.990000 27 | 652.526001 2.240000 28 | 688.778015 2.600000 29 | 729.294006 2.950000 30 | 774.875000 3.330000 31 | 826.533020 3.730000 32 | 885.570984 4.150000 33 | -------------------------------------------------------------------------------- /src/libhw/data/sh_directional.vert: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | void main() { 20 | gl_Position = ftransform(); 21 | } 22 | -------------------------------------------------------------------------------- /data/ior/Ta_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ta 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.360000 12 | 326.263000 2.400000 13 | 344.389008 2.490000 14 | 364.647003 2.610000 15 | 387.437988 2.730000 16 | 413.266998 2.810000 17 | 427.516998 2.840000 18 | 442.785980 2.850000 19 | 459.185028 2.840000 20 | 476.846008 2.800000 21 | 495.920013 2.750000 22 | 516.583008 2.680000 23 | 539.044006 2.560000 24 | 563.545044 2.360000 25 | 590.381042 2.100000 26 | 619.900024 1.830000 27 | 652.526001 1.570000 28 | 688.778015 1.350000 29 | 729.294006 1.240000 30 | 774.875000 1.150000 31 | 826.533020 1.090000 32 | 885.570984 1.040000 33 | -------------------------------------------------------------------------------- /data/ior/Nb.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Nb 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Nb_llnl_cxro + Nb_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.640000 11 | 317.897003 2.620000 12 | 326.263000 2.590000 13 | 335.081024 2.560000 14 | 344.389008 2.520000 15 | 354.229004 2.480000 16 | 364.647003 2.460000 17 | 375.696991 2.440000 18 | 387.437988 2.450000 19 | 399.935028 2.480000 20 | 413.266998 2.510000 21 | 435.018036 2.580000 22 | 450.835999 2.660000 23 | 467.849030 2.740000 24 | 486.196014 2.830000 25 | 506.041016 2.890000 26 | 527.575012 2.920000 27 | 551.022034 2.930000 28 | 576.651001 2.920000 29 | 604.781006 2.890000 30 | 635.795044 2.820000 31 | 670.162048 2.690000 32 | 708.456970 2.540000 33 | 751.393982 2.360000 34 | 799.871033 2.150000 35 | 855.033997 1.950000 36 | -------------------------------------------------------------------------------- /data/ior/Nb.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Nb 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Nb_llnl_cxro + Nb_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.330000 11 | 317.897003 2.290000 12 | 326.263000 2.280000 13 | 335.081024 2.270000 14 | 344.389008 2.290000 15 | 354.229004 2.330000 16 | 364.647003 2.380000 17 | 375.696991 2.450000 18 | 387.437988 2.530000 19 | 399.935028 2.600000 20 | 413.266998 2.680000 21 | 435.018036 2.800000 22 | 450.835999 2.860000 23 | 467.849030 2.900000 24 | 486.196014 2.920000 25 | 506.041016 2.900000 26 | 527.575012 2.880000 27 | 551.022034 2.870000 28 | 576.651001 2.870000 29 | 604.781006 2.870000 30 | 635.795044 2.860000 31 | 670.162048 2.890000 32 | 708.456970 2.990000 33 | 751.393982 3.130000 34 | 799.871033 3.370000 35 | 855.033997 3.680000 36 | -------------------------------------------------------------------------------- /src/libhw/data/sh_cube_1pass.vert: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | void main() { 20 | gl_Position = gl_ModelViewMatrix * gl_Vertex; 21 | } 22 | -------------------------------------------------------------------------------- /src/libhw/data/sh_paraboloid.vert: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | void main() { 20 | gl_Position = gl_ModelViewMatrix * gl_Vertex; 21 | } 22 | -------------------------------------------------------------------------------- /src/libhw/data/sh_hemicube_1pass.vert: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | void main() { 20 | gl_Position = gl_ModelViewMatrix * gl_Vertex; 21 | } 22 | -------------------------------------------------------------------------------- /data/ior/SiC.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for crystalline SiC 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; SiC_llnl_cxro + SiC_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 2.850000 11 | 317.897003 2.923000 12 | 326.263000 2.899000 13 | 335.081024 2.877000 14 | 344.389008 2.856000 15 | 354.229004 2.836000 16 | 364.647003 2.817000 17 | 375.696991 2.799000 18 | 387.437988 2.781000 19 | 399.935028 2.765000 20 | 413.266998 2.750000 21 | 435.781982 2.730500 22 | 466.968018 2.707400 23 | 495.920013 2.684000 24 | 497.912018 2.687000 25 | 515.080994 2.678900 26 | 546.166992 2.663100 27 | 567.934021 2.655700 28 | 577.995056 2.651100 29 | 588.979004 2.648800 30 | 589.539001 2.647500 31 | 615.897034 2.641100 32 | 619.900024 2.634000 33 | 656.325989 2.629600 34 | 691.080994 2.624300 35 | 826.533020 2.598000 36 | -------------------------------------------------------------------------------- /data/ior/SiC.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for crystalline SiC 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; SiC_llnl_cxro + SiC_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 0.174000 11 | 317.897003 0.007650 12 | 326.263000 0.005980 13 | 335.081024 0.004930 14 | 344.389008 0.003750 15 | 354.229004 0.002890 16 | 364.647003 0.002040 17 | 375.696991 0.001380 18 | 387.437988 0.000839 19 | 399.935028 0.000191 20 | 413.266998 0.000044 21 | 435.781982 0.000000 22 | 466.968018 0.000000 23 | 495.920013 0.000012 24 | 497.912018 0.000000 25 | 515.080994 0.000000 26 | 546.166992 0.000000 27 | 567.934021 0.000000 28 | 577.995056 0.000000 29 | 588.979004 0.000000 30 | 589.539001 0.000000 31 | 615.897034 0.000000 32 | 619.900024 0.000000 33 | 656.325989 0.000000 34 | 691.080994 0.000000 35 | 826.533020 0.000000 36 | -------------------------------------------------------------------------------- /data/ior/Rh.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Rh 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Rh_llnl_cxro + Rh_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 302.389984 0.840000 11 | 309.950012 0.860000 12 | 317.897003 0.880000 13 | 326.263000 0.910000 14 | 335.081024 0.950000 15 | 344.389008 0.990000 16 | 354.229004 1.040000 17 | 364.647003 1.110000 18 | 375.696991 1.200000 19 | 387.437988 1.300000 20 | 399.935028 1.410000 21 | 413.266998 1.530000 22 | 427.516998 1.630000 23 | 459.185028 1.800000 24 | 476.846008 1.850000 25 | 495.920013 1.880000 26 | 516.583008 1.900000 27 | 539.044006 1.940000 28 | 563.545044 2.000000 29 | 590.381042 2.050000 30 | 619.900024 2.120000 31 | 652.526001 2.200000 32 | 688.778015 2.300000 33 | 729.294006 2.420000 34 | 774.875000 2.600000 35 | 826.533020 2.780000 36 | 885.570984 3.010000 37 | -------------------------------------------------------------------------------- /data/ior/Rh.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Rh 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Rh_llnl_cxro + Rh_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 302.389984 3.030000 11 | 309.950012 3.120000 12 | 317.897003 3.230000 13 | 326.263000 3.340000 14 | 335.081024 3.450000 15 | 344.389008 3.580000 16 | 354.229004 3.710000 17 | 364.647003 3.840000 18 | 375.696991 3.970000 19 | 387.437988 4.090000 20 | 399.935028 4.200000 21 | 413.266998 4.290000 22 | 427.516998 4.360000 23 | 459.185028 4.490000 24 | 476.846008 4.550000 25 | 495.920013 4.650000 26 | 516.583008 4.780000 27 | 539.044006 4.940000 28 | 563.545044 5.110000 29 | 590.381042 5.300000 30 | 619.900024 5.510000 31 | 652.526001 5.760000 32 | 688.778015 6.020000 33 | 729.294006 6.330000 34 | 774.875000 6.640000 35 | 826.533020 6.970000 36 | 885.570984 7.310000 37 | -------------------------------------------------------------------------------- /data/ior/Ir.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ir 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Ir_llnl_cxro + Ir_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 302.389984 1.620000 11 | 309.950012 1.640000 12 | 317.897003 1.640000 13 | 326.263000 1.610000 14 | 335.081024 1.570000 15 | 344.389008 1.520000 16 | 354.229004 1.500000 17 | 364.647003 1.530000 18 | 375.696991 1.570000 19 | 387.437988 1.620000 20 | 399.935028 1.680000 21 | 413.266998 1.730000 22 | 427.516998 1.770000 23 | 442.785980 1.810000 24 | 459.185028 1.850000 25 | 476.846008 1.910000 26 | 495.920013 1.980000 27 | 516.583008 2.070000 28 | 539.044006 2.180000 29 | 563.545044 2.290000 30 | 590.381042 2.400000 31 | 619.900024 2.500000 32 | 652.526001 2.570000 33 | 688.778015 2.640000 34 | 729.294006 2.690000 35 | 774.875000 2.680000 36 | 826.533020 2.650000 37 | 885.570984 2.720000 38 | -------------------------------------------------------------------------------- /data/ior/Ir.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ir 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Ir_llnl_cxro + Ir_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 302.389984 2.700000 11 | 309.950012 2.680000 12 | 317.897003 2.670000 13 | 326.263000 2.690000 14 | 335.081024 2.720000 15 | 344.389008 2.810000 16 | 354.229004 2.930000 17 | 364.647003 3.050000 18 | 375.696991 3.150000 19 | 387.437988 3.260000 20 | 399.935028 3.350000 21 | 413.266998 3.430000 22 | 427.516998 3.510000 23 | 442.785980 3.610000 24 | 459.185028 3.730000 25 | 476.846008 3.860000 26 | 495.920013 4.000000 27 | 516.583008 4.140000 28 | 539.044006 4.260000 29 | 563.545044 4.380000 30 | 590.381042 4.480000 31 | 619.900024 4.570000 32 | 652.526001 4.680000 33 | 688.778015 4.810000 34 | 729.294006 4.920000 35 | 774.875000 5.080000 36 | 826.533020 5.390000 37 | 885.570984 5.740000 38 | -------------------------------------------------------------------------------- /data/ior/Mo.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Mo 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Mo_llnl_cxro + Mo_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 302.389984 2.910000 11 | 309.950012 3.010000 12 | 317.897003 3.040000 13 | 326.263000 3.040000 14 | 335.081024 3.040000 15 | 344.389008 3.050000 16 | 354.229004 3.060000 17 | 364.647003 3.060000 18 | 375.696991 3.060000 19 | 387.437988 3.050000 20 | 399.935028 3.030000 21 | 413.266998 3.040000 22 | 427.516998 3.050000 23 | 442.785980 3.080000 24 | 459.185028 3.130000 25 | 476.846008 3.220000 26 | 495.920013 3.360000 27 | 516.583008 3.590000 28 | 539.044006 3.790000 29 | 563.545044 3.760000 30 | 590.381042 3.680000 31 | 619.900024 3.680000 32 | 652.526001 3.740000 33 | 688.778015 3.810000 34 | 729.294006 3.840000 35 | 774.875000 3.770000 36 | 826.533020 3.530000 37 | 885.570984 3.150000 38 | -------------------------------------------------------------------------------- /data/ior/Mo.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Mo 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Mo_llnl_cxro + Mo_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 302.389984 3.670000 11 | 309.950012 3.510000 12 | 317.897003 3.400000 13 | 326.263000 3.310000 14 | 335.081024 3.270000 15 | 344.389008 3.240000 16 | 354.229004 3.210000 17 | 364.647003 3.190000 18 | 375.696991 3.180000 19 | 387.437988 3.180000 20 | 399.935028 3.220000 21 | 413.266998 3.270000 22 | 427.516998 3.330000 23 | 442.785980 3.420000 24 | 459.185028 3.510000 25 | 476.846008 3.610000 26 | 495.920013 3.730000 27 | 516.583008 3.780000 28 | 539.044006 3.610000 29 | 563.545044 3.410000 30 | 590.381042 3.450000 31 | 619.900024 3.520000 32 | 652.526001 3.580000 33 | 688.778015 3.580000 34 | 729.294006 3.510000 35 | 774.875000 3.410000 36 | 826.533020 3.300000 37 | 885.570984 3.400000 38 | -------------------------------------------------------------------------------- /data/ior/Cr.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Cr 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Cr_llnl_cxro + Cr_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 300.194000 0.980000 11 | 307.643005 1.020000 12 | 316.276001 1.060000 13 | 323.708008 1.120000 14 | 333.279999 1.180000 15 | 341.542999 1.260000 16 | 351.217987 1.330000 17 | 362.514984 1.390000 18 | 372.312012 1.430000 19 | 385.031006 1.440000 20 | 396.102020 1.480000 21 | 409.175018 1.540000 22 | 424.589020 1.650000 23 | 438.092010 1.800000 24 | 455.808990 1.990000 25 | 471.406982 2.220000 26 | 490.040009 2.490000 27 | 512.314026 2.750000 28 | 532.102966 2.980000 29 | 558.468018 3.180000 30 | 582.066040 3.340000 31 | 610.739014 3.480000 32 | 700.452026 3.840000 33 | 815.658020 4.230000 34 | 826.533020 4.270000 35 | 849.178040 4.310000 36 | 860.971985 4.330000 37 | 885.570984 4.380000 38 | -------------------------------------------------------------------------------- /data/ior/Cr.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Cr 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; Cr_llnl_cxro + Cr_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 300.194000 2.670000 11 | 307.643005 2.760000 12 | 316.276001 2.850000 13 | 323.708008 2.950000 14 | 333.279999 3.040000 15 | 341.542999 3.120000 16 | 351.217987 3.180000 17 | 362.514984 3.240000 18 | 372.312012 3.310000 19 | 385.031006 3.400000 20 | 396.102020 3.540000 21 | 409.175018 3.710000 22 | 424.589020 3.890000 23 | 438.092010 4.060000 24 | 455.808990 4.220000 25 | 471.406982 4.360000 26 | 490.040009 4.440000 27 | 512.314026 4.460000 28 | 532.102966 4.450000 29 | 558.468018 4.410000 30 | 582.066040 4.380000 31 | 610.739014 4.360000 32 | 700.452026 4.370000 33 | 815.658020 4.340000 34 | 826.533020 4.330000 35 | 849.178040 4.320000 36 | 860.971985 4.320000 37 | 885.570984 4.310000 38 | -------------------------------------------------------------------------------- /data/schema/upgrade_0.5.0.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 0.5.0 12 | 13 | 14 | 15 | 16 | bumpmap 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/shapes/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'plugins') 2 | 3 | plugins += env.SharedLibrary('obj', ['obj.cpp']) 4 | plugins += env.SharedLibrary('ply', ['ply.cpp', 'ply/ply_parser.cpp'], 5 | CPPPATH = env['CPPPATH'] + ['#src/shapes']) 6 | plugins += env.SharedLibrary('serialized', ['serialized.cpp']) 7 | plugins += env.SharedLibrary('rectangle', ['rectangle.cpp']) 8 | plugins += env.SharedLibrary('disk', ['disk.cpp']) 9 | plugins += env.SharedLibrary('sphere', ['sphere.cpp']) 10 | plugins += env.SharedLibrary('cylinder', ['cylinder.cpp']) 11 | plugins += env.SharedLibrary('hair', ['hair.cpp']) 12 | plugins += env.SharedLibrary('shapegroup', ['shapegroup.cpp']) 13 | plugins += env.SharedLibrary('instance', ['instance.cpp']) 14 | plugins += env.SharedLibrary('cube', ['cube.cpp']) 15 | plugins += env.SharedLibrary('heightfield', ['heightfield.cpp']) 16 | #plugins += env.SharedLibrary('deformable', ['deformable.cpp']) 17 | 18 | Export('plugins') 19 | -------------------------------------------------------------------------------- /src/mtsgui/resources/zoom.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /data/ior/Nb_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Nb 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.330000 12 | 317.897003 2.290000 13 | 326.263000 2.280000 14 | 335.081024 2.270000 15 | 344.389008 2.290000 16 | 354.229004 2.330000 17 | 364.647003 2.380000 18 | 375.696991 2.450000 19 | 387.437988 2.530000 20 | 399.935028 2.600000 21 | 413.266998 2.680000 22 | 435.018036 2.800000 23 | 450.835999 2.860000 24 | 467.849030 2.900000 25 | 486.196014 2.920000 26 | 506.041016 2.900000 27 | 527.575012 2.880000 28 | 551.022034 2.870000 29 | 576.651001 2.870000 30 | 604.781006 2.870000 31 | 635.795044 2.860000 32 | 670.162048 2.890000 33 | 708.456970 2.990000 34 | 751.393982 3.130000 35 | 799.871033 3.370000 36 | 855.033997 3.680000 37 | -------------------------------------------------------------------------------- /data/ior/Nb_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Nb 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.640000 12 | 317.897003 2.620000 13 | 326.263000 2.590000 14 | 335.081024 2.560000 15 | 344.389008 2.520000 16 | 354.229004 2.480000 17 | 364.647003 2.460000 18 | 375.696991 2.440000 19 | 387.437988 2.450000 20 | 399.935028 2.480000 21 | 413.266998 2.510000 22 | 435.018036 2.580000 23 | 450.835999 2.660000 24 | 467.849030 2.740000 25 | 486.196014 2.830000 26 | 506.041016 2.890000 27 | 527.575012 2.920000 28 | 551.022034 2.930000 29 | 576.651001 2.920000 30 | 604.781006 2.890000 31 | 635.795044 2.820000 32 | 670.162048 2.690000 33 | 708.456970 2.540000 34 | 751.393982 2.360000 35 | 799.871033 2.150000 36 | 855.033997 1.950000 37 | -------------------------------------------------------------------------------- /src/libhw/data/sh_directional.frag: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | void main() { 20 | float depth = gl_FragCoord.z, 21 | dx = dFdx(depth), dy = dFdy(depth); 22 | gl_FragDepth = depth + sqrt(dx*dx+dy*dy); 23 | } 24 | -------------------------------------------------------------------------------- /src/mtsgui/resources/zoom-reset.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/mtsgui/save.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include "common.h" 20 | 21 | extern void saveScene(QWidget *parent, SceneContext *ctx, const QString &targetFile); 22 | extern void cleanupXML(QTextStream &input, QTextStream &output); 23 | -------------------------------------------------------------------------------- /data/ior/MgO.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for MgO 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; MgO_llnl_cxro + MgO_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 0.000000 11 | 330.613007 0.000000 12 | 351.118988 0.000000 13 | 355.549011 0.000001 14 | 360.932007 0.000001 15 | 361.141998 0.000001 16 | 364.968994 0.000000 17 | 382.065002 0.000000 18 | 386.712006 0.000000 19 | 393.337982 0.000000 20 | 404.634003 0.000000 21 | 430.935028 0.000000 22 | 435.781982 0.000000 23 | 457.829010 0.000000 24 | 477.949036 0.000000 25 | 486.004974 0.000000 26 | 487.918030 0.000000 27 | 499.919006 0.000000 28 | 502.350006 0.000000 29 | 508.531982 0.000000 30 | 514.440002 0.000000 31 | 546.166992 0.000000 32 | 589.258972 0.000000 33 | 632.874023 0.000000 34 | 643.718018 0.000000 35 | 656.325989 0.000000 36 | 667.635986 0.000000 37 | 690.695984 0.000000 38 | 706.439026 0.000000 39 | 767.677979 0.000000 40 | -------------------------------------------------------------------------------- /data/ior/MgO.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for MgO 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; MgO_llnl_cxro + MgO_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 309.950012 1.798000 11 | 330.613007 1.785000 12 | 351.118988 1.776800 13 | 355.549011 1.775500 14 | 360.932007 1.773200 15 | 361.141998 1.773180 16 | 364.968994 1.771860 17 | 382.065002 1.766800 18 | 386.712006 1.765500 19 | 393.337982 1.763800 20 | 404.634003 1.761040 21 | 430.935028 1.755700 22 | 435.781982 1.754710 23 | 457.829010 1.751200 24 | 477.949036 1.748300 25 | 486.004974 1.747110 26 | 487.918030 1.746900 27 | 499.919006 1.745400 28 | 502.350006 1.745300 29 | 508.531982 1.744460 30 | 514.440002 1.743900 31 | 546.166992 1.740770 32 | 589.258972 1.737370 33 | 632.874023 1.734600 34 | 643.718018 1.734000 35 | 656.325989 1.733350 36 | 667.635986 1.732770 37 | 690.695984 1.731910 38 | 706.439026 1.731010 39 | 767.677979 1.728720 40 | -------------------------------------------------------------------------------- /data/ior/Rh_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Rh 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 0.840000 12 | 309.950012 0.860000 13 | 317.897003 0.880000 14 | 326.263000 0.910000 15 | 335.081024 0.950000 16 | 344.389008 0.990000 17 | 354.229004 1.040000 18 | 364.647003 1.110000 19 | 375.696991 1.200000 20 | 387.437988 1.300000 21 | 399.935028 1.410000 22 | 413.266998 1.530000 23 | 427.516998 1.630000 24 | 459.185028 1.800000 25 | 476.846008 1.850000 26 | 495.920013 1.880000 27 | 516.583008 1.900000 28 | 539.044006 1.940000 29 | 563.545044 2.000000 30 | 590.381042 2.050000 31 | 619.900024 2.120000 32 | 652.526001 2.200000 33 | 688.778015 2.300000 34 | 729.294006 2.420000 35 | 774.875000 2.600000 36 | 826.533020 2.780000 37 | 885.570984 3.010000 38 | -------------------------------------------------------------------------------- /data/ior/Rh_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Rh 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 3.030000 12 | 309.950012 3.120000 13 | 317.897003 3.230000 14 | 326.263000 3.340000 15 | 335.081024 3.450000 16 | 344.389008 3.580000 17 | 354.229004 3.710000 18 | 364.647003 3.840000 19 | 375.696991 3.970000 20 | 387.437988 4.090000 21 | 399.935028 4.200000 22 | 413.266998 4.290000 23 | 427.516998 4.360000 24 | 459.185028 4.490000 25 | 476.846008 4.550000 26 | 495.920013 4.650000 27 | 516.583008 4.780000 28 | 539.044006 4.940000 29 | 563.545044 5.110000 30 | 590.381042 5.300000 31 | 619.900024 5.510000 32 | 652.526001 5.760000 33 | 688.778015 6.020000 34 | 729.294006 6.330000 35 | 774.875000 6.640000 36 | 826.533020 6.970000 37 | 885.570984 7.310000 38 | -------------------------------------------------------------------------------- /data/ior/SiC_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for hexagonal SiC, ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.850000 12 | 317.897003 2.923000 13 | 326.263000 2.899000 14 | 335.081024 2.877000 15 | 344.389008 2.856000 16 | 354.229004 2.836000 17 | 364.647003 2.817000 18 | 375.696991 2.799000 19 | 387.437988 2.781000 20 | 399.935028 2.765000 21 | 413.266998 2.750000 22 | 435.781982 2.730500 23 | 466.968018 2.707400 24 | 495.920013 2.684000 25 | 497.912018 2.687000 26 | 515.080994 2.678900 27 | 546.166992 2.663100 28 | 567.934021 2.655700 29 | 577.995056 2.651100 30 | 588.979004 2.648800 31 | 589.539001 2.647500 32 | 615.897034 2.641100 33 | 619.900024 2.634000 34 | 656.325989 2.629600 35 | 691.080994 2.624300 36 | 826.533020 2.598000 37 | -------------------------------------------------------------------------------- /data/ior/SiC_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for hexagonal SiC, ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 0.174000 12 | 317.897003 0.007650 13 | 326.263000 0.005980 14 | 335.081024 0.004930 15 | 344.389008 0.003750 16 | 354.229004 0.002890 17 | 364.647003 0.002040 18 | 375.696991 0.001380 19 | 387.437988 0.000839 20 | 399.935028 0.000191 21 | 413.266998 0.000044 22 | 435.781982 0.000000 23 | 466.968018 0.000000 24 | 495.920013 0.000012 25 | 497.912018 0.000000 26 | 515.080994 0.000000 27 | 546.166992 0.000000 28 | 567.934021 0.000000 29 | 577.995056 0.000000 30 | 588.979004 0.000000 31 | 589.539001 0.000000 32 | 615.897034 0.000000 33 | 619.900024 0.000000 34 | 656.325989 0.000000 35 | 691.080994 0.000000 36 | 826.533020 0.000000 37 | -------------------------------------------------------------------------------- /src/libhw/data/sh_cube_1pass.frag: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | /* Linear depth from the vertex shader */ 20 | varying float depth; 21 | 22 | void main() { 23 | float dx = dFdx(depth), dy = dFdy(depth); 24 | gl_FragDepth = depth + sqrt(dx*dx+dy*dy); 25 | } 26 | -------------------------------------------------------------------------------- /data/ior/Ir_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ir 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 1.620000 12 | 309.950012 1.640000 13 | 317.897003 1.640000 14 | 326.263000 1.610000 15 | 335.081024 1.570000 16 | 344.389008 1.520000 17 | 354.229004 1.500000 18 | 364.647003 1.530000 19 | 375.696991 1.570000 20 | 387.437988 1.620000 21 | 399.935028 1.680000 22 | 413.266998 1.730000 23 | 427.516998 1.770000 24 | 442.785980 1.810000 25 | 459.185028 1.850000 26 | 476.846008 1.910000 27 | 495.920013 1.980000 28 | 516.583008 2.070000 29 | 539.044006 2.180000 30 | 563.545044 2.290000 31 | 590.381042 2.400000 32 | 619.900024 2.500000 33 | 652.526001 2.570000 34 | 688.778015 2.640000 35 | 729.294006 2.690000 36 | 774.875000 2.680000 37 | 826.533020 2.650000 38 | 885.570984 2.720000 39 | -------------------------------------------------------------------------------- /data/ior/Ir_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ir 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 2.700000 12 | 309.950012 2.680000 13 | 317.897003 2.670000 14 | 326.263000 2.690000 15 | 335.081024 2.720000 16 | 344.389008 2.810000 17 | 354.229004 2.930000 18 | 364.647003 3.050000 19 | 375.696991 3.150000 20 | 387.437988 3.260000 21 | 399.935028 3.350000 22 | 413.266998 3.430000 23 | 427.516998 3.510000 24 | 442.785980 3.610000 25 | 459.185028 3.730000 26 | 476.846008 3.860000 27 | 495.920013 4.000000 28 | 516.583008 4.140000 29 | 539.044006 4.260000 30 | 563.545044 4.380000 31 | 590.381042 4.480000 32 | 619.900024 4.570000 33 | 652.526001 4.680000 34 | 688.778015 4.810000 35 | 729.294006 4.920000 36 | 774.875000 5.080000 37 | 826.533020 5.390000 38 | 885.570984 5.740000 39 | -------------------------------------------------------------------------------- /data/ior/Mo_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Mo 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 2.910000 12 | 309.950012 3.010000 13 | 317.897003 3.040000 14 | 326.263000 3.040000 15 | 335.081024 3.040000 16 | 344.389008 3.050000 17 | 354.229004 3.060000 18 | 364.647003 3.060000 19 | 375.696991 3.060000 20 | 387.437988 3.050000 21 | 399.935028 3.030000 22 | 413.266998 3.040000 23 | 427.516998 3.050000 24 | 442.785980 3.080000 25 | 459.185028 3.130000 26 | 476.846008 3.220000 27 | 495.920013 3.360000 28 | 516.583008 3.590000 29 | 539.044006 3.790000 30 | 563.545044 3.760000 31 | 590.381042 3.680000 32 | 619.900024 3.680000 33 | 652.526001 3.740000 34 | 688.778015 3.810000 35 | 729.294006 3.840000 36 | 774.875000 3.770000 37 | 826.533020 3.530000 38 | 885.570984 3.150000 39 | -------------------------------------------------------------------------------- /data/ior/Mo_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Mo 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 3.670000 12 | 309.950012 3.510000 13 | 317.897003 3.400000 14 | 326.263000 3.310000 15 | 335.081024 3.270000 16 | 344.389008 3.240000 17 | 354.229004 3.210000 18 | 364.647003 3.190000 19 | 375.696991 3.180000 20 | 387.437988 3.180000 21 | 399.935028 3.220000 22 | 413.266998 3.270000 23 | 427.516998 3.330000 24 | 442.785980 3.420000 25 | 459.185028 3.510000 26 | 476.846008 3.610000 27 | 495.920013 3.730000 28 | 516.583008 3.780000 29 | 539.044006 3.610000 30 | 563.545044 3.410000 31 | 590.381042 3.450000 32 | 619.900024 3.520000 33 | 652.526001 3.580000 34 | 688.778015 3.580000 35 | 729.294006 3.510000 36 | 774.875000 3.410000 37 | 826.533020 3.300000 38 | 885.570984 3.400000 39 | -------------------------------------------------------------------------------- /data/ior/V_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for V 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 1.510000 12 | 309.950012 1.560000 13 | 317.897003 1.640000 14 | 326.263000 1.730000 15 | 335.081024 1.840000 16 | 344.389008 1.960000 17 | 354.229004 2.070000 18 | 364.647003 2.180000 19 | 375.696991 2.300000 20 | 387.437988 2.420000 21 | 399.935028 2.550000 22 | 413.266998 2.710000 23 | 427.516998 2.840000 24 | 442.785980 3.030000 25 | 459.185028 3.190000 26 | 476.846008 3.360000 27 | 495.920013 3.530000 28 | 516.583008 3.630000 29 | 539.044006 3.680000 30 | 563.545044 3.680000 31 | 590.381042 3.650000 32 | 619.900024 3.550000 33 | 652.526001 3.500000 34 | 688.778015 3.430000 35 | 729.294006 3.410000 36 | 774.875000 3.420000 37 | 826.533020 3.470000 38 | 885.570984 3.430000 39 | -------------------------------------------------------------------------------- /data/ior/V_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for V 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 2.730000 12 | 309.950012 2.810000 13 | 317.897003 2.890000 14 | 326.263000 2.970000 15 | 335.081024 3.060000 16 | 344.389008 3.140000 17 | 354.229004 3.220000 18 | 364.647003 3.260000 19 | 375.696991 3.310000 20 | 387.437988 3.330000 21 | 399.935028 3.380000 22 | 413.266998 3.380000 23 | 427.516998 3.420000 24 | 442.785980 3.400000 25 | 459.185028 3.380000 26 | 476.846008 3.330000 27 | 495.920013 3.260000 28 | 516.583008 3.150000 29 | 539.044006 3.050000 30 | 563.545044 2.980000 31 | 590.381042 2.940000 32 | 619.900024 2.930000 33 | 652.526001 2.990000 34 | 688.778015 3.050000 35 | 729.294006 3.080000 36 | 774.875000 3.140000 37 | 826.533020 3.180000 38 | 885.570984 3.220000 39 | -------------------------------------------------------------------------------- /src/libhw/data/sh_hemicube_1pass.frag: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | /* Linear depth from the vertex shader */ 20 | varying float depth; 21 | 22 | void main() { 23 | float dx = dFdx(depth), dy = dFdy(depth); 24 | gl_FragDepth = depth + sqrt(dx*dx+dy*dy); 25 | } 26 | -------------------------------------------------------------------------------- /src/libhw/data/sh_unsupported.vert: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | /* Uniform parameters */ 20 | uniform mat4 instanceTransform; 21 | 22 | void main() { 23 | vec4 pos = instanceTransform * gl_Vertex; 24 | gl_Position = gl_ModelViewProjectionMatrix * pos; 25 | } 26 | -------------------------------------------------------------------------------- /src/mtsgui/shaders/downsampling.frag: -------------------------------------------------------------------------------- 1 | uniform sampler2D source; 2 | uniform vec2 sourceSize; 3 | uniform vec2 invSourceSize; 4 | 5 | /* Perform a texture lookup by pixel coordinates */ 6 | vec4 lookupPixel(vec2 coords) { 7 | coords = coords + vec2(0.5, 0.5); 8 | if (coords.x < 0.0 || coords.y < 0.0 || 9 | coords.x > sourceSize.x || coords.y > sourceSize.y) 10 | return vec4(0); 11 | else 12 | return texture2D(source, coords*invSourceSize); 13 | } 14 | 15 | /* Find the max. luminance and the sum of all log-luminance values */ 16 | void main() { 17 | vec2 pos = (gl_TexCoord[0].xy-vec2(.5, .5))*2.0; 18 | vec2 pixel0 = lookupPixel(pos).rg, 19 | pixel1 = lookupPixel(pos + vec2(1, 0)).rg, 20 | pixel2 = lookupPixel(pos + vec2(0, 1)).rg, 21 | pixel3 = lookupPixel(pos + vec2(1, 1)).rg; 22 | gl_FragColor.r = pixel0.r + pixel1.r + pixel2.r + pixel3.r; 23 | gl_FragColor.g = max(pixel0.g, max(pixel1.g, max(pixel2.g, pixel3.g))); 24 | gl_FragColor.ba = vec2(0, 1); 25 | } 26 | -------------------------------------------------------------------------------- /src/libhw/data/sh_background.vert: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | uniform mat4 clipToWorld; 20 | varying vec3 position; 21 | 22 | void main() { 23 | vec4 pos = ftransform(); 24 | gl_Position = pos; 25 | 26 | vec4 tmp = clipToWorld * pos; 27 | position = tmp.xyz / tmp.w; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /data/ior/MgO_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for MgO 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.798000 12 | 330.613007 1.785000 13 | 351.118988 1.776800 14 | 355.549011 1.775500 15 | 360.932007 1.773200 16 | 361.141998 1.773180 17 | 364.968994 1.771860 18 | 382.065002 1.766800 19 | 386.712006 1.765500 20 | 393.337982 1.763800 21 | 404.634003 1.761040 22 | 430.935028 1.755700 23 | 435.781982 1.754710 24 | 457.829010 1.751200 25 | 477.949036 1.748300 26 | 486.004974 1.747110 27 | 487.918030 1.746900 28 | 499.919006 1.745400 29 | 502.350006 1.745300 30 | 508.531982 1.744460 31 | 514.440002 1.743900 32 | 546.166992 1.740770 33 | 589.258972 1.737370 34 | 632.874023 1.734600 35 | 643.718018 1.734000 36 | 656.325989 1.733350 37 | 667.635986 1.732770 38 | 690.695984 1.731910 39 | 706.439026 1.731010 40 | 767.677979 1.728720 41 | -------------------------------------------------------------------------------- /data/ior/MgO_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for MgO 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 0.000000 12 | 330.613007 0.000000 13 | 351.118988 0.000000 14 | 355.549011 0.000001 15 | 360.932007 0.000001 16 | 361.141998 0.000001 17 | 364.968994 0.000000 18 | 382.065002 0.000000 19 | 386.712006 0.000000 20 | 393.337982 0.000000 21 | 404.634003 0.000000 22 | 430.935028 0.000000 23 | 435.781982 0.000000 24 | 457.829010 0.000000 25 | 477.949036 0.000000 26 | 486.004974 0.000000 27 | 487.918030 0.000000 28 | 499.919006 0.000000 29 | 502.350006 0.000000 30 | 508.531982 0.000000 31 | 514.440002 0.000000 32 | 546.166992 0.000000 33 | 589.258972 0.000000 34 | 632.874023 0.000000 35 | 643.718018 0.000000 36 | 656.325989 0.000000 37 | 667.635986 0.000000 38 | 690.695984 0.000000 39 | 706.439026 0.000000 40 | 767.677979 0.000000 41 | -------------------------------------------------------------------------------- /src/libhw/gpusync.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include 20 | 21 | MTS_NAMESPACE_BEGIN 22 | 23 | GPUSync::GPUSync() { } 24 | GPUSync::~GPUSync() { } 25 | std::string GPUSync::toString() const { 26 | return "GPUSync[]"; 27 | } 28 | 29 | MTS_IMPLEMENT_CLASS(GPUSync, true, Object) 30 | MTS_NAMESPACE_END 31 | -------------------------------------------------------------------------------- /src/mtsgui/tabbar.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__TABBAR_H) 20 | #define __TABBAR_H 21 | 22 | #include 23 | 24 | class CustomTabBar : public QTabBar { 25 | Q_OBJECT 26 | public: 27 | CustomTabBar(QWidget *parent); 28 | virtual ~CustomTabBar(); 29 | }; 30 | 31 | #endif // __TABBAR_H 32 | -------------------------------------------------------------------------------- /src/mitsuba/darwin_stub.mm: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #import 20 | 21 | extern int mts_main(int argc, char **argv); 22 | 23 | int main(int argc, char **argv) { 24 | NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 25 | int retval = mts_main(argc, argv); 26 | [pool release]; 27 | return retval; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /data/ior/TiO2.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for tetragonal TiO2, ordinary ray 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; TiO2_llnl_cxro + TiO2_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 305.972015 1.950000 11 | 317.979004 2.180000 12 | 334.990997 0.788000 13 | 344.007019 0.000000 14 | 359.988007 0.251000 15 | 388.044006 0.000000 16 | 399.935028 0.000000 17 | 412.031006 0.022000 18 | 419.985992 0.000000 19 | 439.957001 0.000000 20 | 460.037018 0.000000 21 | 479.985016 0.000000 22 | 499.919006 0.000000 23 | 520.049988 0.000000 24 | 539.044006 0.000000 25 | 539.983032 0.000000 26 | 559.981995 0.000000 27 | 579.888000 0.000000 28 | 600.097046 0.000000 29 | 619.900024 0.000000 30 | 640.062012 0.000000 31 | 659.819031 0.000000 32 | 680.088013 0.000000 33 | 700.056030 0.000000 34 | 719.976990 0.000000 35 | 740.179016 0.000000 36 | 760.147034 0.000000 37 | 779.747986 0.000000 38 | 799.871033 0.000000 39 | 819.974060 0.000000 40 | 839.973083 0.000000 41 | 859.778015 0.000000 42 | 879.915039 0.000000 43 | 899.709961 0.000000 44 | -------------------------------------------------------------------------------- /data/ior/TiO2.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for tetragonal TiO2, ordinary ray 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; TiO2_llnl_cxro + TiO2_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 305.972015 3.840000 11 | 317.979004 5.380000 12 | 334.990997 4.220000 13 | 344.007019 4.360000 14 | 359.988007 3.870000 15 | 388.044006 3.490000 16 | 399.935028 3.400000 17 | 412.031006 3.240000 18 | 419.985992 3.290000 19 | 439.957001 3.200000 20 | 460.037018 3.130000 21 | 479.985016 3.080000 22 | 499.919006 3.030000 23 | 520.049988 3.000000 24 | 539.044006 2.950000 25 | 539.983032 2.970000 26 | 559.981995 2.940000 27 | 579.888000 2.920000 28 | 600.097046 2.900000 29 | 619.900024 2.880000 30 | 640.062012 2.870000 31 | 659.819031 2.850000 32 | 680.088013 2.840000 33 | 700.056030 2.830000 34 | 719.976990 2.820000 35 | 740.179016 2.810000 36 | 760.147034 2.810000 37 | 779.747986 2.800000 38 | 799.871033 2.790000 39 | 819.974060 2.790000 40 | 839.973083 2.780000 41 | 859.778015 2.780000 42 | 879.915039 2.770000 43 | 899.709961 2.770000 44 | -------------------------------------------------------------------------------- /data/ior/Ni_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ni 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 1.740000 12 | 309.950012 1.730000 13 | 317.897003 1.720000 14 | 326.263000 1.690000 15 | 335.081024 1.660000 16 | 344.389008 1.640000 17 | 354.229004 1.630000 18 | 364.647003 1.620000 19 | 375.696991 1.610000 20 | 387.437988 1.610000 21 | 399.935028 1.610000 22 | 413.266998 1.610000 23 | 427.516998 1.620000 24 | 442.785980 1.620000 25 | 459.185028 1.640000 26 | 476.846008 1.660000 27 | 495.920013 1.670000 28 | 516.583008 1.710000 29 | 539.044006 1.750000 30 | 563.545044 1.800000 31 | 590.381042 1.850000 32 | 619.900024 1.930000 33 | 635.795044 1.980000 34 | 652.526001 2.020000 35 | 670.162048 2.080000 36 | 688.778015 2.140000 37 | 708.456970 2.210000 38 | 729.294006 2.280000 39 | 751.393982 2.360000 40 | 774.875000 2.430000 41 | 799.871033 2.480000 42 | 826.533020 2.530000 43 | 855.033997 2.590000 44 | 885.570984 2.650000 45 | -------------------------------------------------------------------------------- /data/ior/Ni_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ni 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 1.990000 12 | 309.950012 1.980000 13 | 317.897003 1.980000 14 | 326.263000 1.990000 15 | 335.081024 2.020000 16 | 344.389008 2.070000 17 | 354.229004 2.110000 18 | 364.647003 2.170000 19 | 375.696991 2.230000 20 | 387.437988 2.300000 21 | 399.935028 2.360000 22 | 413.266998 2.440000 23 | 427.516998 2.520000 24 | 442.785980 2.610000 25 | 459.185028 2.710000 26 | 476.846008 2.810000 27 | 495.920013 2.930000 28 | 516.583008 3.060000 29 | 539.044006 3.190000 30 | 563.545044 3.330000 31 | 590.381042 3.480000 32 | 619.900024 3.650000 33 | 635.795044 3.740000 34 | 652.526001 3.820000 35 | 670.162048 3.910000 36 | 688.778015 4.000000 37 | 708.456970 4.090000 38 | 729.294006 4.180000 39 | 751.393982 4.250000 40 | 774.875000 4.310000 41 | 799.871033 4.380000 42 | 826.533020 4.470000 43 | 855.033997 4.550000 44 | 885.570984 4.630000 45 | -------------------------------------------------------------------------------- /data/ior/TiO2-e.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for tetragonal TiO2, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 307.033020 3.420000 12 | 317.979004 4.000000 13 | 327.037994 3.870000 14 | 344.007019 4.300000 15 | 358.013000 3.380000 16 | 388.044006 2.880000 17 | 399.935028 3.000000 18 | 402.010010 3.000000 19 | 419.985992 2.910000 20 | 439.957001 2.840000 21 | 460.037018 2.790000 22 | 479.985016 2.750000 23 | 499.919006 2.710000 24 | 520.049988 2.680000 25 | 539.983032 2.660000 26 | 559.981995 2.640000 27 | 579.888000 2.620000 28 | 600.097046 2.600000 29 | 619.900024 2.590000 30 | 640.062012 2.580000 31 | 659.819031 2.570000 32 | 680.088013 2.560000 33 | 700.056030 2.550000 34 | 719.976990 2.540000 35 | 740.179016 2.540000 36 | 760.147034 2.530000 37 | 779.747986 2.520000 38 | 799.871033 2.520000 39 | 819.974060 2.520000 40 | 839.973083 2.510000 41 | 859.778015 2.510000 42 | 879.915039 2.500000 43 | 899.709961 2.500000 44 | -------------------------------------------------------------------------------- /data/ior/TiO2-e.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for tetragonal TiO2, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 307.033020 1.610000 12 | 317.979004 1.790000 13 | 327.037994 0.810000 14 | 344.007019 0.000000 15 | 358.013000 0.117000 16 | 388.044006 0.000000 17 | 399.935028 0.000000 18 | 402.010010 0.008000 19 | 419.985992 0.000000 20 | 439.957001 0.000000 21 | 460.037018 0.000000 22 | 479.985016 0.000000 23 | 499.919006 0.000000 24 | 520.049988 0.000000 25 | 539.983032 0.000000 26 | 559.981995 0.000000 27 | 579.888000 0.000000 28 | 600.097046 0.000000 29 | 619.900024 0.000000 30 | 640.062012 0.000000 31 | 659.819031 0.000000 32 | 680.088013 0.000000 33 | 700.056030 0.000000 34 | 719.976990 0.000000 35 | 740.179016 0.000000 36 | 760.147034 0.000000 37 | 779.747986 0.000000 38 | 799.871033 0.000000 39 | 819.974060 0.000000 40 | 839.973083 0.000000 41 | 859.778015 0.000000 42 | 879.915039 0.000000 43 | 899.709961 0.000000 44 | -------------------------------------------------------------------------------- /src/libhw/data/sh_cube_6pass.frag: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | /* Linear depth from the vertex shader */ 20 | varying float depth; 21 | 22 | void main() { 23 | float dx = dFdx(depth), dy = dFdy(depth); 24 | 25 | #ifndef DEPTH_CUBEMAPS_UNSUPPORTED 26 | gl_FragDepth = depth + sqrt(dx*dx+dy*dy); 27 | #else 28 | gl_FragDepth = gl_FragColor.r = depth + sqrt(dx*dx+dy*dy); 29 | #endif 30 | } 31 | -------------------------------------------------------------------------------- /data/ior/TiO2-e_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for tetragonal TiO2, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 307.033020 3.420000 12 | 317.979004 4.000000 13 | 327.037994 3.870000 14 | 344.007019 4.300000 15 | 358.013000 3.380000 16 | 388.044006 2.880000 17 | 399.935028 3.000000 18 | 402.010010 3.000000 19 | 419.985992 2.910000 20 | 439.957001 2.840000 21 | 460.037018 2.790000 22 | 479.985016 2.750000 23 | 499.919006 2.710000 24 | 520.049988 2.680000 25 | 539.983032 2.660000 26 | 559.981995 2.640000 27 | 579.888000 2.620000 28 | 600.097046 2.600000 29 | 619.900024 2.590000 30 | 640.062012 2.580000 31 | 659.819031 2.570000 32 | 680.088013 2.560000 33 | 700.056030 2.550000 34 | 719.976990 2.540000 35 | 740.179016 2.540000 36 | 760.147034 2.530000 37 | 779.747986 2.520000 38 | 799.871033 2.520000 39 | 819.974060 2.520000 40 | 839.973083 2.510000 41 | 859.778015 2.510000 42 | 879.915039 2.500000 43 | 899.709961 2.500000 44 | -------------------------------------------------------------------------------- /data/ior/TiO2-e_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for tetragonal TiO2, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 307.033020 1.610000 12 | 317.979004 1.790000 13 | 327.037994 0.810000 14 | 344.007019 0.000000 15 | 358.013000 0.117000 16 | 388.044006 0.000000 17 | 399.935028 0.000000 18 | 402.010010 0.008000 19 | 419.985992 0.000000 20 | 439.957001 0.000000 21 | 460.037018 0.000000 22 | 479.985016 0.000000 23 | 499.919006 0.000000 24 | 520.049988 0.000000 25 | 539.983032 0.000000 26 | 559.981995 0.000000 27 | 579.888000 0.000000 28 | 600.097046 0.000000 29 | 619.900024 0.000000 30 | 640.062012 0.000000 31 | 659.819031 0.000000 32 | 680.088013 0.000000 33 | 700.056030 0.000000 34 | 719.976990 0.000000 35 | 740.179016 0.000000 36 | 760.147034 0.000000 37 | 779.747986 0.000000 38 | 799.871033 0.000000 39 | 819.974060 0.000000 40 | 839.973083 0.000000 41 | 859.778015 0.000000 42 | 879.915039 0.000000 43 | 899.709961 0.000000 44 | -------------------------------------------------------------------------------- /src/libhw/data/sh_cube_6pass.vert: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | /* Transformation matrix for the current cube map face */ 20 | uniform mat4 transform; 21 | 22 | /* Depth projection axis */ 23 | uniform vec4 projDir; 24 | 25 | /* -> Fragment shader */ 26 | varying float depth; 27 | 28 | void main() { 29 | vec4 pos = gl_ModelViewMatrix * gl_Vertex; 30 | gl_Position = transform * pos; 31 | depth = dot(projDir, pos); 32 | } 33 | -------------------------------------------------------------------------------- /data/ior/TiO2_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for tetragonal TiO2, ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 305.972015 3.840000 12 | 317.979004 5.380000 13 | 334.990997 4.220000 14 | 344.007019 4.360000 15 | 359.988007 3.870000 16 | 388.044006 3.490000 17 | 399.935028 3.400000 18 | 412.031006 3.240000 19 | 419.985992 3.290000 20 | 439.957001 3.200000 21 | 460.037018 3.130000 22 | 479.985016 3.080000 23 | 499.919006 3.030000 24 | 520.049988 3.000000 25 | 539.044006 2.950000 26 | 539.983032 2.970000 27 | 559.981995 2.940000 28 | 579.888000 2.920000 29 | 600.097046 2.900000 30 | 619.900024 2.880000 31 | 640.062012 2.870000 32 | 659.819031 2.850000 33 | 680.088013 2.840000 34 | 700.056030 2.830000 35 | 719.976990 2.820000 36 | 740.179016 2.810000 37 | 760.147034 2.810000 38 | 779.747986 2.800000 39 | 799.871033 2.790000 40 | 819.974060 2.790000 41 | 839.973083 2.780000 42 | 859.778015 2.780000 43 | 879.915039 2.770000 44 | 899.709961 2.770000 45 | -------------------------------------------------------------------------------- /data/ior/TiO2_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for tetragonal TiO2, ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1985. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 305.972015 1.950000 12 | 317.979004 2.180000 13 | 334.990997 0.788000 14 | 344.007019 0.000000 15 | 359.988007 0.251000 16 | 388.044006 0.000000 17 | 399.935028 0.000000 18 | 412.031006 0.022000 19 | 419.985992 0.000000 20 | 439.957001 0.000000 21 | 460.037018 0.000000 22 | 479.985016 0.000000 23 | 499.919006 0.000000 24 | 520.049988 0.000000 25 | 539.044006 0.000000 26 | 539.983032 0.000000 27 | 559.981995 0.000000 28 | 579.888000 0.000000 29 | 600.097046 0.000000 30 | 619.900024 0.000000 31 | 640.062012 0.000000 32 | 659.819031 0.000000 33 | 680.088013 0.000000 34 | 700.056030 0.000000 35 | 719.976990 0.000000 36 | 740.179016 0.000000 37 | 760.147034 0.000000 38 | 779.747986 0.000000 39 | 799.871033 0.000000 40 | 819.974060 0.000000 41 | 839.973083 0.000000 42 | 859.778015 0.000000 43 | 879.915039 0.000000 44 | 899.709961 0.000000 45 | -------------------------------------------------------------------------------- /data/ior/ThF4.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline ThF4 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 0.000000 12 | 319.947998 0.000000 13 | 329.997009 0.000000 14 | 340.044006 0.000000 15 | 349.929016 0.000000 16 | 359.988007 0.000000 17 | 369.979004 0.000000 18 | 379.957001 0.000000 19 | 389.997009 0.000000 20 | 399.935028 0.000000 21 | 409.987030 0.000000 22 | 419.985992 0.000000 23 | 430.037994 0.000000 24 | 435.781982 0.000000 25 | 439.957001 0.000000 26 | 450.018036 0.000000 27 | 460.037018 0.000000 28 | 469.977020 0.000000 29 | 479.985016 0.000000 30 | 490.040009 0.000000 31 | 499.919006 0.000000 32 | 509.996002 0.000000 33 | 520.049988 0.000000 34 | 539.983032 0.000000 35 | 545.927002 0.000000 36 | 559.981995 0.000000 37 | 579.888000 0.000000 38 | 600.097046 0.000000 39 | 619.900024 0.000000 40 | 640.062012 0.000000 41 | 659.819031 0.000000 42 | 700.056030 0.000000 43 | 739.737000 0.000000 44 | 779.747986 0.000000 45 | 799.871033 0.000000 46 | -------------------------------------------------------------------------------- /data/ior/ThF4.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline ThF4 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.545000 12 | 319.947998 1.542000 13 | 329.997009 1.540000 14 | 340.044006 1.538000 15 | 349.929016 1.536000 16 | 359.988007 1.534000 17 | 369.979004 1.532000 18 | 379.957001 1.531000 19 | 389.997009 1.530000 20 | 399.935028 1.529000 21 | 409.987030 1.528000 22 | 419.985992 1.527000 23 | 430.037994 1.526000 24 | 435.781982 1.533000 25 | 439.957001 1.526000 26 | 450.018036 1.525000 27 | 460.037018 1.524000 28 | 469.977020 1.524000 29 | 479.985016 1.523000 30 | 490.040009 1.523000 31 | 499.919006 1.523000 32 | 509.996002 1.522000 33 | 520.049988 1.522000 34 | 539.983032 1.521000 35 | 545.927002 1.521000 36 | 559.981995 1.521000 37 | 579.888000 1.520000 38 | 600.097046 1.520000 39 | 619.900024 1.520000 40 | 640.062012 1.519000 41 | 659.819031 1.519000 42 | 700.056030 1.519000 43 | 739.737000 1.518000 44 | 779.747986 1.518000 45 | 799.871033 1.518000 46 | -------------------------------------------------------------------------------- /data/ior/ThF4_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline ThF4 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 0.000000 12 | 319.947998 0.000000 13 | 329.997009 0.000000 14 | 340.044006 0.000000 15 | 349.929016 0.000000 16 | 359.988007 0.000000 17 | 369.979004 0.000000 18 | 379.957001 0.000000 19 | 389.997009 0.000000 20 | 399.935028 0.000000 21 | 409.987030 0.000000 22 | 419.985992 0.000000 23 | 430.037994 0.000000 24 | 435.781982 0.000000 25 | 439.957001 0.000000 26 | 450.018036 0.000000 27 | 460.037018 0.000000 28 | 469.977020 0.000000 29 | 479.985016 0.000000 30 | 490.040009 0.000000 31 | 499.919006 0.000000 32 | 509.996002 0.000000 33 | 520.049988 0.000000 34 | 539.983032 0.000000 35 | 545.927002 0.000000 36 | 559.981995 0.000000 37 | 579.888000 0.000000 38 | 600.097046 0.000000 39 | 619.900024 0.000000 40 | 640.062012 0.000000 41 | 659.819031 0.000000 42 | 700.056030 0.000000 43 | 739.737000 0.000000 44 | 779.747986 0.000000 45 | 799.871033 0.000000 46 | -------------------------------------------------------------------------------- /data/ior/ThF4_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for polycrystalline ThF4 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.545000 12 | 319.947998 1.542000 13 | 329.997009 1.540000 14 | 340.044006 1.538000 15 | 349.929016 1.536000 16 | 359.988007 1.534000 17 | 369.979004 1.532000 18 | 379.957001 1.531000 19 | 389.997009 1.530000 20 | 399.935028 1.529000 21 | 409.987030 1.528000 22 | 419.985992 1.527000 23 | 430.037994 1.526000 24 | 435.781982 1.533000 25 | 439.957001 1.526000 26 | 450.018036 1.525000 27 | 460.037018 1.524000 28 | 469.977020 1.524000 29 | 479.985016 1.523000 30 | 490.040009 1.523000 31 | 499.919006 1.523000 32 | 509.996002 1.522000 33 | 520.049988 1.522000 34 | 539.983032 1.521000 35 | 545.927002 1.521000 36 | 559.981995 1.521000 37 | 579.888000 1.520000 38 | 600.097046 1.520000 39 | 619.900024 1.520000 40 | 640.062012 1.519000 41 | 659.819031 1.519000 42 | 700.056030 1.519000 43 | 739.737000 1.518000 44 | 779.747986 1.518000 45 | 799.871033 1.518000 46 | -------------------------------------------------------------------------------- /src/converter/SConscript: -------------------------------------------------------------------------------- 1 | Import('mainEnv', 'hasCollada', 'stubs', 'winstubs') 2 | 3 | 4 | converter_objects = [] 5 | 6 | if hasCollada: 7 | import platform 8 | 9 | colladaEnv = mainEnv.Clone() 10 | colladaEnv.Prepend(CXXFLAGS=['-DCOLLADA_DOM_2_4']) 11 | 12 | # Build the COLLADA importer if COLLADA-DOM is vailable 13 | colladaEnv.Append(LIBS=['mitsuba-hw']) 14 | colladaEnv.Append(LIBPATH=['#src/libhw']) 15 | if colladaEnv.has_key('COLLADAINCLUDE'): 16 | colladaEnv.Prepend(CPPPATH=colladaEnv['COLLADAINCLUDE']) 17 | if colladaEnv.has_key('COLLADALIBDIR'): 18 | colladaEnv.Prepend(LIBPATH=colladaEnv['COLLADALIBDIR']) 19 | if colladaEnv.has_key('COLLADALIB'): 20 | colladaEnv.Prepend(LIBS=colladaEnv['COLLADALIB']) 21 | converter_objects += [ 22 | colladaEnv.StaticObject('collada.cpp'), 23 | colladaEnv.StaticObject('obj.cpp'), 24 | colladaEnv.StaticObject('converter.cpp') 25 | ] 26 | colladaEnv.Program('mtsimport', stubs + winstubs + ['mtsimport.cpp'] 27 | + converter_objects) 28 | 29 | Return('converter_objects') 30 | -------------------------------------------------------------------------------- /data/ior/AlAs.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for cubic AlAs 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 2.680000 12 | 309.950012 2.490000 13 | 317.897003 2.150000 14 | 326.263000 1.300000 15 | 335.081024 0.752000 16 | 344.389008 0.519000 17 | 354.229004 0.334000 18 | 364.647003 0.233000 19 | 375.696991 0.139000 20 | 387.437988 0.115000 21 | 393.587006 0.119000 22 | 397.372009 0.115000 23 | 399.935028 0.113000 24 | 403.187012 0.110000 25 | 406.492004 0.106000 26 | 409.850983 0.099800 27 | 413.266998 0.063800 28 | 416.739990 0.031500 29 | 420.270996 0.018900 30 | 423.863007 0.011800 31 | 427.516998 0.010500 32 | 431.235016 0.010300 33 | 435.018036 0.009930 34 | 442.785980 0.001610 35 | 459.185028 0.001560 36 | 476.846008 0.001530 37 | 495.920013 0.001250 38 | 516.583008 0.000682 39 | 539.044006 0.000275 40 | 563.545044 0.000040 41 | 590.381042 0.000002 42 | 619.900024 0.000000 43 | 652.526001 0.000000 44 | 688.778015 0.000000 45 | 729.294006 0.000000 46 | 774.875000 0.000000 47 | 826.533020 0.000000 48 | 885.570984 0.000000 49 | -------------------------------------------------------------------------------- /data/ior/AlAs.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for cubic AlAs 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 4.470000 12 | 309.950012 4.920000 13 | 317.897003 5.350000 14 | 326.263000 5.390000 15 | 335.081024 4.990000 16 | 344.389008 4.720000 17 | 354.229004 4.480000 18 | 364.647003 4.300000 19 | 375.696991 4.130000 20 | 387.437988 3.930000 21 | 393.587006 0.000000 22 | 397.372009 0.000000 23 | 399.935028 0.000000 24 | 403.187012 0.000000 25 | 406.492004 0.000000 26 | 409.850983 0.000000 27 | 413.266998 0.000000 28 | 416.739990 0.000000 29 | 420.270996 0.000000 30 | 423.863007 0.000000 31 | 427.516998 0.000000 32 | 431.235016 0.000000 33 | 435.018036 0.000000 34 | 442.785980 3.703000 35 | 459.185028 3.570000 36 | 476.846008 3.472000 37 | 495.920013 3.394000 38 | 516.583008 3.329000 39 | 539.044006 3.273000 40 | 563.545044 3.225000 41 | 590.381042 3.183000 42 | 619.900024 3.145000 43 | 652.526001 3.112000 44 | 688.778015 3.082000 45 | 729.294006 3.056000 46 | 774.875000 3.032000 47 | 826.533020 3.010000 48 | 885.570984 2.990000 49 | -------------------------------------------------------------------------------- /data/ior/AlAs_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for cubic AlAs 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 2.680000 12 | 309.950012 2.490000 13 | 317.897003 2.150000 14 | 326.263000 1.300000 15 | 335.081024 0.752000 16 | 344.389008 0.519000 17 | 354.229004 0.334000 18 | 364.647003 0.233000 19 | 375.696991 0.139000 20 | 387.437988 0.115000 21 | 393.587006 0.119000 22 | 397.372009 0.115000 23 | 399.935028 0.113000 24 | 403.187012 0.110000 25 | 406.492004 0.106000 26 | 409.850983 0.099800 27 | 413.266998 0.063800 28 | 416.739990 0.031500 29 | 420.270996 0.018900 30 | 423.863007 0.011800 31 | 427.516998 0.010500 32 | 431.235016 0.010300 33 | 435.018036 0.009930 34 | 442.785980 0.001610 35 | 459.185028 0.001560 36 | 476.846008 0.001530 37 | 495.920013 0.001250 38 | 516.583008 0.000682 39 | 539.044006 0.000275 40 | 563.545044 0.000040 41 | 590.381042 0.000002 42 | 619.900024 0.000000 43 | 652.526001 0.000000 44 | 688.778015 0.000000 45 | 729.294006 0.000000 46 | 774.875000 0.000000 47 | 826.533020 0.000000 48 | 885.570984 0.000000 49 | -------------------------------------------------------------------------------- /data/ior/AlAs_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for cubic AlAs 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 302.389984 4.470000 12 | 309.950012 4.920000 13 | 317.897003 5.350000 14 | 326.263000 5.390000 15 | 335.081024 4.990000 16 | 344.389008 4.720000 17 | 354.229004 4.480000 18 | 364.647003 4.300000 19 | 375.696991 4.130000 20 | 387.437988 3.930000 21 | 393.587006 0.000000 22 | 397.372009 0.000000 23 | 399.935028 0.000000 24 | 403.187012 0.000000 25 | 406.492004 0.000000 26 | 409.850983 0.000000 27 | 413.266998 0.000000 28 | 416.739990 0.000000 29 | 420.270996 0.000000 30 | 423.863007 0.000000 31 | 427.516998 0.000000 32 | 431.235016 0.000000 33 | 435.018036 0.000000 34 | 442.785980 3.703000 35 | 459.185028 3.570000 36 | 476.846008 3.472000 37 | 495.920013 3.394000 38 | 516.583008 3.329000 39 | 539.044006 3.273000 40 | 563.545044 3.225000 41 | 590.381042 3.183000 42 | 619.900024 3.145000 43 | 652.526001 3.112000 44 | 688.778015 3.082000 45 | 729.294006 3.056000 46 | 774.875000 3.032000 47 | 826.533020 3.010000 48 | 885.570984 2.990000 49 | -------------------------------------------------------------------------------- /src/mtsgui/aboutdlg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__ABOUTDLG_H) 20 | #define __ABOUTDLG_H 21 | 22 | #include "common.h" 23 | 24 | namespace Ui { 25 | class AboutDialog; 26 | } 27 | 28 | class AboutDialog : public QDialog { 29 | Q_OBJECT 30 | public: 31 | AboutDialog(QWidget *parent); 32 | ~AboutDialog(); 33 | 34 | protected slots: 35 | void onCredits(); 36 | protected: 37 | void changeEvent(QEvent *e); 38 | private: 39 | Ui::AboutDialog *ui; 40 | }; 41 | 42 | #endif // __ABOUTDLG_H 43 | -------------------------------------------------------------------------------- /src/mtsgui/acknowledgmentdlg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__ACKNOWLEDGEMENTDLG_H) 20 | #define __ACKNOWLEDGEMENTDLG_H 21 | 22 | #include "common.h" 23 | 24 | namespace Ui { 25 | class AcknowledgmentDialog; 26 | } 27 | 28 | class AcknowledgmentDialog : public QDialog { 29 | Q_OBJECT 30 | public: 31 | AcknowledgmentDialog(QWidget *parent); 32 | ~AcknowledgmentDialog(); 33 | protected: 34 | void changeEvent(QEvent *e); 35 | private: 36 | Ui::AcknowledgmentDialog *ui; 37 | }; 38 | 39 | #endif // __ACKNOWLEDGEMENTDLG_H 40 | -------------------------------------------------------------------------------- /src/mtsgui/upgrade.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__UPGRADEMGR_H) 20 | #define __UPGRADEMGR_H 21 | 22 | #include "common.h" 23 | #include 24 | 25 | class UpgradeManager : public QObject { 26 | Q_OBJECT 27 | public: 28 | UpgradeManager(const FileResolver *resolver); 29 | 30 | void performUpgrade(const QString &path, const Version &version); 31 | private: 32 | const FileResolver *m_resolver; 33 | std::vector > m_transformations; 34 | }; 35 | 36 | #endif // __UPGRADEMGR_H 37 | -------------------------------------------------------------------------------- /src/mtsgui/sceneinfodlg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__SCENEINFODLG_H) 20 | #define __SCENEINFODLG_H 21 | 22 | #include "common.h" 23 | 24 | namespace Ui { 25 | class SceneInformationDialog; 26 | } 27 | 28 | class SceneInformationDialog : public QDialog { 29 | Q_OBJECT 30 | public: 31 | SceneInformationDialog(QWidget *parent, Scene *scene); 32 | ~SceneInformationDialog(); 33 | protected: 34 | void changeEvent(QEvent *e); 35 | private: 36 | Ui::SceneInformationDialog *ui; 37 | }; 38 | 39 | #endif // __SCENEINFODLG_H 40 | -------------------------------------------------------------------------------- /src/libhw/gpugeometry.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include 20 | 21 | MTS_NAMESPACE_BEGIN 22 | 23 | GPUGeometry::GPUGeometry(const TriMesh *mesh) 24 | : m_mesh(mesh), m_shader(NULL) { 25 | } 26 | 27 | GPUGeometry::~GPUGeometry() { 28 | } 29 | 30 | std::string GPUGeometry::toString() const { 31 | std::ostringstream oss; 32 | oss << "GPUGeometry[" << endl 33 | << " mesh = " << indent(m_mesh->toString()) << endl 34 | << "]"; 35 | return oss.str(); 36 | } 37 | 38 | MTS_IMPLEMENT_CLASS(GPUGeometry, true, Object) 39 | MTS_NAMESPACE_END 40 | -------------------------------------------------------------------------------- /src/shapes/ply/io_operators.hpp: -------------------------------------------------------------------------------- 1 | #ifndef PLY_IO_OPERATORS_HPP_INCLUDED 2 | #define PLY_IO_OPERATORS_HPP_INCLUDED 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | namespace ply { 9 | 10 | namespace io_operators { 11 | 12 | inline std::istream& operator>>(std::istream& istream, int8 &value) 13 | { 14 | int16 tmp; 15 | if (istream >> tmp) { 16 | if (tmp <= std::numeric_limits::max()) { 17 | value = static_cast(tmp); 18 | } 19 | else { 20 | istream.setstate(std::ios_base::failbit); 21 | } 22 | } 23 | return istream; 24 | } 25 | 26 | inline std::istream& operator>>(std::istream& istream, uint8 &value) 27 | { 28 | uint16 tmp; 29 | if (istream >> tmp) { 30 | if (tmp <= std::numeric_limits::max()) { 31 | value = static_cast(tmp); 32 | } 33 | else { 34 | istream.setstate(std::ios_base::failbit); 35 | } 36 | } 37 | return istream; 38 | } 39 | 40 | inline std::ostream& operator<<(std::ostream& ostream, int8 value) 41 | { 42 | return ostream << static_cast(value); 43 | } 44 | 45 | inline std::ostream& operator<<(std::ostream& ostream, uint8 value) 46 | { 47 | return ostream << static_cast(value); 48 | } 49 | 50 | } // namespace io_operators 51 | 52 | } // namespace ply 53 | 54 | #endif // PLY_IO_OPERATORS_HPP_INCLUDED 55 | -------------------------------------------------------------------------------- /src/mtsgui/resources/crop.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /data/ior/Te.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for trigonal Te,ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.320000 12 | 330.613007 1.500000 13 | 354.229004 1.720000 14 | 381.477020 2.020000 15 | 403.975006 2.370000 16 | 413.266998 2.510000 17 | 416.599030 2.560000 18 | 430.037994 2.770000 19 | 442.785980 3.030000 20 | 444.373016 3.010000 21 | 459.696014 3.270000 22 | 476.114014 3.550000 23 | 476.846008 3.570000 24 | 489.266022 3.760000 25 | 498.512024 3.910000 26 | 507.906982 4.070000 27 | 516.583008 4.240000 28 | 517.877991 4.250000 29 | 528.024048 4.430000 30 | 538.809021 4.620000 31 | 549.799988 4.810000 32 | 561.249023 5.010000 33 | 563.545044 5.100000 34 | 573.450989 5.260000 35 | 599.226990 5.670000 36 | 612.851990 5.820000 37 | 619.900024 5.940000 38 | 627.429016 5.970000 39 | 642.382996 6.070000 40 | 658.416992 6.110000 41 | 674.904968 6.120000 42 | 688.778015 6.100000 43 | 692.625977 6.090000 44 | 710.895020 6.040000 45 | 730.583008 5.950000 46 | 750.939026 5.870000 47 | 772.943054 5.860000 48 | 774.875000 5.880000 49 | 796.275024 5.840000 50 | 820.516052 5.780000 51 | 846.858032 5.680000 52 | 874.330017 5.590000 53 | 885.570984 5.560000 54 | -------------------------------------------------------------------------------- /data/ior/Te.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for trigonal Te,ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.010000 12 | 330.613007 2.370000 13 | 354.229004 2.700000 14 | 381.477020 3.030000 15 | 403.975006 3.290000 16 | 413.266998 3.390000 17 | 416.599030 3.390000 18 | 430.037994 3.470000 19 | 442.785980 3.630000 20 | 444.373016 3.570000 21 | 459.696014 3.660000 22 | 476.114014 3.720000 23 | 476.846008 3.750000 24 | 489.266022 3.760000 25 | 498.512024 3.770000 26 | 507.906982 3.770000 27 | 516.583008 3.770000 28 | 517.877991 3.780000 29 | 528.024048 3.760000 30 | 538.809021 3.690000 31 | 549.799988 3.630000 32 | 561.249023 3.570000 33 | 563.545044 3.610000 34 | 573.450989 3.520000 35 | 599.226990 3.160000 36 | 612.851990 2.940000 37 | 619.900024 2.690000 38 | 627.429016 2.700000 39 | 642.382996 2.450000 40 | 658.416992 2.250000 41 | 674.904968 2.020000 42 | 688.778015 1.800000 43 | 692.625977 1.720000 44 | 710.895020 1.520000 45 | 730.583008 1.360000 46 | 750.939026 1.260000 47 | 772.943054 1.170000 48 | 774.875000 1.150000 49 | 796.275024 1.060000 50 | 820.516052 0.895000 51 | 846.858032 0.760000 52 | 874.330017 0.659000 53 | 885.570984 0.630000 54 | -------------------------------------------------------------------------------- /data/ior/Te-e.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for trigonal Te, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.640000 12 | 330.613007 3.060000 13 | 354.229004 3.440000 14 | 381.477020 3.780000 15 | 403.975006 3.960000 16 | 413.266998 4.160000 17 | 416.599030 4.150000 18 | 430.037994 4.270000 19 | 442.785980 4.420000 20 | 444.373016 4.390000 21 | 459.696014 4.520000 22 | 476.114014 4.710000 23 | 476.846008 4.770000 24 | 489.266022 4.850000 25 | 498.512024 4.930000 26 | 507.906982 5.010000 27 | 516.583008 5.080000 28 | 517.877991 5.080000 29 | 528.024048 5.160000 30 | 538.809021 5.200000 31 | 549.799988 5.210000 32 | 561.249023 5.200000 33 | 563.545044 5.160000 34 | 573.450989 5.160000 35 | 599.226990 4.920000 36 | 612.851990 4.770000 37 | 619.900024 4.670000 38 | 627.429016 4.600000 39 | 642.382996 4.360000 40 | 658.416992 4.100000 41 | 674.904968 3.860000 42 | 688.778015 3.700000 43 | 692.625977 3.650000 44 | 710.895020 3.470000 45 | 730.583008 3.180000 46 | 750.939026 3.030000 47 | 772.943054 2.930000 48 | 774.875000 2.910000 49 | 796.275024 2.890000 50 | 820.516052 2.860000 51 | 846.858032 2.800000 52 | 874.330017 2.560000 53 | 885.570984 2.460000 54 | -------------------------------------------------------------------------------- /data/ior/Te_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for trigonal Te,ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.320000 12 | 330.613007 1.500000 13 | 354.229004 1.720000 14 | 381.477020 2.020000 15 | 403.975006 2.370000 16 | 413.266998 2.510000 17 | 416.599030 2.560000 18 | 430.037994 2.770000 19 | 442.785980 3.030000 20 | 444.373016 3.010000 21 | 459.696014 3.270000 22 | 476.114014 3.550000 23 | 476.846008 3.570000 24 | 489.266022 3.760000 25 | 498.512024 3.910000 26 | 507.906982 4.070000 27 | 516.583008 4.240000 28 | 517.877991 4.250000 29 | 528.024048 4.430000 30 | 538.809021 4.620000 31 | 549.799988 4.810000 32 | 561.249023 5.010000 33 | 563.545044 5.100000 34 | 573.450989 5.260000 35 | 599.226990 5.670000 36 | 612.851990 5.820000 37 | 619.900024 5.940000 38 | 627.429016 5.970000 39 | 642.382996 6.070000 40 | 658.416992 6.110000 41 | 674.904968 6.120000 42 | 688.778015 6.100000 43 | 692.625977 6.090000 44 | 710.895020 6.040000 45 | 730.583008 5.950000 46 | 750.939026 5.870000 47 | 772.943054 5.860000 48 | 774.875000 5.880000 49 | 796.275024 5.840000 50 | 820.516052 5.780000 51 | 846.858032 5.680000 52 | 874.330017 5.590000 53 | 885.570984 5.560000 54 | -------------------------------------------------------------------------------- /data/ior/Te_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for trigonal Te,ordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.010000 12 | 330.613007 2.370000 13 | 354.229004 2.700000 14 | 381.477020 3.030000 15 | 403.975006 3.290000 16 | 413.266998 3.390000 17 | 416.599030 3.390000 18 | 430.037994 3.470000 19 | 442.785980 3.630000 20 | 444.373016 3.570000 21 | 459.696014 3.660000 22 | 476.114014 3.720000 23 | 476.846008 3.750000 24 | 489.266022 3.760000 25 | 498.512024 3.770000 26 | 507.906982 3.770000 27 | 516.583008 3.770000 28 | 517.877991 3.780000 29 | 528.024048 3.760000 30 | 538.809021 3.690000 31 | 549.799988 3.630000 32 | 561.249023 3.570000 33 | 563.545044 3.610000 34 | 573.450989 3.520000 35 | 599.226990 3.160000 36 | 612.851990 2.940000 37 | 619.900024 2.690000 38 | 627.429016 2.700000 39 | 642.382996 2.450000 40 | 658.416992 2.250000 41 | 674.904968 2.020000 42 | 688.778015 1.800000 43 | 692.625977 1.720000 44 | 710.895020 1.520000 45 | 730.583008 1.360000 46 | 750.939026 1.260000 47 | 772.943054 1.170000 48 | 774.875000 1.150000 49 | 796.275024 1.060000 50 | 820.516052 0.895000 51 | 846.858032 0.760000 52 | 874.330017 0.659000 53 | 885.570984 0.630000 54 | -------------------------------------------------------------------------------- /data/ior/Te-e.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for trigonal Te, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.330000 12 | 330.613007 1.440000 13 | 354.229004 1.690000 14 | 381.477020 1.920000 15 | 403.975006 2.220000 16 | 413.266998 2.300000 17 | 416.599030 2.350000 18 | 430.037994 2.540000 19 | 442.785980 2.730000 20 | 444.373016 2.760000 21 | 459.696014 2.980000 22 | 476.114014 3.210000 23 | 476.846008 3.250000 24 | 489.266022 3.460000 25 | 498.512024 3.630000 26 | 507.906982 3.810000 27 | 516.583008 3.940000 28 | 517.877991 3.990000 29 | 528.024048 4.200000 30 | 538.809021 4.390000 31 | 549.799988 4.650000 32 | 561.249023 4.910000 33 | 563.545044 4.940000 34 | 573.450989 5.170000 35 | 599.226990 5.760000 36 | 612.851990 6.000000 37 | 619.900024 4.670000 38 | 627.429016 6.210000 39 | 642.382996 6.400000 40 | 658.416992 6.580000 41 | 674.904968 6.770000 42 | 688.778015 6.890000 43 | 692.625977 6.850000 44 | 710.895020 6.860000 45 | 730.583008 6.800000 46 | 750.939026 6.780000 47 | 772.943054 6.740000 48 | 774.875000 6.750000 49 | 796.275024 6.730000 50 | 820.516052 6.810000 51 | 846.858032 6.950000 52 | 874.330017 7.140000 53 | 885.570984 7.110000 54 | -------------------------------------------------------------------------------- /data/ior/Te-e_palik.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for trigonal Te, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 2.640000 12 | 330.613007 3.060000 13 | 354.229004 3.440000 14 | 381.477020 3.780000 15 | 403.975006 3.960000 16 | 413.266998 4.160000 17 | 416.599030 4.150000 18 | 430.037994 4.270000 19 | 442.785980 4.420000 20 | 444.373016 4.390000 21 | 459.696014 4.520000 22 | 476.114014 4.710000 23 | 476.846008 4.770000 24 | 489.266022 4.850000 25 | 498.512024 4.930000 26 | 507.906982 5.010000 27 | 516.583008 5.080000 28 | 517.877991 5.080000 29 | 528.024048 5.160000 30 | 538.809021 5.200000 31 | 549.799988 5.210000 32 | 561.249023 5.200000 33 | 563.545044 5.160000 34 | 573.450989 5.160000 35 | 599.226990 4.920000 36 | 612.851990 4.770000 37 | 619.900024 4.670000 38 | 627.429016 4.600000 39 | 642.382996 4.360000 40 | 658.416992 4.100000 41 | 674.904968 3.860000 42 | 688.778015 3.700000 43 | 692.625977 3.650000 44 | 710.895020 3.470000 45 | 730.583008 3.180000 46 | 750.939026 3.030000 47 | 772.943054 2.930000 48 | 774.875000 2.910000 49 | 796.275024 2.890000 50 | 820.516052 2.860000 51 | 846.858032 2.800000 52 | 874.330017 2.560000 53 | 885.570984 2.460000 54 | -------------------------------------------------------------------------------- /data/ior/Te-e_palik.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for trigonal Te, extraordinary ray 3 | # ; 4 | # ; taken from: 5 | # ; 6 | # ; 'Handbook of Optical Constants of Solids II', Ed. by Edward D. Palik, 7 | # ; Academic Press, Inc., 1991. 8 | # ; 9 | # ; Lambda (A) n k 10 | # ;----------------------------------------- 11 | 309.950012 1.330000 12 | 330.613007 1.440000 13 | 354.229004 1.690000 14 | 381.477020 1.920000 15 | 403.975006 2.220000 16 | 413.266998 2.300000 17 | 416.599030 2.350000 18 | 430.037994 2.540000 19 | 442.785980 2.730000 20 | 444.373016 2.760000 21 | 459.696014 2.980000 22 | 476.114014 3.210000 23 | 476.846008 3.250000 24 | 489.266022 3.460000 25 | 498.512024 3.630000 26 | 507.906982 3.810000 27 | 516.583008 3.940000 28 | 517.877991 3.990000 29 | 528.024048 4.200000 30 | 538.809021 4.390000 31 | 549.799988 4.650000 32 | 561.249023 4.910000 33 | 563.545044 4.940000 34 | 573.450989 5.170000 35 | 599.226990 5.760000 36 | 612.851990 6.000000 37 | 619.900024 4.670000 38 | 627.429016 6.210000 39 | 642.382996 6.400000 40 | 658.416992 6.580000 41 | 674.904968 6.770000 42 | 688.778015 6.890000 43 | 692.625977 6.850000 44 | 710.895020 6.860000 45 | 730.583008 6.800000 46 | 750.939026 6.780000 47 | 772.943054 6.740000 48 | 774.875000 6.750000 49 | 796.275024 6.730000 50 | 820.516052 6.810000 51 | 846.858032 6.950000 52 | 874.330017 7.140000 53 | 885.570984 7.110000 54 | -------------------------------------------------------------------------------- /src/librender/SConscript: -------------------------------------------------------------------------------- 1 | Import('env', 'sys', 'os') 2 | 3 | renderEnv = env.Clone() 4 | renderEnv.Append(CPPDEFINES = [['MTS_BUILD_MODULE', 'MTS_MODULE_RENDER']] ) 5 | if renderEnv.has_key('XERCESINCLUDE'): 6 | renderEnv.Prepend(CPPPATH=renderEnv['XERCESINCLUDE']) 7 | if renderEnv.has_key('XERCESLIBDIR'): 8 | renderEnv.Prepend(LIBPATH=renderEnv['XERCESLIBDIR']) 9 | if renderEnv.has_key('XERCESLIB'): 10 | renderEnv.Prepend(LIBS=renderEnv['XERCESLIB']) 11 | 12 | librender = renderEnv.SharedLibrary('mitsuba-render', [ 13 | 'bsdf.cpp', 'film.cpp', 'integrator.cpp', 'emitter.cpp', 'sensor.cpp', 14 | 'skdtree.cpp', 'medium.cpp', 'renderjob.cpp', 'imageproc.cpp', 15 | 'rectwu.cpp', 'renderproc.cpp', 'imageblock.cpp', 'particleproc.cpp', 16 | 'renderqueue.cpp', 'scene.cpp', 'subsurface.cpp', 'texture.cpp', 17 | 'shape.cpp', 'trimesh.cpp', 'sampler.cpp', 'util.cpp', 'irrcache.cpp', 18 | 'testcase.cpp', 'photonmap.cpp', 'gatherproc.cpp', 'volume.cpp', 19 | 'vpl.cpp', 'shader.cpp', 'scenehandler.cpp', 'intersection.cpp', 20 | 'common.cpp', 'phase.cpp', 'noise.cpp', 'photon.cpp' 21 | ]) 22 | 23 | if sys.platform == "darwin": 24 | renderEnv.AddPostAction(librender, 'install_name_tool -id @rpath/libmitsuba-render.dylib $TARGET') 25 | 26 | env.Append(LIBS=['mitsuba-render']) 27 | env.Append(LIBPATH=[os.path.join(env['BUILDDIR'], 'librender')]) 28 | -------------------------------------------------------------------------------- /src/libhw/data/sh_background.frag: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #extension GL_EXT_gpu_shader4 : enable 20 | 21 | varying vec3 position; 22 | 23 | #if defined(DIRECTIONAL_CAMERA) 24 | uniform vec3 camDirection; 25 | #else 26 | uniform vec3 camPosition; 27 | #endif 28 | 29 | uniform float emitterScale; 30 | 31 | {{ SUPPLEMENTAL CODE }} 32 | 33 | void main() { 34 | vec3 result; 35 | 36 | #if !defined(DIRECTIONAL_CAMERA) 37 | result = BACKGROUND_EVAL_NAME(normalize(position - camPosition)); 38 | #else 39 | result = BACKGROUND_EVAL_NAME(camDirection); 40 | #endif 41 | 42 | gl_FragColor = vec4(result * emitterScale, 1.0); 43 | } 44 | -------------------------------------------------------------------------------- /src/mtsgui/addserverdlg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__ADDSERVERDLG_H) 20 | #define __ADDSERVERDLG_H 21 | 22 | #include "common.h" 23 | 24 | namespace Ui { 25 | class AddServerDialog; 26 | } 27 | 28 | class AddServerDialog : public QDialog { 29 | Q_OBJECT 30 | public: 31 | AddServerDialog(QWidget *parent); 32 | ~AddServerDialog(); 33 | 34 | ServerConnection getConnection() const; 35 | protected slots: 36 | void on_sshConnection_toggled(); 37 | void on_directConnection_toggled(); 38 | void validate(); 39 | protected: 40 | void changeEvent(QEvent *e); 41 | private: 42 | Ui::AddServerDialog *ui; 43 | }; 44 | 45 | #endif // __ADDSERVERDLG_H 46 | -------------------------------------------------------------------------------- /src/shapes/ply/ply.hpp: -------------------------------------------------------------------------------- 1 | #ifndef PLY_PLY_HPP_INCLUDED 2 | #define PLY_PLY_HPP_INCLUDED 3 | 4 | #include 5 | 6 | namespace ply { 7 | 8 | typedef boost::int8_t int8; 9 | typedef boost::int16_t int16; 10 | typedef boost::int32_t int32; 11 | typedef boost::uint8_t uint8; 12 | typedef boost::uint16_t uint16; 13 | typedef boost::uint32_t uint32; 14 | typedef float float32; 15 | typedef double float64; 16 | 17 | template 18 | struct type_traits; 19 | 20 | #ifdef PLY_TYPE_TRAITS 21 | # error 22 | #endif 23 | 24 | #define PLY_TYPE_TRAITS(TYPE, NAME, OLD_NAME)\ 25 | template <>\ 26 | struct type_traits\ 27 | {\ 28 | typedef TYPE type;\ 29 | static const char* name() { return NAME; }\ 30 | static const char* old_name() { return OLD_NAME; }\ 31 | }; 32 | 33 | PLY_TYPE_TRAITS(int8, "int8", "char") 34 | PLY_TYPE_TRAITS(int16, "int16", "short") 35 | PLY_TYPE_TRAITS(int32, "int32", "int") 36 | PLY_TYPE_TRAITS(uint8, "uint8", "uchar") 37 | PLY_TYPE_TRAITS(uint16, "uint16", "ushort") 38 | PLY_TYPE_TRAITS(uint32, "uint32", "uint") 39 | PLY_TYPE_TRAITS(float32, "float32", "float") 40 | PLY_TYPE_TRAITS(float64, "float64", "double") 41 | 42 | #undef PLY_TYPE_TRAITS 43 | 44 | typedef int format_type; 45 | enum format { 46 | binary_little_endian_format = 0, 47 | binary_big_endian_format = 1, 48 | ascii_format = 2 49 | }; 50 | 51 | } // namespace ply 52 | 53 | #endif // PLY_PLY_HPP_INCLUDED 54 | -------------------------------------------------------------------------------- /src/mitsuba/SConscript: -------------------------------------------------------------------------------- 1 | Import('sys', 'env', 'hasCollada', 'stubs', 'winstubs') 2 | 3 | # Create an environment with Xerces and OpenGL 4 | mainEnv = env.Clone() 5 | if mainEnv.has_key('XERCESINCLUDE'): 6 | mainEnv.Prepend(CPPPATH=mainEnv['XERCESINCLUDE']) 7 | if mainEnv.has_key('XERCESLIBDIR'): 8 | mainEnv.Prepend(LIBPATH=mainEnv['XERCESLIBDIR']) 9 | if mainEnv.has_key('XERCESLIB'): 10 | mainEnv.Prepend(LIBS=mainEnv['XERCESLIB']) 11 | if mainEnv.has_key('GLLIB'): 12 | mainEnv.Prepend(LIBS=mainEnv['GLLIB']) 13 | if mainEnv.has_key('GLLIBDIR'): 14 | mainEnv.Prepend(LIBPATH=mainEnv['GLLIBDIR']) 15 | if mainEnv.has_key('GLFLAGS'): 16 | mainEnv.Prepend(CXXFLAGS=mainEnv['GLFLAGS']) 17 | if mainEnv.has_key('GLINCLUDE'): 18 | mainEnv.Prepend(CPPPATH=mainEnv['GLINCLUDE']) 19 | 20 | if sys.platform == 'darwin': 21 | # On OSX, we need this stub to access OpenGL from the command line 22 | mainEnv_osx = mainEnv.Clone() 23 | mainEnv_osx.ConfigureForObjectiveCPP() 24 | stubs += [mainEnv_osx.StaticObject('darwin_stub.mm')] 25 | mainEnv.Append(LINKFLAGS=['-Xlinker', '-rpath', '-Xlinker', '@executable_path/../Frameworks']) 26 | 27 | mainEnv.Program('mtsutil', stubs + winstubs + ['mtsutil.cpp']) 28 | 29 | # Build the command-line+GUI interface 30 | mainEnv.Program('mtssrv', winstubs + ['mtssrv.cpp']) 31 | mainEnv.Program('mitsuba', winstubs + ['mitsuba.cpp']) 32 | 33 | Return('mainEnv') 34 | -------------------------------------------------------------------------------- /src/mtsgui/shaders/reinhard.frag: -------------------------------------------------------------------------------- 1 | uniform sampler2D colorSource, depthSource; 2 | uniform float scale, invWp2, invGamma, multiplier; 3 | uniform bool sRGB, hasDepth; 4 | 5 | float toSRGB(float value) { 6 | if (value < 0.0031308) 7 | return 12.92 * value; 8 | return 1.055 * pow(value, 1.0 / 2.4) - 0.055; 9 | } 10 | 11 | void main() { 12 | const mat3 RGB2XYZ = mat3(0.412453, 0.212671, 0.019334, 13 | 0.357580, 0.715160, 0.119193, 14 | 0.180423, 0.072169, 0.950227); 15 | 16 | const mat3 XYZ2RGB = mat3(3.240479, -0.969256, 0.055648, 17 | -1.537150, 1.875991, -0.204043, 18 | -0.498535, 0.041556, 1.057311); 19 | 20 | vec3 XYZ = RGB2XYZ * texture2D(colorSource, gl_TexCoord[0].xy).rgb * multiplier; 21 | float normalization = 1.0 / (XYZ.x + XYZ.y + XYZ.z); 22 | float x = XYZ.x*normalization; 23 | float y = XYZ.y*normalization; 24 | float Lp = XYZ.y*scale; 25 | XYZ.y = Lp * (1.0 + Lp*invWp2) / (1.0 + Lp); 26 | float ratio = XYZ.y / y; 27 | XYZ.x = ratio * x; 28 | XYZ.z = ratio * (1.0 - x - y); 29 | vec3 color = XYZ2RGB * XYZ; 30 | if (sRGB) 31 | gl_FragColor = vec4(toSRGB(color.r), toSRGB(color.g), toSRGB(color.b), 1); 32 | else 33 | gl_FragColor = vec4(pow(color.rgb, vec3(invGamma)), 1); 34 | gl_FragDepth = hasDepth ? texture2D(depthSource, gl_TexCoord[0].xy).r : 0.5; 35 | } 36 | -------------------------------------------------------------------------------- /data/ior/Ag.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ag 3 | # ; 4 | # ; Lambda (A) n k 5 | 298.757050 1.519000 6 | 302.400421 1.496000 7 | 306.133759 1.432500 8 | 309.960449 1.323000 9 | 313.884003 1.142062 10 | 317.908142 0.932000 11 | 322.036835 0.719062 12 | 326.274139 0.526000 13 | 330.624481 0.388125 14 | 335.092377 0.294000 15 | 339.682678 0.253313 16 | 344.400482 0.238000 17 | 349.251221 0.221438 18 | 354.240509 0.209000 19 | 359.374420 0.194813 20 | 364.659332 0.186000 21 | 370.102020 0.192063 22 | 375.709625 0.200000 23 | 381.489777 0.198063 24 | 387.450562 0.192000 25 | 393.600555 0.182000 26 | 399.948975 0.173000 27 | 406.505493 0.172625 28 | 413.280579 0.173000 29 | 420.285339 0.166688 30 | 427.531647 0.160000 31 | 435.032196 0.158500 32 | 442.800629 0.157000 33 | 450.851562 0.151063 34 | 459.200653 0.144000 35 | 467.864838 0.137313 36 | 476.862213 0.132000 37 | 486.212463 0.130250 38 | 495.936707 0.130000 39 | 506.057861 0.129938 40 | 516.600769 0.130000 41 | 527.592224 0.130063 42 | 539.061646 0.129000 43 | 551.040771 0.124375 44 | 563.564453 0.120000 45 | 576.670593 0.119313 46 | 590.400818 0.121000 47 | 604.800842 0.125500 48 | 619.920898 0.131000 49 | 635.816284 0.136125 50 | 652.548279 0.140000 51 | 670.184753 0.140063 52 | 688.800964 0.140000 53 | 708.481018 0.144313 54 | 729.318665 0.148000 55 | 751.419250 0.145875 56 | 774.901123 0.143000 57 | 799.897949 0.142563 58 | 826.561157 0.145000 59 | 855.063293 0.151938 60 | 885.601257 0.163000 61 | -------------------------------------------------------------------------------- /data/ior/Ag.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Ag 3 | # ; 4 | # ; Lambda (A) n k 5 | 298.757050 1.080000 6 | 302.400421 0.882000 7 | 306.133759 0.761063 8 | 309.960449 0.647000 9 | 313.884003 0.550875 10 | 317.908142 0.504000 11 | 322.036835 0.554375 12 | 326.274139 0.663000 13 | 330.624481 0.818563 14 | 335.092377 0.986000 15 | 339.682678 1.120687 16 | 344.400482 1.240000 17 | 349.251221 1.345250 18 | 354.240509 1.440000 19 | 359.374420 1.533750 20 | 364.659332 1.610000 21 | 370.102020 1.641875 22 | 375.709625 1.670000 23 | 381.489777 1.735000 24 | 387.450562 1.810000 25 | 393.600555 1.878750 26 | 399.948975 1.950000 27 | 406.505493 2.029375 28 | 413.280579 2.110000 29 | 420.285339 2.186250 30 | 427.531647 2.260000 31 | 435.032196 2.329375 32 | 442.800629 2.400000 33 | 450.851562 2.478750 34 | 459.200653 2.560000 35 | 467.864838 2.640000 36 | 476.862213 2.720000 37 | 486.212463 2.798125 38 | 495.936707 2.880000 39 | 506.057861 2.973750 40 | 516.600769 3.070000 41 | 527.592224 3.159375 42 | 539.061646 3.250000 43 | 551.040771 3.348125 44 | 563.564453 3.450000 45 | 576.670593 3.553750 46 | 590.400818 3.660000 47 | 604.800842 3.766250 48 | 619.920898 3.880000 49 | 635.816284 4.010625 50 | 652.548279 4.150000 51 | 670.184753 4.293125 52 | 688.800964 4.440000 53 | 708.481018 4.586250 54 | 729.318665 4.740000 55 | 751.419250 4.908125 56 | 774.901123 5.090000 57 | 799.897949 5.288750 58 | 826.561157 5.500000 59 | 855.063293 5.720624 60 | 885.601257 5.950000 61 | -------------------------------------------------------------------------------- /data/ior/Al.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Al 3 | # ; 4 | # ; Lambda (A) n k 5 | 298.757050 0.273375 6 | 302.400421 0.280000 7 | 306.133759 0.286813 8 | 309.960449 0.294000 9 | 313.884003 0.301875 10 | 317.908142 0.310000 11 | 322.036835 0.317875 12 | 326.274139 0.326000 13 | 330.624481 0.334750 14 | 335.092377 0.344000 15 | 339.682678 0.353813 16 | 344.400482 0.364000 17 | 349.251221 0.374375 18 | 354.240509 0.385000 19 | 359.374420 0.395750 20 | 364.659332 0.407000 21 | 370.102020 0.419125 22 | 375.709625 0.432000 23 | 381.489777 0.445688 24 | 387.450562 0.460000 25 | 393.600555 0.474688 26 | 399.948975 0.490000 27 | 406.505493 0.506188 28 | 413.280579 0.523000 29 | 420.285339 0.540063 30 | 427.531647 0.558000 31 | 435.032196 0.577313 32 | 442.800629 0.598000 33 | 450.851562 0.620313 34 | 459.200653 0.644000 35 | 467.864838 0.668625 36 | 476.862213 0.695000 37 | 486.212463 0.723750 38 | 495.936707 0.755000 39 | 506.057861 0.789000 40 | 516.600769 0.826000 41 | 527.592224 0.867000 42 | 539.061646 0.912000 43 | 551.040771 0.963000 44 | 563.564453 1.020000 45 | 576.670593 1.080000 46 | 590.400818 1.150000 47 | 604.800842 1.220000 48 | 619.920898 1.300000 49 | 635.816284 1.390000 50 | 652.548279 1.490000 51 | 670.184753 1.600000 52 | 688.800964 1.740000 53 | 708.481018 1.910000 54 | 729.318665 2.140000 55 | 751.419250 2.410000 56 | 774.901123 2.630000 57 | 799.897949 2.800000 58 | 826.561157 2.740000 59 | 855.063293 2.580000 60 | 885.601257 2.240000 61 | -------------------------------------------------------------------------------- /data/ior/Al.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Al 3 | # ; 4 | # ; Lambda (A) n k 5 | 298.757050 3.593750 6 | 302.400421 3.640000 7 | 306.133759 3.689375 8 | 309.960449 3.740000 9 | 313.884003 3.789375 10 | 317.908142 3.840000 11 | 322.036835 3.894375 12 | 326.274139 3.950000 13 | 330.624481 4.005000 14 | 335.092377 4.060000 15 | 339.682678 4.113750 16 | 344.400482 4.170000 17 | 349.251221 4.233750 18 | 354.240509 4.300000 19 | 359.374420 4.365000 20 | 364.659332 4.430000 21 | 370.102020 4.493750 22 | 375.709625 4.560000 23 | 381.489777 4.633750 24 | 387.450562 4.710000 25 | 393.600555 4.784375 26 | 399.948975 4.860000 27 | 406.505493 4.938125 28 | 413.280579 5.020000 29 | 420.285339 5.108750 30 | 427.531647 5.200000 31 | 435.032196 5.290000 32 | 442.800629 5.380000 33 | 450.851562 5.480000 34 | 459.200653 5.580000 35 | 467.864838 5.690000 36 | 476.862213 5.800000 37 | 486.212463 5.915000 38 | 495.936707 6.030000 39 | 506.057861 6.150000 40 | 516.600769 6.280000 41 | 527.592224 6.420000 42 | 539.061646 6.550000 43 | 551.040771 6.700000 44 | 563.564453 6.850000 45 | 576.670593 7.000000 46 | 590.400818 7.150000 47 | 604.800842 7.310000 48 | 619.920898 7.480000 49 | 635.816284 7.650000 50 | 652.548279 7.820000 51 | 670.184753 8.010000 52 | 688.800964 8.210000 53 | 708.481018 8.390000 54 | 729.318665 8.570000 55 | 751.419250 8.620000 56 | 774.901123 8.600000 57 | 799.897949 8.450000 58 | 826.561157 8.310000 59 | 855.063293 8.210000 60 | 885.601257 8.210000 61 | -------------------------------------------------------------------------------- /data/ior/Au.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Au 3 | # ; 4 | # ; Lambda (A) n k 5 | 298.757050 1.795000 6 | 302.400421 1.812000 7 | 306.133759 1.822625 8 | 309.960449 1.830000 9 | 313.884003 1.837125 10 | 317.908142 1.840000 11 | 322.036835 1.834250 12 | 326.274139 1.824000 13 | 330.624481 1.812000 14 | 335.092377 1.798000 15 | 339.682678 1.782000 16 | 344.400482 1.766000 17 | 349.251221 1.752500 18 | 354.240509 1.740000 19 | 359.374420 1.727625 20 | 364.659332 1.716000 21 | 370.102020 1.705875 22 | 375.709625 1.696000 23 | 381.489777 1.684750 24 | 387.450562 1.674000 25 | 393.600555 1.666000 26 | 399.948975 1.658000 27 | 406.505493 1.647250 28 | 413.280579 1.636000 29 | 420.285339 1.628000 30 | 427.531647 1.616000 31 | 435.032196 1.596250 32 | 442.800629 1.562000 33 | 450.851562 1.502125 34 | 459.200653 1.426000 35 | 467.864838 1.345875 36 | 476.862213 1.242000 37 | 486.212463 1.086750 38 | 495.936707 0.916000 39 | 506.057861 0.754500 40 | 516.600769 0.608000 41 | 527.592224 0.491750 42 | 539.061646 0.402000 43 | 551.040771 0.345500 44 | 563.564453 0.306000 45 | 576.670593 0.267625 46 | 590.400818 0.236000 47 | 604.800842 0.212375 48 | 619.920898 0.194000 49 | 635.816284 0.177750 50 | 652.548279 0.166000 51 | 670.184753 0.161000 52 | 688.800964 0.160000 53 | 708.481018 0.160875 54 | 729.318665 0.164000 55 | 751.419250 0.169500 56 | 774.901123 0.176000 57 | 799.897949 0.181375 58 | 826.561157 0.188000 59 | 855.063293 0.198125 60 | 885.601257 0.210000 61 | -------------------------------------------------------------------------------- /data/ior/Au.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Au 3 | # ; 4 | # ; Lambda (A) n k 5 | 298.757050 1.920375 6 | 302.400421 1.920000 7 | 306.133759 1.918875 8 | 309.960449 1.916000 9 | 313.884003 1.911375 10 | 317.908142 1.904000 11 | 322.036835 1.891375 12 | 326.274139 1.878000 13 | 330.624481 1.868250 14 | 335.092377 1.860000 15 | 339.682678 1.851750 16 | 344.400482 1.846000 17 | 349.251221 1.845250 18 | 354.240509 1.848000 19 | 359.374420 1.852375 20 | 364.659332 1.862000 21 | 370.102020 1.883000 22 | 375.709625 1.906000 23 | 381.489777 1.922500 24 | 387.450562 1.936000 25 | 393.600555 1.947750 26 | 399.948975 1.956000 27 | 406.505493 1.959375 28 | 413.280579 1.958000 29 | 420.285339 1.951375 30 | 427.531647 1.940000 31 | 435.032196 1.924500 32 | 442.800629 1.904000 33 | 450.851562 1.875875 34 | 459.200653 1.846000 35 | 467.864838 1.814625 36 | 476.862213 1.796000 37 | 486.212463 1.797375 38 | 495.936707 1.840000 39 | 506.057861 1.956500 40 | 516.600769 2.120000 41 | 527.592224 2.326250 42 | 539.061646 2.540000 43 | 551.040771 2.730625 44 | 563.564453 2.880000 45 | 576.670593 2.940625 46 | 590.400818 2.970000 47 | 604.800842 3.015000 48 | 619.920898 3.060000 49 | 635.816284 3.070000 50 | 652.548279 3.150000 51 | 670.184753 3.445812 52 | 688.800964 3.800000 53 | 708.481018 4.087687 54 | 729.318665 4.357000 55 | 751.419250 4.610188 56 | 774.901123 4.860000 57 | 799.897949 5.125813 58 | 826.561157 5.390000 59 | 855.063293 5.631250 60 | 885.601257 5.880000 61 | -------------------------------------------------------------------------------- /src/mtsgui/resources/stylesheet.css: -------------------------------------------------------------------------------- 1 | QTreeView { 2 | background-color: palette(base); 3 | alternate-background-color: palette(alternate-base); 4 | show-decoration-selected: 0; 5 | } 6 | 7 | QTreeView::branch:has-siblings:!adjoins-item { 8 | /* border-image: url(:/resources/vline.png) 0; */ 9 | border: none; 10 | } 11 | 12 | QTreeView::branch:has-siblings:adjoins-item { 13 | /* border-image: url(:/resources/branch-more.png) 0; */ 14 | border: none; 15 | } 16 | 17 | QTreeView::branch:!has-children:!has-siblings:adjoins-item { 18 | /* border-image: url(:/resources/branch-end.png) 0; */ 19 | border: none; 20 | } 21 | 22 | QTreeView::branch:selected { 23 | background-color: palette(highlight); 24 | color: palette(highlighted-text); 25 | } 26 | 27 | 28 | QTreeView::branch:has-children:!has-siblings:closed, 29 | QTreeView::branch:closed:has-children:has-siblings { 30 | border-image: none; 31 | image: url(:/resources/branch-closed.png); 32 | background-color: rgb(144, 144, 144); 33 | } 34 | 35 | QTreeView::branch:open:has-children:!has-siblings, 36 | QTreeView::branch:open:has-children:has-siblings { 37 | border-image: none; 38 | image: url(:/resources/branch-open.png); 39 | background-color: rgb(144, 144, 144); 40 | } 41 | 42 | QTreeView::item:selected { 43 | background-color: palette(highlight); 44 | alternate-background-color: palette(highlight); 45 | color: palette(highlighted-text); 46 | } 47 | 48 | -------------------------------------------------------------------------------- /data/ior/Cu.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Cu 3 | # ; 4 | # ; Lambda (A) n k 5 | # ;----------------------------------------- 6 | 302.400421 1.380000 7 | 306.133759 1.358438 8 | 309.960449 1.340000 9 | 313.884003 1.329063 10 | 317.908142 1.325000 11 | 322.036835 1.332500 12 | 326.274139 1.340000 13 | 330.624481 1.334375 14 | 335.092377 1.325000 15 | 339.682678 1.317812 16 | 344.400482 1.310000 17 | 349.251221 1.300313 18 | 354.240509 1.290000 19 | 359.374420 1.281563 20 | 364.659332 1.270000 21 | 370.102020 1.249062 22 | 375.709625 1.225000 23 | 381.489777 1.200000 24 | 387.450562 1.180000 25 | 393.600555 1.174375 26 | 399.948975 1.175000 27 | 406.505493 1.177500 28 | 413.280579 1.180000 29 | 420.285339 1.178125 30 | 427.531647 1.175000 31 | 435.032196 1.172812 32 | 442.800629 1.170000 33 | 450.851562 1.165312 34 | 459.200653 1.160000 35 | 467.864838 1.155312 36 | 476.862213 1.150000 37 | 486.212463 1.142812 38 | 495.936707 1.135000 39 | 506.057861 1.131562 40 | 516.600769 1.120000 41 | 527.592224 1.092437 42 | 539.061646 1.040000 43 | 551.040771 0.950375 44 | 563.564453 0.826000 45 | 576.670593 0.645875 46 | 590.400818 0.468000 47 | 604.800842 0.351250 48 | 619.920898 0.272000 49 | 635.816284 0.230813 50 | 652.548279 0.214000 51 | 670.184753 0.209250 52 | 688.800964 0.213000 53 | 708.481018 0.216250 54 | 729.318665 0.223000 55 | 751.419250 0.236500 56 | 774.901123 0.250000 57 | 799.897949 0.254188 58 | 826.561157 0.260000 59 | 855.063293 0.280000 60 | 885.601257 0.300000 61 | -------------------------------------------------------------------------------- /data/ior/Cu.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for Cu 3 | # ; 4 | # ; Lambda (A) n k 5 | # ;----------------------------------------- 6 | 302.400421 1.687000 7 | 306.133759 1.703313 8 | 309.960449 1.720000 9 | 313.884003 1.744563 10 | 317.908142 1.770000 11 | 322.036835 1.791625 12 | 326.274139 1.810000 13 | 330.624481 1.822125 14 | 335.092377 1.834000 15 | 339.682678 1.851750 16 | 344.400482 1.872000 17 | 349.251221 1.894250 18 | 354.240509 1.916000 19 | 359.374420 1.931688 20 | 364.659332 1.950000 21 | 370.102020 1.972438 22 | 375.709625 2.015000 23 | 381.489777 2.121562 24 | 387.450562 2.210000 25 | 393.600555 2.177188 26 | 399.948975 2.130000 27 | 406.505493 2.160063 28 | 413.280579 2.210000 29 | 420.285339 2.249938 30 | 427.531647 2.289000 31 | 435.032196 2.326000 32 | 442.800629 2.362000 33 | 450.851562 2.397625 34 | 459.200653 2.433000 35 | 467.864838 2.469187 36 | 476.862213 2.504000 37 | 486.212463 2.535875 38 | 495.936707 2.564000 39 | 506.057861 2.589625 40 | 516.600769 2.605000 41 | 527.592224 2.595562 42 | 539.061646 2.583000 43 | 551.040771 2.576500 44 | 563.564453 2.599000 45 | 576.670593 2.678062 46 | 590.400818 2.809000 47 | 604.800842 3.010750 48 | 619.920898 3.240000 49 | 635.816284 3.458187 50 | 652.548279 3.670000 51 | 670.184753 3.863125 52 | 688.800964 4.050000 53 | 708.481018 4.239563 54 | 729.318665 4.430000 55 | 751.419250 4.619563 56 | 774.901123 4.817000 57 | 799.897949 5.034125 58 | 826.561157 5.260000 59 | 855.063293 5.485625 60 | 885.601257 5.717000 61 | -------------------------------------------------------------------------------- /src/mtsgui/locateresourcedlg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__LOCATERESOURCEDLG_H) 20 | #define __LOCATERESOURCEDLG_H 21 | 22 | #include "common.h" 23 | 24 | namespace Ui { 25 | class LocateResourceDialog; 26 | } 27 | 28 | class LocateResourceDialog : public QDialog { 29 | Q_OBJECT 30 | public: 31 | LocateResourceDialog(QWidget *parent, const QString &resourceName); 32 | ~LocateResourceDialog(); 33 | 34 | inline const QString &getFilename() const { 35 | return m_filename; 36 | } 37 | protected slots: 38 | void on_pathBrowse_clicked(); 39 | protected: 40 | void changeEvent(QEvent *e); 41 | private: 42 | Ui::LocateResourceDialog *ui; 43 | QString m_filename; 44 | }; 45 | 46 | #endif // __LOCATERESOURCEDLG_H 47 | -------------------------------------------------------------------------------- /data/ior/W.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for W 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; W_llnl_cxro + W_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 302.389984 2.970000 11 | 309.950012 2.950000 12 | 313.873016 2.950000 13 | 317.897003 2.960000 14 | 322.026001 2.980000 15 | 326.263000 2.990000 16 | 330.613007 3.020000 17 | 335.081024 3.050000 18 | 339.670990 3.090000 19 | 344.389008 3.130000 20 | 349.238983 3.180000 21 | 354.229004 3.240000 22 | 359.362030 3.320000 23 | 364.647003 3.390000 24 | 370.089996 3.430000 25 | 375.696991 3.450000 26 | 381.477020 3.450000 27 | 387.437988 3.430000 28 | 393.587006 3.410000 29 | 399.935028 3.390000 30 | 406.492004 3.370000 31 | 413.266998 3.350000 32 | 420.270996 3.330000 33 | 427.516998 3.320000 34 | 435.018036 3.310000 35 | 442.785980 3.300000 36 | 450.835999 3.310000 37 | 459.185028 3.310000 38 | 467.849030 3.320000 39 | 476.846008 3.340000 40 | 486.196014 3.350000 41 | 495.920013 3.380000 42 | 506.041016 3.420000 43 | 516.583008 3.450000 44 | 527.575012 3.480000 45 | 539.044006 3.500000 46 | 551.022034 3.500000 47 | 563.545044 3.490000 48 | 576.651001 3.510000 49 | 590.381042 3.540000 50 | 604.781006 3.570000 51 | 619.900024 3.600000 52 | 635.795044 3.650000 53 | 652.526001 3.700000 54 | 670.162048 3.760000 55 | 688.778015 3.820000 56 | 708.456970 3.850000 57 | 729.294006 3.840000 58 | 751.393982 3.780000 59 | 774.875000 3.670000 60 | 799.871033 3.560000 61 | 826.533020 3.480000 62 | 855.033997 3.380000 63 | 885.570984 3.290000 64 | -------------------------------------------------------------------------------- /data/ior/W.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for W 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; W_llnl_cxro + W_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 302.389984 2.370000 11 | 309.950012 2.430000 12 | 313.873016 2.460000 13 | 317.897003 2.500000 14 | 322.026001 2.530000 15 | 326.263000 2.560000 16 | 330.613007 2.600000 17 | 335.081024 2.620000 18 | 339.670990 2.650000 19 | 344.389008 2.670000 20 | 349.238983 2.690000 21 | 354.229004 2.700000 22 | 359.362030 2.700000 23 | 364.647003 2.660000 24 | 370.089996 2.600000 25 | 375.696991 2.550000 26 | 381.477020 2.490000 27 | 387.437988 2.450000 28 | 393.587006 2.430000 29 | 399.935028 2.410000 30 | 406.492004 2.420000 31 | 413.266998 2.420000 32 | 420.270996 2.430000 33 | 427.516998 2.450000 34 | 435.018036 2.470000 35 | 442.785980 2.490000 36 | 450.835999 2.530000 37 | 459.185028 2.550000 38 | 467.849030 2.590000 39 | 476.846008 2.620000 40 | 486.196014 2.640000 41 | 495.920013 2.680000 42 | 506.041016 2.710000 43 | 516.583008 2.720000 44 | 527.575012 2.720000 45 | 539.044006 2.720000 46 | 551.022034 2.730000 47 | 563.545044 2.750000 48 | 576.651001 2.810000 49 | 590.381042 2.840000 50 | 604.781006 2.860000 51 | 619.900024 2.890000 52 | 635.795044 2.920000 53 | 652.526001 2.940000 54 | 670.162048 2.950000 55 | 688.778015 2.910000 56 | 708.456970 2.860000 57 | 729.294006 2.780000 58 | 751.393982 2.720000 59 | 774.875000 2.680000 60 | 799.871033 2.730000 61 | 826.533020 2.790000 62 | 855.033997 2.850000 63 | 885.570984 2.960000 64 | -------------------------------------------------------------------------------- /src/mtsgui/acknowledgmentdlg.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include "ui_acknowledgmentdlg.h" 20 | #include "acknowledgmentdlg.h" 21 | 22 | AcknowledgmentDialog::AcknowledgmentDialog(QWidget *parent) : 23 | QDialog(parent), 24 | ui(new Ui::AcknowledgmentDialog) { 25 | ui->setupUi(this); 26 | #if defined(__OSX__) 27 | ui->textBrowser->setHtml(ui->textBrowser->toHtml().replace("font-size:10pt", "font-size:14pt")); 28 | #endif 29 | } 30 | 31 | AcknowledgmentDialog::~AcknowledgmentDialog() { 32 | delete ui; 33 | } 34 | 35 | void AcknowledgmentDialog::changeEvent(QEvent *e) { 36 | QDialog::changeEvent(e); 37 | switch (e->type()) { 38 | case QEvent::LanguageChange: 39 | ui->retranslateUi(this); 40 | break; 41 | default: 42 | break; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /include/mitsuba/hw/glxdevice.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__MITSUBA_HW_GLXDEVICE_H_) 20 | #define __MITSUBA_HW_GLXDEVICE_H_ 21 | 22 | #include 23 | 24 | MTS_NAMESPACE_BEGIN 25 | 26 | /** \brief X Windows OpenGL-capable (GLX) device 27 | * \ingroup libhw 28 | */ 29 | class MTS_EXPORT_HW GLXDevice : public X11Device { 30 | public: 31 | /// Create a new device 32 | GLXDevice(X11Session *session); 33 | 34 | /// Flip the buffers (when using double-buffering) 35 | void flip(); 36 | 37 | MTS_DECLARE_CLASS() 38 | protected: 39 | /// Virtual destructor 40 | virtual ~GLXDevice(); 41 | 42 | /// Create a visual 43 | virtual XVisualInfo* createVisual(); 44 | }; 45 | 46 | MTS_NAMESPACE_END 47 | 48 | #endif /* __MITSUBA_HW_GLXDEVICE_H_ */ 49 | -------------------------------------------------------------------------------- /data/ior/CsI.k.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for CsI 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; CsI_llnl_cxro + CsI_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 304.993988 0.000000 11 | 309.950012 0.000000 12 | 314.989990 0.000000 13 | 319.947998 0.000000 14 | 324.980011 0.000000 15 | 329.997009 0.000000 16 | 334.990997 0.000000 17 | 339.951019 0.000000 18 | 344.963989 0.000000 19 | 350.028015 0.000000 20 | 354.937988 0.000000 21 | 359.988007 0.000000 22 | 364.968994 0.000000 23 | 369.979004 0.000000 24 | 375.014984 0.000000 25 | 379.957001 0.000000 26 | 385.031006 0.000000 27 | 389.997009 0.000000 28 | 394.967010 0.000000 29 | 399.935028 0.000000 30 | 409.987030 0.000000 31 | 419.985992 0.000000 32 | 430.037994 0.000000 33 | 439.957001 0.000000 34 | 450.018036 0.000000 35 | 460.037018 0.000000 36 | 469.977020 0.000000 37 | 479.985016 0.000000 38 | 490.040009 0.000000 39 | 499.919006 0.000000 40 | 509.996002 0.000000 41 | 520.049988 0.000000 42 | 530.056030 0.000000 43 | 539.983032 0.000000 44 | 550.044006 0.000000 45 | 559.981995 0.000000 46 | 570.023010 0.000000 47 | 579.888000 0.000000 48 | 590.100037 0.000000 49 | 600.097046 0.000000 50 | 619.900024 0.000000 51 | 640.062012 0.000000 52 | 659.819031 0.000000 53 | 680.088013 0.000000 54 | 700.056030 0.000000 55 | 719.976990 0.000000 56 | 740.179016 0.000000 57 | 760.147034 0.000000 58 | 779.747986 0.000000 59 | 799.871033 0.000000 60 | 819.974060 0.000000 61 | 839.973083 0.000000 62 | 859.778015 0.000000 63 | 879.915039 0.000000 64 | 899.709961 0.000000 65 | -------------------------------------------------------------------------------- /src/libhw/session.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include 20 | #if defined(WIN32) 21 | #include 22 | #elif defined(__OSX__) 23 | #include 24 | #else 25 | #include 26 | #endif 27 | 28 | MTS_NAMESPACE_BEGIN 29 | 30 | Session::Session() { 31 | m_initialized = false; 32 | } 33 | 34 | Session *Session::create() { 35 | #if defined(WIN32) 36 | return new WGLSession(); 37 | #elif defined(__OSX__) 38 | return new NSGLSession(); 39 | #else 40 | return new X11Session(); 41 | #endif 42 | } 43 | 44 | void Session::init() { 45 | Assert(!m_initialized); 46 | } 47 | 48 | void Session::shutdown() { 49 | Assert(m_initialized); 50 | } 51 | 52 | MTS_IMPLEMENT_CLASS(Session, true, Object) 53 | MTS_NAMESPACE_END 54 | -------------------------------------------------------------------------------- /data/ior/CsI.eta.spd: -------------------------------------------------------------------------------- 1 | # data from www.luxpop.com database 2 | # ; Optical constants for CsI 3 | # ; 4 | # ; Concatenation of: 5 | # ; 6 | # ; CsI_llnl_cxro + CsI_palik 7 | # ; 8 | # ; Lambda (A) n k 9 | # ;----------------------------------------- 10 | 304.993988 1.967310 11 | 309.950012 1.956510 12 | 314.989990 1.946580 13 | 319.947998 1.937410 14 | 324.980011 1.928930 15 | 329.997009 1.921060 16 | 334.990997 1.913730 17 | 339.951019 1.906900 18 | 344.963989 1.900510 19 | 350.028015 1.894530 20 | 354.937988 1.888910 21 | 359.988007 1.883630 22 | 364.968994 1.878660 23 | 369.979004 1.873970 24 | 375.014984 1.869540 25 | 379.957001 1.865350 26 | 385.031006 1.861380 27 | 389.997009 1.857620 28 | 394.967010 1.854040 29 | 399.935028 1.850640 30 | 409.987030 1.844330 31 | 419.985992 1.838590 32 | 430.037994 1.833360 33 | 439.957001 1.828570 34 | 450.018036 1.824170 35 | 460.037018 1.820120 36 | 469.977020 1.816370 37 | 479.985016 1.812910 38 | 490.040009 1.809700 39 | 499.919006 1.806720 40 | 509.996002 1.803930 41 | 520.049988 1.801340 42 | 530.056030 1.798910 43 | 539.983032 1.796640 44 | 550.044006 1.794510 45 | 559.981995 1.792500 46 | 570.023010 1.790620 47 | 579.888000 1.788840 48 | 590.100037 1.787170 49 | 600.097046 1.785590 50 | 619.900024 1.782680 51 | 640.062012 1.780060 52 | 659.819031 1.777700 53 | 680.088013 1.775570 54 | 700.056030 1.773630 55 | 719.976990 1.771860 56 | 740.179016 1.770250 57 | 760.147034 1.768770 58 | 779.747986 1.767410 59 | 799.871033 1.766150 60 | 819.974060 1.765000 61 | 839.973083 1.763920 62 | 859.778015 1.762930 63 | 879.915039 1.762010 64 | 899.709961 1.761150 65 | -------------------------------------------------------------------------------- /src/mtsgui/loaddlg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__LOADDLG_H) 20 | #define __LOADDLG_H 21 | 22 | #include "common.h" 23 | #include "logwidget.h" 24 | 25 | namespace Ui { 26 | class LoadDialog; 27 | } 28 | 29 | class LoadDialog : public QDialog { 30 | Q_OBJECT 31 | public: 32 | LoadDialog(QWidget *parent); 33 | ~LoadDialog(); 34 | 35 | void close(); 36 | void closeEvent(QCloseEvent *e) { 37 | e->ignore(); 38 | } 39 | void expand(); 40 | protected slots: 41 | void onTextMessage(ELogLevel level, const QString &message); 42 | void on_toggleButton_clicked(); 43 | protected: 44 | void changeEvent(QEvent *e); 45 | private: 46 | Ui::LoadDialog *ui; 47 | ref m_consoleAppender; 48 | ELogLevel m_oldLogLevel; 49 | }; 50 | 51 | #endif // __LOADDLG_H 52 | -------------------------------------------------------------------------------- /src/libhw/data/sh_cube_1pass.geom: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #extension GL_EXT_geometry_shader4 : enable 20 | 21 | /* Transformation matrix for each cube map face */ 22 | uniform mat4 transform[6]; 23 | 24 | /* Depth projection axis */ 25 | uniform vec4 projDir[6]; 26 | 27 | /* -> Fragment shader */ 28 | varying float depth; 29 | 30 | void main() { 31 | depth = 0.0; // avoid an (incorrect?) compiler warning 32 | 33 | /* Replicate the geometry six times and rasterize to each cube map layer */ 34 | for (int side = 0; side < 6; side++) { 35 | gl_Layer = side; 36 | for (int i = 0; i < gl_VerticesIn; i++) { 37 | gl_Position = transform[side] * gl_PositionIn[i]; 38 | depth = dot(projDir[side], gl_PositionIn[i]); 39 | EmitVertex(); 40 | } 41 | EndPrimitive(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/librender/phase.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | MTS_NAMESPACE_BEGIN 5 | 6 | std::string PhaseFunctionSamplingRecord::toString() const { 7 | std::ostringstream oss; 8 | oss << "PhaseFunctionSamplingRecord[" << endl 9 | << " mRec = " << indent(mRec.toString()) << "," << endl 10 | << " wi = " << wi.toString() << "," << endl 11 | << " wo = " << wo.toString() << "," << endl 12 | << " mode = " << mode << endl 13 | << "]"; 14 | return oss.str(); 15 | } 16 | 17 | void PhaseFunction::configure() { 18 | m_type = 0; 19 | } 20 | 21 | Float PhaseFunction::pdf(const PhaseFunctionSamplingRecord &pRec) const { 22 | return eval(pRec); 23 | } 24 | 25 | bool PhaseFunction::needsDirectionallyVaryingCoefficients() const { 26 | return false; 27 | } 28 | 29 | Float PhaseFunction::sigmaDir(Float cosTheta) const { 30 | Log(EError, "%s::sigmaDir(Float) is not implemented (this is not " 31 | "an anisotropic medium!)", getClass()->getName().c_str()); 32 | return 0.0f; 33 | } 34 | 35 | Float PhaseFunction::sigmaDirMax() const { 36 | Log(EError, "%s::sigmaDirMax() is not implemented (this is not " 37 | "an anisotropic medium!)", getClass()->getName().c_str()); 38 | return 0.0f; 39 | } 40 | 41 | Float PhaseFunction::getMeanCosine() const { 42 | Log(EError, "%s::getMeanCosine() is not implemented!", 43 | getClass()->getName().c_str()); 44 | return 0.0f; 45 | } 46 | 47 | MTS_IMPLEMENT_CLASS(PhaseFunction, true, ConfigurableObject) 48 | MTS_NAMESPACE_END 49 | -------------------------------------------------------------------------------- /src/mtsgui/importdlg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__IMPORTDLG_H) 20 | #define __IMPORTDLG_H 21 | 22 | #include "common.h" 23 | 24 | namespace Ui { 25 | class ImportDialog; 26 | } 27 | 28 | class ImportDialog : public QDialog { 29 | Q_OBJECT 30 | public: 31 | ImportDialog(QWidget *parent, FileResolver *resolver); 32 | ~ImportDialog(); 33 | public slots: 34 | void accept(); 35 | protected slots: 36 | void on_inputBrowse_clicked(bool checked); 37 | void on_directoryBrowse_clicked(bool checked); 38 | void on_adjustmentBrowse_clicked(bool checked); 39 | void onLocateResource(const fs::path &path, fs::path *target); 40 | void refresh(); 41 | protected: 42 | void changeEvent(QEvent *e); 43 | private: 44 | Ui::ImportDialog *ui; 45 | ref m_resolver; 46 | }; 47 | 48 | #endif // __IMPORTDLG_H 49 | -------------------------------------------------------------------------------- /src/libhw/data/sh_hemicube_1pass.geom: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #extension GL_EXT_geometry_shader4 : enable 20 | 21 | /* Transformation matrix for each cube map face */ 22 | uniform mat4 transform[5]; 23 | 24 | /* Depth projection axis */ 25 | uniform vec4 projDir[5]; 26 | 27 | /* -> Fragment shader */ 28 | varying float depth; 29 | 30 | void main() { 31 | depth = 0.0; // avoid an (incorrect?) compiler warning 32 | 33 | /* Replicate the geometry six times and rasterize to each cube map layer */ 34 | for (int side = 0; side < 5; side++) { 35 | gl_Layer = side != 4 ? side : 5; 36 | for (int i = 0; i < gl_VerticesIn; i++) { 37 | gl_Position = transform[side] * gl_PositionIn[i]; 38 | depth = dot(projDir[side], gl_PositionIn[i]); 39 | EmitVertex(); 40 | } 41 | EndPrimitive(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/mtsgui/sceneinfodlg.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #include "ui_sceneinfodlg.h" 20 | #include "sceneinfodlg.h" 21 | 22 | SceneInformationDialog::SceneInformationDialog(QWidget *parent, Scene *scene) : 23 | QDialog(parent), 24 | ui(new Ui::SceneInformationDialog) { 25 | ui->setupUi(this); 26 | #if defined(__OSX__) 27 | QFont font = ui->textEdit->currentFont(); 28 | font.setPointSize(12); 29 | ui->textEdit->setCurrentFont(font); 30 | #endif 31 | ui->textEdit->setText(scene->toString().c_str()); 32 | } 33 | 34 | SceneInformationDialog::~SceneInformationDialog() { 35 | delete ui; 36 | } 37 | 38 | void SceneInformationDialog::changeEvent(QEvent *e) { 39 | QDialog::changeEvent(e); 40 | switch (e->type()) { 41 | case QEvent::LanguageChange: 42 | ui->retranslateUi(this); 43 | break; 44 | default: 45 | break; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/mtsgui/updatedlg.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is part of Mitsuba, a physically based rendering system. 3 | 4 | Copyright (c) 2007-2014 by Wenzel Jakob and others. 5 | 6 | Mitsuba is free software; you can redistribute it and/or modify 7 | it under the terms of the GNU General Public License Version 3 8 | as published by the Free Software Foundation. 9 | 10 | Mitsuba is distributed in the hope that it will be useful, 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | GNU General Public License for more details. 14 | 15 | You should have received a copy of the GNU General Public License 16 | along with this program. If not, see . 17 | */ 18 | 19 | #if !defined(__UPDATEDLG_H) 20 | #define __UPDATEDLG_H 21 | 22 | #include "common.h" 23 | #include 24 | 25 | namespace Ui { 26 | class UpdateDialog; 27 | } 28 | 29 | class UpdateDialog : public QDialog { 30 | Q_OBJECT 31 | public: 32 | UpdateDialog(QWidget *parent, const Version &local, 33 | const Version &remote); 34 | ~UpdateDialog(); 35 | protected slots: 36 | void on_skipButton_clicked(); 37 | void on_remindButton_clicked(); 38 | void on_downloadButton_clicked(); 39 | void onNetworkFinished(QNetworkReply *reply); 40 | protected: 41 | void changeEvent(QEvent *e); 42 | private: 43 | Ui::UpdateDialog *ui; 44 | QNetworkAccessManager *m_networkManager; 45 | QNetworkReply *m_networkReply; 46 | QString m_remoteVersion; 47 | }; 48 | 49 | #endif // __UPDATEDLG_H 50 | --------------------------------------------------------------------------------