Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

Milestone 3.3.2


  • Ability to abort during subdivision: There is now support for aborting during the subdivision process. This can be handy when working with big meshes and high subdiv settings which can take quite a while to subdivide and tessellate. (trac#1919)
  • skydome_light: The new skydome_light uses importance sampling techniques for sampling an environment map. This can greatly reduce the amount of noise in Image Based Lighting (IBL) scenarios. (trac#1924, trac#1953) The new light has two unique control parameters.
    • format: This parameter is identical to the format parameter of the sky shader. Valid values are angular, mirrored_ball, latlong and cubic. The default value is angular.
    • resolution: This parameter gives the user control over the resolution of the light's importance sampling tables. Increasing this setting for environment maps with relatively small and bright areas can help to reduce noise at the cost of some precomputation time and memory usage. However this value should not be bigger than the original resolution of the HDRI map.
  • MIS-support in standard shader: The standard shader will now use Multiple Importance Sampling (MIS) when calculating its specular component for those lights who have their mis parameter activated. This can drastically reduce the noise of sampling large area lights from sharp specular highlights. MIS is also now active by default on all lights. (trac#1938, trac#1542, trac#1953)
  • Rendering after writing .ass files: When the preserve_scene_data option is enabled, we can continue rendering after writing the scene to .ass, as no data is destroyed in the scene. Note that this option is intended for interactive/debugging sessions and should not be used when rendering final frames on the farm, at the risk of increased memory usage. (trac#1927)
  • Collapse arrays with 1 element on .ass: When writing an .ass file, arrays with only one element will be collapsed to their shortcut syntax (trac#1909). So, instead of:
    shader 1 1 NODE myshader
    the output in the .ass file will be:
    shader myshader
  • Upgraded OIIO to 0.8.7: This release of OpenImageIO includes many improvements as well as fixes for a crash when TIFF contains certain XML strings, a fix for a deadlock related to the use of autotile and a fix for a massive slowdown when using automip with low cache sizes. It also adds support for 16-bit SGI images. (trac#1961)
  • Camera distortion with persp_camera.uv_remap: Added support for distorting the camera rays based on a UV image linked to the new uv_remap parameter in the persp_camera. Camera rays will be warped according to the values in the (r, g) components. This has been tested in production with a program called Hype that generates such UV maps. (trac#1876)

API additions

  • AiLoadPlugin(): This new function allows loading a specific plugin library, instead of a whole directory. (trac#1918)
  • Python bindings for metadata iterator: Added missing Python bindings for the metadata iterator API introduced in Arnold (trac#1932)
  • Explicit symbol export: We are changing the way symbols are exported in Linux. The AI_DLL_EXPORT macro will now explicitly make the symbol visible. This will not change anything yet, as we are globally exporting all symbols anyway. But, once we change the compiler settings to hide all symbols by default, only symbols with this macro will be exported. This change only affects the entry points for plugins (NodeLoader) and procedural nodes (ProcLoader) (trac#1962)

Incompatible changes


Bug fixes

#1379kick crashes with progressive rendering and -turn <n>
#1905OIIO deadlocks
#1977ERROR | Inside box.c -- could not find box normal
#1978crash in AI_RENDER_MODE_CAMERA mode using uninitialized shaderglobals struct
#1976valgrind warnings in patch subdivision
#1975standard shader produces black/white dots in glossy reflections
#1974motion blur artifacts in low primitive-count scenes
#1973Crash on AiAOVSetRGB
#1972darkening when MIS samples are increased
#1967corrupt rays from AiCookTorranceIntegrate
#1971Memory leak when tracing rays in "free" render mode
#1934support for carriage returns in quoted string parameters
#1959Crash when reading an AOV without first writing to it
#1958massive slowdown with automip and files bigger than the cache size
#1957Sidedness is not preserved for instances
#1954receive_shadows should not disable self_shadows
#1953MIS support in skydome_light
#1946Incorrect size for oriented disk used when sampling spherical lights
#1945Object matrix data is being destroyed after render
#1941crash with 16-bit SGI texture maps
#1939stale shader messages causing autobump artifacts
#1936crash with certain Photoshop CS4-saved TIFF files
#1933kick (progressive + turn) uses all outputs after the first turntable
#1930NaNs when evaluating the Ward BRDFs