2010-08-12 Wenzel Jakob * converter.cpp: Much better import of COLLADA scenes from blender. * importdlg.cpp: User interface for importing scenes. 2010-08-09 Wenzel Jakob * rendersettingsdlg.cpp: Try to maintain the number of samples/pixel when switching between different samplers. 2010-08-05 Wenzel Jakob * constant.cpp, src/libhw/vpl.cpp: Support for image environment sources and spot lights in the real-time preview. 2010-08-03 Wenzel Jakob * mitsuba.cpp: Ability to run the 'mitsuba' execubable in arbitrary locations on OSX while ensuring that it still finds all plugins etc. * mtsimport: COLLADA importer support for ambient lights and 'polylist' meshes. * scene.cpp: Create a default camera when none is specified in the XML file. * constant.cpp, src/libhw/vpl.cpp: Support for rendering constant environment sources in the real-time preview. 2010-07-21 Wenzel Jakob * glwidget.cpp, mainwindow.cpp: Support for Drag & Drop * glwidget.cpp, mainwindow.cpp: 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. 2010-07-19 Wenzel Jakob * include/mitsuba/mitsuba.h: First semi-official external release 0.1.1 * rendersettingsdlg.cpp: Perform a sanity check when changing the rendering settings: if the configuration doesn't make any sense, prevent the user from continuing. * mainwindow.cpp, many others: Numerous bugfixes for all platforms 2010-07-18 Wenzel Jakob * previewsettingsdlg_cocoa_impl.mm: When running on OSX, use a Cocoa-based settings tweaker using a 'HUD Layout' instead of the Qt version. * debian/*: Finished debian package support * glwidget.cpp: Fixed some crashes 2010-07-17 Wenzel Jakob * preview.cpp: Many bugfixes for standard ray tracing. The partial preview shown while moving through the scene now adapts to its complexity, making the interaction smoother. * preview.cpp: Support for coherent ray tracing -- about 2-4x faster than standard ray tracing. * glwidget.cpp: When rendering very complex scenes, it was possible that the UI required a long time to acquire a image containing the most recent preview. This part is now allowed to time out gracefully, leading to a more responsive user interface. * mainwindow.cpp: "Resize to Fit" menu action. * mainwindow.cpp: Open/Save dialogs now remember their position, layout and directory. * debian/*: Support for generating Debian/Ubuntu packages 2010-07-15 Wenzel Jakob * preview.cpp: Very basic support for rendering the preview using standard ray tracing. 2010-07-14 Wenzel Jakob * errctrl.cpp: Added a feature that enables the error-controlling integrator to switch between an image-wide and a per-pixel based error criterion. * glwidget.cpp, mainwindow.cpp, previewsettingsdlg.cpp: Added support for the tonemapping technique by Reinhard et al. from 2002. It dynamically adapts to the average luminance in the viewport. 2010-07-13 Wenzel Jakob * xmltreemodel.cpp: When showing the integrator/sampler/film properties in the render setting editor, the less important ones are now drawn using a light grey color. * triangle.cpp: Fixed a numerical issue when primitive clipping/ perfect splits were active while building the kd-tree -- in some rare cases, this could result in missing geometry. * glwidget.cpp, preview.cpp: Nicer behavior when switching tabs. Previously, the preview would regenerate from scratch, which caused unpleasant flicker. Now, the preview stores the complete state just before switching away, and this is used to resume when switching back to the tab. * sceneloader.cpp, mainwindow.cpp: The interactive preview now tries to detect the path length from the current scene configuration. * rendersettingsdlg.cpp, save.cpp: It is now possible to configure the adaptive integrator & irradiance cache from within the GUI. 2010-07-11 Wenzel Jakob * mainwindow.cpp: Added a 'clone tab' feature, which is accessible in the File menu and using a context menu on the tabs * many files: Changed the system how scenes are transmitted over the network. The camera and integrator are now serialized separately and reattached to a shallow scene copy on the remote side. This makes it possible to render a scene from multiple viewpoints & using different techniques, while not having to send the (potentially large) scene over the wire every time. 2010-07-10 Wenzel Jakob * mainwindow.cpp: Added a feature to export images (preview+rendered) from within the user interface. * glwidget.cpp: Better-behaved UI when rendering tiny images (e.g. 100x100). The app now has a specified minimum size; smaller images will be surrounded by gray margins and frame highlights the image dimensions. * mainwindow.cpp, glwidget.cpp: Better-behaved UI when rendering huge images. When the image does not fit on the screen, scroll bars appear. Scrolling is supported using either two-finger gestures (OSX), the mouse scroll wheel or by using the scroll bars themselves. * mainwindow.cpp, glwidget.cpp: Got rid of numerous sources of flickering when switching between tabs. To make it all work, the OSX version now requires Qt 4.7.x (tech preview 2) or higher. * glwidget.cpp: The field of view can now be changed using the right mouse button. It is also possible to move within the film plane using the middle mouse button. 2010-07-08 Wenzel Jakob * path.h, path.cpp, pathvertex.h, pathvertex.cpp: Reorganized path related code, switched away from the purely inline-based header files. * save.cpp: The save feature now stores changes to the integrator, sampler and image reconstruction filter. The XML output has been made much more readable. 2010-07-07 Wenzel Jakob * mainwindow.cpp [OSX]: Detect crash reports and submit them over the web. This is only supported on OSX for now, since the other platforms don't collect them in a suitable way. * renderjob.cpp: Fix for the missing plugin crashes on Steve's machine * bidir_proc.cpp: Corrected sample positions for BDPT, which caused grid-like artifacts when rendering with the box filter. * path.h, mlt_*.cpp: Consolidated lots of repeated code into a new PathVertex::connect() function. 2010-07-07 Wenzel Jakob * ChangeLog: starting to keep a change log of notable changes (it won't contain minor edits).