Multi-GPU problems in 3.08

It seems that some users are having problems with the multi-GPU support I added in yesterday’s release of Alpha 3.08. I’m trying to find the source of this problem now and expect to have a fix prepared in a few days.

Apologies for any trouble you may have encountered.

Update as of Feb 12: I’ve found the source of these problems but fixing it is a bit more complex than I anticipated. I now expect to have a fixed version available by the end of the month.

Alpha 3.08 Release

Today I am releasing version Alpha 3.08 of the Cycles for 3ds Max plugin. The download and changelog pages have been updated. Importantly, this release introduces support for multi-GPU rendering with CUDA.

Full changelog:

  • Changed: Updated internal Cycles code to version 1.8.1
  • Changed: Default render tile size is now 192×192 pixels
  • Added: Multi-GPU CUDA support
  • Added: Light path configuration options
  • Added: Option to set sampling RNG seed
  • Updated third-party libraries
    • Boost to version 1.63
    • libjpeg-turbo to version 1.5.1
    • libpng to version 1.6.28
    • OpenImageIO to version 1.6.18
    • zlib to version 1.2.11

Road Map to Version 1.0

I had posted a road map to this blog several months ago about what features remain to be implemented before the release of version 1.0. Here is an updated version covering my current plans for future development of this plugin.

I’m still open to suggestions for future development, so if there is a feature you would like to see in the plugin that isn’t listed here please post a comment and I’ll consider it.

Features to be added before 1.0

  • Max Physical Material
    • I am working to build an approximation of the Max Physical Material as a Cycles shader. Once this is ready the Max Physical Material will be usable in renders. I’ll likely dedicate a blog post and video to this feature when it is released.
  • Max Physical Camera
    • Motion blur support will be added through the Physical Camera.
  • Multi-GPU CUDA Support
    • Currently the plugin will only use the display GPU when rendering with CUDA. In addition to the display GPU I will be adding options to run on either a non-display GPU or all available GPUs.
  • Light Path Configuration
    • Cycles allows for configuring a number of options to tweak how light bounces in a scene. I’ll be exposing these parameters through the max GUI.
  • Max Light Support
    • Support for default max light types such as point light and spot light will be added.
  • Node Editor Updates
    • More nodes will be coming. Ideally I’ll have support for every node that can be used in Blender.
    • Support for defining environment maps through the node editor will be coming as well.

Features to be added after 1.0

  • Material Viewport Overhaul
    • The current real-time shaders used to render Cycles materials in the viewport are very poor approximations of how the materials will appear in a render. I’ll be re-making these to better resemble their appearance at render time.
  • Cycles Micro-polygon Displacement
    • Adding this will require substantial work. I’d love to support this soon but in the interest of getting to version 1.0 sooner rather than later I have to delay this feature for now.
  • Texture Baking Support
  • OpenCL Support
  • OSL Support

Alpha 3.07 Release

I have just posted an updated download link for version Alpha 3.07. The changelog has also been updated.

This release bring support for ActiveShade rendering. I’ve put together a short video showing this off here:

As I mentioned in previous blog posts and this video, later in December I will be posting an updated roadmap detailing what features still remain to be implemented in this plugin before the release of version 1.0.

Upcoming 3.07 Release – ActiveShade

It’s been over a month since I last posted here so I wanted to give everyone a short update on what has been happening with plugin development lately.

For the past month I’ve been rewriting all the bits of the plugin responsible for translating meshes and materials to work with Cycles. The result of this rewrite is that the Cycles plugin will now support real-time rendering in Max through Max’s ActiveShade mode. This will allow for real-time Cycles rendering in a floating render window as well as in a viewport.

Alpha 3.07 will be coming some time in the first half of this month and will likely have no new features apart from ActiveShade support. Along with the release I’ll be posting a new youtube video showing off how this works as well as posting an updated roadmap to this blog regarding what features still remain to be implemented before version 1.0 is complete.

Alpha 3.06 Release

This is a small release solely to address an issue with environment maps that exists in versions 3.05 and earlier. A download has been posted.

The specific issue being fixed here is that in 3.05 and earlier, multiple importance sampling was not enabled for a scene’s environment map. The result of this is that environment maps with uneven lighting, such as a single bright point for a sun, would result in incredibly noisy and overly dark renders.

I’ve made the picture below to illustrate this change. This is two renders of exactly the same scene lit by an environment map, one in 3.05 and one in 3.06.


Thanks to Duncan Howdin for bringing this to my attention.

Alpha 3.05 Release

Today is the release of plugin version Alpha 3.05. A download is available and the changelog has been updated and is included below.

  • Changed: Updated internal Cycles code to parity with Blender 2.78
  • Changed: Emission shader strength map will now be multiplied by the strength scalar value
  • Added: NVIDIA Pascal cards are now supported for CUDA renders (GTX 10-series)
  • Added: Max 2017’s Physical Sun and Sky environment can now be used
  • Added: Depth-of-field is now supported through Max’s Physical Camera
  • Added: New “Multiscatter GGX” distribution for glossy, glass, and anisotropic shaders
  • Added: New node graph editor nodes
    • Input -> Tangent
    • Input -> Texture Coordinate
  • Added: New shader graph slate material that can use up to 16 texmaps
  • Fixed: Environment maps will no longer render with incorrect gamma
  • Fixed: Hair shader will now have uv-based tangents set by default
  • Fixed: Corrected broken buttons in Cycles Shader parameter rollout

This release includes some but not all of the new features that have recently been added to Cycles, notably missing are micropolygon displacement and spherical stereo rendering. I wasn’t able to have these features ready in time for this release, but they will be coming in the future.

I’ll also be releasing another short Youtube video soon covering how to effectively use the Physical Sun and Sky environment map from Max to light a scene.

Upcoming Alpha 3.05 Release

I’ve fallen a bit behind my target of monthly updates so I wanted to write up a quick post about what is going on.

New features for the next release are now largely complete and I’m working to integrate the changes in Cycles itself from the recently-released Blender 2.78. This is taking a bit longer to do than I initially expected and has exposed a few regressions in the plugin I’m working to correct.

If all goes well the new version should be ready for release within a week, but it may take a few extra days depending on how the rest of the new Cycles integration goes.

Alpha 3.03 Release

Alpha 3.03 has been released today. As usual, the changelog and download pages have been updated.

I have also just uploaded a new youtube video showing off the process for converting a Standard Max material into a Cycles-compatible material. The video is intended to be more of an introduction to building Cycles materials within this plugin rather than just demonstrating recently-added features as I have done in the past.