HISE Logo Forum
    • Categories
    • Register
    • Login

    Something is wrong with colour blending when opacity is involved

    Scheduled Pinned Locked Moved Bug Reports
    30 Posts 6 Posters 1.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tomekslesicki @Matt_SF
      last edited by

      Thanks guys, I'm getting the same problem with Matt's snippet, unfortunately.

      @d-healey maybe you're right about the opacity stack, but then if 1 is 100%, isn't it a bug that if a semi-transparent layer is overlayed on top of a layer that already is fully visible, the opacity can go above 100%?

      d.healeyD 1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @tomekslesicki
        last edited by

        @tomekslesicki Yes it does seem a little strange

        Christoph HartC 1 Reply Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart @d.healey
          last edited by

          Alright, either my monitor is not calibrated correctly or I'm getting blind, but I don't see any difference and this entire topic looks like a big prank to me :)

          Can somebody make a clear example that shows the difference like night and day type (and not a colour that is 0xFF292929 but should be 0xFF292928.

          T 1 Reply Last reply Reply Quote 0
          • T
            tomekslesicki @Christoph Hart
            last edited by

            @Christoph-Hart it's not about night and day, it's just that if it's about creating an impression of a half-opaque panel with controls, it doesn't look good if there's suddenly a rectangle overlaid on top of the panel.

            Christoph HartC 1 Reply Last reply Reply Quote 0
            • Christoph HartC
              Christoph Hart @tomekslesicki
              last edited by

              @tomekslesicki But where is the rectangle? I don't see a rectangle.

              d.healeyD 1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey @Christoph Hart
                last edited by

                @Christoph-Hart

                But where is the rectangle? I don't see a rectangle.

                Must be a monitor (or eyeball) setting issue :p the rectangle is subtle. I'll see if I can make a clearer example.

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @d.healey
                  last edited by

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • d.healeyD
                    d.healey
                    last edited by d.healey

                    Ok here's something interesting.

                    Alpha values

                    0.1 = No rectangle
                    0.2 = No rectangle
                    0.3 = Rectangle
                    0.4 = No rectangle
                    0.5 = Rectangle
                    0.6 = No rectangle @tomekslesicki Maybe just use this value
                    0.7 = Rectangle
                    0.8 = No rectangle
                    0.9 = Rectangle

                    Here I have taken the same snippet as before and adjusted the contrast in an image editor

                    3dc29a29-5f8e-49e4-be9e-93cb1e27663c-image.png

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      tomekslesicki @d.healey
                      last edited by

                      @d-healey thanks, David, you're way better at explaining things than I am!

                      Christoph HartC 1 Reply Last reply Reply Quote 0
                      • Christoph HartC
                        Christoph Hart @tomekslesicki
                        last edited by

                        @tomekslesicki Ah finally - actually I think that the PNG compression of the screenshot makes the differences even more subtle, but now I have finally proof that you aren't executing an elaborated prank :)

                        Alright, the minimal use case to demonstrate this issue is:

                        const var Background = Content.getComponent("Background");
                        
                        const var backgroundgrey = 0xFF333333;
                        
                        Background.setPaintRoutine(function(g)
                        {
                        	g.fillAll(backgroundgrey);
                        	g.setColour(Colours.withAlpha(backgroundgrey, 0.6));
                        	g.fillRect(this.getLocalBounds(50));
                        });
                        

                        I've deliberately used a pure grey in order to rule out rounding errors. For me, 0.6 creates the most visible rectangle. Curiously, in a raw JUCE component, it doesn't show that rectangle, so I'll try to check where the error comes from.

                        Christoph HartC 1 Reply Last reply Reply Quote 2
                        • Christoph HartC
                          Christoph Hart @Christoph Hart
                          last edited by

                          Curiously, in a raw JUCE component, it doesn't show that rectangle

                          Nope, my weak eyes struck again, it's actually the same when using raw JUCE.

                          auto grey = Colour(0xFF333333);
                          
                          g.fillAll(grey);
                          g.setColour(grey.withAlpha(0.6f));
                          g.fillRect(getLocalBounds().reduced(50));
                          

                          Also shows up that box. Now it gets complicated :)

                          Christoph HartC 1 Reply Last reply Reply Quote 1
                          • Christoph HartC
                            Christoph Hart @Christoph Hart
                            last edited by

                            I've posted it in the JUCE forum, let's see how it goes.

                            https://forum.juce.com/t/subtle-colour-error/52177

                            I wouldn't hold my breath that there is an easy solution for this though...

                            1 Reply Last reply Reply Quote 1
                            • First post
                              Last post

                            19

                            Online

                            1.8k

                            Users

                            12.0k

                            Topics

                            104.8k

                            Posts