Often times, when you work with a certain workflow you also start to accumulate a lot of reusable data produced with this workflow. In our case this data is in the form of models and materials that can be reused over and over in upcoming projects. Also whole scenes that can sometimes be re-worked to produce fresh content. So changing the workflow can be stressful first because artists have to abandon old habits and second because their Asset Library and old projects can become unusable. Obviously, the latter can have a huge negative impact. This is why bigger companies that have large Asset Libraries are very reluctant when it comes to chaining workflows.
In Visual-Method we were working in something that resembles Linear Workflow. Why "resembles" you might ask? We used a Linear Workflow conversion on render time by using the Linear Workflow option in V-Ray Color Mapping. What happens is that we do all calculations within our materials (color corrections, falloff blends, etc.) in Non-Linear Space but when rendering, V-Ray automatically applies Gamma correction at the very end of map networks so rendering calculations can happen in Linear Space. So we have half Non-Linear half Linear Workflow in the end. Furthermore, some Color Maps are not even corrected. An example of this is the VRayFastSSS2 material - you won't ever get the color you want both in the material editor and in your render, you will always get a brighter color. In fact a color that has a Gamma of 2.2 applied on it. This is one of the reasons that really justifies working in proper Linear Workflow - you get what you see in your material editor.
The solution to the bigger problem, what is going to happen with the Asset Library, is relatively straightforward. We need to convert it. Doing this manually is out of the question as it will take months and probably a few people resigning from the company and perhaps from life overall.
Let's say Visual-Method will take care of your assets (pun intended). So the only issue left is old scenes that we might want to use again. For this we've prepared a simple conversion script. You can install it by downloading this archive and extracting its contents int your root 3ds Max directory. You can then find the script under the Visual-Method category, LFW Converter.
Open a clean instance of 3ds Max or save your current file. The script will need to open the file that needs conversion so save your work before running it.
Use either the Add Files or the Add Folder button to respectively add one/multiple files or a whole folder. Mind that the script won't find files in sub-folders. If needed use the Remove Selected button to remove some of the files.
Choose a location to save the converted file by using the "..." button.
You can add a suffix by checking the option and writing down the suffix in the box on the left. This is nice if you choose to save the file in the same location. Don't overwrite old files, keep a backup.
Hit the Convert button and wait.
The script will then open the selected file/files and will automatically convert them. Once done 3ds Max will restart. A normal interior scene takes around 3-5 minutes so if you want to convert multiple scenes you will have to wait a bit.
It's never good to hit a random button without knowing what it will do. This script mainly mimics what the Linear Workflow option in V-Ray does while taking care of some other things meanwhile. Here is the list of actions:
After opening the file the script enables the 3ds Max Gamma Management, sets Gamma to 2.2 and enables both Affect Color Selectors and Affect Material Editor options.
It forces all Bitmap inputs to Gamma Override 1.0. This is how Bitmap maps are by default when Gamma Management in 3ds Max is disabled and the Linear Workflow option works based on this.
The script then linearizes some Colors or Maps connected to these Color slots. In particular it affects only four maps/colors in VRayMtls: Diffuse, Reflection, Refraction, Translucency (Back-side color). If there is a map or map network connected to one of these slots the script puts a Color Correction node at the end, just before the connection to the slot, with Gamma set to 0.455 which linearizes it. If there are no maps connected, the script directly changes the Color. You can now probably more clearly understand how partial this conversion is - no attention is paid to Fog Color, Self-Illumination or in fact whole other materials like VRayFastSSS2 or VRayLightMtl. Also no changes are made to lights colors.
After converting all the textures, the script also fixes some things in legacy materials: it enables Glossy Fresnel and sets the Cutoff to 0.001. Furthermore, it converts all NormalBump maps (which do not render properly with V-Ray) to VRayNormalMaps. Often times it happens that these maps are overlooked.
Finally, the script disables the Linear Workflow option and saves the file.
After these changes take place, you can simply open the scene, hit Render and you will get the exact same result as before with some additional fixes. Now you can continue working on these files in proper Linear Workflow. Enjoy!