View Full Version : RichDirt

06 June 2011, 05:20 AM
Hi All,

This is a project that I was originally involved in years ago, while at GMJ design Ltd.

I have had to remodel most of the architectural details for the sole purpose of this exercise!

The idea started years ago when I first pleaded with Matthias ( then, working as a Director of product integration, @ mental images) to develop a plug-in that could aid professional 3D Visualisers to integrate their 3D elements into Photomontages; verified views and general external shots!

Then, I used to “struggle” particularly with external daylight scenes.

My desperate plea spurred Matthias to single handily develop a ground breaking plug-in that is now known as RichDirt.

In addition to being ultra-fast to render, it also provides users with a variety of options to plug/ mix with other proprietary shaders, and a variety of Max’s procedural maps such as cellular, smoke; Mix; Noise; Speckle; etc.

It is currently designed for Max/ mental ray only. However, since users can efficiently output its effects as multiple elements (i.e. rendered passes); it is possible to overlay the elements in post, whilst using other rendering engines (i.e. Vray; Maxwell; FPrime; etc).

It is also worth mentioning that it is currently being developed specifically for Vray, Maya, Maxwell, Cinema4D; etc.). So keep an eye out for it.

Having tried and “stress tested” the product, personally, I find it to be the best suited product to address the technical “nightmares” highlighted earlier.

