-
-
Notifications
You must be signed in to change notification settings - Fork 836
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
avm2: Implement Matrix3D with 2D support only #18888
avm2: Implement Matrix3D with 2D support only #18888
Conversation
7473740
to
ac547ca
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This log is taken from Adobe Flash Player 32.
ac547ca
to
69f6554
Compare
#18908 produced Git conflict with this PR and it actually implemented a kind of "2D/3D switch" inside DisplayObject. Rebased and followed its design now. |
a3a3018
to
6417e5f
Compare
Rebased. Thanks to #18911 , this PR gets much more slim. |
796ced1
to
35413ad
Compare
35413ad
to
236c1cb
Compare
Rebased. |
f17cb03
to
019476d
Compare
019476d
to
af60217
Compare
84492b1
to
04ea44d
Compare
Rebased to resolve git conflict. |
.expect("rawData is not a Vector"); | ||
let raw_data: Vec<f64> = (0..16) | ||
.map(|i| -> Result<f64, Error<'gc>> { | ||
raw_data.get(i, activation)?.coerce_to_number(activation) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of coerce_to_number(activation)
, this could use as_f64()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! I just fixed it at 80c77e5
a223d93
to
cc432fc
Compare
cc432fc
to
2f1a130
Compare
Replace stubs for flash.geom.Transform.matrix3D getter/setter with an actual implementation of Matrix3D with limited support. This implementation is just a proxy to the existing 2D matrix implementation. Therefore transformations beyond 2D transformation works differently from the expected result.
Co-authored-by: Kamil Jarosz <[email protected]>
.matrix = A, .matrix = null, then .matrix3D has the info of the matrix A. .matrix3D = A, .matrix3D = null, then .matrix is reset to the identity.
2f1a130
to
a21946e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, shuffled some commits around so that tests always pass, thank you!
Retry #18810 .
Partially resolves #8033 .
#18810 (comment)
Commits
perspectiveProjection
,matrix3D
stubs #18908 : 2D/3D switch ( https://docs.ruffle.rs/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Transform.html#matrix3D ).