Topic - Campi's new Node Dump

Page 1 of 5 12345NextLast
Mari Extension Pack 2.0 ... 8018-15287

A compilation Nodes & Scripts, all installed properly. Simply extract into your script directoy

MARI Function Library (2.5+ only)

A requirement for a lot of nodes to run properly.
This is a combined effort from Miguel Santiago and myself trying to establish a Development Library for everyone to source from.
Documentation for Developers is available and a collaborative Dev Area that people can participate in is available at

setRange (2.5 compatible)

A setRange or remapping Node allowing for precise remapping of values.
Useful for example
1) to make 32bit displacement maps
2) define fixed specular values from a black to white map
3) Do simple level/contrast adjustments

custom Object Normal (2.5 compatible)

A modification of the existing Mari 2.0 objec normal Mode with added controls for normal rotation and offset.
I mostly wrote this to work with my procedural Edge Detection workflow outlined here:

Vibrance (2.5 compatible)

An adjustment Layer to adjust the Vibrance.
Vibrance will saturate pixels with lower saturation more than ones with higher saturation values.

By choosing "Desaturate" the effect is inverted. Higher saturated colors are desaturated more than lower ones.
Saturation can be remapped (evaluated first) for different effects by modifying the curves.The default curve mimicks what Phototshop and Lightroom do.
For completion a multiplier field exists, however in most cases the default value of 1 will give best results.

Procedural Options Pack (2.5 compatible)

The procedural options pack is a modifcation of the default Mari 2.0 Fractal and Noise based procedurals.
It adds a unified set of options to the following nodes:

- Cloud
- Turbulence
- Squiggle
- Perln
- Cellular

The following options are available after installing this pack:

- Seed: Quickly create different results from the same settings
- Non-Uniform Scale: Add directionality to your procedurals
- Rotation: Freeform 3-axis rotation of your procedurals
- Offset: Fine tune your procedurals

A quick demo is available here:

Threshold (2.5 compatible)

A photoshop style Threshold Adjustment Layer with added options for edge refinement.

Spotify Multi Fractal 1.1 (2.5 compatible)

Re-Release 03/09/13: Fixed bugs on NVidia Drivers 300+ where Blendmodes stopped working or an all white image appeared.

A new Fractal Node with applications in weathering and terrain. A tutorial is available here:

Grade+ (2.5 Compatible)

A modification of the default grade node letting you select which channels to affect as well as color selectors

FBM Pack (2.5 compatible)

Three new fractal nodes, fbm+, vector fbm and multiFbm.

A tutorial is available here:
And a more in-depth tutorial on the multiFbm here:

polsurface Curvature BETA (2.5 compatible)

A Node to detect surface curvature for use in masking.
Due to limitations in openGl no smoothing of values is done.'
Your result will be only as good as your mesh is highres/dense enough.
There will always be some sort of faceting visible which is why it is usually
best to bury the node as a part of a mask stack or apply a gaussian filter afterwards.

Axis Mask (2.5 compatible)

The Axis Mask combines multiple steps into one single easy to use and create a directional Mask Node.
Simply select the Axis you wish to Mask out (multiples are possible).
Other features include ScreenMode ("Black is transparent") and post-rotation for masks that
aren't supposed to be aligned perfectly in object space.

Color Range to Mask (2.5 compatible)

The ColorRangeToMask node provided a powerful toolset to create Masks.
Simply add the Adjustment layer, select the color ranges then bake it down or use in a
channel mask.


Cylindrical Projection (2.5 compatible)

The cylindrical projection node is a new projection type useful for any cylindrical
object such as trees, pipes, weapons etc.


Illegal Value Warning

Lets you set an upper and lower value range - you will get a visual warning when values outisde these ranges are detected.


A simple Posterize Adjustment Filter, allowing to set the amount of
colors/values to split the base into.

Voronoi Popcorn

Requires MARI Functionlib 1.08 or higher to work

A voronoi based procedural for things like veins, terrain, marble etc.
A base voronoi is created then offset but secondary noises (large Edge Detail & Small Edge Detail.)
Both Voronoi and Edge Detail are run through a fractalization (multiple octaves) for further randomness.

Backface Mask

Backface Mask will try to create a mask based on opposite normals.
This is useful for example to isolate interior faces of clothing (think jacket lining)

Axis Projection

Axis Projection is similar to a Triplanar projection but gives more control over projection orientation
by isolating the positive & negative part of each axis.
In addition it allows you to rotate all axis globally for cases where your object is not perfectly aligned in X, Y and Z.

Texture Scatter 2D

Texture Scatter 2D is a complex texture bombing node, working in UV Space.
It is capable of generating seamless textures up to 32k resolution on any regular plane with full UV coverage.


SV Lookup

Allows you to change your Saturation and Value along curves.

Edge from Normal Map

Edge From Normal Map is an adjustment layer intended for use over your normal map.

It will create a curvature/edge mask for you.
The node is intended to be flattened after use. Due to mari's lack of filtering you will be required
to add a gaussian blur to soften it.

BRDF (Metalness Workflow)

This BRDF shader is a reconfigured version of the standard MARI 2.6 BRDF to support a Metalness/Roughness workflow.
Additional features inlcude visual warnings for values in your maps that are outisde the
recommended range for physically based rendering

Unreal Engine Advanced BRDF

