Mitsuba 0.5.0
- Multichannel renderings: Mitsuba can now perform renderings of images with multiple channels in one pass—these can contain the result of traditional rendering algorithms or extracted information of visible surfaces (e.g. surface normals or depth).
- Python bindings : Substantial improvements to the Python bindings, and support for integrating with other Python-based
software (Blender, NumPy, PyQt/PySide)
- GUI tweaks: Various minor tweaks to the user interface: ask before stopping long-running rendering jobs, switch between tabs using the Alt-Left and Alt-Right keys, require less mouse clicks in the render settings editor.
- New default tag: New XML tag to set default parameter values in scene descriptions
- Many bugfixes and improvements: Mitsuba now runs on Windows 8.x, the CMake build system has been fixed, mtssrv works reliably on Mac OS X, MLT-related robustness improvements, statistics are now reset before starting a new rendering, minor changes to the specification of color information to make spectral and RGB-based renderings more consistent
Mitsuba 0.4.5
- Height field: Added a height field intersection shape based on Min-Max-Mipmaps
- Radial distortion: Added a new perspective camera with model radial distortion
- Bitmap texture: Feature to create a bitmap texture from a single color channel of an image.
- Python API More complete coverage of the Mitsuba core API,
Added a feature to quickly convert between Mitsuba images and Python byte arrays
- Fast 2D convolution:Frequency-space convolution of large-scale images using FFTW3
- Bloom: Added a physically-based bloom filter to mtsutil tonemap
- Mac OS: 10.9 font fixes, initial improvements for machines with a retina display
- Dependencies: Regenerated dependency binaries, added Python 3.3 support on Windows
- Performance counters: Collecting rendering statistics turned out to cause severe memory
contention on previous releases. This has now been fixed, leading to
significant speedups on machines with many cores (>4).
- CPU Affinity: Worker threads now request CPU affinity on platforms where this is supported
- Double precision: Fixed kd-tree precision improvements when rendering in double precision.
- The rest: Many smaller robustness fixes and bugfixes in various parts of the
renderer -- see the changelog for details
Mitsuba 0.4.4
- Python scripting: improved Python support for rendering animations and motion blur.
- Photon mapper: logic rewrite to account for certain missing specular paths.
- Robustness improvements: fixed some numerical issues in specular+diffuse materials such as 'plastic'.
- Instancing: fixed one remaining issue in the instancing frame computation code.
- Thin dielectric: the thindielectric plugin previously computed incorrect transmittance values; this now works as expected.
- Cube: for consistency with the other shapes, the cube shape is now centered at the origin by default.
- Thread-local storage: the TLS cleanup logic has been fixed to avoid a potential crash in mtssrv
- The rest: other minor improvements are listed in the repository log.
Mitsuba 0.4.3
- Motion blur: Support for arbitrary linear camera, object, and sensor motion to produce motion blur in renderings.
- Render-time annotations: added the ability to tag image files with additional
information by means of metadata or text labels.
- Hide directly visible emitters: convenient feature for removing an environment light
source so that an image can be composited onto documents having a different color.
- Improved instancing: more robust instancing code with support for non-rigid transformations.
- Threading on Windows: fixed various threading-related issues on Windows that previously caused crashes and deadlocks.
- Caching: Caching mechanism to further accelerate the loading of .serialized files.
- File dialogs: Native File Open/Save dialogs are now used on Windows.
- Python: Improved python bindings; easier usage on MacOS X.
- Blender interaction: Fixed a issue where GUI tabs containing scenes created in Blender could not be cloned.
- Non-uniform scales: All triangle mesh-based shapes now permit non-uniform scales.
- NaNs and friends: Increased resilience against various numerical corner cases.
- Index-matched participating media: Fixed an unfortunate regression in volpath regarding index-matched media that was accidentally introduced in 0.4.2.
- roughdiffuse: Fixed texturing support in the roughdiffuse plugin.
- Photon mapping: Fixed some inaccuracies involving participating media when rendered by the photon mapper and the Beam Radiance Estimate.
- Conductors: Switched Fresnel reflectance computations for conductors to the exact expressions predicted by geometric optics (an approximation was previously used).
- New cube shape: Added a cube shape plugin for convenience. This does exactly what one would expect.
- The rest: As usual, a large number of smaller bugfixes and improvements were below the threshold and are thus not listed individually. The repository log has more details.
Mitsuba 0.4.2
- Volumetric path tracers: improved sampling when dealing with index-matched medium transitions. This is essentially a re-implementation of an optimization that Mitsuba 0.3.1 already had, but which got lost in the bidirectional rewrite.
- Batch tonemapper: due to an unfortunate bug, the batch tonemapper in the last release produced invalid results for images containing an alpha channel. This is now fixed.
- Shapes: corrected some differential geometry issues in the "cylinder" and "rectangle" shapes.
- MLT: fixed 2-stage MLT, which was producing incorrect results.
- MEPT: fixed the handling of directional light sources.
- Robustness: got rid of various corner-cases that could produce NaNs.
- Filenames: to facilitate loading scenes created on Windows/OSX, the Linux version now resolves files case-insensitively if they could not be found after a case-sensitive search.
- Python: added Python bindings for shapes and triangle meshes. The Python plugin should now be easier to load (previously, this was unfortunately rather difficult on several platforms). The documentation was also given an overhaul.
- Particle tracing: I've decided to disable the adjoint BSDF for shading normals in the particle tracer, since it causes an unacceptable amount of variance in scenes containing poorly tesselated geometry. This affects the plugins ptracer, ppm, sppm and photonmapper. See the commit for further details.
- Subsurface scattering: fixed parallel network renderings involving the dipole model.
- Homogeneous medium & dipole: added many more material presets by Narasimhan et al.
- OBJ loader: further robustness improvements to the OBJ loader and the associated MTL material translator.
Mitsuba 0.4.1
- full unicode support throughout the renderer.
- negative pixel values in textures and environment maps are handled more gracefully.
- minor robustness improvements to the OBJ and COLLADA importers.
- fixed the Ubuntu packages so that they don't depend on a specific version of the libjpeg development headers.
- fixed a stack overflow issue in the bidirectional path tracer, as well as some other crash-causing bugs that were found via the Breakpad reports.
- fixed an issue where sun and sky interpreted the combination of a 'toWorld' transform and explicit 'sunDirection' differently, causing misalignment.
- fixed a photon mapper regression involving environment maps.
- Edgar rewrote a piece of initialization code that prevented Mitsuba from running on Windows XP.
- Sean Bell contributed an improved setpath.sh script, which adds ZSH autocompletion on Linux.
- fixed some issues in the bidirectional abstraction layer when dealing with alpha masks.
- fixed a bug where the rectangle shape produced incorrect results when used as an area light.
- on OSX, the python bindings could not be loaded due to invalid library import paths - this now works.
Mitsuba 0.4.0
- Bidirectional rendering algorithms: added implementations of Bidirectional path tracing,
Primary sample space MLT, Path space MLT, Energy redistribution path
tracing, Manifold exploration
- Sensors/emitters: This version relies on a completely redesigned framework for representing sensors and emitters (formerly known as cameras and luminaires)
- Realtime preview: Vastly improved realtime preview that scales to big scenes and has better compatibility with various graphics cards
- New GUI features: Crop/Zoom/Multiple sensor support
- sunsky: Redesigned skylight emitter based on work by Hosek and Wilkie
- Textures: Improved texturing system with support for high quality resampling,
out-of-core textures, and anisotropic texture filtering
- QMC samplers: added Sobol, Halton, and Hammersley Quasi Monte Carlo point set generators
- Handedness: Fixed an unfortunate handedness problem that affected all cameras
- Bitmaps: Flexible bitmap I/O with support for many new output formats
- SSS: Reimplemented dipole subsurface scattering integrator
- Optimizations: SSE-based CPU tonemapper & Mersenne Twister implementation
- Threading: All threading code was moved over to boost::thread
- Python: The build system can now simultaneously deal with several versions of Python
- Other new plugins: blendbsdf, thindielectric
- Build system: Edgar contributed a new CMake-based build system
Mitsuba 0.3.1
- Reflectance models: The plastic, roughplastic, and roughcoating models have been completely overhauled. They are now reciprocal, and the rough variants support a texturable roughness.
- Intersection shapes: For convenience, I've added two new intersection primitives: rectangle and disk. These do exactly what the name implies
- Wireframe texture: there is now a special texture that reveals the underlying mesh structure when attached to a triangle mesh.
- Linear blend material: it's now possible to interpolate between two arbitrary BSDFs based on a texture.
- Photon mapper: The photon mapper had some serious issues in the
last release. These are now fixed — it should run faster, too.
- Primitive clipping: Fixed numerical issues that occurred when using
primitive clipping in a double precision build.
- Instancing: Instanced analytic shapes (e.g. spheres, cylinders, ..) are now supported,
and an error involving network rendering with instanced geometry is fixed.
- Scene file corruption: Fixed a serious issue that could destroy a scene file when saving from a cloned tab!
- OBJ textures: Textures applied to an OBJ mesh used to be vertically flipped. This is now fixed.
- Performance: On Linux/x86_64, the performance of the single precision exp() and log()
math library functions is extremely poor. Mitsuba now uses the double
prevision versions of these functions by default.
- Adaptive integrator: The adaptive integrator now better interacts with certain sub-integrators.
- Multi-monitor setups: Fixed some bad GUI behavior that caused incorrect window placement
- Hair rendering: Improved performance of the hair intersection primitive
- Texturing: Fixed an off-by-one error in the texture lookup code
Mitsuba 0.3.0
- Python: Added Python bindings that can be used to instantiate plugins
and control rendering processes.
- Spectral rendering: most of the code pertaining to spectral
rendering has seen a significant overhaul. It is now faster and
in certain cases more accurate.
- Flexible material classes: this release introduces a robust and
very general suite of eight physically-based smooth and rough
(microfacet-based) material classes.
- Material modifiers: two new material modifiers (bump & coating)
can be applied to BSDFs to create new materials.
- Material verification: the sampling methods of all material
models in Mitsuba are now automatically verified with the help
of statistical hypothesis tests (using Chi^2-tests).
- Generated documentation: there is now a javadoc-like system,
which extracts documentation directly from the plugin source code
and stitches it into a LaTeX reference document.
- lookAt: Mitsuba inherited a bug from PBRT, where the
tag changed the handedness of the coordinate system. This is now
fixed--also, the syntax of this tag has changed to make it easier to read.
- Scene portability: A new conversion tool ensures that old and incompatible
scenes can be translated into the scene description format of the
most recent version.
- Contributed plugins: Tom Kazimiers and Papas have contributed
implementations of the Preetham Sun & Sky model and the Hanrahan-Krueger
scattering model.
- Photon mapping: The Photon map integrator has been rewritten for
improved accuracy and better performance. Furthermore, the underlying
data structure has been replaced with a ~50% faster implementation.
Mitsuba 0.2.1
- Completely rewritten participating layer with better robustness and support for many participating media within the same scene
- Rewritten micro-flake model implementation, which is faster, more accurate, and supports a larger range of material parameters
- Added the Irawan & Marschner woven cloth BRDF model
- Includes a script to automate the creation of render farms on the Amazon Elastic Compute Cloud (EC2).
- The Blender plugin was fixed so that it works with Blender 2.56
- Volumetric Photon Mapping is now supported using the Beam Radiance Estimate
- The COLLADA importer handles larger files, which previously lead to crashes
- New and more intuitive rotation controller for the interactive preview
- Many bugfixes
Mitsuba 0.2.0
- Robustness improvements to the COLLADA importer
- Experimental Blender 2.5 plugin
- Completely rewritten kd-tree construction code, which provides significant speedups
- Support for geometry instancing
- Luminaire sampling and UV texture mapping are now more flexible
- Initial hair rendering support
- The XML schema of the scene description language is less picky
- Added a loader for the PLY file format
- Support for vertex colors
- Resolved lock contention issues in the irradiance cache
- The loading dialog now contains a console, which shows what is happening while waiting for a large scene to load.
- Importance sampling was added to the environment map luminaire
- Additional material GLSL implementations for use in the interactive preview
- Improved the performance of the interactive preview
- Many bugfixes
Mitsuba 0.1.3
- Imported scenes now store relative paths
- OBJ importing works on Windows
- Realtime preview (OpenGL + RTRT) fixed for point sources
- The anisotropic Ward BRDF is now supported in the preview
- Faster texture loading
- The renderer now has a testcase framework similar to JUnit
Mitsuba 0.1.2
- Numerous bugfixes
- Significantly improved COLLADA importer: it should now be able to handle most scenes from Maya, 3ds max, Blender and SketchUp
- Basic graphical user interface for running the importer
- Initial documentation, including some on the import process (available on the documentation page)
- Support for environment sources in the realtime preview
- When pressing the stop button while rendering, the partially rendered scene now remains on the screen. Pressing the stop button a second time switches back to the realtime preview
- The user interface now has a fallback mode when the graphics card is lacking some required OpenGL features.
- Create default cameras/lightsources if none are specified in a scene
- Support for file drag & drop onto the user interface
- The Mitsuba user interface now also doubles as an EXR viewer / tonemapper. Drag an EXR file onto the UI or open it using the File menu, and the image opens in a new tab. Afterwards, it is possible to export the image as a tonemapped 8-bit PNG image.
- The realtime preview now has a 'force diffuse' feature to improve convergence in scenes with lots of glossy materials.
- Two different navigation modes can now be chosen in the program settings
- New material types: composite, difftrans, transparent, mask.
- ldrtexture: support for loading uncompressed BMP and TGA images.
- Switch to Xerces-C++ 3