Announcement

Collapse
No announcement yet.

UE4 still does not have any proper way to do tinted glass

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

    #31
    Originally posted by amoser View Post

    Really? I don't see it on the "done for 4.24 list" but maybe you're referring to something else I'm missing. Would be really neat if true, especially if SSR takes it into account as well.
    This is seriously weird. I swear I saw it there, including screenshots. I may be wrong but I am 95% sure it was there. Maybe it was taken down for some reasons. There were even screenshots of UE4 shaderballs with aniso effect.


    Originally posted by amoser View Post
    Having a single diffuse cloth model with two extra parameters is by no means more than sufficient in lots of real-world cases. It doesn't have any relevance at all to things like silk, velvet, etc.

    More to the point, though, what you said (and what I was responding to) is the claim that you need to be "able to trust Unreal's shading model to handle all the possible real world materials" and following that up by saying that somehow tinted glass is, somehow, the only missing piece. That seems wildly different from any of the things you're saying now. I don't know if you're just being needlessly hyperbolic or if you're just not really paying attention to what you're actually writing, but it's difficult to follow the logic and that's been the case throughout most of what you've written in this thread. I think if you take a bit more time to proofread your posts you'll probably be able to get your ideas across much more efficiently.

    I suspect that you'll also find that people are more receptive to your ideas in general if you show that you've put a little bit more thought into them. A lot of what you've written in this thread comes across as just a bunch of disjointed sweeping generalizations and insults, with a few specific but also frequently incorrect details thrown in. I think most people just want to help out, but that's challenging when one has to jump through a bunch of hoops just to figure out what you're actually asking about.
    Did you actually read my post? I precisely explained what I meant by complete shading model. Complete in terms of being able to cover all !basic! materials, not complete in terms of being able to simulate them to a degree offline renderers do. Here you are accusing me of not proof reading my posts and not making any sense while you clearly ignored a response to what you are currently calling out (again). So again, just so that you do not miss it. By a complete shading model I mean ability to at least to some degree create all the common real world materials - NOT ability to simulate them on the highest level possible (which would cover specific BRDFs for things like velvet). Basically something like VrayMTL, CoronaMTL or Blender's PrincipledBSDF, while they don't cover all the niche BRDFs/BSDFs, they do cover vast majority of basic real world materials.

    Originally posted by amoser View Post
    Support for overlapping geometry is the sole reason you gave in your first post or why using the scene color input node is not a good solution, though. And doing it that way is both more efficient and more flexible than an additional shading model would be.
    There's a difference. Using SceneColor ignores any translucent materials after first surface hit and does not work with ray tracing. Again, if you read my post precisely, I propose NOT to ignore following translucent materials, but just ignore stacking of the modulate component of the material (several color multiplications along the depth). Or in other words, you'd still see surface properties of the materials behind, just not correctly stacked volumetric properties (modulated color). Yes, it would still be problematic in some cases, but it would solve majority of them).
    Last edited by Rawalanche; 10-18-2019, 05:34 AM.
    https://www.artstation.com/artist/rawalanche

    Comment


      #32
      Alright, since it's getting really tiresome repeating my point, here is visual example:

      The use cases are very simple. For example car tail lights made of red glass which covers some glass elements inside, such as light bulbs. Or for example a fire truck light casing, which is red and blue and has glass bulb inside. Or just a glass balcony railing which has brown tint, behind which is a glass balcony door. These are all very common use cases which require tinted glass through which you need to see other glass:

      3 solutions:
      A. Regular Surface TranslucencyVolume glass without any tint
      B. SceneColor based tinted glass
      C. Double surface glass composed from outer shell Surface TranslucencyVolume material and inner shell modulate material

      A: Does work with ray tracing, does display translucent materials behind, requires no workarounds
      B: Does not work with ray tracing, does not display translucent materials being even in rasterized mode
      C: Dos not work with ray tracing, does work with rasterizer but requires workaround on geometry level. Serves as a proof the effect can be achieved with rasterizers.

      As you can see, no solution here is really a win scenario. The reason I made this thread was hoping that this can be done simpler.
      Last edited by Rawalanche; 10-18-2019, 05:32 AM.
      https://www.artstation.com/artist/rawalanche

      Comment


        #33
        Ray Traced Translucency

        Ray Traced Translucency (RTT) accurately represents glass and liquid materials with physically correct reflections, absorption, and refraction on transparent surfaces.
        For additional information, see Ray Tracing Settings.

        So a according to you, the example in the documentation with a translucent door that also has a dark tint is Impossible.
        Hum... I wonder how the Unreal team went and did that... they may just be magic.

        Comment


          #34
          Originally posted by MostHost LA View Post
          Ray Traced Translucency

          Ray Traced Translucency (RTT) accurately represents glass and liquid materials with physically correct reflections, absorption, and refraction on transparent surfaces.
          For additional information, see Ray Tracing Settings.

          So a according to you, the example in the documentation with a translucent door that also has a dark tint is Impossible.
          Hum... I wonder how the Unreal team went and did that... they may just be magic.
          Care to show me the example you have in mind? Dark tint is easily possible, obviously, since all that's required is reduction of the opacity parameter. I am talking about colored tint. With saturated color such as green or red.

          I've found identical formulation to one you've posted on this page: https://docs.unrealengine.com/en-US/...ing/index.html But I am failing to see any example of colored glass.
          https://www.artstation.com/artist/rawalanche

          Comment


            #35
            Originally posted by Rawalanche View Post
            Did you actually read my post?
            Yes, and I quoted it verbatim.

            And I don't doubt that you meant something closer to the following

            Originally posted by Rawalanche View Post
            I precisely explained what I meant by complete shading model. Complete in terms of being able to cover all !basic! materials, not complete in terms of being able to simulate them to a degree offline renderers do.
            None of that was actually present in your post at all, which is why I used it as an example of how you could add a bit of clarity to make sure people understand your intentions.

            Here you are accusing me of not proof reading my posts and not making any sense while you clearly ignored a response to what you are currently calling out (again). So again, just so that you do not miss it. By a complete shading model I mean ability to at least to some degree create all the common real world materials - NOT ability to simulate them on the highest level possible (which would cover specific BRDFs for things like velvet). Basically something like VrayMTL, CoronaMTL or Blender's PrincipledBSDF, while they don't cover all the niche BRDFs/BSDFs, they do cover vast majority of basic real world materials.
            Again, this is what you wrote (emphasis mine):

            Originally posted by Rawalanche View Post
            What I want is something that IS technically possible, to be a one click solution instead of complex set of steps. So that I, as an artist, can spend my time focusing on more important stuff. This just comes down to me being able to trust Unreal's shading model to handle all the possible real world materials. Currently it can handle all of them except tinted glass, which means it's incomplete. All I am requesting is that it's a complete shading model.
            You're saying that you actually meant something a bit different, which is perfectly fine. As I noted from the beginning, I wasn't certain what you actually meant.

            But I still believe it serves as a good example of why it could be beneficial to spend a bit more time clarifying what you're asking in the first place, to make sure that what you write actually reflects how you want people to interpret it. If nothing else, it'll at least lessen the sense that you're deliberately antagonizing everyone who tries to actually answer your questions. I imagine most people don't like to take the time to respond to something, only to be insulted for not responding to something else different that wasn't actually stated or asked.

            Comment


              #36
              Originally posted by amoser View Post

              Yes, and I quoted it verbatim.

              And I don't doubt that you meant something closer to the following



              None of that was actually present in your post at all, which is why I used it as an example of how you could add a bit of clarity to make sure people understand your intentions.



              Again, this is what you wrote (emphasis mine):



              You're saying that you actually meant something a bit different, which is perfectly fine. As I noted from the beginning, I wasn't certain what you actually meant.

              But I still believe it serves as a good example of why it could be beneficial to spend a bit more time clarifying what you're asking in the first place, to make sure that what you write actually reflects how you want people to interpret it. If nothing else, it'll at least lessen the sense that you're deliberately antagonizing everyone who tries to actually answer your questions. I imagine most people don't like to take the time to respond to something, only to be insulted for not responding to something else different that wasn't actually stated or asked.
              It seems you are far more concerned with the semantics of the posts in this thread rather than the substance of it. I am interested in the actual opposite. A few posts above, I've posted a video with the practical example of limitations of all the aforementioned approaches. While I may have failed to be precise in my formulations, I highly doubt most people would be unable to understand the general point I was trying to make.

              Your posts seem to be intended to do anything except actually breaking down or solving the issue. I am far more interested in practical solutions to the issues illustrated by the video.
              https://www.artstation.com/artist/rawalanche

              Comment


                #37
                Originally posted by Rawalanche View Post

                It seems you are far more concerned with the semantics of the posts in this thread rather than the substance of it. I am interested in the actual opposite. A few posts above, I've posted a video with the practical example of limitations of all the aforementioned approaches. While I may have failed to be precise in my formulations, I highly doubt most people would be unable to understand the general point I was trying to make.

                Your posts seem to be intended to do anything except actually breaking down or solving the issue. I am far more interested in practical solutions to the issues illustrated by the video.
                Nah, I was just trying to explain why I think that what you are asking for (or what I believed you were asking for) isn't quite as easy to implement or even necessarily as useful as you thought, and that you're likely to be disappointed if you expect it to be implemented soon as a native engine feature. I also explained in some detail how the other approaches you dismissed might actually be able to accomplish quite a few very specific things that you asked for and claimed were impossible.

                Past that, maybe you're right, and most people other than me do understand what you're saying without difficulty, and I'm wrong for thinking you could have stated the problem more clearly. And maybe what you're asking for actually is something really easy to accomplish. At this point I'm clearly unable to find an adequate solution, whether that's because I'm misunderstanding what you're asking for, or for some other reason. It seems like I may not be alone, simply given that other people in the thread seem to be having similar difficulties, but I'd really be thrilled if someone comes along and implements a new shading model that solves all of your problems.

                Comment


                  #38
                  From what I understand, you want tinted glass to be rendered in a single pass, without resorting to using sceneTexture. To do tinted glass, you need to modulate the pixels behind the glass by a RGB value and add the reflected light/environment from the glass surface. There is no GPU blending mode that can do color modulation and color addition at the same time, therefore your request is impossible at the hardware level(*): you need to do it in two blend passes (first modulate, then additive).

                  (*) There are ways to do it on certain hardware: raytracing (RTX only) and tile-based mobile GPUs actually allow in-shader blending. There's also an optional feature on some shader model 5.1 GPUs that allows in-shader blending, at a cost.

                  Comment


                    #39
                    Originally posted by Manoel.Neto View Post
                    There is no GPU blending mode that can do color modulation and color addition at the same time, therefore your request is impossible at the hardware level(*): you need to do it in two blend passes (first modulate, then additive).
                    https://docs.microsoft.com/en-us/win...color-blending

                    Comment


                      #40
                      Originally posted by Manoel.Neto View Post
                      From what I understand, you want tinted glass to be rendered in a single pass, without resorting to using sceneTexture. To do tinted glass, you need to modulate the pixels behind the glass by a RGB value and add the reflected light/environment from the glass surface. There is no GPU blending mode that can do color modulation and color addition at the same time, therefore your request is impossible at the hardware level(*): you need to do it in two blend passes (first modulate, then additive).

                      (*) There are ways to do it on certain hardware: raytracing (RTX only) and tile-based mobile GPUs actually allow in-shader blending. There's also an optional feature on some shader model 5.1 GPUs that allows in-shader blending, at a cost.
                      So? I don't really care/mind about how many blend passes it takes. I mean for example Unreal already does one draw call per every material slot on a mesh. That's like saying it's impossible to have meshes with multiple materials on GPU because you can't do multiple materials in a single draw call. It may not need to be so efficient that it happens on the GPU shader level under the hood, that's not the priority here. Priority is just acceptable workflow from user experience standpoint.
                      https://www.artstation.com/artist/rawalanche

                      Comment


                        #41
                        This is a very interesting topic. I am trying to work this out - step by step and I hope to get all your help. So here we go, please see the video below.



                        video: https://youtu.be/azGdQYGiq5g

                        Download UE4 Project File:
                        https://mega.nz/#!3g9QkAyI!z6VhQH_3x...KHMcQEHEPIaQEo


                        Thank you so much for any of your help, hints, tips & suggestions.

                        Happy pixeling,
                        Bernhard

                        Comment


                          #42
                          an update:

                          all my test results for creating a Glass Material using the Translucency Type Ray Tracing can be found here:
                          https://forums.unrealengine.com/deve...sue-how-to-fix

                          Comment

                          Working...
                          X