This Shader is an extended version of the Unreal Engine Shader that shipped with Mari INDIE 2.6v5 (but wasn't included in the full Mari version).
It features some additional options:

- Standard Mari Unreal Shader does not have any sliders for values so users need to map channels instead.
This version as sliders that will be used until the user maps the corresponding channel.

- PBS (Physically based shading) value warnings. A system that will give you visual feedback when you are painting color values in your diffuse map that are not
recommended or would break PBS

- Emmissive Color was added to the shader

- Due to the nature of the metallic workflow, metals will return a black diffuse in Flat and Basic Shading Modes. This shader version will display your BaseColor instead.

Jens Kafitz

Jens your awesome and a machine. Where are you getting the GLSL code snippets from? Are all of these things available from the layers interface? (as thats what most users will ever see)

Yep, all that stuff is Layerstack .Layerstack only as far as I know since I haven't tested it yet in the Nodeview. I am writing this stuff based on the release version I have at home.

I spent the last week or so digging my heals into GLSL (got a 800 Page book next to me :).
These nodes are actually quite simple (can't believe I haven't tried this before) Very few lines. I want to tackle some more complex stuff now, see how that goes.

Jens Kafitz

Just be aware about the string you have to add is Filter/Set%20Range=Filter/SetRange.xml have a capital S and the xml file haven't. I had to rename my string for a minimal S for it to work. ;)
Works great! Just what I needed!!!
Looks amazing - thank you for sharing this with everyone. Installing right now!

If you want a challenge maybe write a shader with more channels akin to the Arnold Standard Shader here:

It would be nice to have Diffuse/Specular broken out into Color & Weight channels to paint maps for both. Also, the Diffuse Roughness is a nice channel to be able to paint a map for. I really like the way it is setup there. Also, something energy conserving would be cool.

Just thinking out loud - I'm sure you'll come up with something cool after seeing these two gems.

Thanks again,

Hey campi.

Just to let you know, as soon as I put your node into my stack and I flatten my channel, everything is wiped out. IE I have a checker showing on my object (IE an empty layer).
Same thing with exporting a channel. it's baking / export flattened, a 100% transparent 8x8 texture that's produced...
Oh, sorry about that.

It is fixed now and I updated the file at ideascale.

In the setRange node I screwed up the clamping causing the Alpha to go to 0.

Jens Kafitz

Hehe, no worries mate.
Glad you fixed it!!! It's really awesome.On to installing the new one =)
Great Im off to download ass well

Peter Aversten - senior generalist :Cinesite
Founder: The Mari Channel

I've added a Vibrance adjustment layer to the first post.

Jens Kafitz

Quick update for the "custom Surface Normal" node added. Rotation is now correctly evaluated in degrees making it easier to predict.

Jens Kafitz

Nice additions to Mari it should be by default in the package.
I"ve added modifications of some procedurals with more options to the first post.
A quick demo is available here:

I think I am going to take a break now :)

Jens Kafitz


I logged this as a feature request a few months ago. Good work Jens.
Quick addition,
Added Threshold Adjustment Layer to the first post.

Jens Kafitz

Added "Spotify Multi Fractal" to first post.

A complete Tutorial is available here:

Jens Kafitz

Not one of mine but thought I'd bump the thread up for Antoni's Military Camouflage fractal, that - judging by the the fact that it has been download a few dozen times the last 4 days is quite popular

Jens Kafitz

Woop! :D . More advanced version still to come, along with another organic procedural and a Cavity Map from Tangent normal map adjustment (coming sooooon!)
Orlando just added his useful little adjustment layer to ideascale to adjust Normal map intensities:

And his Demo Video:

Jens Kafitz

Added fbm & multi fbm to the first post.

Tutorial available here:

Jens Kafitz

Great stuff, I have gotten some good use out of your nodes.
The extra control over fractals pretty much makes The Foundry's basic fractal nodes obsolete.

This may be more of a request for The Foundry, but it would be awesome to get channel control in the grade node, like check box for which channels(RGB) it is modifying... like Nuke!

Anyway, appreciate you making this available to us. Thanks :)
bneall wrote:

Great stuff, I have gotten some good use out of your nodes.
The extra control over fractals pretty much makes The Foundry's basic fractal nodes obsolete.

This may be more of a request for The Foundry, but it would be awesome to get channel control in the grade node, like check box for which channels(RGB) it is modifying... like Nuke!

Anyway, appreciate you making this available to us. Thanks :)

This might not be too difficult. I will see what I can do over the weekend to knock this up.
Awesome updates Jens! :D
I need to download these bad boys and give them ago, great work, I'm loving the new procedurals you guys are coming up with :mrgreen:

Modo - SPD Python Technical Artist

Hey bneall, Saw your post on the grade node and took a crack at modifying the existing grade node to have a channel selection attribute so you can tell it to work only on Red,Green,Blue,Alpha channels. Not really check boxes, but that could be done also. I test it with Mari 2.0v2, but you will have to install it and mod the catalog file so Mari will recognize it.

1) Install Xml file into ~\Bundle\Media\Nodes\Simple\Filter

2) Modify nodes.catalog file in \Bundle\Media\Nodes\Simple with Filter/GradeRGB=Filter/GradeRGB.xml

Download: 899 bytes

Page 1 of 5 12345NextLast