Another year passed, and another great release of 3ds Max! 3ds Max 2017 is coming with a number of great new features. See here for a complete list: What's New in Autodesk 3ds Max 2017. Also Eddie’s blog has a great overview with videos: Introducing 3ds Max 2017 and you might want to checkout Christopher’s Max Creation Graph post.
First, 3ds Max 2017 is not binary compatible with previous versions. This means you must recompile your plugins using the Visual Studio 2015 RTM (or later) VC++14 compiler. See here for all the 2017 SDK changes: What's New: 3ds Max 2017 SDK.
New User Interface
Note that the user interface is it is now HDPI aware. This allows for running on the many available High-definition devices (and for me with the MacBook Pro running Windows, I can finally see the UI controls again! J). In order to handle this, 3ds Max is now using the Qt library. The good news from the SDK perspective is there is no change required for your plugins. Only the painting of the controls is using Qt, so existing controls should still be fine. The only suggestion is to test your plugin UI and ensure there are no string issues, etc. See the SDK docs here for further information Using Qt with 3ds Max Plug-ins
Qt distributions are like this:
- OpenSource for the changes made by Autodesk: https://www.autodesk.com/company/legal-notices-trademarks/open-source-distribution, specifically the one that says Qt 4.8.5 is here: https://www.autodesk.com/content/dam/autodesk/www/Company/files/Qt4.8.5.zip
- The prebuilt binaries that could be used by SDK users will be posted to our 3ds Max Developer Center by the end of this week (let me know if you need it sooner and I can give it directly). UPDATE: Developer center now contains the new files. Find the two new files under the "Tools" section towards bottom of 3ds Max Developer Center.
Another change is that the mental ray renderer is now provided as a separate component. To install it, ensure the mental ray option is checked in your installation setup. The mental ray related SDK files were also removed from the SDK distribution. You can also download the mental ray SDK from the 3ds Max Developer Center later this week. (Again, let me know if you need it sooner and I can give it directly). UPDATE: Developer center now contains the new files. Find the two new files under the "Tools" section towards bottom of 3ds Max Developer Center.
A new renderer included with 3ds Max 2017 is the Autodesk Ray Tracer (ART) renderer (aka RapidRT). This renderer is more design focused and supports photorealistic rendering. The integration of this renderer also brings a new, easier to use renderer implementation layer into the SDK. We have not yet gotten the full details into the online 2017 SDK docs, but it will be coming soon. Let me know if you need information now, and I can send you something. Note that the SDK changes are ALREADY in the SDK and you can find the bulk of those changes here: .\maxsdk\include\RenderingAPI. Also the .\maxsdk\include\Rendering folder is significantly changed.
Plugin Wizard and Porting
The plugin Wizard has also been improved to ensure it works properly with VS2015. There were a few template errors, too, and those have been fixed. The wizard is an ideal way to start a new project, that picks up the VS property sheets (including compiler and linker settings that match 3ds Max’s own settings). This makes sure you are building against the settings for the runtime environment that matches the 3dsmax.exe. One easy option for porting, is to create a new project with the wizard, and then move your source and resource files into the new project.
For the .NET API, there was a number of fixes to make it more stable and eliminate some of the IntPtr parameter problems. Also the .\maxsdk\assemblies folder was removed from the SDK. This folder was meant to allow building of .NET plugins without needing the full installation. But it proved to be difficult to maintain and so we decided just to remove it. If there is a chance you were using it, you can simply copy the assemblies for the 3dsmax.exe folder to a location where you need them. The supported assemblies are listed here: 3ds Max .NET Assemblies
On the Python side, there was also some significant improvement. The version is now 2.7.6. See here for specifics: What's New in the 3ds Max 2017 Python API
Note that the focus was on better MAXScript integration, so you will see the MAXScript editor now supports authoring of Python scripts and the MAXScript listener now supports a Python command line. Interop between Python and MAXScript improved so you can now import python libraries into MAXScript routines, and also reference MAXScript APIs directly in a Python script. Also the Python Qt support is improved with better PySide support, and window parenting and docking functionality.
Of course MAXScript also receives some changes. Those are all identified here: What is New in MAXScript in 3ds Max 2017.
Max Creation Graph
Even though there is no code involved, it's important to mention that the Max Creation Graph feature also continues to see new features. See Christopher’s Max Creation Graph post. A new github repo for all the samples will be coming soon. You can find it here: https://github.com/ADN-DevTech/3dsMax-MCG-Samples
And remember, that you can always find the M&E SDK documentation by going to this alias: https://www.autodesk.com/me-sdk-docs