Milestone 3.3.3

Enhancements

A new API function has been provided for those shaders that would benefit from the alternate transparency calculation method called AiShaderGlobalsApplyOpacity(). However at the time being, of the built-in shaders only the hair shader has been adapted to use this new transparency method. Here is a code example of how this can be used in a shader:
shader_evaluate
{
   // Evaluate opacity
   AtRGB opacity = AiShaderEvalParamRGB(p_opacity);

   // Early exit if the apply opacity function returns true.
   if (AiShaderGlobalsApplyOpacity(sg, opacity))
      return;
   
   // The rest of the shader code..
   ...
}

API additions

Incompatible changes

Bug fixes

  
#1971Memory leak when tracing rays in "free" render mode
#1978crash in AI_RENDER_MODE_CAMERA mode using uninitialized shaderglobals struct
#2076Bad intersection test on disk points
#2074Setting light.filters array to NULL causes a crash
#2070Remove several memory leaks found in testsuite
#2055node_update is not called in the nodes of a procedural when load_at_init is set to false
#2049Crash when a hair material has diffuse cache on and a SSS cache flush is done after a render
#1935kick overwrites the same image file with every frame (with -turn <n> option)
#922kick doesn't override the output file with -o
#2050custom plugin filters crash with negative AA samples
#2047Linking a shader component (such as .r) discards the static value for the other components
#2045Modified textures are being permanently invalidated
#2042Standard shader produces bright dots at grazing angles
#2034Problem loading .obj files with Windows-style EOLs
#2033kick -info crashes with parameter names > 32 chars
#2032Plugins in '.' are not loaded when "-l" option an/or plugin searchpath is specified
#2019Writing instance parameters to .ass is broken
#2006memory leak in persp_camera
#2005Potential leak/crash when changing bucket_scanning interactively
#2004curves should never return a 0 length normal
#2002Statistics can use the wrong number of threads
#1998avoid false sharing in light LSD structs
#1995increase texture_max_memory_MB to 512
#1994Crash when using AiRadiance or AiIrradiance
#1992memory pool calls realloc() with an invalid address
#1989make it impossible to write AOVs for shadow rays
#1988lower threshold when calculating surface derivatives
#1987bug in regular patch classification during adaptive subdivision
#1981Empty arrays not properly written to .ass files
#1977ERROR | Inside box.c -- could not find box normal
#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
#1944output drivers don't allow extension different than image file format