Interface: renderpresets
This Core Interface provides access to the render presets system introduced in 3ds Max 6.
Methods:
<boolean>renderpresets.Save <integer>which <filename>file <bitArray>categories
Save preset to the specified file using the categories described by the bitArray.
Returns true
on success.
The integer which
specifies the renderer slot to load into:
0 - Production
1 - Material Editor
2 - ActiveShade
Integer values greater than two will cause a System Exception.
<boolean>renderpresets.Load <integer>which <filename>file <bitArray>categories
Load the preset from the specified file, using the categories described by the bitArray.
Returns true
on success.
The integer which
specifies the renderer slot to load into:
0 - Production
1 - Material Editor
2 - ActiveShade
<boolean>renderpresets.SaveAll <integer>which <filename>file
Save preset to the specified file using all categories.
Returns true
on success.
The integer which
specifies the renderer slot to load into:
0 - Production
1 - Material Editor
2 - ActiveShade
<boolean>renderpresets.LoadAll <integer>which <filename>file
Load the indexed preset from the specified file, using all categories.
Returns true
on success.
The integer which
specifies the renderer slot to load into:
0 - Production
1 - Material Editor
2 - ActiveShade
<boolean>renderpresets.IsFileCompatible <integer>which <filename>file
Returns true
if the specified file is compatible with the renderer slot specified by the integer which
, false
otherwise.
The integer which
can be one of the following:
0 - Production
1 - Material Editor
2 - ActiveShade
<string>renderpresets.MapIndexToCategory <filename>file <integer>index
Returns a string containing the name of the category corresponding to the specified index in the supplied file. See the example below.
<integer>renderpresets.MapCategoryToIndex <filename>file <string>category
Returns the index corresponding to the specified category name in the supplied file.
<string>renderpresets.MapSceneIndexToCategory <integer>which <integer>index
Returns a string containing the name of the category corresponding to the renderer slot specified by the integer which
:
0 - Production
1 - Material Editor
2 - ActiveShade
<integer>renderpresets.MapSceneCategoryToIndex <integer>which <string>category
Returns the index slot specified by the integer which
:
0 - Production
1 - Material Editor
2 - ActiveShade
<bitArray>renderpresets.LoadCategories <filename>file
Returns the categories available in the specified render presets file as bitArray. Each bit represents a category.
EXAMPLE
renderPresets.LoadCategories (GetDir #renderPresets +"/my_presets.rps")
#{32..34}
<bitArray>renderpresets.SaveCategories <integer>which
Returns the categories available for the specified renderer as bitArray. The bitArray will have a bit set for each category that can be saved for the specified renderer.
The integer which
can be one of the following:
0 - Production
1 - Material Editor
2 - ActiveShade
A side effect of saving and loading the Radiosity presets from the Advanced Lighting tab is that your radiosity solution will be lost. If you have invested a lot of time in the radiosity solution, it is suggested that you not choose the advanced lighting category when loading a render presets file.
The following script prints all categories from all Render Presets files. It can be used to "peek" into the files to determine which categories are saved in which file, and what category corresponds to which index in the BitArray.
EXAMPLE
(
--Collect all Render Presets files:
theFiles = getFiles (GetDir #renderPresets + "\\*.rps")
--For each Render Presets file,
for f in theFiles do
(
format "\nRender Preset: %\n" (getFileNameFile f) --Print the file name
--Get the category indices as BitArray and loop through them,
--printing the index and the corresponding category name:
for c in (renderPresets.LoadCategories f) do
format "%: %\n" c (renderpresets.MapIndexToCategory f c)
)
)
RESULT:
Render Preset: 3dsmax.scanline.no.advanced.lighting.draft.rps
32: Default Scanline Renderer
33: Advanced Lighting
34: Raytracer
Render Preset: 3dsmax.scanline.no.advanced.lighting.high.rps
32: Default Scanline Renderer
33: Advanced Lighting
34: Raytracer
Render Preset: 3dsmax.scanline.radiosity.draft.rps
3: Environment
32: Default Scanline Renderer
33: Advanced Lighting
34: Raytracer
Render Preset: 3dsmax.scanline.radiosity.high.rps
3: Environment
32: Default Scanline Renderer
33: Advanced Lighting
34: Raytracer
Render Preset: a.rps
1: Common
4: Render Elements
32: Default Scanline Renderer
33: Advanced Lighting
34: Raytracer
Render Preset: b.rps
1: Common
4: Render Elements
32: Default Scanline Renderer
33: Advanced Lighting
34: Raytracer
OK
OK
Using this information, you can easily load just a single category from a file using MAXScript. In the following example, only category 32 - Renderer will be loaded, but not the categories 33 and 34 (Processing and Indirect Illumination) that are also stored in the file:
EXAMPLE
renderpresets.Load 0 (GetDir #renderPresets + "\\my_presets.no.gi.high.rps") #{32}