3ds Max integrates OSL

Laurent Gibert Product Manager 3ds Max, showed a sneak peak at the new 2019 version at GDC 2018.

In 3ds Max 2018 the product got Arnold and an improved modeling and animation workflows. Throughout the year there were multiple smaller point releases of «Smaller drops» as the team referred to them. These smaller drops fixed some 550 issues over the last year. The new 3ds Max 2019 showed adding new OSL maps (below), new parametric spline shape Boolean tools, improved alembic, and shared views to allow non 3ds Max clients to review work. 3ds Max also has Interactive scene layout in VR, plus at the time of release there will be 150+ plugins already supporting the new version of 3ds max 2019.


We thought we’d take a closer look at the OSL integration, one of the more impressive features in the new version.


OSL is a small but rich language for programmable shading in advanced renderers, ideal for describing materials, lights, displacement, and pattern generation.

fxguide has been supporting and reporting on OSL since 2009, when Sony Pictures Imageworks (SPI) released their first open source initiative version of OSL (early 2010). The shading language was developed at SPI to work with its in-house Arnold renderer and it has always been built to be adaptable to advancements in rendering technology. SPI has developed or been central to so many Open Source projects and products, such as Alembic, OSL, FLIX, Katana, OpenColorIO and many more that are now a part of the industry.

In 2017 the Sci-Tech Oscar committee of the Academy honored  Larry Gritz for it’s design, implementation and dissemination. Commenting at the time  «OSL is a highly optimized runtime architecture and language for programmable shading and texturing that has become a de facto industry standard. It enables artists at all levels of technical proficiency to create physically plausible materials for efficient production rendering». OSL was first implemented for SPI’s own version of Arnold. It has been since included in a large variety of renderers including V-Ray.

Away from the GDC show fxguide spoke to Larry Gritz for his reaction. «I’ve seen a couple previews, and frankly I’m pretty blown away by how polished and well-integrated their OSL support is» commented Gritz. «It seems really first-rate and comprehensive, not just a cursory toe in the water. They have a really nice UI and organization, very well polished».

There is a tremendous amount of shader functionality in the 3ds Max OSL and Gritz feels that the team provided a nice way to expose adding or modifying their own shader code. «It’s tightly integrated into the whole interface, and they can see very interactive renderer feedback as they edit and modify shaders».

The 3ds Max team have not only get OSL working with Arnold, but also make it work transparently with the old Max renderer. ‘Zap (Håkan ‘Zap‘ Andersson, Rendering Architect at Autodesk) and the team have done a really great job, .. I didn’t expect to see something with this level of polish so imminently ready to release» Gritz adds.

«I’m really excited to see what the users do with this and where it leads. 3dsMax is, of course, a big gorilla of DCC apps, probably the largest installed base of any such software». we commented. This means that even if just a fraction of 3ds Max’s installed base work with OSL it will be an enormous expansion in the number of OSL users and «this has really profound implications for the future of the OSL community and tool ecosystem» he concludes.

Unlike previous shader languages, OSL has always assumed a rendering system that can perform ray tracing, and provides for natural global illumination and to OSL was perfect for a world of physical accuracy. The latest product to integrate OSL is 3ds Max.  The implementation is 3ds max is smooth, polished and very effective.

3ds Max’s OSL works very effectively with Arnold which is now packaged as standard, (replacing mental ray). Previously OSL was treated as any other third-party shader libraries. The new version of 3ds Max ships with a hundred plus of OSL new texture shaders. The OSL map itself inside 3ds Max allows users to just download and import OSL shaders from the vast amount of free OSL shaders on the net.

Now in 3ds Max 2019 OSL is visible as a new map called OSL map, a new category of maps and it comes with improved features such as the handling of Metadata

The Arnold for 3ds Max plug-in was launched at Siggraph 2016 and since Arnold 5.0 was released in 2017, MAXtoA has been bundled standard with 3ds Max 2018, providing a bridge to the Arnold renderer from within the standard 3ds Max interface. Since version 5.0, the Arnold renderer has generally came the with shaders that could be written in both C++ and OSL.  With the OSL shaders in the shader search path automatically registered as Arnold shader nodes, and their parameters converted to Arnold parameters. Once loaded, these OSL shaders can be inspected, instantiated and linked in exactly the same way as C++ shaders. As of today, OSL is now integrated into 3ds Max in an elegant and powerful new way.

Since the start of 2016 there has been a version of the Arnold Render View window fo Maya. This interactive rendering (IPR) utility was released to give real-time feedback of any changes made to the scene, while solving several limitations of Maya’s native Render View. Arnold 5 last year also meant the use the Arnold renderer directly in 3ds Max, including 3ds Max version of the fast Arnold Active Shade option.

Out of the box OSL works in any renderer supporting the classic 3ds Max shader API (Scanline, vRay, Corona etc.). It works outside of renderers, anywhere in 3ds Max where a regular map is requested, such as in the Displacement modifier, etc. In that case, of renderers that natively support OSL, such as Arnold, the execution environment inside the OSL Map is not used, instead, the OSL source code, the parameter values and shader bindings are sent to the renderer, which executes the OSL code itself.

One of the most impressive features is the ability to edit the shaders, this development environment is highly interactive. The code of the shader can be opened in the editor and the shader compiler runs even while 3ds Max is still updating your image with the Arnold Active Shade option (IPR). Related to the development tools is a powerful Metadata shader extension for tool tips or help text, links or shader ‘logos’.

Also: Unity integration

The team also showed 3ds Max and Unity working together. The team has been making it easier to get assets from 3ds Max or Maya and into Unity.  The first look at this improved interaction occurred at the Unite Austin 2017 Conference, in October 2017. This was the same Unite conference where Neill Blomkamp and OATS Studios debuted ADAM: The Mirror.  Unity was the first creation engine that had full access to the source code of the Autodesk FBX SDK. This leads to the Unity fbx exporter which today is providing for a clean model and animation (Alembic) round trip. For example, the team showed the FBX maya IK tools round trip, with GameObject data maintained through the round-trip, quickly grey box scenes to test gameplay in Unity.