The sad truth is the rendering integration is not as independent as one would 
think or like.  I've been writing mental ray shaders for a long time (10+ 
years), and even today am shocked how touchy Softimage is when loading a scene 
which uses custom shaders not installed on the current computer - 99% of the 
time it's a hang and crash.  In order for me to load an old scene from, say XSI 
v2.0 when I was developing a particular shader, I have to have the shader from 
that era installed to get the scene open.

When you consider the rest of the rendering system is built like that, that's 
why a lot of stagnation occurs.  Either AD has to be bold and say screw old 
content for the sake of progress, or we have a slow moving boat for the sake of 
compatibility.  There's also the reality that when a system is iterated over 
the years, it requires more manpower to take it to the next level.  V1.0 may 
take 2 people, but v2.0 might require a 3rd to help out because the system has 
gotten larger, more complex and with more moving pieces which must all be done 
in sync.  There's also the fact the system must integrate with other 
departments such as UI, animation, modeling, and whatever else comes in 
contact.  Over the years the trend has been to have fewer developers on staff.  
This creates a situation where it's not possible to roll out an iteration in a 
single release, but instead have to spread it out over two releases due to the 
constraints of resources.

The only true way to get quick iteration is to keep the renderer a standalone 
and use cheap export scripts to dump the scene at the command line, but of 
course, that comes at the cost of user friendliness and iteration speed.

Not too much different from the good-fast-cheap production triangle.  Throw 
your dart.

While shaders can be updated to have additional features, sometimes it's not 
possible to retain legacy look as some of the technology that needs to be 
bridged are mutually exclusive.  A shader is a front end to those technologies, 
but to actually make it work as the user envisions is quite the beast.  Mental 
ray does a pretty good job of being that front end, but to get the benefit 
requires an educated user.  No amount of pretty UI is going to change that.  
That is what users must understand.


Matt






From: [email protected] 
[mailto:[email protected]] On Behalf Of Ed Manning
Sent: Thursday, November 08, 2012 12:06 PM
To: [email protected]
Subject: Re: Mental Ray Features, Integration & Autodesk's failure

On Thu, Nov 8, 2012 at 2:05 PM, Matt Lind 
<[email protected]<mailto:[email protected]>> wrote:
No argument on the making existing tools work, but in terms of tool design you 
make the erroneous assumption everybody wants to create realistic looking 
renders like you.  I've largely worked on non-photo real projects where those 
extra controls you dislike are absolutely necessary and often not enough.  This 
industry is about making looks and scenarios.  It's not always about recreating 
what you see in front of you.

Actually, I agree completely.  FWIW, I don't assume that everybody wants to 
create realistic looking renders.  Sometimes I don't want to either -- it all 
depends on the needs of the job, and lately it's all been "make it look more 
real." My point was that it should be possible, but not necessary, to drill 
down into low-level functionality in order to do commonplace things. And for 
better or worse, plausibly realistic rendering is a very common requirement.

To beat my car analogy to death -- it shouldn't be necessary for someone to 
know how to tune a fuel injection system in order to get their car to the 
supermarket.  It's a great thing if someone does take the plunge and learn how 
to be a racecar mechanic or driver, but as you said, most people can't or won't 
do that. Anyway, even a racing mechanic doesn't want to break out his toolbox 
when he wants to go to Kwik-E-Mart. The sad fact is we have enormous variation 
in education and educability in our workforce, and even if we resist building 
for the lowest common denominator, we need to consider it when assembling our 
tools.

It's easy to take this too far -- then you end up with C4D, which makes some 
hard things shockingly easy, but won't let you do some basic things at all.

And as far as maintaining compatibility with legacy assets goes, I don't 
advocate trashing the legacy shader libraries and making them unusable. But is 
there any reason that, say, the default scene material couldn't be a BSDF 
version of Phong (or Blinn or Ward or Ashikhmin) with fresnel and energy 
conservation?  Is there a reason the default light can't be, say, 
mib_photometric? Why shouldn't the default material be updated when technology 
advances? Wouldn't it help move people along by making the default versions of 
things be the latest ones rather than the oldest? You could always have a 
"Classic Mode" button for people who just don't want to change.

Why not make improved versions of things in addition to retaining legacy 
versions?  It's not like the legacy versions are being actively developed 
anyway.  I'm sure the code in some of the shaders hasn't been touched in 15 
years. I'd also be kind of shocked if making these additions required a 
compatibility-killing change to core application code -- if that were the case, 
it wouldn't be possible for people to make modern 3rd-party renderers like 
Arnold or VRay work with Softimage and Maya.

Reply via email to