Material Maker Changelog

What's new in Material Maker 1.3

Apr 24, 2023
  • General:
  • Updated interface to the website to login and upload assets without the need
  • Of a web browser
  • Added custom nodes sharing on the website (connect to the website and right
  • Click a custom node to share it)
  • Added support for the $rndi (that returns a random integer value) parameter
  • Expression function (contributed by Arnklit)
  • Added an option in the 2D Preview panel to export non square textures
  • Nodes:
  • Added a Random Weave node (contributed by Arnklit)
  • Added variations controls to all SDF repeat (2D and 3D, grid and circle)
  • Nodes (contributed by Arnklit)
  • Updated the Normal Blend node to make it variadic (contributed by Arnklit)
  • Added Cairo tiles node
  • Added a Spherize node (contributed by williamchange)
  • Bug Fixes:
  • Fixed an update problem in the Iterate Buffer node
  • Fixed a NaN problem in the sdArc node (contributed by myaaaaaaaaa)
  • Fixed a problem where the recovery file was not deleted when closing a tab
  • Fixed an export problem in the Painting tool
  • Fixed a problem with the Fill nodes where areas could leak though corners
  • Miscellaneous:
  • Material Maker is now based on Godot 3.5.2

New in Material Maker 1.2p1 (Feb 27, 2023)

  • New features:
  • Added Unreal Engine 5 export targets that generate a Python script for UE5 to
  • build automatically the generated material (it's necessary to setup a path for
  • Python in UE, this is described in the documentation)
  • Bug Fixes:
  • Fixed several small problems in the Export Editor window
  • Fixed a problem that caused the 3D preview to update incorrectly
  • Fixed a problem in the Tones Map node that could cause incorrect shader code generation
  • Fixed a problem in the animation export tool that occurred when exporting graphs with buffers
  • Fixed Histogram panel (not updating correctly) and improved histogram rendering
  • Updated the Math nodes to improve parameters consistency (contributed by williamchange)
  • Fixed a bug that caused Material Maker to crash when entering an expression as parameter in the Text node

New in Material Maker 1.2 (Jan 22, 2023)

  • General:
  • Added a dependency manager that handles all parameter changes, buffers and previews to
  • avoid useless renders (myaaaaaaaaa helped hunting and fixing memory leaks on this).
  • Material export has been updated:
  • custom export targets can now be added to predefined Material nodes,
  • a new Export again menu item has been added to repeat the last export operation.
  • Unsaved projects are now rescued when Material Maker crashes and automatically reopened
  • at startup.
  • Nodes:
  • Shader nodes can now be variadic, i.e. have a number of parameters, inputs and outputs that
  • are repeated. A new icon in the node titlebar shows the variadic aspect and can be used to
  • increase or decrease the number of occurences of those parameters and ports.
  • A few nodes have been updated accordingly, so Blend now supports several layers,
  • Transform can apply to several channels and workflow nodes can mix more raw materials.
  • A new Normal to Height node has been added.
  • Parameters have been added to the Image node to keep the image's aspect ratio (contributed
  • by myaaaaaaaaa).
  • New colorspace related nodes have been added, such as Colorspace Roundtrip that
  • make it possible to perform computations in other colorspaces (contributed
  • by myaaaaaaaaa).
  • The Fast Blur node now has high pass and sharpened outputs (contributed
  • by myaaaaaaaaa).
  • A snap operation has been added to Math nodes (contributed by williamchange).
  • The Blend node now has additional modes: Linear Light, Vivid Light, Pin Light, Hard Mix
  • and Exclusion (contributed by paddy-exe).
  • The interpolation code has been improved in the 3D FBM node (contributed by Arnklit).
  • The random color output of the Triangle Voronoi node, that did not always tile, depending
  • on the scale parameters, has been fixed (contributed by williamchange).
  • The Dilate node can now create (optionally) a non-tileable result.
  • Miscellaneous:
  • An experimental HTML5 version has been added.
  • Although it has a lot of limitations, it is a good way of trying Material Maker without
  • installing it.
  • Self-connections of subgraphs are now allowed if they don't form a loop, and loop
  • detection has been optimized (contributed by myaaaaaaaaa).
  • The .mmg format (used for predefined nodes) has been modified to be more Version Control
  • System friendly (contributed by myaaaaaaaaa).
  • Fixes, optimizations:
  • Files are now removed from the recent projects list when they fail to load (contributed by Arnklit).
  • The Comment node now selects correctly its children, regardless of the current zoom level (contributed
  • by Zhibade).
  • The alignment of inputs in the Uneven Bricks 2 node has been fixed (contributed by Arnklit).
  • Command line exporting has been fixed (contributed by myaaaaaaaaa).

