View Full Version : Ambient/Diffuse Pass - No shading req
RagingBull 05-19-2009, 07:43 PM Just trying to render out a pass which is basically like all of the materials having a constant applied to them but I still want to show their textures/colours in this pass (reflections on another).
Currently all of the materials are 'Architectural Materials' - and I'm finding this really tricky to set up, as it should be pretty easy.
Any tips ?
|
|
RagingBull
05-20-2009, 11:04 PM
Seems like a tricky one for some reason, such a simple task on other products usually.
:banghead:
mocaw
05-21-2009, 01:45 AM
Normally this is an easy thing to do- plug your textures into the ambient channel of your shading model, select the objects you want for the ambient pass, and then create an ambient pass. Now crank up the scene ambiance all the way.
However...the shader you are using is missing the ambience port, and/or we can't figure out an easy way around the fact that this port is missing. Why it is missing I have no idea.
Here is a work around I did for the TS2 Illumination shader which has a similar issue:
http://www.xsibase.com/forum/index.php?board=12;action=display;threadid=34751
Use a color math node to get the ambience from another node. Note that with the arch material you still would have to override your highlights since they come through this.
I'm sure there is a better way...but maybe this will help you for now. Sorry...
mocaw
05-21-2009, 01:49 AM
Just found this: http://community.softimage.com/showthread.php?t=4138
Key was to search for "mia material" instead of "architectural shader" etc.
Ooops...maybe that's you at the end of the thread?!
ThE_JacO
05-21-2009, 02:43 AM
an ambient pass is NOT a constant pass.
Ambient is the bounced light in a scene minus the direct diffuse, and it's supposed to be used this way:
Ambient * ambocc + diffuse
A pass containing colours without illumination is a constant colour pass, or an albedo if your diffuse pass is a diffuse factor and not diffuse colour (which is albedo * diffuse already).
AFAIC the architectural shaders, and most monolithic ubershaders like that without decent aov/channel output, are the antiChrist of rendering in passes, and while they can help making pretty pictures in one buffer, they are a pain in the ass to work with if you know what you're doing.
mocaw
05-21-2009, 05:53 AM
So basically if we want to use something like this we should be prepared to do a bunch of half arsed hacks to get around it, or just plunk down the time to make a separate pass with our ambient channels worked out on a per object or group of objects level?
Which means we have every right to be frustrated and feeling dumb to succumb to the pull of sexy monolithic shaders who have been written in turn with the dumbest omission of features most people take for granted, while enabling enhanced features those of us rarely gain access to via fiddling extensively with the rendertree or by writing shader code.
In shorts- this sucks and when are they going to start including such simple, practical things as an ambient input/output that can be rendered in an ambient pass? Who do we cry out to, who do we show up at their house with pitch forks and torches? Why the wax wings?
I mostly use Lambert anyway...but still...
ThE_JacO
05-21-2009, 08:18 AM
I'm kinda lost in that rant, but I have a feeling I might agree with it, but in a numb way.
Still, if you make as much use of cross-channel info to render a ton of crap into diffuse, you then suffer when you need to split that again. That's the problem with ubershaders that are monolithic.
The implementation and how it's exposed doesn't help either.
Said that, if you want control and accuracy, the ubershader is a hammer, and when all you use is a hammer, all problems will look like nails. Accuracy and control aren't nails, and using the mia shader when you need those can only end in tears. Those "architectural" shaders are largely aimed to people who want to click and render, and that's it. Steering them anywhere is a ****ing nightmare.
On a personal note: I'm not particularly fond of hammers, and I tend to use a screwdriver for nails too, because I like the pain and the holes in the wall all around the nail :)
RagingBull
05-21-2009, 10:45 AM
woo-hooo replies !
:bounce:
Ah, fantastic, I'm not alone ! :applause:
Right, back on track.
Yep, definitely me at the end of that thread, I'm all over the place trying to find answers !
Strangely enough, I also found your TS2 thread last night as well, I'll take a look into that shortly.
The mia_material_multioutput can work as well. You'd need to replace your normal arch mat materials with this one though, and use the different outputs to get the pass you want, not exactly ideal.
This PDF from Mentalimages is really useful:
http://www.mentalimages.com/fileadmin/user_upload/PDF/arch_and_design.pdf
So, just to clarify for the time being, which shaders should we use if we want a constant-diffuse output, AND, is there a simple way to get it's output ? :hmm:
Many thanks for the input guys !
RagingBull
05-21-2009, 11:39 AM
Actually, one more question regarding a constant-diffuse pass... :blush:
Transparent objects - glass/curtains etc
How would you handle objects like that for a constant pass ?
CiaranM
05-21-2009, 12:59 PM
woo-hooo replies !
So, just to clarify for the time being, which shaders should we use if we want a constant-diffuse output, AND, is there a simple way to get it's output ? :hmm:
Many thanks for the input guys !
So all of your shaders are based on the arch material, or better, the arch multioutput? Agreed, they're a pain to use, but if you want the constant diffuse, why not just take the input to the arch's diffuse port and plug it into a custom color channel e.g. "albedo" and render out this channel with your pass. This should take account of any textures etc. you're using, but of course lighting information will be neglected.
You could even package the arch multioutput, with whatever custom channels set up as you need, into a compound that you can use as your base shader for all materials. So then it's easy to control with overrides, etc. if needed and get everything in the render channels.
This would work with any shader as long as you set up the albedo channel. But, since the arch material doesn't support scene ambience (as far as I remember), it's probebly your best bet.
RagingBull
05-21-2009, 01:05 PM
Hi !
I'll look at that 'albedo' channel right now, much appreciated !
The Arch Mat does render to the ambience channel in a bit of a weird way.
The colour blend/additional colour under - Additional Options - Global Settings (on the arch mat), contributes to this, if you render the view port with ambience selected, you'll see if you turn it up or colour it.
CiaranM
05-21-2009, 01:35 PM
Hi !
I'll look at that 'albedo' channel right now, much appreciated !
The Arch Mat does render to the ambience channel in a bit of a weird way.
The colour blend/additional colour under - Additional Options - Global Settings (on the arch mat), contributes to this, if you render the view port with ambience selected, you'll see if you turn it up or colour it.
Yes but does it contribute anything to the 'ambient channel', if you view that in your render region?
The 'albedo' channel is custom, you can call it whatever you want or put whatever value you like in it.
As far as I can tell, the only worthwhile thing about the arch materials are the optimizations for reflection and refraction.
Also, if I remember rightly, the multioutput version has an output for ambient, but this is dependent on you using FG.
RagingBull
05-21-2009, 05:48 PM
Yeah it does contribute but I think the custom render channel is much better, and seems to work.
I couldn't actually find anything called 'albedo' except in ultimapper, so I just connected a 'store in channel' node, and rendered the custom pass out.
It is an extra bit of fiddling but at least I know it works for now.
:thumbsup:
toonafish
05-22-2009, 07:54 AM
a quick way to insert a "store in channel" node between 2 nodes is to RMB click over a connection line and select "Insert > store in channel"
RagingBull
05-22-2009, 10:19 AM
a quick way to insert a "store in channel" node between 2 nodes is to RMB click over a connection line and select "Insert > store in channel"
Aye, you gave me the tip on XSIBASE :cool:
(I had to ask everywhere !!!) :blush:
toonafish
05-22-2009, 11:23 AM
I don't get why some peeps blame the fact that there's no easy way to setup an albedo pass in xsi on the use of "ubershaders" like the Mia material like in this case.
No matter what shader I use, there's no way to do this in the same way you can setup a reflection, depth or specular pass. I have to jump through the same hoops if I use a blinn or lambert shader.
Or are you suggesting all those shaders are made for peeps that just want to "click and render" pretty pictures, and if we want to do it the right way, build it all from scratch ?
mocaw
05-23-2009, 12:04 AM
No matter what shader I use, there's no way to do this in the same way you can setup a reflection, depth or specular pass. I have to jump through the same hoops if I use a blinn or lambert shader.
?
Well, if you're smart about it and set it up in the fashion in which you are doing it from the beginning then it's not as painful. Still, if they only had the ambient input it would be just like you were using the standard shaders- select the objects, make an ambient pass, crank up the ambient light- render. That's simple and straight forward IMHO.
True- if you want a texture with it etc. you have to plug it into the ambient port- but if you can read the nodes in the shader tree then I bet 99% of the time you'd figure this on your own.
The thing is that a lot of people attracted to a monolithic shader are not going to even think about passes and channels until they've probably set up a scene with 60 different materials. Now things are suddenly a lot more complex/laborious to them than going the standard way of creating an ambient pass with the normal shader set.
I'll admit- I didn't even think of using render channels to accomplish this. However I'm not the greenest mr noob using XSI so if someone comes in from another package or just starts out I doubt they'll think of this as an option.
It would just be nice if things were a bit more consistant with the shaders included with XSI to keep the confusion down. I expect most organisims with a digestive track to have two ends- shouldn't diffuse and ambient be as standard?
RagingBull
05-23-2009, 12:35 AM
I agree with what your saying there, it's actually vital to be able to have a constant diffuse pass, it shouldn't be something you have to construct.
From my own point of view, now that I know I can set things up like that with the 'store in channel' node, it will be something I'll do automatically from now on. And I guess that is a positive thing from their overlooking of such a pass, as it means I can use this technique for other things to.
Trouble is, in my case the last time I used XSI was nearly 2 years ago !
That was in a professional environment but when I joined the team, the pipeline had already been sorted, so I just had to make sure I followed the guidelines to get passes with no issues.
And since my background has been from Max, things like 'monolithic' shaders sound weird, and un-descriptive of their actions. When I did projects in Max, I always used passes, so not everyone renders out a single render, I'm not quite sure why people seem to think assume that. And since the max material editor isn't laid out in a node format, it's very confusing coming to xsi/maya etc - in some ways the format in which max uses is far more intuitive but naturally far more restrictive compared to nodes.
Nevertheless, with XSI, there are plenty of ways to get the result you want !
:bounce:
mocaw
05-23-2009, 12:56 AM
Nevertheless, with XSI, there are plenty of ways to get the result you want !
:bounce:
Now that's a statement I can agree with!
Probably the biggest reason so many people like it- you rarely face a "just can't do it" moment- there is always a constructive way around an issue.
RagingBull
05-23-2009, 01:09 AM
Now that's a statement I can agree with!
Probably the biggest reason so many people like it- you rarely face a "just can't do it" moment- there is always a constructive way around an issue.
Absolutely, that is it's strongest AND weakest point I think, only a weak point for newcomers to the software though :beer:
I think that's also why I don't want to get acquainted with Maya again either, for one, I can't stand how ugly it is...but that 'hotbox' is superb.
mocaw
06-02-2009, 03:08 AM
I'd just like to add that after extensive testing the render channel method that uses the render tree to kick out an ambient (or what ever pass) is totally un-reliable with at least the T2Shoot monolithic 64bit shader.
All I can say is very random acts of chaos...and...don't go there...
I've defaulted back to the default shader set for now...which works predictably with render channels BTW...
RagingBull
06-02-2009, 11:23 AM
Good stuff, useful to know of any potential problems.
I'm only using the standard install shaders etc - unless I work on my own projects, I'll try other things out.
:thumbsup:
CGTalk Moderation
06-02-2009, 11:23 AM
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.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.