Specular channel mask

Started by gregsandor, April 04, 2008, 05:17:23 PM

Previous topic - Next topic

gregsandor

How do I mask the specularity in models?  Diffuse and displacement have input slots for masks, but not spec as far as I've seen.

Matt

You know, I'd forgotten that this wasn't implemented. It wasn't quite as straightforward to do this as the others when I wrote the Default Shader, and I must have forgotten to finish it up.

There a few ways you could work around this, but I can't think of anything that's really ideal. A safe bet is to mix between two copies of the Default Shader - one with specularity and one without. You would mix between them with the Merge Shader. Other options are probably more complicated, especially if you're using opacity maps.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

gregsandor

Thanks, Matt.  Ill give it a shot and post the result.

JimB

Some bits and bobs
The Galileo Fallacy, 'Argumentum ad Galileus':
"They laughed at Galileo. They're laughing at me. Therefore I am the next Galileo."

Nope. Galileo was right for the simpler reason that he was right.

gregsandor

What last post?  Have you figured out how to add a spec mask to model shaders?

JimB

Some bits and bobs
The Galileo Fallacy, 'Argumentum ad Galileus':
"They laughed at Galileo. They're laughing at me. Therefore I am the next Galileo."

Nope. Galileo was right for the simpler reason that he was right.

gregsandor

Has anyone worked out a way to mask specularity on models?

gregsandor

Come on shader geniuses:  does anyone have a soolution for the missing ability to mask specularity?

Or how about a mask for reflection:  I'll turn off spec and use that if it will work, I just don't want an evenly highlighted model.  Any method that works will be acceptable.

j meyer

Hi there,
maybe you could try to connect your specularity source,a default shader
or the reflective shader i assume,to a surface layers child layer port and
control it via coverage and break up.

Oshyan

Quote from: j meyer on June 20, 2008, 05:00:09 PM
Hi there,
maybe you could try to connect your specularity source,a default shader
or the reflective shader i assume,to a surface layers child layer port and
control it via coverage and break up.
Yes, this would be the way to go for now.

- Oshyan

gregsandor

I managed it with Matt's suggested merge shader; it works.  I've used the blend version, but I'd like to see which renders better and faster.  Any ideas about the relative quality and speed of these methods?

Oshyan

I'm afraid I don't know what would yield better quality or speed, but in my experience the Merge shader is a bit trickier to fine-tune than a simple Surface Layer or other Distribution Shader.

- Oshyan

gregsandor

Quote from: Oshyan on June 24, 2008, 02:01:40 AM
I'm afraid I don't know what would yield better quality or speed, but in my experience the Merge shader is a bit trickier to fine-tune than a simple Surface Layer or other Distribution Shader.

- Oshyan
Yeah, it took a lot of trial-and-error before I got it right, but the result is fairly simple and looks nice.