New in Material Maker 1.1 (Oct 25, 2022)

  • General:
  • Updated renderer to limit the size of rendering viewports (big textures are rendered in chunks and reassembled).
  • This can be used to avoid crashes on lower end GPU and/or when generating high resolution textures. The maximum
  • render size can be configured in the progress counter context menu.
  • Added GPU memory information near the progress counter, with a tooltip that shows the GPU interface name (this
  • can be used to know if Material Maker runs on the integrated graphics on a laptop).
  • In Graph views, added support for arrow keys to scroll in all directions (useful when connecting nodes that
  • are far from each other).
  • Buffer nodes and nodes that contain buffers are now shown with a specific icon. Right clicking that icon
  • show a context menu that can pause and resume the buffers (making it possible to disable useless rendering
  • of parts of the material).
  • The FPS counter, the GPU memory counter and the rendering progress bar have been moved to a status bar at
  • the bottom of the user interface.
  • Added a small icon in the status bar that shows the status of the clipboard (and if it can be pasted into
  • a graph view).
  • Started adding tips to the status bar.
  • Added an option for Tonemaps in the 3D Preview panel.
  • Added an option to overwrite existing material files (.tres for Godot engine, .mat and .meta for
  • Unity engine) when re-exporting materials.
  • Added Godot 4 export targets to all material types (contributed by Arnklit).
  • Nodes:
  • Updated the EasySDF node with support for coloring (of albedo, roughness, metallic and emission channels)
  • and node parameters, and added more shapes and operators.
  • Added additional modes to Math node (contributed by williamchange).
  • Updated the Iteration Buffer with an autostop parameter. When set, the Iteration Buffer will stop iterating
  • as soon as 2 consecutive results are identical.
  • Added a Fill port type that is used as output of the Fill node (and nodes that generate fill information)
  • and input of the Fill companion nodes.
  • Removed the Iterations parameter from the Fill node, and added parameters to remove the edges and adjust
  • the generated bounding box.
  • Added a new Fill from colors node that generates fill information from the color islands in its input.
  • Updated the Beehive and Voronoi nodes to output Fill information instead of a random color.
  • Added Spiral Gradient node (contributed by Theaninova).
  • Added Diagonal Weave node (contributed by williamchange).
  • Added Triangle Voronoi node (contributed by williamchange).
  • Added Sixteen Segment Display and Roman Numerals nodes (contributed by williamchange).
  • Added Japanese Glyphs node (contributed by williamchange).
  • Added Uneven Bricks 3, Skewed Bricks and Skewed Uneven Bricks nodes (contributed by Arnklit).
  • Added Swirl node.
  • Miscellaneous:
  • Material Maker is now based on Godot 3.5.