In fact, there is an in-depth article/tutorial about its core functionalities: (

I hope you find the rendered results interesting!

Kind Regards

Jamie (


06 June 2011, 06:29 AM
What about Mental Ray for maya?

06 June 2011, 06:52 AM
I just checked it, and I think it's a great plugin. But... it supports only one map! It's quite not enough. What about using different maps for those effects, also with crashing both the effect and faloff to get more abrupt variations? Have you seen Neil Blevins DVD on this subject? For now this plugin looks more like a more useful AO, but few effects are there. What about making 1-press button paint chips effect, and so on? I have many ideas about what kind of effects could be used.

06 June 2011, 08:46 AM
Hi mister 3d & AtahanZugul,

Thank you both for your feedback here!!

As mentioned in the article, one can export the rendered element effects from one rendering engine to another...and blend it in post!

The article also focused on using multiple rendered element effects with the current available parameters/functions.
There was also a suggestion of its potential usage with procedural maps from Max (i.e. speckle, cellular; etc.) in order to create other exquisite effects.

Finally, it was also mentioned that the plug-in was currently being specifically developed for Maya; Cinema 4D; etc.

Thanks for your feedback again!



06 June 2011, 09:28 AM
Jamie, let me be frank: your plugin is not much different from vraydirt. Of course not all people use Vray. But today people need solution to make some more interesting effects rather than occlusion with one map. I understand you can use noise and speckles etc., but that can be done with Vray too. What could be beneficial is either developing good procedural generators, or using hi-rez textures, which would come with plugin. For example, "optical flares" uses this approach. I don't see what exactly your plugin offers you can't do manually with usual ambient occlusion.

thorsten hartmann
06 June 2011, 09:45 AM

i understand mister3d, and matthias is working on a great workflow for his Shader, but i can´t say more. At this Version is Rich Dirt a great Dirt-Map and not more, but it works with "Render Elements", "Network Rendering", "Composite-Map" and and and. I understand, when some guys say, after the 10 projects, looks all the same. But this Tutorial can only give a small overview. I like Rich Dirt, and i can´t wait of the next Version.

hot chip

06 June 2011, 09:54 AM
Even if the shader is really nice (I use ctrl_occlusion for similar things now), the product website is turning me off it in as little as 45 seconds with all it's lengthy explanations and bolded claims etc. It looks like it's trying really, really hard to convince me. Just show what features it has with some brief descriptions!

thorsten hartmann
06 June 2011, 11:31 AM
for me it is very handy. shure i can use the ctr_occlusion Shader, but RichDirt give me the functions in a short time, and i don´t need a very big shader tree. I think the tutorials on the website ok. I can make Dirt, Rain-Dirt (oh my english) and i can use different streaks. I can only say, it is a time killer, not more.

06 June 2011, 01:23 PM
Hi All,

Thank you all for your feedback here!

First of all, I also use Vray extensively in my normal projects...and can assure you that neither Vraydirt nor the standard AO from mental ray can do streaks and other effects as naturally, quickly or as efficiently as the current Richdirt:

1-RichDirt has the same complex AO as Vraydirt and the mental ray AO

2-In addition to that, it also has IO (inner occlusion)...which is a ground breaking feature that I am yet to see anywhere in the CG industry (please read the article ).

3-Furthermore, it has its own procedural rain/dirt streaks...which are similar to what was done in the movie "KingKong", by Peter Jackson.

The rain/dirt streaks essentially follow the aesthetics of a natural and realistic away.

To top that, one also has the option of using the IO and AO in conjunction with the procedural streaks...if desired.

Coupled with numerous parameters to emulate almost any natural weathering's a "god sent".

Of course most good CG artists can go through the trouble of painting textures and/ or mixing it with their current standard AO/mental ray AO/Vraydirt, etc...for days, in order to achieve a similar effect, or a specific look.

Or, they can simply use RichDirt to achieve good or probably better results in minutes...without compromising the integrity of their renders...and save hours/days of painstaking work.

The above consensus was gathered from dozens of professionals across the board that took the time and the trouble to actually test the product: Vray and mental ray users alike.

In fact, Matthias is in the process of posting on the website, the numerous quotes made by many reputable companies and ultra-talented artists…after using the product.

I can understand that this plug-in may not be appealing to every USER…depending on their scope of work, everyday projects, aspirations, etc.; but what I find utterly astonishing, is for people to make derogatory statements about any product without even testing it first, or even give themselves time to learn more about it...before going on a rant!


Jamie (


06 June 2011, 02:02 PM
2-In addition to that, it also has IO (inner occlusion)...which is a ground breaking feature that I am yet to see anywhere in the CG industry (please read the article ).

How does IO differ from "inverted normals" function in Vraydirt? I assumed it's the same thing, as it looks like it.

06 June 2011, 02:07 PM

Looks like a very powerful tool imao. But I'm wondering can you render to texture it? I'm interested in using this as my base dirtmap then using it as a mask with a blend material.

06 June 2011, 02:16 PM
Here's a comparison. So what's really unique about it? You can output passes in Vray too. You can adjust as much AO passes as you wish, and render them in one go. (

06 June 2011, 02:33 PM
My apologies - i thought you meant it was being developed for Vray in Maya...

I dont understand why everyones ripping into this plugin - its quite useful. Edge selection is not AO - it allows you to select regions based on curvature rather than proximity to other objects - which means you can in effect make things like paint chips procedurally - which takes a while when you're having to paint them into a texture. When doing things procedurally or when you're dealing with geometry numbering in the hundreds (pain to UV and texture) - you really do need the ability to select edges based on curvature of geometry as well as proximity to other objects (AO) in order to place textures in specific places.

For what its worth there are a few scripts (at least for MR maya) out there that do in part do this, but not to the extent or with the ease of control that this plugin seems to offer (gonna have to wait on the maya version on my end to test). For instance the raylength_te and md_curvature scripts can be found on the highend3d website. But these are rarely maintained nowadays and dont offer you the best control and flexibility in making a selection.

Theres even a node - raylength node in the mental ray production shaders, that can select edges which ive seen used by Boaz Livny in his work.

Personally ive used AO and curvature selection scrips/nodes in my own work - mainly when working with environments or robots with lots of little pieces of geometry id rather not UV coz they number in the hundreds - and i can see this little script comin in real handy - So hurry up with the maya version already!! Cheers.

06 June 2011, 02:42 PM
I dont understand why everyones ripping into this plugin - its quite useful. Edge selection is not AO - it allows you to select regions based on curvature rather than proximity to other objects - which means you can in effect make things like paint chips procedurally - which takes a while when you're having to paint them into a texture. When doing things procedurally or when you're dealing with geometry numbering in the hundreds (pain to UV and texture) - you really do need the ability to select edges based on curvature of geometry as well as proximity to other objects (AO) in order to place textures in specific places.

It doesn't matter if it's AO or edge selection or inverted normals, it's the same effect. What I'm trying to find out how it an be useful to me, and how it differs from what Vray for example offers. I'm sorry to hear mental ray users don't have an immediate access to such tools. I agree that the tool has a good interface and adjusted to go from the start. I for now don't see how it differs from what Vray offers.

06 June 2011, 06:14 PM
Hi All,

Thank you again for your continuous feedback in this thread!!

Alexander: if you’re happy with the current results and options that VRayDirt has to offer; then you probably don’t need this plug-in.

However, if you have always wanted to push the boundaries; overcome certain "bottle necks" and explore other artistic possibilities, then, this is the right plug-in for you.

Having used, and continue to use VRayDirt…for a while, we both know its limitations…especially with the current “invert normal” function (...since you have brought the subject up):

1-Have you ever tried having the VrayDirt to trace the rays inside(invert normal on) and outside (invert normal off) simultaneously?

2-Also, having both options with separate/individual capabilities of tweaking its parameters?

3-Furthermore, the option/s of plugging in other shaders, textures, procedural maps, etc, into both invert normal on/off toggles?

Probably not!

In addition to all the above mentioned, the current RichDirt also offers an extra option of adding procedural streaks with extra parameters/toggles on top of the IO and AO.

And it doesn’t stop there; IO and AO are only some of numerous complex functions available, in a long list of tools and options…each with its own toggle, parameters and multiple functionalities.

As described in the article, the possibilities are infinite…and ever expanding!

If you have never considered exploring some of the above mentioned possibilities…and much more (Peter Jackson’s King Kong type dirt effects; etc.); then this is not the plug-in for you!

There is nothing worse than acquiring a product you have never aspired to have.

For those interested in the product, but currently using a different rendering engine or/and platforms:

This plug-in was designed to be used in addition to one’s current tools; not as a substitute! Therefore the conscious decision to develop it to a variety of different rendering engines,platforms; etc!

Fear not: Nobody is trying to sway you from you beloved rendering engines' and platforms (i.e. Vray; Maxwell; Maya; etc)

As mentioned in the article, users can currently output multiple passes from Max/mental ray, to be later blended in Photoshop;AfterEffects; etc, while using other rendering engines as the main renderer.

Louis Boka: I have not tried rendering to texture yet, but I cannot see why it shouldn’t work?

Atahan zugul: Yes, the Maya version should be out soon!

Thanks again for All your feedback here!


Jamie (


06 June 2011, 07:11 PM the way, thank you very much for your feedback Thorsten!



06 June 2011, 06:23 AM
It's a good plugin for those who need a fast, one-pass result for architecture. I think Vray inverted normals is not limited, it just needs a minute to adjust, as opposed to yours, which works from the start (I agree yours works well). So this plugin is aimed mainly at users, who use other engines than Vray. I mainly use AO as a dirt effect for games, so I need separate passes to flexibility. Also I'm looking for plugins, which would create more versatile effects, as I do not only concrete buildings. Good work though, it just doesn't fit exactly to my needs.

06 June 2011, 05:05 PM
Hi Alexander,

I am actually going to take this opportunity to thank you again, for your constant feedback here!

Also, to ask you and other users about the features they would have liked added and/or improved, in next version of RichDirt?

It would be some sort of a "wish list"?!

This will be greatly appreciated as we would like this Plug-in to appeal to EVERYONE (...a bit of a dificult task...I suppose:banghead: )!

If Matthias was able to deliver my past "wishes"...he will certainly be able to deliver YOURS!

So keep them coming...please!!!:)

Thanks again for everyone's feedback far!


Jamie (


06 June 2011, 05:59 PM
...Finally,with regards to the query about "rendering to texture":

Here's a quote from Matthias:

"5 Steps are required :

1) render setup -> override material - use a single material everywhere (note: this keeps original materials).

2) drag this mtl into the material editor

3) in the material editor assign the so called ´mental ray´ material.

4) in the mental ray material drag a RichDirt to the ´surface´slot

Note:When texture baking we dont want lights, shadows etc.

Using the surface slot one can bake an arbitrary texture, like RichDirt in an unshaded way.

5)Select a diffuse map in RTT - since the surface slot is directly connected to RichDirt diffuse isn't shaded (no shadows etc), so we get the right values into the baked texture.

