Author Topic: Reflection Ignoring Surface Layers?  (Read 544 times)

Offline WASasquatch

  • Member
  • *
  • Posts: 3085
  • The Homeless Landscape Artist
Reflection Ignoring Surface Layers?
« on: July 25, 2018, 06:52:45 AM »
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.
« Last Edit: July 25, 2018, 07:02:45 AM by WASasquatch »
Art can be a window into the soul

Offline Hannes

  • Member
  • *
  • Posts: 4286
Re: Reflection Ignoring Surface Layers?
« Reply #1 on: July 25, 2018, 07:52:02 AM »
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?

Offline Dune

  • Member
  • *
  • Posts: 14742
    • www.ulco-art.nl
Re: Reflection Ignoring Surface Layers?
« Reply #2 on: July 25, 2018, 08:10:08 AM »
Should go into child

Offline Matt

  • Planetside Staff
  • *
  • Posts: 3428
  • I'm the crazy one
Re: Reflection Ignoring Surface Layers?
« Reply #3 on: July 25, 2018, 08:18:20 AM »
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.

Offline WASasquatch

  • Member
  • *
  • Posts: 3085
  • The Homeless Landscape Artist
Re: Reflection Ignoring Surface Layers?
« Reply #4 on: July 25, 2018, 03:47:45 PM »
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.

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.
« Last Edit: July 25, 2018, 04:12:42 PM by WASasquatch »
Art can be a window into the soul

Offline Matt

  • Planetside Staff
  • *
  • Posts: 3428
  • I'm the crazy one
Re: Reflection Ignoring Surface Layers?
« Reply #5 on: July 25, 2018, 07: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.
Just because milk is white doesn't mean that clouds are made of milk.

Offline Matt

  • Planetside Staff
  • *
  • Posts: 3428
  • I'm the crazy one
Re: Reflection Ignoring Surface Layers?
« Reply #6 on: July 25, 2018, 07:19:04 PM »
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.

Offline Oshyan

  • Planetside Staff
  • *
  • Posts: 12807
  • Holy snagging ducks!
Re: Reflection Ignoring Surface Layers?
« Reply #7 on: July 26, 2018, 12:29:58 AM »
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

Offline Dune

  • Member
  • *
  • Posts: 14742
    • www.ulco-art.nl
Re: Reflection Ignoring Surface Layers?
« Reply #8 on: July 26, 2018, 06: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.

Offline WASasquatch

  • Member
  • *
  • Posts: 3085
  • The Homeless Landscape Artist
Re: Reflection Ignoring Surface Layers?
« Reply #9 on: July 27, 2018, 02:08:36 AM »
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.

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.
« Last Edit: July 27, 2018, 04:00:26 AM by WASasquatch »
Art can be a window into the soul

Offline Dune

  • Member
  • *
  • Posts: 14742
    • www.ulco-art.nl
Re: Reflection Ignoring Surface Layers?
« Reply #10 on: July 27, 2018, 06:57:54 AM »
Quote
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.
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....

Offline Matt

  • Planetside Staff
  • *
  • Posts: 3428
  • I'm the crazy one
Re: Reflection Ignoring Surface Layers?
« Reply #11 on: July 27, 2018, 08:43:46 AM »
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
« Last Edit: July 27, 2018, 08:47:30 AM by Matt »
Just because milk is white doesn't mean that clouds are made of milk.

Offline Matt

  • Planetside Staff
  • *
  • Posts: 3428
  • I'm the crazy one
Re: Reflection Ignoring Surface Layers?
« Reply #12 on: July 27, 2018, 08:49:47 AM »
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.

Offline WASasquatch

  • Member
  • *
  • Posts: 3085
  • The Homeless Landscape Artist
Re: Reflection Ignoring Surface Layers?
« Reply #13 on: July 27, 2018, 05:58:08 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
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.
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.
« Last Edit: July 27, 2018, 06:11:49 PM by WASasquatch »
Art can be a window into the soul

Offline Matt

  • Planetside Staff
  • *
  • Posts: 3428
  • I'm the crazy one
Re: Reflection Ignoring Surface Layers?
« Reply #14 on: July 27, 2018, 06:20:30 PM »
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.

 

anything