mental mill :: Software Feature


#1

Hey there,

Mental images’ mental mill is used by a fair number of shader artists on CGTalk. Blue Castle Games stepped forward to show off their production workflow and at the same time giving us a look at some of their recent work.

Click, DIGG, stumble, and feel free to comment :wink:


#2

Yeah…we liked mental mill, we toyed around with it a little. Then the programmers came to us saying “So why in the hell did you put so much crap in the code?”.

I would like to know how can we use mental mill and still have optimised code.


#3

Hello Paul

Great Article!
I love the Mental Ray products and their solutions for rendering and game developement.

:beer: Alex


#4

Well, This is very intresting news.More and more realty to our works…Thanks alot Paul.:thumbsup:


#5

ya… more sexy than 3Dullight!!!


#6

will this be bundled with future versions of MR ?

A 3dsmax10 beta tester told me it was bundled with the beta


#7

that would be awesome if it were.


#8

Isn’t this very similar to renderman’s slim? Looks very interesting!


#9

No, Mental Mill is not a material bridge to Mental Ray like Slim is to Renderman; it is for authoring realtime shaders in HLSL, GLSL or CG.

Yeah over here as well. Its a nice little software, but the code it generates… ugh. I opened up a cgfx to tweak a few things, and didnt know what i was looking at :curious:. Reminded me of frontpage for html.


#10

hi,

mental mill is the future but have it not the mia_material as Realtime-Node. At this time it is for me not helpful.

mfg
hot chip


#11

It is. We will ship with the mental mill artist edition in the box and we have integration with the 3ds Max/Design 2010 viewports and mental ray sw rendering. If you want mental mill standard edition - you need to get it from mental images directly.


#12

Any plan from mental images for integration of Maya?


#13

that’s ok… I’m more concered with it being in Maya 2010 :wink:


#14

Wow! really nice additional feature.


#15

Hey Zen…how much of a difference in performance is there between mental mill generated shaders and the same look/Phenomena written to be optimized? And how difficult is it to optimize the resulting code by hand, assuming the person doing it knows CGfx? Is it easier to simply start from scratch?


#16

I should probably not saying anything (since I co-wrote ShaderFX), but often when a program tries to serve to many purposes, it turns out it is not really great for any of them.

I think that might be part of the problem with Mental Mill.

Because it tries to lives in both the real-time rendering and software rendering worlds, it might end up being to limited for the software rendering guys and spitting out very messy, un-optimized hardware rendering code that isn’t worth the pain of cleaning up for the real-time guys.

They might be able to resolve that in future versions, but I don’t think the current versions are going to serve people who push the boundaries of either market very well.

Just my two biased cents.


#17

Not that I’m an expert on what Mental Mill does, but I’m told that because metasl is fairly close to the syntax and structure of Cg and HLSL, that it is fairly well optimized right out of the gate. I don’t think we should confuse the fact that it is “wordy” in its output with slow performance. The “wordiness” is there for other purposes.

We’re waiting on some benchmark data from mental images, but I would imagine that the fundamental value of mental mill would be broken if the code it generated was generally much slower than typical code written by other methods.

Mental images told us that the situation is similar to how very few people ever touch assembly coding these days because of the complexities involved rarely provide enough performance advantages. For example, if the mental mill shader is 10% slower than other means, but it is far easier to maintain it and target other platforms, then perhaps that is a reasonable tradeoff.

Anyway, I think we are all wallowing in guesswork, we should wait until we see some actual performance data on the subject to debate that.


#18

I do quiet like mental mill cause i’m someone who can’t write a line of code to save myself but i can prototype shaders with it :smiley:

For anyone who isn’t aware it will pretty much make compatible code for any tool that can render HLSL or CGFX shaders the only tricky part is the bindings so the values are correctly exposed in the UI of your app, i believe Mental Mill has a bunch setup by default or the documentation of your engine should tell you how to do it…

What your saying is interesting Ken but i don’t think the assembler code analogy works so well, in a game shaders are usually the most demanding thing and loosing 10%(If indeed its 10% slower, who knows could be the same) performace on the most GPU intensive task really isn’t really acceptable.

One note for artist making shaders in mental mill is trickier then the hypershade in Maya as its a level lower your dealing alot more with math functions etc but that said its inifinately easier then writting shader code.


#19

Uuuuhhh what a juicy thread for some constructive criticism from the field!
Excuses in advance for the massive quoting.

This article is basically an attempt to justify and marketize the efforts of mental images in re-inventing another Shading Language, this time a new one that bridges HW ones and SW ones (when they perfectly know which is the production-standard SL for software rendering, but they are too proud to adopt it, but not too ashamed of reinventing the wheel).

Correct. It is also supposed to generate mental ray sw shaders code… But, since it lacks of a virtual machine compiler to platform independent bytecode, you will need a cpp compiler. And again you will end up with a dozen of builds for different platforms (win/linux/osx), on different architectures (32/64bit)… And worse point is that many times the shaders don’t work as expected or don’t work at all.

Note for adsk product managers: listen to feedback from users.

Note for adsk product managers: listen to feedback from users.

Do you guys ever try things before throwing them in 3dsmax? How do you automatically compile the metasl shaders to mental ray sw shaders? You will bundle a cpp compiler with 3dsmax too? Or maybe mental images will include a compiler with mental ray? That would be very workflow-friendly…

Don’t you know that Maya 2010 will be bundled with 3dsmax 2010? hehehe :slight_smile:

Actually because you wrote SFX your opinion is warmly appreciated.
And not biased at all, well put, you hit the spot perfectly.

That “I’m told” is scary from an official source.

You should get some feedback from internal testing or beta testers, not from the people that convinced you to use their “technology”. It will be biased.

Wow. What a hyperbolic comparison and justification… I can see from miles it comes from the mental institute… geez sometimes I miss them…

I am not.

But I remind you they are your business partners: you shouldn’t wait for their biased performance data… you should already know performance, pros and cons since you said you already bundled it with 3dsmax.

Ken, not too personal eh?
With “you” I referred to your company.

Just see this as constructive feedback, otherwise what’s the point on writing on public forums? You don’t want to see hords of clueless messages like “Wow, can’t wait it comes out! :bounce:”

So, to sum it up, at the end the criticism focuses around the facts that the code of the hw shaders is not clean nor performant enough and there is a horrible, half-broken, pipeline for sw compiling (if it will ever work fine…)

Kees’ quote on top is self-explanatory as an overview.

If 3dsmax needed a HW material editor (because again, for SW shaders mill does not work in the real world), SFX is already integrated and already works.
Maybe you could have bought it from him :wink:

P.


#20

I am not sure if that is an attempt to undermine my comment, but hopefully you don’t mind if I use my own tests and experiences instead of the data coming from Mental Images.

I don’t believe I am ‘wallowing in guesswork’.

Neither do the people who previously replied in this thread stating that their programmers would not accept the code because it is messy (hard to hand-edit) and un-optimized.

I am not even sure why you would say that. I can imagine you don’t take my word for it, but the other guys have obviously objectively tried to integrate it in their pipelines and it was not accepted.

So you can provide us with as much ‘Mental Images’ data as you want, that won’t change anything. It might convince a few artists to try it, but in the end, they will not decide if they will be able to use Mental Mill to create shaders.

It will be the guys who are in charge of the performance of the engine.

I’m not saying there is no hope, though. Eventually it might work to share the same tool for both workflows. I don’t think it is there though.