THE DARK SIDE OF THE MOON (Click Here For Index)


MaxScript 0.5.0 for 3ds max 5 (06/04/2003)

Copyright (c) 2002-2003 by Borislav Petrov


TreeMatoGraph is a graphical interface to the Material Editor in 3ds max 5
It lets you visualize and edit maps/materials relationships and quickly navigate the Material Editor. 

It might work in 3ds max 4 but is not officially supported and might cause Assertion Fault messages under that version. Some features are not supported for technical reasons.



UI Mode Key

Add New Root Node

Move LMB double-click empty editor background 

Add New Map Node

Move LMB double-click editor background with root present

Move Node

Move LMB click Node, hold and drag

Select Multiple Nodes

Move LMB click background, hold, drag, release for end point 

Select More Nodes

Move Alt+LMB click background, hold, drag, release for end point 

Move Multiple Nodes

Move LMB click any Node, hold and drag

Clone Node

Move Shift + LMB and drag

Pan View

Pan LMB click anywhere, hold and drag

Pan View

Any MMB click, hold and drag

Center Pan View

Any MMB double-click

Magnify Node

Large Roll over node 

Zoom Window

Any Control + LMB click point, hold, drag, release for end point 

Zoom In/Out

Any Control + LMB + Mouse Up/Down

Zoom Reset to 100%

Any Control + MMB 


Link LMB click child, hold, drag and release over parent.


Any, Old Ctrl Option RMB click child, hold, drag and release over parent.


Any, New Ctrl Option Control + LMB click child, release, drag, click parent


Unlink LMB click child, hold, drag and release over parent.


Any, Old Ctrl Option Alt + RMB click child, hold, drag and release over parent.


Any, New Ctrl Option Alt + LMB click child, release, drag, click parent

Delete Node

Delete LMB click node

Collapse Branch 

Move Control + LMB double-click

Node Context Menu 

Any, Old Ctrl Option RMB click node

Node Context Menu 

Any, New Ctrl Option Control + RMB click node

TMG Context Menu 

Any Control + RMB click background

v.0.5.0 - 06/04/2003
  • Added lots of error traps to avoid crashes with 3rd party renderers whose materials and maps have not been tested with TMG. 
  • Added single quotes around property names to avoid problems with non-standard names containing dots and other special characters. 
v.0.4.9 - not public
  • Fixed problems with 3rd party lights (Dreamscape). 
v.0.4.8 - 11/30/2002  
  • Fixed severe speed problems with material sample updates in complex scenes. In a sample scene a user sent to me, all objects were either NURBS or displaced meshes. Since material samples are rendered inside the same scene, the tessellation of these objects took too long and TMG appeared to hang. This version will temporarily hide all scene objects, render the sample and unhide again.
  • Reactivated the Main Menu as it is easier to use. 
v.0.4.7 - 09/10/2002  
  • Added support for MAXShade ShaderParameters QuickEditing
  • Made QuickEdit window wider to fit the ShaderParameters
  • Fixed infinite update loop after Options dialog
  • Removed Main Menu to save space - use Right-click on background Context Menu. 
TreeMatoGraph v 0.4.6 Screenshot - Horizontal order, QuickEdit 

v.0.4.6 - 09/09/2002  
  • New experimental QuickEdit dialog on Double-click over node. Supported values are:
    • Colors, 
    • Floats, 
    • Integers, 
    • Percentages 
    • Boolean .
  • Node Context Menu item for QuickEdit
  • [qe] UI option to open QuickEdit on node double-click instead of Material Editor.
  • Basic MAXShade support:
    • show existing connections,
    • unlink from MAXShade nodes,
    • replace existing maps of MAXShade nodes,
    • link MAXShade nodes to non-MAXShade nodes (No way to connect to empty MAXShade channels yet)
  • Fixed bug in Avguard DLX detection - the DLX was never used when the shipping 5.0.2 was installed (I used a pre-prelease 4.01 which was detected correctly... Thanks to Harrie Dechering!)
  • Fixed tree topology changes update callback - in 0.4.5 only, adding nodes in MEdit did not update.
  • Fixed shaded color update on single node updates
