Renderers is a Structure of systemGlobals. It lets the user assign renderer class instances to the current, production, Material Editor, and activeShade renderer:
renderers.current
Gets/Sets the current renderer.
renderers.production
Gets/Sets the production renderer.
renderers.activeShade
Gets/Sets the activeShade renderer. Only renderers whose supportsActiveShade
property is true
can be set as the activeShade renderer.
renderers.medit_locked
Controls the state of the "Lock To Current Renderer" checkbutton next to the Material Editor slot in the Common tab > Assign Renderer rollout in the Render Scene dialog. When set to True
, the Production Renderer will be used automatically by the Material Editor. When set to False
, the Material Editor renderer can be set independently from the Production Renderer.
renderers.medit
Gets/sets the Material Editor renderer.
renderers.renderDialogMode
Gets/sets the Render Dialog Mode.
Possible values are:
#production
#activeShade
Available in 3ds Max 2016 and higher.
renderers.renderButtonText
Currently returns "", cannot be set.
Available in 3ds Max 2016 and higher.
renderers.target
Gets/sets the Render Setup dialog's Target mode.
Possible values are:
"local" - render locally
"cloud" - render on the Cloud
Available in 3ds Max 2016 and higher.
renderers.GetDraftRenderer()
Returns the draft renderer.
While the draft renderer is not exposed or used by 3ds Max anymore since version 6, it is possible that a renderer is assigned as the draft renderer. If that renderer is an instance of a 3 rd party plug-in and you load the scene file on a computer without that plug-in installed, you will get missing plug-in messages and no way to get rid of them.
Available in 3ds Max 2008 and higher. Previously, available in Avguard Extensions.
Getting the draft renderer will cause a new default renderer to be created and set as the draft renderer if there is no current draft renderer.
renderers.ClearDraftRenderer()
Removes the draft renderer if present.
While the draft renderer is not exposed or used by 3ds Max anymore since version 6, it is possible that a renderer is assigned as the draft renderer. If that renderer is an instance of a 3 rd party plug-in and you load the scene file on a computer without that plug-in installed, you will get missing plug-in messages and no way to get rid of them.
Available in 3ds Max 2008 and higher. Previously, available in Avguard Extensions.
Renderer class instances can be created by MAXScript. They have a couple of common read-only properties that is used to determine if the renderer can perform certain special tasks such as, ActiveShade rendering and TextureBaking.
<RendererClassInstance>.supportsActiveShade
Returns true
if the renderer can be used as ActiveShade renderer, false
otherwise. Read-only.
<RendererClassInstance>.supportsTexureBaking
Returns true
if the renderer supports Texture Baking, false
otherwise. Read-only.
To acquire a list of all installed renderers on a specific system, you can access the .classes
property of the RendererClass
MAXSuperClass.
EXAMPLE
RendererClass.classes -->#(Default_Scanline_Renderer, VUE_File_Renderer, mental_ray_Renderer, Missing_Renderer) --You can assign a new renderer class to the current renderer renderers.current = RendererClass.classes[2]() -->VUE_File_Renderer:VUE_File_Renderer
areMtlAndRendererCompatible {<mtlbase> | <maxclass>} [ renderer:{<renderer> | <maxclass>} ]
Returns true
if the material/texturemap and renderer are compatible. Material/texturemap and renderer can be specified as instances or MAXClasses. If the renderer is not specified, the current renderer is tested.
EXAMPLE
--Check Mental_Ray material against Scanline Renderer --They are not compatible! theMat = Mental_Ray() -->mental_ray:mental_ray theRenderer = Default_Scanline_Renderer() -->Default_Scanline_Renderer:Default_Scanline_Renderer areMtlAndRendererCompatible theMat renderer:theRenderer -->false --Check a Standard material against Scanline Renderer --They are compatible! theMat = Standard() -->Standardmaterial:Standard areMtlAndRendererCompatible theMat renderer:theRenderer -->true