C4DtoA 3.3.0 introduces Arnold and is a feature release bringing light mixing, bloom and interactive denoising through imagers.


System Requirements

  • Cinema 4D
    • R20.057 and above
    • R21.026 and above
    • S22.016 and above
    • R23.008 and above

  • Windows 10 or later, with the Visual Studio 2019 redistributable.
  • Linux with at least glibc 2.17 and libstdc++ 4.8.5 (gcc 4.8.5). This is equivalent to RHEL/CentOS 7.
  • macOS 10.13 to 10.15. Note that macOS 11 Big Sur is not certified.
  • CPUs need to support the SSE4.1 instruction set.
  • GPU rendering works on Windows and Linux only and requires an NVIDIA GPU of the Ampere, Turing, Volta, Pascal, or Maxwell architecture. We recommend using the 460.39 or higher drivers on Linux and 461.40 (Quadro), 461.40 (GeForce), or higher on Windows. See Getting Started with Arnold GPU for more information.
  • Optix™ denoiser requires an NVidia GPU with CUDA™ Compute Capability 5.0 and above.




Light Mixer imager: This new imager makes it possible to interactively edit the contribution of light group AOVs during and after rendering without restarting the render (core#9838).

Bloom in imager_lens_effect: The imager_lens_effect now implements a bloom effect. Bloom or glow is a post-processing effect that will blur pixels above a given threshold across the frame to simulate light bleeding on an imperfect lens. See the (core#9728).

  • Noice denoiser imager: The Arnold Noice denoiser is now also available as a post-processing effect. You can automatically denoise images every time you render a scene, edit the denoising settings and see the resulting image directly in the render view. Note that imager_denoiser_noice does not support temporal denoising (core#9718).
  • OptiX denoiser imager: The OptiX™ denoiser is now available as a post-processing effect. The imager also exposes additional controls for clamping and blending the result. (core#9719).


  • OpenColorIO v2 support: Arnold now uses an updated version of OCIO and is able to load and run OpenColorIO v2 configurations. It is fully backward compatible and will load and run existing configurations as before.(core#7827)
  • Up to 256 light AOVs supported: The number of supported light AOVs is now 256, it was 15 previously (core#7802).
  • Faster cell_noise: The cell_noise shader is now about 2.5x faster on CPU and 4.3x faster on GPU. In order to achieve this, we had to make a look-breaking change that manifests as a different random seed (core#9866).
  • New default values for Standard Surface: The base and base_color parameters on standard_surface are now respectively set to 1.0, and (0.8, 0.8, 0.8) by default. Changing base to 1 after connecting base_color to a texture is such a common use case that it's better to swap the two defaults and avoid having to adjust base every time (core#9128 standardsurface#15)
  • Improved progressive sampling: faster and higher-quality sampling improves progressive and adaptive rendering performance (core#10023).
  • Constant color detection in maketx: Added constant color detection to maketx. maketx/AiMakeTx will by default add the --monochrome-detect flag (core#10179).
  • OpenEXR maketx passthrough: OpenEXR file inputs to maketx/AiMakeTx will now by default generate an OpenEXR based .tx files instead of TIFF based .tx files. --format tif or specifying a non-tx extension in the output filename will still allow for using other filetypes (core#6792).
  • maketx allows by default half TIFFs: maketx/AiMakeTx will now by default allow creating TIFF based .tx files with half floats. Before, passing -d half would by default produce a 32-bit float TIFF .tx file. Beware that most tools do not support half TIFF, so float TIFF or half OpenEXR should be used when the .tx file needs to be used outside of Arnold (core#6792).
  • Faster maketx half TIFF generation: Generating half TIFF .tx files should be several times faster on certain Linux machines (core#10224).
  • Support for OSL shader metadata: Metadata from OSL shaders are now visible on Arnold nodes and can be read via the AiMetadata APIs (core#6718).
  • Limit number of per-light log messages: If there are more than 100 lights, we stop outputting per-light sampling log messages at the regular log verbosity and instead only output these at debug level verbosity. This should help avoid "spamming" the logs when there are many lights in a scene (core#10098).

  • Faster Autodesk Analytics Program: ADPClientService should upload data more quickly and consume fewer CPU resources, especially when there is no internet access (core#9776).
  • Updated single-user licensing: Autodesk Desktop Licensing has been updated to version This version is not compatible with previous Arnold versions and should be installed automatically from plugin installers if single-user licensing is used, or can be updated manually from the Arnold License Manager. It is required only for single-user licensing, network licensing (AdskFlex) and RLM are not affected (core#289).
  • More accurate crash report: When crashes occur while Arnold is running, a stacktrace is printed out. The stacktrace report should now be more reliable and slightly easier to understand (core#9156).
  • More profile blocks added: Most of the Arnold API now has associated profiling blocks so it is easier to determine which Arnold components are consuming the most render time (core#10272).
  • Interactive imagers in kick: kick now displays imagers in interactive mode (core#9836).
  • Faster Apple M1 performance: Arnold should now be able to properly use both the big and small M1 cores (still under Rosetta2) (core#10062).
  • OpenVDB 7.1: Arnold now uses OpenVDB 7.1. More information about the changes between OpenVDB 4 and 7.1 can be found here. (core#9861)
  • Old OptiX denoiser workflow is removed: The Denoise checkbox are removed from the AOVs. Use the OptiX denoiser imager instead. Old scenes are converted automatically to the new imager workflow when loaded. (c4dtoa#2272)

Writing the denoised output to a separate AOV in a single-layer Arnold driver (e.g. jpeg, png, etc.) is not supported by the OptiX denoiser imager at the moment. If you have a single-layer driver in your scene you have to disable Output to separate AOV in the imager after the scene is loaded.

Saving to a separate image per layer via the Save -> Multi-Pass Image option in the Render Settings still works fine.

  • Assign imagers to selected drivers: Imagers can now be assigned to selected drivers via the Selection tab. (c4dtoa#2273)
  • Assign imagers to selected AOVs: Imagers can now be assigned to selected AOVs via the Selection tab. (c4dtoa#2263)
  • Batch and IPR only imagers: A new option is available on the Selection tab of imagers to control whether the imager is enabled only in batch render mode (Render to Picture Viewer, Team Render, Commandline render, etc.), only in IPR or both. (c4dtoa#2267)
  • Mute and solo groups in the Light Manager: Solo and mute buttons are added to light groups in the Light Manager which allow soloing and muting all lights under a given group. (c4dtoa#1667)
  • Exclusive mute and solo in the Light Manager: Mute or solo an individual light is available now by Ctrl + click on the mute or solo button in the Light Manager. (c4dtoa#1667)
  • Flip parameter in Arnold Sky and skydome light: The Cinema 4D Sky object seems to incorrectly flip the texture. A new parameter is added to the Arnold Sky and skydome light in case you want to match the Cinema 4D sky. By default the switch is off, so textures are rendered properly. (c4dtoa#2298)
  • Record plugin and host info for analytics (ADP): Cinema 4D and C4DtoA version is now recorded in the Autodesk Desktop Analytics Program (ADP) in case you are opt-in. (c4dtoa#2259)

GPU Enhancements

  • Shadow groups: Support for shadow groups has been added (core#9898).
  • Improved start-up times: This version improves the initial startup time when rendering a scene for the first time. On some scenes, we measured up to a 2x speedup in startup time, as well as a 4% speedup in render time (core#10160). 
  • Report GPU memory used when there is a GPU crash: Running out of GPU memory is a common problem and can sometimes result in random error messages. We now report the amount of GPU memory that Arnold had available when it first started, which if low could indicate that other applications were using GPU resources and stopping those applications will allow Arnold to succeed, and also report the amount of memory available when the GPU crash occurred, which if low is highly suggestive of an out of memory condition. (core#10261).

Bug Fixes

  • c4dtoa#2298 Arnold Sky with HDRI map is rotated. This change affects only new scenes, loading an old scene with an Arnold Sky preserves the look (mismatch).
  • c4dtoa#2295 Render selected objects does not work for instances when a material is selected
  • c4dtoa#2292 Tx generation fails when converting multiple textures with different color spaces
  • c4dtoa#2304 Switch VDB to relative path in the Asset Manager does not work properly
  • c4dtoa#2308 Cleanup default.profraw file

  • core#10278 100% progress is not always printed.

  • core#10074 Blackbody: bad XYZ color normalization.
  • core#9982 Clamp negative values with thin_film and transmission.
  • core#10233 clip_geo: stops working if you tumble the camera in IPR.
  • core#9744 Crash due to out-of-memory when rendering.
  • core#10222 [GPU] Fix Arnold not being able to recover from recoverable exceptions.
  • core#10208 [GPU] Remove usage of scientific notation for log progress.
  • core#10175 Mix of two standard_surfaces with transmission hangs the render.
  • core#10149 Points should be visible in the viewport API in polygon mode.
  • core#10091 quad_light can produce rare black samples.
  • core#10283 Remove MacOS xcrun installation prompt when crash occurs.
  • core#10259 Report error code when NVML fails to initialize.
  • usd#592 Invalid face-varying primvars crash the render delegate.
  • usd#596 Invalid USD is produced if polymesh is made of triangles and nsides is empty.
  • usd#481 std::string, TfToken, and SdfAssetPath typed VtArrays are not converted when setting primvars.
  • usd#619 Several built-in render buffer types are not translated to the right Arnold AOV type.
  • usd#634 Fixing disappearing meshes when playing back animation.
  • usd#621 UVs not read from facevarying primvar if indexes are not present.
  • usd#638 Motion start and motion end is not set reading animated transformation.


There's a known bug in Cinema 4D R23.008, that plugins are not loaded automatically in Team Render Client and Commandline render. The plugins folder (e.g. c:\Program Files\Maxon Cinema 4D R23\plugins) has to be added manually.


In Team Render Client go to File -> Preferences... -> Plugins -> Search Paths -> Add Folder...


For Commandline, specify the g_additionalModulePath environment variable.

  • No labels