v.0.4.5 - 09/08/2002  
  • Unlink From All Parents in context menu
  • Fixed labels display when more nodes than labels
  • Implemented support for all 100 UVW Channels and the Vertex Color channel on material samples (used to crash with channel different from 1)
  • Fixed crasher when deleting nodes from MultiMaterial tree
  • Changed all redraw code to use Progressive Update pass
v.0.4.4 - 08/31/2002  
  • Progressive Update + Edit>Options Progressive Update settings
  • Collapse/Expand Downstream (Ctrl+Left Doubleclick)
  • Collapse/Expand/Expand All in Node Context Menu items
  • Multiple selection moving up to 2x faster
  • Fixed Window Selection in scaled mode
  • Update Bitmaps before thumbnails update
  • Horizontal/Vertical order in view + Edit>Options Order settings
  • Clone Node (Shift+LeftClick+Drag)
  • Delete Node deletes only the current node and keeps unlinked nodes
v.0.4.3 - 08/27/2002  
  • Optimized control bar.
  • Optimized Main Menu
  • New Zoom Main Menu Item with new Zoom All, Zoom Selected and Reset Pan & Zoom commands
  • Added Alt+LMB Add To Selection Mode - existing Selected Nodes will not be deselected
  • New UI Icons - copy file TMG_ICONS.BMP into your \UI\ICONS subdirectory!
  • New buttons for Zoom Region, Zoom Selected, Zoom All and Zoom Reset

v.0.4.2 - 08/26/2002  
  • Fixed a bug that has been around since 0.3.5 (and nobody reported it!) - SubMaterials of Multi/Subs were not shown.
  • Ctrl+MMB resets Zoom to 100%
  • Changed Compact Node Arrangement to shift every even row at 1/2 node size for better links display
  • Fixed a new crasher when moving a node with Diagonal links
v.0.4.1 - 08/25/2002  
  • Added TMG Console with session history - click Status bar in lower right corner!
  • New MainMenu>Display>Thumbnail options. These change the Quality vs. Speed settings found under Options. "Quick&Dirty" is ugly but very fast, "Good & Fast" is great for most cases.
  • More bugs fixed. Probably added some new ones...
TreeMatoGraph v 0.4.0 Screenshot - SimbiontMax, Zoom controls, Shaded Links

v.0.4.0 - 08/23/2002  
  • View Scaling Controls (Real Zoom) from 5 to 999 % and 0.5x, 1x and 2x presets.
  • Interactive Zoom with Ctrl+LMB = Zoom Window, Ctrl + MMB = Zoom Up/Down rel. to Origin.
  • Origin symbol as red cross for reference - Zooming works relatively to it for now...
  • Added Support for Darkling Simulation's SimbiontMax Procedural Materials and Maps! SimbiontMax is now free for download. NOTE: When using SimbiontMax materials, turn off AUTO updates in TMG. Rolling over a thumbnail will trigger Auto-updates for some reason (looking at this right now) . 
  • Added switch for Missing Maps Rendering under Options - SimbiontMax triggers the missing map check for some reason, so I needed an override.
  • Fixed problem with partial INI loading between MAX Sessions.
  • Fixed memory leak when using Avguard DLX acceleration.
  • Fixed more bugs, bumped version number up to 0.4 for the above reasons ;o)
TreeMatoGraph v 0.3.5 Screenshot - Shadow Dropping, Teapot Samples

v.0.3.5 - 08/22/2002  
  • Added Shadow Dropping Options - No Shadows, Flat Shadows, 3D Shadows (which represent the depth of the node hierarchy). Also added control over Shadow Density.
  • Added "Disable Avguard Extensions" Option (mostly for testing purposes)
  • Implemented a new modeless Options Dialog Floater. Making changes and pressing UPDATE without closing the floater will preview the changes. Closing using CANCEL and pressing UPDATE will return to the state before. 
