Topics of interest to people using and extending 3ds Max by Christopher Diggins.
In my last blog post I talked about 3ds Max tangent basis computation for normal map baking and rendering. Today I add some additional information regarding face angle weighting.
Several people have expressed interest in various forums in understanding the algorithm 3ds Max uses to compute tangents and binormals for normal mapping. Here you go!
The 3ds Max 2011 SDK Documentation is now available for download! The SDK documentation has undergone a major facelift, and we welcome your feedback.
In this blog I link to a document that I am working on that describes best practice for writing code comments that are used to generate reference API documentation. It also describes some best practices for using doxygen. I am hoping for feedback and additional suggestions, so that we can use this to help provide better API documentation for the various Autodesk M&E SDKs.
I describe how you can hide a plug-in from the 3ds Max user interface, but still expose it to MAXScript.
When adding parameters don't forget to use a string table to provide your plug-in with a localizable name. Not only is it good practice some parts of Max need it!
For those of us who have to manage multiple plug-in projects an interesting problem arises if we want to factor out common code (e.g. for handling references) into a single class but for multiple plug-in types. Here I describe how we can use a straightforward C++ template pattern to achieve this.
3ds Max Product designer Pierre-Felix Breton recently provided me with a short list of ways you can easily improve your plug-in's user interface using SDK classes and functions.
A common mistake that I and others make is to use the SDK, when MAXScript can accomplish the desired task in a few lines.
The full 3ds MAX file format is not officially published or documented, but some aspects of it are intended to be read and written, specifically the asset file paths.