https://bugs.kde.org/show_bug.cgi?id=373101

            Bug ID: 373101
           Summary: Incorrect reflection for cylinder animation (it uses
                    cube reflection causing it to separate at edge)
           Product: plasmashell
           Version: master
          Platform: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: k...@davidedmundson.co.uk
          Reporter: drankina...@suddenlinkmail.com
                CC: bhus...@gmail.com, plasma-b...@kde.org
  Target Milestone: 1.0

Created attachment 102538
  --> https://bugs.kde.org/attachment.cgi?id=102538&action=edit
cube reflection looking straight-on at the desktop

If this should go with some other component, feel free to change the selected
component, there isn't a desktop effects choice.

When using the cylinder animation (with zoom set at roughly 1/4), the
reflection bounces up and down below the cylinder on rotation. Meaning, with
reflection enabled, when you invoke the cylinder animation (e.g. win+F11 key)
and tilt the cylinder toward, or away, from you about 15-20 degrees, you find
the reflection properly bound to the lower edge of the desktop. Now, if you
rotate the cylinder 45 degrees left/right so you are looking at the divider
between desktop 1/2 (or 4/1) you see the reflection is now detached from the
cylinder and it has moved down (and sometimes off the screen) depending on the
amount you have the cylinder tilted toward or away from you.

If you rotate the cylinder (make it spin slowly), the reflection hops
up-and-down at the bottom of the screen.

Why? The 'cube' reflection code is being used for the 'cylinder' rotation.
That's not right -- they are separate pieces of code. Why? with the 'cylinder',
the reflection distance from the cube does NOT change with rotation angle (you
are rotating a circle, (the radius never changes), but with the 'cube' it does
(e.g. the perpendicular distance from the center to the front edge is shorter
than the distance from the center of the cube to the corner between virtual
desktops)

Now go perform the same test with the 'cube' animation. The reflection moves up
and down to stay attached to the cube rotation as it should, both when viewing
a desktop straight-on (see: cube_reflection_desktop.png) and between desktops
(see: cube_reflection_corner.png)

Now do it with the cylinder. The reflection is attached when viewing the
desktop straight-on (see: cylinder_reflection_desktop.png), but detaches from
the cylinder between desktops (see: cylinder_reflection_corner.png) The
reflection should remain attached at all points during the rotation, because
the distance from the center of the cylinder to the edge never changes.

It looks like somebody simply forgot to implement the cylinder rotation code
from compiz (it's actually much simpler than the cube model), or it may be
there, but all rotations are using the cube code for rotation (I haven't tested
the sphere, it has more serious issues with the skydome deformation bug), but I
suspect it is using the cube rotation code as well for reflection control.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to