v.0.3.4 - 08/22/2002  
  • New Shaded Color Links option - draw links in the average color of the Material/Map.
  • New Option to Override the Shaded Color Links (gives the original behavior prior 0.3.4 when checked)
  • New Option to switch between new and old style RightClick behavior 
    Left-click behavior is still the new one in both cases):
    • RightClick = Context Menu
    • RightClick = Link, Alt+RightClick = Unlink, Ctrl+RightClick = ContextMenu
v.0.3.3 - 08/22/2002  
  • New Disable Thumbnail mode - select one or more nodes and disable thumbnail. An average color will be shown instead. When disabled, Updating the tree will skip these nodes. Can be used to keep just the currently edited nodes active for faster automatic updates.
  • Disable All / Enable All Thumbnails options in Main Menu > Display
  • Sample Object Option - Sphere, Box, Cylinder and Teapot implemented
  • Fixed newly introduced bugs with right-clicking
  • Fixed mouse resizing problems
v.0.3.2 - 08/21/2002  
  • Context-Sensitive Menus on right click. Node-related options over node, Main Menu on background
  • Again, new controls: Linking with Ctrl+LMB, Unlinking with Alt+LMB
  • Single-node Show and Hide Map In Viewport in RCMenu
  • Right-click over background cancels current mode and goes to Move mode. (used to be double-RC in the past)
v.0.3.1 - 08/20/2002  
  • Resize Dialog using the mouse finally implemented
  • Options Presets Saving and Loading (all settings except position)
  • Load Material from Selected Object? Query on Startup
  • Disabled Viewport Docking because of some technical issues.
TreeMatoGraph v 0.2.9 Screenshot - Autoupdate, Zoom

v.0.2.9 - 08/19/2002  
  • Implemented smart auto-updating on property changes. Time monitoring to avoid event flooding. Generally, the update will measure the last redraw time and will never attempt to redraw again before the same period of time has passed since the last change detected. For example, if the update takes 2 seconds and you have opened the Material Editor to tweak some colors, the update will occur about 2 seconds after you stopped fiddling with the color picker.
  • Implemented AUTO switch which will be sticky between sessions. Uncheck to disable auto-updates, press UPDATE anytime to force a reload.
  • Changed some button colors for better readability
v.0.2.8 - 08/18/2002  
  • Implemented new and pretty reliable automatic map channel detection and replaced large parts of the code with just a call to it. This should open TMG to support 3rd party materials that properly define map and material channels that can be seen using showProperties.
  • Improved the logic of Map and Material channel collection - when linking to a slot, only channel names with matching class will be shown. For example, when dragging a link from a TextureMap, only channels expecting a texture and no Material slots will be shown (see InkNPaint and Blend which have both Texure and Material slot types)
  • Disabled Undo for now as it had more issues than functionality 
  • Fixed problems with saving Name and Type button state
v.0.2.7 - 08/14/2002  (Internal Version)
  • Delete Node mode finally implemented!
  • Moved name and type to top of node (so they can be visible in Zoom mode)
v.0.2.6b- 08/13/2002 
  • Fixed a bug with Last Dialog Position. The script refused to start. If you already have 0.2.6, please download again. The file is marked in the header as 0.2.6b, but is packaged as Sorry for the trouble!
v.0.2.6- 08/12/2002 
  • New Size Properties in Options Menu. Set manually to change the size of the TMG view.
  • Last Dialog Position will be remembered and restored.
  • Fixed MultiNode Window Selection (was offset by 1/2 size)
  • New Pan button - press, then click in view, hold and move to pan. (useful for PCs without Middle MB)
  • New Zoom function - Hold down SHIFT and move mouse over nodes to zoom or press Zoom button.
  • Zoom Factor - specifies the magnification of the thumbnail.
  • Zoom Quality - trades off quality for speed. 1.0 is High Quality, 0.1 is Low Quality.
    For example, if Thumbnail is 40x40, Zoom Factor is 3.0 and Quality is 1.0, TMG will render the thumbnails as 40*3.0*1.0 = 120x120. It will display 40x40 scaled down, and full quality 120x120 when zooming. When Quality is 0.5, TMG will render 40.0*3.0*0.5 = 60x60. It will show 40x40 scaled down and 120x120 scaled up,
    both with reduced quality due to resizing.
