Announcement

Collapse
No announcement yet.

Light Banding with Dynamic Lighting

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Light Banding with Dynamic Lighting

    I have light banding in certain situations with my dynamic directional light that I can't seem to get rid of. (See photo 1)

    I've tried to separate the mesh into several pieces, however that has not worked. (See photo 2)

    I've played with the light's cascaded shadow map settings with no positive results.

    #2
    There is no solution to this yet as i know of, it will come up in areas you want the shadow to be detailed.

    Comment


      #3
      Shadow bias changes the banding most significantly, but it also reduces detail and accuracy in the shadows.

      Comment


        #4
        You can try the PCSS by typing r.Shadow.FilterMethod 1 (I don't know what kind of performance hit to expect, but it will solve the banding.)

        Comment


          #5
          Originally posted by overfuze View Post
          You can try the PCSS by typing r.Shadow.FilterMethod 1 (I don't know what kind of performance hit to expect, but it will solve the banding.)
          Hmmm..interesting, I didn't know about this command, seems it was recently introduced I read somewhere that it is still experimental. My quick test did eliminate the banding, do you have any idea what it does exactly to eliminate the issue?

          Comment


            #6
            spoke too soon nevermind its a mix bag of things it was working on a character with 'inet' checked onec i put in some boxes the banding came back not sure if i missed a step but reading a recent post here, tells me hope is still slim...

            Comment


              #7
              PCSS in my setup gives extreme flickering in certain areas which is unacceptable. It does seam to get rid of the line banding though, whatever filter pattern it uses is not as irritating to the eye more like.

              Thank you for the suggestion, however.

              Comment


                #8
                We discussed this problem in details in that thread over there.
                So far you have the following ways to deal with it, sorted from least complex and least effective to most hard to implement, yet the most effective:
                1. Just overcompensate with shadow bias(Have in mind that you can set the bias value beyond slider limit of one). The downside is less accurate shadowing and discontinuities with shadows.
                2. Use WPO to offset vertices of the mesh along vertex normals, depending on angle between vertex normal and light direction for shadow depth. Obviously works for 1 light only(ex. Sun) and only for meshes with no smoothing splits.
                3. Use experimental Implementation of PCSS, where adaptive bias is already implemented. The downside is that this shadow filtering is somewhat more expensive and additionally for 4.17 adaptive bias was only implemented for directional lights.
                4. Implement your own receiver plane depth bias.
                5. Set rasterizer state with appropriate slope-scaled depth bias for shadow depth rendering.

                Comment


                  #9
                  Originally posted by Deathrey View Post
                  We discussed this problem in details in that thread over there.
                  So far you have the following ways to deal with it, sorted from least complex and least effective to most hard to implement, yet the most effective:
                  1. Just overcompensate with shadow bias(Have in mind that you can set the bias value beyond slider limit of one). The downside is less accurate shadowing and discontinuities with shadows.
                  2. Use WPO to offset vertices of the mesh along vertex normals, depending on angle between vertex normal and light direction for shadow depth. Obviously works for 1 light only(ex. Sun) and only for meshes with no smoothing splits.
                  3. Use experimental Implementation of PCSS, where adaptive bias is already implemented. The downside is that this shadow filtering is somewhat more expensive and additionally for 4.17 adaptive bias was only implemented for directional lights.
                  4. Implement your own receiver plane depth bias.
                  5. Set rasterizer state with appropriate slope-scaled depth bias for shadow depth rendering.
                  Hi Deathrey,

                  Thanks for pitching in.

                  We wish Epic will make a stream sometime and just talk about this, those last two points certainly sound like you need serious technicalities .

                  I'm not sure I understand 'adaptive bias' though, is this supposed to be a new feature, is it supposed to adjust bias per camera distance? regardless the bias adjustment doesn't solve one of the main problems and that is inaccurate self shadowing on characters something else is happening here with cascade distances, and since we can't adjust cascades dynamically we are left with situations where even 'inset shadows' don't seem to work.

                  I just wish there was a way to tell UE to just 'lock' a certain resolution with a certain bias on a skeletal mesh at all times and regardless of camera distance just use those settings (no cascades etc..). I'm not sure if Cryengine has a feature like this but i did see it in their docs recently. Environment can be dealt with with other methods, the real issue for some of us are skeletal meshes and disappearing or inaccurate shadows.






                  Comment


                    #10
                    Originally posted by Deathrey View Post
                    We discussed this problem in details in that thread over there.
                    So far you have the following ways to deal with it, sorted from least complex and least effective to most hard to implement, yet the most effective:
                    1. Just overcompensate with shadow bias(Have in mind that you can set the bias value beyond slider limit of one). The downside is less accurate shadowing and discontinuities with shadows.
                    2. Use WPO to offset vertices of the mesh along vertex normals, depending on angle between vertex normal and light direction for shadow depth. Obviously works for 1 light only(ex. Sun) and only for meshes with no smoothing splits.
                    3. Use experimental Implementation of PCSS, where adaptive bias is already implemented. The downside is that this shadow filtering is somewhat more expensive and additionally for 4.17 adaptive bias was only implemented for directional lights.
                    4. Implement your own receiver plane depth bias.
                    5. Set rasterizer state with appropriate slope-scaled depth bias for shadow depth rendering.
                    How did you do 5? That sounds like a magic fix, though it's probably not.

                    Comment


                      #11
                      This might seem like a "duh" post and probably something you've done a few times trying to troubleshoot on your own, but if you haven't already, try toggling your direct light(s) and sky light between Stationary and Movable.

                      I know I get horrible banding if I just drop them in the scene and leave them, but if I toggle it back and forth, it goes away and stays away regardless of whatever they are set to.

                      Comment


                        #12
                        I got this issue badly after I changed the Near Clipping setting to a very low number in General Project Settings. Try avoid using values below 1

                        Comment

                        Working...
                        X