I will add a short tutorial on the website that describes this process". (




Alex Morris
06 June 2011, 08:18 PM
You should maybe check out fRDirt from Cebas as part of finalRender. This has tons of options including gravity to help with streaks - there's now a free demo on the Cebas website I think

06 June 2011, 09:36 PM
Hi Alex,

Thanks for your feedback here; I really appreciate it!!

I will definitely have a look at that...for sure!
We will hopefully find a feature or two we could improve upon...and take it to a whole different level in conjunction with the nice features we currently have...for the upcoming version!

By the way, have you ever tried the FRdirt?

The initial RichDirt algorithm was also based in real physics (100% accurate: gravity; wind; dust; etc).
However, over the months/years in development, we quickly realised that, it was putting off most users due to its high dependency in memory (RAM), especially in real projects .

So Matthias came up with an excellent aproximation algorithm for fast turnarounds and immediate results...which so far, has proved to be the "right recipe" with most users (...i.e. from users' feedback...).

The original algorithm can easily be reinstated...if this is what most users want (...I personally doubt it though...). But will see!

As mentioned earlier, we will take a look at FRdirt and see!

Thanks again for your feedback here Alex!!




06 June 2011, 12:47 PM far, I would like to give a especial “thank you” to the following group of experts; talented individuals and companies that have taken the time to look; test and recommend this product:

Cyrille Fauvel: Worldwide ADN Sparks program Manager; Autodesk Developer Network (

Dano Battista: Director @ (

Graham Macfarlane: Visualisation specialist and Co-owner of (

Maher Zebian: Senior 3D Visualiser @ (

Iain Banks: Senior 3D Visuliser and owner of (

Thorsten Hartman: (

...and many others




06 June 2011, 04:44 AM
Thanks Jamie,
This looks pretty good,

Its one of those shaders I have been requesting Autodesk and Mental ray to supply stock with 3dsmax.
Pisses me off that I have to buy something that I think should come stock standard.
Another plugin I have to buy to keep up with VRAY :)

Hey but the positive is its a good price !!! keep it up :)

Modo has a really nice dirt map feature too, have a look around the 6minute mark.

06 June 2011, 01:37 AM
Just having a look a Richdirt and I've come across a problem.
This model came from archicad where the floors a separate from the walls and they come out to align with the walls, if you know what i mean.
So the dirt uses the edges of the floors in the middle of the walls where it shouldn't collect.
I've tried the inclusion exclusion options with now luck.
Is there a way to fix this ? or does it have to be remodeled where the floor doesn't come out to the wall ? (

Uploaded with (

06 June 2011, 05:25 PM
Hi Duncan,

First of all, thank you very much for your feedback here!

I have had a look at the Modo video...and it's "sweet"!
Currently, RichDirt can achieve all that...and more. Please take a look at the website!
The "cancavity" and "convexity" tools are the "IO" and "AO"...of RichDirt.
Where Modo really "shines" is in its capabilities of painting directly onto an realtime.
The inability of RichDirt to do the same is simply due to Max's lack of API to feed the results into the viewport.:banghead:

Finally, with regards to the query about your 3D scene:

Matthias has quoted the following:

"Hi Duncan,

Do you mean the grey bars, that stick out roughly 20 cm (there are 3 of them) ?
Or the 2 floors that are nearly aligned with the wall ?

Remodelling obviously would work.
But this case should be solvable with the inc/excl, in 2 ways:

a) ´use same object only´ for the wall should skip the flloors
(make sure to set ígnore object id to 0)

b) you could specifically ignore the floors. Assign on object id to them (both need the same)
Right click on the "floor" object to open the 3ds Max "Object Properties" dialog;
(under General Tab - Rendering Control - G-Buffer) to check that the object id is indeed assigned.

If both ways don´t work please mail the model to so this can be checked in detail".

Thanks again for your feedback here!


Jamie (


06 June 2011, 06:29 PM
Hi Duncan,

There's one last quote from Matthias:

"Hi Duncan,

I can confirm that the rest is visible with ´Use Same Object Only´.
Please also switch on ´Optimize Thin´ (found in the main rollup) - this removes
the influence from the floors to 100%.

Best Regards,

It is worth mentioning that the " Optimze thin" tool is one of the most unique and outstanding features of RichDirt!

I hope the above was useful!!


Jamie (


06 June 2011, 11:38 PM
Hi Jamie thanks for the response.
I've tried various options with no luck.
Here's a file that I have setup similar to the files I receive from Archicad.
Its a 3dsmax 2012 file.

Is there a richdirt forum ?

06 June 2011, 11:01 AM
Hi Duncan,

many thanks for the optimized file - this helps a lot ! I can reproduce the artefact in max 2012 and also 2011. Jumping into debug session now !


06 June 2011, 05:09 AM
Hi Duncan,

many thanks for the optimized file - this helps a lot ! I can reproduce the artefact in max 2012 and also 2011. Jumping into debug session now !


Great, is this the best place to report bugs/problems ? Or can you pm me your email address ?

I wonder how your going to fix this one, since I'd still like dirt to collect on the balcony parts but not the parts on the wall ?

06 June 2011, 09:56 AM
I just sent you my direct e-mail.

With respect to the balconies versus floors sticking in a wall i´d like to seperate this into 3 cases.

1) The ´floor sticks into wall´ case where the wall is continious:
This works, despite a bug in the current version. Add ´optimize thin´ and the image will look good.

2. The case where the wall is split into 2 parts, the floor is between the 2 parts.
This is indeed a challenge. Assume ´ignore floor´ is used, then the correct image would indeed render like the floor doesn´t exist. Which would necessarily create an edge for the wall´s lower part. I first thought that this case is ´mission impossible´, but i meanwhile have an idea how to catch it.
A new rule ´ignore object id, and if it is hit also ignore all following objects´. That
way the top part of the wall would be ignored as well !!! Such a rule would catch archicad floors, it could generate a false positive when a floor is 20 cm away from a ceiling, but that would be a quite narrow building.

3. The balcony case. The floor sticks through the wall and also is the base of a balcony.
I think this works already, since you indeed want a dark area below the balcony. So it isn´t necessary to ignore it. If Archicad generates a mix of floors that stick out + floors that align to the wall´s outside one can assign a different object id to the undesired floors.


06 June 2011, 10:43 AM
Matthies so would point 2 catch dirt when the floor turns into a balcony ? and the side edges ?
All the red lines in this example ? Or could you use two materials with different Richdirt settings ? (

Uploaded with (

06 June 2011, 12:26 PM
Duncan - the balcony can for sure be solved by simply mixing another RichDirt (either with a mix material, or a 2 textures combined with a mix texture, or 2 textures combined using the 3ds max composite map). To catch the balconies you would switch off io, and switch on ao. That way
you would get the part that stick out exclusively. So this is easy.

The tricky part is the rightmost side edges (floor). With the new rule ´ignore object id + also ignore
all following objects´ you can get the middle part but the rightmost edge would fade out a few cm before touching the floor. Another question is how the floor triangles overlap with the wall segments.
Raytracers can´t tell which triangle comes first when they exactly overlap. If the wall part comes first it looks like a regular end. Need to check this in more detail.


06 June 2011, 05:58 PM
Hi Duncan,

This is how far one can get with 2 extra rules - one rule is to ignore all horizontal objects after the floor was hit. The second rule is for the floor itself, it does ignore all of its horizontal faces, so one still gets a closed wall (= pieces of the floor that add to the wall).

This works fine for ´slope up´. But the general case (spread 90 degree + not oriented upwards) can´t be solved because the floor isn´t exactly inside the gap between the 2 parts of the wall.
One can´t see this in the Max viewport - it is shifted a bit. This shift makes rays that come from the upper half hit the end of the regular wall first -this triggers a regular end. I tried to add yet a third rule to shoot an extra ray so the floor can always be discovered - but this runs in epsilon issues (the gap is quite small so one can´t seperate rays that jumped over the gap from rays that are stuck on the front side). I hope this isn´t to much details ...

What i can offer
- send a dll that contains a regular bug fix (this will remove the very dark areas that you had seen
. send a second dll (as you prefer) that contains the extra rules, so you can try how well they work for you.


06 June 2011, 03:36 AM
Hi Matthias,

You can email those dll's to me, ( You should have my email address, I emailed you the other day ).

Could you provide a mix material to see the balcony working ?

06 June 2011, 08:01 PM
It is working now on my side - including the tricky cases, like exact overlap of triangles, as well as the 3 cases where the floor segment is a bit below or above the 2 wall segments. This uses extra rules to ignore horizontal surfaces that are close to a given object.


06 June 2011, 10:29 PM
Nice work !

I'll find time this week to test it.

CGTalk Moderation
06 June 2011, 10:29 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.