Reflection Ignoring Surface Layers?

Started by WAS, July 25, 2018, 02:52:45 AM

Previous topic - Next topic

WAS

Not sure what's going on here. There is a clear solid "sand" layer over the reflection, but it seems to encompass all rock AND sand. The reflection piped off is for the surface of stones, which is also masked to a minimum alt to the canyon.

Hannes

This shouldn't happen. But I can see that you plugged the reflective shader into the colour function of the Fake Stones surface layer as well. What if you disconnect this?

Dune


Matt

Does Desert Surface apply colour? If not, it transparently lets through previous shaders (such as reflection). You're also masking Desert Surface, so that might reduce its opacity.
Just because milk is white doesn't mean that clouds are made of milk.

WAS

#4
Desert surface does not apply colour. I already played with the mask, which is only a height restriction slightly varied so it isn't a solid line. Less coverage (more fuzzy zone) does create more reflection, but there is a clear "level" of reflection through a solid child network setup. It doesn't seem like appropriate functionality if the child shaders are not transparency.

The reflection into the colour node for rocks, is for the rocks surfaces, which I noted are masked to a certain altitude, which does cut off reflection.

Additionally, I noticed that the "Smoothing" functionality of a surface layer doesn't apply to previous surface layers childs as well. In my latest render the displacement I enabled for small details on rocks shows up through the deserts smoothing filter which allows for small dune ripples.

Quote from: Dune on July 25, 2018, 04:10:08 AM
Should go into child

Also, than I would have had the entire terrain trying to pipe through the stones surface, rather than capturing the stone colour.


By and by, whole scene at MPD 0.6 and AA 6 with high GI settings (max GI Cache sliders), this rendered "overnight" at 1:01 hours lol, with all it's small detail, lateral displacement, and overhangs, reflections, and V3 clouds in BG.  Great work again.

Matt

1. Which layer is the "solid" layer which you think should be obscuring the reflections but is not? I assumed that was Desert Surface. If you expect Desert Surface to block the reflection, it will not with your settings. If it's another surface, then of course it depends on those settings which I don't know about.

2. Dune made his comment "should go into child" because if you plug a Reflection Shader into "colour function" it will not apply reflection to the stones, it will only read the diffuse colour of that shader and any above it. So you might as well connect it to the shader above it.
Just because milk is white doesn't mean that clouds are made of milk.

Matt

My reply is based on your first screenshot. Not the more recent one. Which setup are we trying to debug here?

What do your yellow highlights mean?
Just because milk is white doesn't mean that clouds are made of milk.

Oshyan

If possible please post your TGD. It would be a lot easier and faster to debug. Or send it to support AT planetside.co.uk

- Oshyan

Dune

You can take it through a saturation node if you don't want the displacements getting into the child input. But best is to keep textures needed at several places (and which might need subtle changes in different lines) as a separate line.

WAS

#9
Quote from: Matt on July 25, 2018, 03:13:41 PM
1. Which layer is the "solid" layer which you think should be obscuring the reflections but is not? I assumed that was Desert Surface. If you expect Desert Surface to block the reflection, it will not with your settings. If it's another surface, then of course it depends on those settings which I don't know about.

2. Dune made his comment "should go into child" because if you plug a Reflection Shader into "colour function" it will not apply reflection to the stones, it will only read the diffuse colour of that shader and any above it. So you might as well connect it to the shader above it.

1. Like I said, a child network of solid colour, that doesn't have any transparency, should, in fact, block reflection. Should look into that. There is no reason it shouldn't. It is solid. That's a bug otherwise. Regardless of "Check Colour" which in fact interferes with some setups that do have some border transparency, there, transparency should show. So why aren't child layers 100% solid, with no colour enabled?? Is there a purpose for this beyond it just happened to be coded this way? As far as I know not even vibrant colours in the colour slot, even beyond 1 will show through solid childs, so why reflection?

2. The reflections, do, in  fact, show on rocks just fine. (screenshots and all). There are no ray traced reflections.

Quote from: Dune on July 26, 2018, 02:07:38 AM
You can take it through a saturation node if you don't want the displacements getting into the child input. But best is to keep textures needed at several places (and which might need subtle changes in different lines) as a separate line.

Yeah, once I redid my surface layers I redid the shaders and was able to get the results I needed through them. I've had this happened where Surface Layers just aren't acting correct and needed to be deleted. For example my old "Beach scene" I believe you helped me on, needs it's surface layers completely deleted and remade as they have bizarre issues going on with settings that appear hidden in v4.

At any rate I think all the issues have been resolved. I do think using "Check Colour" just to block reflection is counter intuitive, and changes the border fade by making it a bit denser. And I already don't like TG's fuzzy zones and colour fades as they don't transition to absolute 0 correctly, they drop off from a solid to black.