New in Material Maker 1.0 (Jul 22, 2022)

  • Redesigned Start Screen:
  • Re-designed "New" section on Start Screen, added categories and model loaders
  • Formats now show an overview on the start screen, before starting a model
  • Recent models on the start screen can now be marked as favorite to pin them to the top
  • Recent models can now be removed from the list (#1458)
  • Other UI Changes:
  • Change styling of slider inputs and Display Settings panel
  • Added action to cycle between tabs (Ctrl + Tab)
  • Added UV and Keyframe menu into the main menu bar
  • Restyled web download button
  • Animation Features:
  • Automatic floor shifting to better preview walk animations (#1221)
  • The Graph Editor now previews looped animations indefinitely
  • Animations playing in the background now loop, even if they are shorter than the selected animation
  • Added Collada animation support (WIP for multiple animations)
  • Added actions to create and select keyframe columns (from animation sliders plugin)
  • Added option to set timeline marker time
  • 1274 Pre Effect Script for particles
  • 1392 Assign different particles to each entry in same particle keyframe
  • Added manual particle texture import (#993)
  • 1484 Added option to preview model scale
  • Other Features:
  • Added UV scaling handle
  • Added handle to resize gizmo to resize on all 3 axes at the same time
  • Added in-app palette saving
  • Enabled animated textures in generic model format. These cannot be exported by default, but may still be useful in some cases.
  • Added "Unselect" action
  • Added project setting to flip modded entity models on Y axis
  • Quality-of-Life Changes:
  • Added Preview Scenes
  • Added "Append to Template" action to Textures panel toolbar
  • Improved painting performance on high res textures
  • Improved JSON exporter, added array splitting for long string arrays
  • Added warning message for invalid characters in texture names (Java Block/Item)
  • Copy-pasting textures now copies metadata, instead of just the image
  • Scroll with mouse wheel to change color picker hue (#1466)
  • Optimized behavior of "hide everything except selection"
  • Project names and identifiers now get auto trimmed
  • Automatic backups in web app now save all open tabs and remain available until restored or dismissed
  • Disabled mirroring in Display settings by default, added a setting to re-enable. Mirroring no longer works in Minecraft since 1.14
  • Instruction keyframes now automatically add ; on export for MC bedrock, if missing
  • Variable placeholder inputs can now be targeted/switched by pressing Tab
  • Added credit tag export to OptiFine JEM
  • Technical Changes:
  • Added "copy_value" option to Properties
  • Exposed menu separator color as CSS variable for themes
  • Added onBuild hook for dialogs
  • Added dialog onPageSwitch return false support
  • Added can_convert_to property on formats
  • Made model identifier/geo name optional for formats
  • Added support for additional marker colors
  • Updated Electron to version 19
  • Drag handlers can now be deleted directly
  • Removed creation time from bbmodel files
  • API for custom Select element
  • Fixes:
  • 1416 Problem with UV Mapping Meshes on 32x and above resolution
  • 1117 Centering the view now works in Display mode
  • 1418 Fixed some skin model IDs
  • Fixed an issue with some settings not updating
  • Fixed an issue with upper case characters in settings/keybindings search bar
  • Fixed menus not disappearing after closing tab
  • 1417 Fixed issue with mixing linear and smooth keyframes
  • Fixed issue with variables in particle curves
  • 1426 "Jump to Animation Start" does not stop the sound that was playing
  • Fixed #1415 Generating template with existing UV on meshes
  • Fixed #1455 color picker tool mistakenly picks color of background image
  • Fixed #214 Display mode: Unable to overwrite number input with negative value
  • Fixed timeline markers getting duplicated
  • Fixed next/previous frame actions not working in paint mode
  • Fixed issue with context menu of null object
  • Fixed #1450 Cannot unselect all if any element is locked
  • Fixed #1452 Keyframe context menu does not work in graph editor
  • Fixed uniform scale keyframes not importing as uniform
  • Added minimum background size to prevent them from getting hard to find
  • Fixed issue with lock alpha channel on large brushes
  • Fixed #1460 issue with white spaces in GPL palette import
  • Fixed toolbars having a scroll bar in the web app on recent browser versions
  • Fixed #1467 corrupting texture files when saving while closing
  • Fixed issue with mobile tool bar in display mode
  • Fixed undo issue when rotating mesh on X axis
  • Fixed #1465 Rotation in bedrock locators
  • Fixed issue with auto updating to beta versions
  • Made display mode scale sliders work locked together with mobile shift toggle
  • Fixed area select tool issue with offscreen elements
  • Fixed #1479 duplicating an animation does not let you save it if you do not modify it
  • Fixed #1473 No angle limit options when I append mesh to a template
  • Fixed themes not loading correctly when dropped into app after start
  • Fixed #1478 Copy pasting animations does not generate unique name
  • Fixed #1485 files can be saved with a wrong file extension

New in Material Maker 0.99 (Apr 10, 2022)

  • General:
  • The 3D preview had several improvements including better parallax mapping quality,
  • debanding applied by default and better control of scale factor to avoid decreased rendering quality (contributed by Calinou)
  • Environments can now be downloaded from and uploaded to the website
  • 3D model painting:
  • Brushes now have default jitter parameters (position, angle, size and opacity)
  • Painting on seams has been improved
  • Nodes:
  • Added an EasySDF node that can be used to describe complex SDF shapes with a dedicated editor
  • The Tesselated Material type has been fixed and renamed to Static PBR Displacement (contributed by Arnklit)
  • Tiler and Splatter nodes now have a new custom UV output (contributed by Arnklit)
  • Non uniform scale nodes have been added for 2D and 3D SDF (contributed by Paulo Falcao)
  • Circle splatter nodes now have support for variations (contributed by Arnklit)
  • A new Fill to Gradient node has been added (contributed by Arnklit)
  • A new color conversion node (that between linear and sRBG) has been added (contributed by Arnklit)
  • A new 3D SDF FBM node that adds FBM noise on top of an existing SDF shape has been added (contributed by Arnklit, based on an article by Inigo Quilez)

New in Material Maker 0.98 (Jan 24, 2022)

  • General:
  • Undo/Redo has been implemented in Material graph projects, and stroke Undo/Redo is available in Painting projects
  • In the 2D preview panel, 4 display modes are available: tile, extend, clamp and temporal antialiasing
  • The 2D preview panel now has postprocessing filters for pixel art generation (that show the generated texture in low res size)
  • Holding the Control key while dragging parameter controls in the 2D preview will now snap them to the grid (if any)
  • Material creation:
  • Nodes are now colored based on their category in the library (contributed by Arnklit)
  • The Add Node menu now has configurable buttons to quickly add frequently used nodes
  • New Reroute nodes can now be used for long connections or to organize graphs (contributed by Arnklit)
  • Double clicking a subgraph node when editing a material graph will now enter it
  • Many UI problems including bad widget alignmentd have been fixed (contributed by Arnklit)
  • When adding materials to the website, Material Maker now generates better looking previews
  • Directionality problems have been fixed in Ambient Occlusion and Thickness maps baking (contributed by wojtekpil)
  • Pasting an HTML color code into a graph will create a Uniform node (contributed by vreon)
  • 3D model painting:
  • A new texture space painting engine has been added
  • The painting tool has a new color picker button that can be used to get colors and values from all channels of the painted object. The values are assigned to the current brush if it has parameters for those channels.
  • Normal maps can now be painted directly or generated from painted depth or both
  • A new a Paint Project Settings dialog has been added. It replaces the huge submenu in the Tools menu
  • A new Stamp tool has been added. To use it, press the mouse button to place the center of the stamp, then drag around to define the size and angle
  • An implicit mask has been added to painting and it can be configured from an ID map using the new Mask Selector tool
  • The brush parameters panel has been updated to show channel filter parameters in a more intuitive way
  • Parameters expressions can now use new tilt (stylus angle), and stroke_seed (a random number that is rerolled for each stroke) predefined variables
  • The base brush library has been reorganized, many brushes have been improved and a few brushes have been added
  • Nodes:
  • A new Colormap node, that colors a greyscale image from a colormap image has been added (contributed by vreon)
  • New Bevel, Binary smooth, Crystal, Dirt noise, Randomize, Smooth min/max, Uneven Bricks 2 nodes have been added (contributed by Arnklit)
  • A New HBAO node has been added (contributed by wojtekpil)
  • New Wavelet noise, Palettize nodes have been added
  • A new Tesselation material type is available where the depath channel is used as displacement. Please make sure to enable tesselation in the 3D preview panel when using it (contributed by Arnklit)
  • The Warp Dilation node has been updated and now accepts an angle parameter instead of the mode
  • The Bricks node has been updated with new patterns and Fill compatible outputs (contributed by Arnklit)
  • The FBM node has been updated with a new Voronoise mode and a new Offset parameter (contributed by Arnklit)
  • The Directional Blur node has a new mode selector (contributed by Arnklit)
  • The Custom UV and Kaleidoscope nodes now support variations (contributed by vreon)
  • The Math node now has a new smoothstep operation (contributed by Arnklit)
  • The Variations nodes now have seed parameters for all outputs
  • Comment nodes have been redesigned (contributed by Arnklit)
  • The Iterate buffer node now supports expressions for its iterations parameter
  • Miscellaneous:
  • Material Maker is now based on Godot 3.4

New in Material Maker 0.97 (Oct 17, 2021)

  • Core:
  • Randomness in parameter expressions, support for variations in the shader code generator
  • Added support for internationalization
  • Added a GLSL parser (checks globals in shader nodes and expressions)
  • User interface:
  • Moving nodes no longer reroll their seed
  • Seeds can be copied and pasted
  • A second preview panel has been added. All outputs can now be previewed and locking previews is possible
  • New expression editor for float parameters
  • Export animations dialog, that can generate PNG file sets and spritesheets
  • "Propagate changes" option for subgraph nodes
  • Fixes for tablet users
  • Curve editor improvements
  • Mesh painting:
  • Support for Ambient Occlusion channel painting
  • Nodes:
  • New 3D PBR material node
  • Normal map node update, new Normal Blend and Normal Convert nodes
  • New Arc Pavement, Polycurve, Denoiser, Multiwarp, 2D SDF N-Gon, 3D SDF Plane and Angle, TEX3D shape select and Vec3 Math nodes

New in Material Maker 0.96 (Jul 31, 2021)

  • New features:
  • Material nodes are now configurable (preview and exports), and 4 predefined material nodes are available: Static PBR, Dynamic PBR, Unlit, and Raymarching
  • Added normal map painting in painting tool
  • UI improvements:
  • New File->Load Material from website menu entry
  • Graph panels now have zoom on the mouse wheel (instead of Control+Wheel)
  • File dialogs now have recent/favorite directory lists
  • New About dialog
  • New and improved nodes:
  • New Mask to SDF and Auto Tones nodes (contributed by Kasper Arnklit Frandsen)
  • Fixed Bricks node so corner UV output has random rotation for each corner (contributed by Kasper Arnklit Frandsen)
  • Image nodes now support file path relative to the project file
  • A new Greyscale TEX3D node input/output type has been added
  • Other:
  • Material Maker is now based on Godot 3.3.2

New in Material Maker 0.95 (Apr 23, 2021)

  • User interface:
  • Added an editor for environments (HDRI+ambient lighting+directional light) used in the 3D preview and paint panel
  • Updated the Library panel to be able to create, load, edit custom libraries, hide and find node categories and define aliases for nodes. Nodes are now sorted by usage in the nodes menu
  • In mesh painting tool, added procedural and mask layer types
  • New quick export option in 2D preview
  • Many improvements in 3D preview: sun shadow, anisotropic filtering, improved parallax mapping, improved tesselated models, supersampling, debanding (contributed by Hugo Locurcio)
  • Added configurable model rotation speed in the 3D preview (contributed by Jesse Dubay)
  • Added a maximum FPS setting for focused and unfocused modes (contributed by Hugo Locurcio and Jesse Dubay)
  • Added more overlay styles to the 2D preview
  • Added a Ctrl+Space shortcut and menu entry to toggle side docks' visibility (contributed by Hugo Locurcio)
  • Added shortcuts to deselect all nodes and invert the current selection (contributed by Hugo Locurcio)
  • Added shortcuts to navigate between tabs (contributed by Hugo Locurcio)
  • Engine:
  • Added named parameters to Remote node, that can be used in all float parameter expressions in all nodes of the subgroup
  • Parameters in Remote nodes can be renamed and reordered
  • Increased maximum exportsize to 8192x8192 (contributed by Hugo Locurcio)
  • Nodes:
  • Added a mode for square UVs in the Fill to UV node (contributed by Kasper Arnklit Frandsen)
  • Added a Tones range node (contributed by Kasper Arnklit Frandsen)
  • Added Smooth curvature nodes (contributed by Kasper Arnklit Frandsen)
  • Added a new FBM node with simplex noise (contributed by Kasper Arnklit Frandsen)
  • Added a new Fast blur node
  • Added a new Edge detect node
  • Added more generation options to the Debug node
  • Updated Occlusion node (contributed by Kasper Arnklit Frandsen)
  • Added a new anisotropic noise node (contributed by Kasper Arnklit Frandsen)
  • Added random color output to color tiler node (contributed by Kasper Arnklit Frandsen)
  • Added stitches controls to weave node (contributed by Kasper Arnklit Frandsen)
  • Added new Advanced Tiler node

New in Material Maker 0.94 (Apr 23, 2021)

  • User interface:
  • Graph views now have a minimap ("borrowed" from the ProtonGraph procedural content creation tool)
  • Connections to and from selected nodes are now highlighted in the graph view
  • The Add Node menu has been redesigned (by bonbonmiel) and is now shown when connecting node inputs
  • Nodes can now be minimized, and their previewed output is now saved in the project. When not minimized, the preview is now shown in front of parameters and is hidden when the mouse cursor enters the node
  • The 2D preview can now be zoomed and panned and has configurable axes representation
  • In the 3D preview panel, it is now possible to rotate the environment and the preview mesh menu was redesigned (this feature was contributed by bonbonmiel)
  • Curvature, Ambient Occlusion and Thickness maps can now be baked from custom models in the 3D preview panel (this feature was contributed by Roujel Williams)
  • The Reference panel now has a context menu to load and remove images
  • Engine:
  • The rendering engine has been optimized and will now adapt the number of parallel renderers dynamically
  • Nodes:
  • 2 new node parameter types are available: curve and polygon
  • A new Tonality node (a greyscale version of the Colorize node, using the new curve parameter type) and a new Signed Distance Function Polygon node have been added
  • The new Warp Dilate node deforms one of its input following the contours or slopes iof an input heightmap
  • The Dilate node now has a choice of 3 distance functions (Euclidian, Manhattan and Chebyshev) and a sampling problem has been fixed

New in Material Maker 0.93 (Nov 4, 2020)

  • User interface:
  • The new Reference panel can be used to display images or rendered textures,
  • and to pick colors and gradients from them. The colors and gradients can then
  • be dragged and dropped either into a graph (to create Uniform or Colorize
  • nodes) or into Color and Gradient parameters.
  • Dropping files into Material Maker now works. Dropping a .ptex file will open it,
  • and dropping an image file in a graph view will create an Image node.
  • Inputs and outputs can now be grouped. Connecting the first port of a group
  • to the first port of a compatible group will connect the whole group.
  • The 3D preview now has a simpler choice of base meshes, but UV scale can
  • be configured and tesselation can be toggled.
  • The 3D preview now support custom 3D meshes in Wavefront (.obj) format,
  • and can bake object normal maps and inverse UV maps.
  • Nodes now have tooltips on their titlebar, parameters and ports. Ports
  • also have a short description, and hovering and input (resp. output) port
  • will show the description of all input (resp. output) port.
  • The UI will now prompt to confirm when closing a project tab or the application.
  • This behavior can be disabled in the new Preferences dialog.
  • Vertical synchronization can be disabled in the new Preferences dialog.
  • UI themes have been updated.
  • The mouse curcor is now captures when rotating 3D previews (this was
  • contributed by escargot-sans-gluten).
  • The UI now has an FPS counter as well as a buffer renders progress bar.
  • Graph selections can now be loaded from and saved to files.
  • A new entry in the tools menu can be used to create a screenshot of
  • large graphs (it automatically pans the graph to take screenshots
  • of all parts and assembles them into a single image).
  • Engine:
  • Shader nodes now support an include section to include global functions from other
  • shader nodes.
  • The engine performance has been improved further by generating textures
  • in parallel and taking dependencies between generated buffer into account.
  • New and updated nodes:
  • A new Text node has been added.
  • New CircleSplatter (greyscale and color) nodes have been added, to splat
  • an input shape in circles or spiral.
  • Pixelize and MakeTilable nodes have been added.
  • New Repeat and CircleRepeat nodes have been added in the 2D SDF section.
  • The sdAnnular shape can nos generate multiple layers.
  • The Fill To Position node now has a Radial option.
  • The FBM node now has a Fold parameter to fold the result in value space.
  • The Transform node now has 3 choices regarding how the input is
  • extended (clamp, repeat, extend).
  • The Splatter and Tiler nodes now have scale parameters to scale their input.
  • The CustomUV node now accepts atlases of 4 or 16 shapes as input.
  • The Voronoi node now has a Fill compatible output.
  • The Material node now has a transparency channel and parameter.
  • The image node automatically checks for changes in the source image file.
  • Bug fixes:
  • The very annoying bug that could prevent grabbing graph ports to connect
  • them should now be fixed.
  • A bug related to using gradient parameters in remote nodes has been fixed.