Re: [csswg-drafts] [css-transforms-2] Define how exactly to apply perspective (w-parameter) (#912)

We are - perhaps unwisely - attempting to shoehorn in 3D transforms, so I have some feedback on this algorithm.

I've put about the simplest example I can up at https://jsbin.com/voqiber/, with rubbish MathML showing the matrix expansion (sorry Fred - I can implement it, but I still can't write it) so you'll currently need Safari or Firefox to view.

Basically:
* I take a 100x100 rectangle and transform by `perspective(100px) rotateY(45deg)`
* I multiply the matrices out so I can see _exactly_ what matrix is being applied.
* If I then manually multiply the bottom-right point at (100,100), I get a point with a negative Z value

According to the spec this should be clipped, but it's not - you can see the border all the way around it. Otherwise the point is in the right place: we get the correct shape in our implementation, so I'm fairly confident we've got the maths correct. But I have to ignore the requirement to clip away the negative Z value to render this properly.

So I'm not quite sure about that "clip points with a negative Z value " instruction in https://drafts.csswg.org/css-transforms-2/#processing-of-perspective-transformed-boxes

-- 
GitHub Notification of comment by faceless2
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/912#issuecomment-1156704892 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 15 June 2022 16:46:33 UTC