Sorry, something went wrong.
|
@almarklein the only usecase of per-vertex rotations is for points right, I don't see how that would make sense for any other type of object (ex: lines). Yes it's purpose if to rotate the marker; the little image that we draw at the position of the point. So very specific to the PointsMarkerMaterial even. |
Sorry, something went wrong.
|
Once an object has been instantiated you can't switch between the materials. I think let's keep it that way unless someone has a usecase, I can't think of one Someday, a user will come by with a use-case 😉 But I agree that in this context its fine to select at instantiation. And ppl can always modify the graphic.world_object, right? |
Sorry, something went wrong.
|
Once an object has been instantiated you can't switch between the materials. I think let's keep it that way unless someone has a usecase, I can't think of one Someday, a user will come by with a use-case 😉 But I agree that in this context its fine to select at instantiation. And ppl can always modify the graphic.world_object, right? Yea I could implement it but I don't want to do it now. For example if you go from markers to sprites, you have to clear the geometry markers buffer and anything related to markers and then create a new texture. Lots of things to keep track of. |
Sorry, something went wrong.
|
OK I need to change GraphicFeature.property_name from a class attribute to an instance attribute so we can VertexColors buffer manager can be used for scatter point edge colors too. |
Sorry, something went wrong.
|
basics work, but I just realized a str is also a Sequence so I need to undo a lot of what I thought was cleanup 🤦 messing around with rotations 😂 bah-2025-10-12_01.26.48.mp4 |
Sorry, something went wrong.
|
Added all scatter tests (I think) and all scatter backend tests passing 🥳 . @clewis7 r4r, and I can make the ground truth screenshots for this PR after rebasing on main oncee #919 is reviewed and merged! |
Sorry, something went wrong.
|
Need to update the garbage collection test nb because depending on the scatter mode some features can be None. 🤔 |
Sorry, something went wrong.
|
It's going to fail with the release version until pygfx/pygfx#1219 is in the release. |
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM
Sorry, something went wrong.
After pygfx/pygfx#1208 we can have per-vertex scatter markers 🎉 . After this PR I think we cover the full space of the pygfx points API.
This PR also makes a few other changes to graphic features that aren't specific to scatters:
@almarklein the only usecase of per-vertex rotations is for points right, I don't see how that would make sense for any other type of object (ex: lines).
The PointsMaterial that is chosen depends on the marker mode (basic, marker shapes, image (sprites), or gaussian). By default it will use PointsMarkerMaterial because distinct markers are the most common scientific use case. Once an object has been instantiated you can't switch between the materials. I think let's keep it that way unless someone has a usecase, I can't think of one @almarklein @clewis7 .
I wonder what the purpose of the basic PointsMaterial is when we have markers. @almarklein have you benchmarked performance?