v.0.2.5- 08/02/2002 
  • Changed the controls - RMB = Link, Control+RMB = Unlink. 
  • All modes snap back to Move when finished. 
  • Fixed another crasher when linking maps and no root present. 
  • Implemented fast move/pan mode using an optional Avguard DLX for R5 by Larry Minton.
  •  You can now change the size by editing the two variables in the source. 
  • Added hyperlink to my email from Help>About... use it for bug reports!
v.0.2.4- 07/27/2002 - Post Siggraph 
  • Added temp. error trap for unlinking from Raytrace Material - not supported yet... 
v.0.2.3- 07/15/2002 
  • Two new link modes - Straight Horizontal and Straight Vertical. 
  • Moved arrows slightly to center of link. 
TreeMatoGraph v 0.2.2 Screenshot - Node Selection

v.0.2.2- 07/14/2002  
  • Multiple Node selection. 
  • Selection Window color option. 
  • Quick Node Name Editing. 
  • Fixed arrow direction on almost linear links. 
  • Fixed crasher when creating a material in a scene with target lights (don't ask ;o)
v.0.2.1- 07/13/2002 
  • Fixed crash when linking a texture map with a missing bitmap.
  • Fixed a linking problem in some v0.1.19 versions. (the wrong one was uploaded)
TreeMatoGraph v 0.1.16 Screenshot - Channel Name Display

v.0.1.19- 07/12/2002 
  • Changed names of Parents and Children buttons to Outputs and Inputs. 
  • Rollover highlighting of both link types.
  • Started working on new Auto-Arrange, not activated yet. 
  • Old Auto-Arrange now called "Compact Node Arrangement". 
  • Lots more user-defined colors in Options menu. 
v.0.1.18b- 07/10/2002 
  • Pan Accelerators were broken in 0.1.18, fixed. 
  • Also moved the Input and Output links by 1 pixel to better see the flow. 
  • If you downloaded 0.1.18 already, please do so again... 
v.0.1.18- 07/10/2002 
  • Fixed bugs, 
  • Added support for all Material Channels except MorpherMaterial. 
v.0.1.17- 07/10/2002 
  • Channel Display on Rollover for Children and Parents. 
  • Partial Display of Nodes at the left and right border. 
  • Arrow Size option. 
  • Removed tooltip on rollover. 
  • Protection against linking a Material to a Map channel and a Map to a Material channel.
  •  Added support for InkNPaint and Shellac. 
  • New Map and New Material commands in Edit menu. 
  • State of Name, Type, Parents and Children buttons now sticky between sessions.
TreeMatoGraph v 0.1.16 Screenshot - New Link Display Option

v.0.1.16- 07/09/2002 
  • Alternative Link Display with Electronic Scheme style and arrows. 
  • Changing Options updates view.
v.0.1.15- 07/07/2002 
  • Basic Undo System, 
  • Secure New and Clear operations, 
  • Right-Doubleclick goes back to Move mode.
v.0.1.14- 07/07/2002 
  • Prevent Circular Dependency, 
  • Show Map names in Link List.
v.0.1.12- 07/05/2002 
  • Link / Unlink single Map to multiple channels, 
  • Link "As Copy" option, 
  • more bugs killed, even more bugs introduced...
v.0.1.11- 07/02/2002 
  • Reload/Auto-Arrange. 
  • Unlink. 
  • Fix for Composite map channels.
TreeMatoGraph v 0.1.10 Screenshot 

v.0.1.10- 06/29/2002 
  • Options, 
  • Full Main Menu Functionality. 
  • Status Display. 
  • Custom order Stored as AppData.
TreeMatoGraph v 0.1.5 Screenshot - Classical controls appear

v.0.1.5- 05/09/2002 5pm CET 
  • Node Linking, 
  • Update Thumbnail, 
  • Name+Type display, 
  • UI Controls, 
  • Larger Root Node.
v.0.1.4- 05/08/2002 11pm CET 
  • Dual Planes drawing, ghost drawing etc. 
  • Create New Node
TreeMatoGraph v 0.1.3 Screenshot - Getting better...

v.0.1.3- 05/07/2002 11pm CET 
  • Material Samples, 
  • Gradient Links, 
  • New Sorting, 
  • Name Display
TreeMatoGraph v 0.1.1 Screenshot - Where it all started...

v.0.0.1- 05/07/2002 10am - 4pm CET 
  • Proof of concept (Works! :o)
The Material Tree
  • TreeMatoGraph displays a tree view of all nodes in the currently selected material tree.
  • Currently, only one Tree can be displayed at the same time. Edited trees can be assigned to scene objects or Material Editor slots and new materials can be loaded for editing.
Nodes and Thumbnails
  • A node can represent either the Root Material, a Submaterial, or a Map. The Root Material node is always shown as 50% larger thumbnail.
  • Each unique node is shown as a single thumbnail of the material/map. Instanced maps are shown just once with multiple connections.
  • A thumbnail can display a full rendered version of the node, or a quick shaded version showing an average color of the node when disabled. To enable/disable a thumbnail, select the respective item from the Node Context Menu (Right-click resp. Ctrl+Right-Click depending on the current right-click mode)
  • Each node can be displayed in Zoom mode by pressing the Magnify icon. Zoom size and quality can be controlled from the Edit>Options menu.
    • Zoom Factor - specifies the magnification of the thumbnail, for example 3.0 means 3x larger.
    • Zoom Quality - trades off quality for speed. 1.0 is High Quality, 0.1 is Low Quality. For example, if Thumbnail is 40x40, Zoom Factor is 3.0 and Quality is 1.0, TMG will render the thumbnails as 40*3.0*1.0 = 120x120. It will display 40x40 scaled down, and full quality 120x120 when magnifying. When Quality is 0.5, TMG will render 40.0*3.0*0.5 = 60x60. It will show 40x40 scaled down and 120x120 scaled up, both with reduced quality due to resizing.

  • The Name of each node can be displayed on top of the thumbnail. Press the Name checkbutton in the bottom control panel to enable/disable.

  • The Type (class) of each node can be displayed on top of the thumbnail. Press the Type  checkbutton in the bottom control panel to enable/disable.

  • The Channels a node is linked to can be displayed by checking the Output checkbutton. When rolling the mouse over a node, the channel names it is linked to will appear below its parent nodes. The color of links connecting to parent nodes will also change to the user-defined Output color. This color is also displayed as background of the Output checkbutton.

  • The node's Channels linked to children nodes can be displayed by checking the Input checkbutton. When rolling the mouse over a node, its channel names will be displayed below those nodes linked to these channels. The color of links connecting to children nodes will also change to the user-defined Input color. This color is also displayed as background of the Input checkbutton.
Panning the TMG View
  • To pan the view, hold down the middle mouse button / wheel and drag around. Alternatively, activate the Pan mode by pressing the Pan button in the bottom control panel, click and hold in the TMG view and drag the mouse to offset the view. 
  • When panning, the nodes remain at their positions, while the view is being offset. 
  • You can reset the panning by double-clicking the middle mouse button.

  • When panning, the node display can be reduced to shaded rectangles for speed. (available only when running in Plan Vanilla MAXScript mode without Avguard DLX Extension)

  • When panning, the links display can be disabled for speed. See Edit > Options... for controls.

  • To reset the view position after panning, double-click the middle mouse button / wheel.


Moving and Resizing the TMG View
  • To move the TMG View, click, hold and drag the titlebar of the window with the mouse. The position will be stored in a separate INI file and will be used the next time you launch TMG.
  • To resize the view, click, hold and drag the border of the dialog with the mouse. Release to define the new size. NOTE: You should move the mouse inside the TMG window in order to get the view completely redrawn! The Size will be stored in the general options INI file and will be also part of the savable Presets.
    WARNING: This option is NOT available in 3ds max 4.
  • Note that the larger the view, the slower the updates as TMG uses regular bitmaps for its display.
Options Dialog
  • The Edit>Options menu provides control over 
    • Thumbnails Sample Object Type
    • Thumbnails size, spacing, zooming magnification and quality 
    • Pan Acceleration
    • Various display colors 
  • All settings can be saved to disk as Presets and reloaded later.
  • The last changes will be sticky between sessions.
Selecting Nodes
  • Most operations in TreeMatoGraph are being performed between single nodes. The current node is always the one below the mouse pointer - it will be highlighted on rollover. 
  • Some operations like Move and Enable/Disable Thumbnails can be applied to multiple nodes. A multiple selection is more permanent than the single node highlighting.
  • To select multiple nodes left-click outside a node, hold and draw a window. Release the mouse to select - the nodes completely inside the window will be drawn with skipped lines to denote the selection. 
  • You can add multiple nodes to the existing selection by holding down the Alt key and repeating the steps described above.
  • You can also right-click single nodes and use the Select option in the context menu to add to the existing selection.
  • You can right-click single nodes and use the Deselect option in the context menu to remove from the selection.
  • To apply an operation on multiple objects, you can selec apply it to any object that is part of the selection.
Moving Nodes
  • To move a single nodes, activate the Move mode by pressing the Move button or by right-clicking outside a node to cancel any other mode, click and hold the left mouse button over a node and drag the mouse.

  • To move multiple nodes, select multiple nodes as described under "Selecting Nodes" mouse to select - the selected nodes will be drawn with skipped lines. To move, click any of the selected nodes, hold and drag to move.

  • Most modes like Link, Unlink and Pan will snap back to Move mode when finished.
  • To quickly go back to Move mode, right-click in a free part of the TMG view.

  • When moving a single node, Dual Planes technique will be used for speed (only the moved node and its lines update)

  • While moving a node, diagonal style links from/to the dragged node will change display to dashed lines to show the relationships. 

  • When moving nodes, display can be optionally ghosted (drawing only every Nth line) for speed. (This option is available only when running in Plan Vanilla MAXScript mode without Avguard DLX Extension)
Interacting 3ds max
  • A material can be loaded
    • by picking an object from the scene
    • by selecting an object by name
    • by getting the material of the currently selected object
    • by getting the material from the current Material Editor slot.

  • A material can be assigned 
    • to the active Material Editor slot
    • to the current scene selection

  • When starting, TreeMatoGraph will load the material of the first object in the scene selection. If no object is selected, the last edited material tree will be displayed. If no tree has been previously edited, an empty view will be displayed.

  • To clear the TreeMatoGraph and start a new tree, use the Tree>Clear menu option. This will remove the currently edited tree from memory. If the tree has been assigned to a scene object or to a Material Editor slot, it will remain there and can be brought in for editing anytime.

  • To create a new Material Tree, use the Tree>New... menu, or double-click onto the editing area after a Clear operation. This will open the Material/Map Browser for creating a new material node.

  • To load a node for editing in the Material Editor, double-click the node - it will always appear in the first slot. This also updates the node's thumbnail. This way, TreeMatoGraph can be used as a Material Tree navigator for browsing the tree.

  • To load the complete material tree in the Material Editor, double-click the root node to load in the first slot, or select any Material Editor slot and use the Assign > Current Material Slot.

  • To assign the current material tree to the scene, select any number of objects and use Assign > Current Scene Selection menu option.

  • To show the current material tree in the viewports, use the Display>Show Maps in Viewport menu option. You can also turn off display by using the Hide Maps in Viewport. These commands are applied to the root node of the tree.
  • To show /hide a single node's map in the viewport, right-click the node and select Show Map In Viewport or Hide Map In Viewport from the Context Menu.
Building A Material Tree 
  • To build a material tree, TreeMatoGraph requires a Root Material to be present in the view. Adding new Material and Map nodes using the Edit > menu to a rootless tree will not lead to any usable results.
  • When a tree root already exists, double-click the background to open the Material/Map Browser and create a new map node.  The node will appear at the place you double-clicked. Alternatively, you can use the Edit > Add New Map option - it will place the new node in the middle of the view. You can also get existing nodes from the scene, selection, library etc.

  • To create a new Material Node (for example for linking as sub-material in multi-material root nodes), use the Edit > Add New Material option - it will place the new node in the middle of the view.

  • To link a child node to a parent, either 
    • hold down the Control key, click, hold and drag from the child node to the parent. A link will be drawn and the Link button will be highlighted. Release over the parent to display a Link Dialog with a list of the available channels in the parent matching the type of the child.  If released outside of a node or linked successfully, the mode will change back to Move,
    • press the Link button, left-click and drag from the child node to the parent, 
    • or right-click over the child and select Link from the Context Menu, drag the mouse to the parent with the mouse button released, and click the parent. Click or right-click outside of any nodes to cancel the opartion.

  • If the parent node is incompatible with the child (for example, linking a material child to a map parent, or linking a child to its own child), TMG will report the error and cancel the Linking mode.
  • To link to a single channel, either double-click it in the list, or select it and press the Link Child button. 

  • If there is another node already linked to the same channel, it will be unlinked first. The names of already linked maps will be displayed next to the channel names in the list for reference.

  • To link the same child node to multiple channels in the parent, select multiple channels at once and press the Link Child button.

  • To link copies of the child node to the selected channel(s), check the As Copy checkbox in the Link Dialog. This will create multiple clones of the selected child. The children will have the same name, but will be unique ndependent copies of the original node.

  • To unlink a child from a parent, either 
    • hold down the Alt key, click, hold and drag from the child node to the parent. Release to display the Unlink Dialog with a list of all currently linked channels. The list will show only the channels linked to the child you dragged from.  If released outside of a node or unlinked successfully, the mode will change back to Move.
    • select the Unlink option, left-click the child, hold and drag to the parent, 
    • or right-click the child, select Unlink from the Context menu, move to the parent without holding the button and click the parent.

  • To unlink a single channel, double-click it in the list.

  • To unlink multiple channels, select them in the list and press the Unlink Child button. Use Control and Shift as in any Windows application to select the desired channels.

  • Free (not linked) nodes will stay in the TreeMatoGraph until a reload from the scene / Material Editor. 

  • TreeMatoGraph nodes will automatically update when changes are made to the materials/maps in the Material Editor as long as the AUTO checkbutton is pressed. To update all external changes to the tree manually, press the UPDATE button. To update only the thumbnails, use the Tree>Update Thumbnails menu option. To update a single node's thumbnail, right-click it and select Update Thumbnail from the Context Menu.

  • All nodes will remember their last position in the TreeMatoGraph view. It will be stored as AppData in the actual scene materials and maps and will be restored when loading the material tree, even after a 3ds max restart.

  • TreeMatoGraph can reorder the nodes (the logic behind this order isn't pretty smart yet). To force a reorder, use the Tree>Auto-Arrange menu option. This will affect only linked nodes. Free unlinked nodes will remain at their original position.

  • There is an early version of an Undo feature in the Edit menu. Currently, it will store only one undo level. Note that it stores a copy of the tree, so any free nodes are not currently stored/restored. In addition, the undone version will be auto-arranged (this is a bug!). If you Undo multiple times, TreeMatoGraph will switch back and forth between the last two versions of the tree. 
Editing Node Properties
  • To edit the name of a node, click the node - its name will appear in the edit field in the bottom right corner of the bottom command panel. Enter a new name - it will update instantly.
  • To edit node properties, double-click the node's thumbnail. A copy of the material or map will be loaded in the first slot of the Material Editor. Changing any properties in the Material Editor will be reflected by the TMG view as long as AUTO update is enabled or the UPDATE button is being pressed. 
FEA(U)TURES (Future Features)
  • Fast overview for getting scene materials
  • Different layout modes, smarter Auto-Arrange.
  • Just one material tree can be edited at a time. (Use Material Editor and Scene Objects as clipboard to assign to and get from)
  • Parts of the tree not directly or indirectly linked to the root will not display their subtree until linked to the main hierarchy. (this bug is sort of "collapse unlinked" feature ;o)
  • While it will work under 3ds max 4.2x, TMG might cause certain Assertion Fault messages. Usually, ignoring them will cause no harm. If possible, use TMG under 3ds max 5.
  • Cannot unlink maps from Raytrace material, cannot link to GradientRamp and Brick, cannot link or unlink maps to/from Morpher material. Does not support 3rd party materials yet (Brazil, VRay etc.) 
Below you will find a history list of all TMG releases since Siggraph 2002. 
These versions are provided for curious scripters that might want to try out earlier versions and experience the changes described in this document...

All other users should consider downloading the Current Version. 

Should you encounter problems with the Current Version, you can always step back a release and try an older one. Remember, this is Work In Progress and newer versions must not necessarily be more stable than the previous ones...

TreeMatoGraph v0.5.0 Beta  (Current Version)

TreeMatoGraph v0.4.8 Beta   

TreeMatoGraph v0.4.7 Beta   

TreeMatoGraph v0.4.6 Beta  

TreeMatoGraph v0.4.5 Beta  

TreeMatoGraph v0.4.4 Beta   

TreeMatoGraph v0.4.3 Beta   

TreeMatoGraph v0.4.2 Beta  

TreeMatoGraph v0.3.4 Beta  

TreeMatoGraph v0.3.1 Beta   

TreeMatoGraph v0.2.9 Beta   

TreeMatoGraph v0.2.8 Beta   

TreeMatoGraph v0.2.6b Beta 

TreeMatoGraph v0.2.5 Beta 

TreeMatoGraph v0.2.4 Beta  (post Siggraph version)

  • Download the ZIP.
  • Unzip to your \Scripts directory
  • Copy file TMG_ICONS.BMP to Ui\Icons directory.
  • Start 3ds max 5 
  • Go to MAXScript > Run, select the script.
  • Right-click a toolbar, Customize..., locate "Bobo_s Tools" category.
  • Select "TreeMatoGraph" and drag to a toolbar.
  • Close the Customize... dialog
  • Press the TMG button.

If you have 3ds max 5 and want to get the most out of TreeMatoGraph, visit, click on the Extensions > Complete List and download the Avguard MAXScript Extension Package 5.x for 3ds max 5 by Larry Minton. 

Install it as a regular plug-in, restart 3ds max 5 and launch TMG. The extension will be recognized automatically and a faster bitmap copy mode will be used to speed up significantly node moving and view panning .


TreeMatoGraph now support Darkling Simulation's SimbiontMax Procedural Materials and Maps created using the DarkTree software by the same company. SimbiontMax is now free and ships with a large number of pre-made materials and textures.  


TreeMatoGraph adds basic support for MAXShade Shading Language Materials and Maps created using the free plug-in by Brendan Duncan. TMG will display existing trees using MAXShade nodes correctly, and will let you link MAXShade nodes to non-MAXShade nodes and unlink and replace nodes in MAXShade nodes. TMG does not support linking to MAXShade nodes yet.

"The MAXShade language is, for the most part, compatible with the RenderMan (R) Shading Language. This means that not only can you write your own shaders from scratch, you can also make use of the many RenderMan (R) shaders available from its years of use in film production."

  • This is public Beta and not meant for production. Use at your own risk.