-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Fixed :meth:.OpenGLVMobject.pointwise_become_partial to improve stroke rendering
#2714
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
Conversation
4d9be92 to
0468edd
Compare
3d4f836 to
b994b2c
Compare
025ddb3 to
58e1564
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 looks great thank you very much. I don't know the code well so hopefully someone else can also review, but I tested it locally and the examples you provided work well. I was also playing around with some other existing examples and they also look good.
|
Still breaks a lot. The Animation system needs a deeper rewrite than this to be comparable to the cairo rendering. |
80f8593 to
6f96943
Compare
|
Now ready to be reviewed and potentially merged! |
|
|
… get_nth_curve_function_length_pieces
for more information, see https://pre-commit.ci
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
Co-authored-by: Benjamin Hackl <devel@benjamin-hackl.at>
.OpenGLVMobject.pointwise_become_partial to improve stroke rendering
Overview: What does this pull request change?
Fixing the stroke rendering of the opengl mobjects by porting the curve functions over to them and then optimizing the code again with the newly added features
pointwise_become_partial(ported fromvectorized_mobject)Before vs After
Test Scene Code
Motivation and Explanation: Why and how do your changes improve the library?
Futher improves rendering compatibility with OpenGL
Depends on
get_nth_curve_length_piecesmethod of :class:.OpenGLVMobject#2707Archive
Persisting problemOverlapping points produce gaps in a curve. It would be good if the mobject didn't need all the redundant points! But if we change the implementation to be similar tovectorized_mobjectthen the interpolation function will not work anymore. There needs to be a way to interpolate between mobjects with different amounts of points!Temporary solutionI switched the order in which the points appear such that they produce no gaps but also do not produce errors in an animation or triangulation step.Solution
Porting over
pointwise_become_partialfrom Mobject into OpenGLMobjectReviewer Checklist