Dune

QuoteI do think using "Check Colour" just to block reflection is counter intuitive, and changes the border fade by making it a bit denser. And I already don't like TG's fuzzy zones and colour fades as they don't transition to absolute 0 correctly, they drop off from a solid to black.
Can you provide a tgd where this is a problem? I don't understand why you don't like the fuzzy zones (I love them), and I also do not get what you mean by checking color to block reflection is counterintuitive. If you have a certain reflective layer and add a full dense color over it, it blocks reflection alright....

Matt

#11
Quote from: WASasquatch on July 26, 2018, 10:08:36 PM
Quote from: Matt on July 25, 2018, 03:13:41 PM
1. Which layer is the "solid" layer which you think should be obscuring the reflections but is not? I assumed that was Desert Surface. If you expect Desert Surface to block the reflection, it will not with your settings. If it's another surface, then of course it depends on those settings which I don't know about.

1. Like I said, a child network of solid colour, that doesn't have any transparency, should, in fact, block reflection. Should look into that. There is no reason it shouldn't. It is solid. That's a bug otherwise. Regardless of "Check Colour" which in fact interferes with some setups that do have some border transparency, there, transparency should show. So why aren't child layers 100% solid, with no colour enabled?? Is there a purpose for this beyond it just happened to be coded this way? As far as I know not even vibrant colours in the colour slot, even beyond 1 will show through solid childs, so why reflection?

You did not answer my question. Again, which particular shader in your network is the one you want to block reflections? Once I know that I will understand your question. In order to solve a problem we need to home in on certain details, not ask the same questions (or different ones) in a different way.

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

Matt

Also, please send us a TGD. It's becoming very difficult to answer your questions without it.

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

WAS

#13
Quote from: Matt on July 27, 2018, 04:43:46 AM
Quote from: WASasquatch on July 26, 2018, 10:08:36 PM
Quote from: Matt on July 25, 2018, 03:13:41 PM
1. Which layer is the "solid" layer which you think should be obscuring the reflections but is not? I assumed that was Desert Surface. If you expect Desert Surface to block the reflection, it will not with your settings. If it's another surface, then of course it depends on those settings which I don't know about.

1. Like I said, a child network of solid colour, that doesn't have any transparency, should, in fact, block reflection. Should look into that. There is no reason it shouldn't. It is solid. That's a bug otherwise. Regardless of "Check Colour" which in fact interferes with some setups that do have some border transparency, there, transparency should show. So why aren't child layers 100% solid, with no colour enabled?? Is there a purpose for this beyond it just happened to be coded this way? As far as I know not even vibrant colours in the colour slot, even beyond 1 will show through solid childs, so why reflection?

You did not answer my question. Again, which particular shader in your network is the one you want to block reflections? Once I know that I will understand your question. In order to solve a problem we need to home in on certain details, not ask the same questions (or different ones) in a different way.

Matt

The desert layer, of course, I believe I already stated that as well in original posts.

I didn't have incremental saves enabled on 4.2 (my 4.1 copied version does) and don't have the bugged setups anymore. Like I also mentioned, I resolved all said problems with new node setups.

Quote from: Dune on July 27, 2018, 02:57:54 AM
QuoteI do think using "Check Colour" just to block reflection is counter intuitive, and changes the border fade by making it a bit denser. And I already don't like TG's fuzzy zones and colour fades as they don't transition to absolute 0 correctly, they drop off from a solid to black.
Can you provide a tgd where this is a problem? I don't understand why you don't like the fuzzy zones (I love them), and I also do not get what you mean by checking color to block reflection is counterintuitive. If you have a certain reflective layer and add a full dense color over it, it blocks reflection alright....

Maybe you don't understand? Matt said himself it would show, and there may be slight transparency to the child network with check colour off. I don't know why, I asked.

And by the fuzzy zones I just mean it doesn't transition like a perfect gradient . It has a drop-off (Like if you make a perfect gradient in PS with high doc settings, and than change the levels or curves, and suddenly there will be a drop-off), and solid border. I can never get a perfect colour fade from one colour to another. There will always be a line where it transitions.

The same is true with SSS shapes, and Distance Shader.

Matt

Thanks for the clarification.

When "Enable colour" is on, the surface layer becomes an opaque layer with that colour, rendered with diffuse shading. Sometimes you want to use a Surface Layer to produce displacement only, without affecting shading, or simply as a container for children, so we have this checkbox to allow to you turn it off and make it transparent. Perhaps it's not very intuitive. Maybe worth noting that you can enable Luminosity independently, even if Enable Colour is off.

Child layers which are themselves opaque should be blocking out reflections even if the parent layer is transparent. But they are affected by the mask and constraints of the parent, so this may have been reducing their opacity.
Just because milk is white doesn't mean that clouds are made of milk.