I’m trying to display a large set of 3D points (about 80k) with GLMakie. Initially, I used meshscatter, unfortunately my PC doesn’t have a discrete GPU so I’m trying to reduce the stress on the iGPU by using scatter. The good thing is that this works well, but in a sense couldn’t I just use a meshscatter with marker=:circle ?
Yes, I know this is the default, but in that regard scatter and meshscatter behave differently. While meshscatter plots a sphere, scatter plots a circle. I just want to know how to make meshscatter plot a circle as well.
Frankly, I would normally agree with you, but the marker field of a scatter plot remains by default a :circle, even in 3D axes like a LScene. Also, if you plot around 100k points, at least it’s roughly the threshold I have on my gear, scatter is definitely much faster than meshscatter so I do not think the objects are the same behind the curtains.
Why do you want to use meshscatter with marker circle and not scatter? That’s the main question here, which I can’t see an answer for in the thread.
scatter is exactly faster, because it only draws 2d shapes, which is much easier then drawing 3D meshes, which is the only difference between meshscatter + scatter.
The only other difference is, that markerspace for meshscatter is always :data… I suppose then, that you want scatter(points; markerspace=:data)?
The thing is I do like the meshscatter result very much in general, and I have made recipes based on that. The only problem is performance on large datasets. So either I need to modify my recipes to call scatter or meshscatter based on some heuristic on the size of the data, or if it is possible, find a way to make scatter look like meshscatter, or the other way around.
Well, they’re different functions because they do something different - hence the performance difference… So you cant make them look alike!
Whats the look you’re aiming for anyways?
I tried with other markers in meshscatter, but it did not feel much smoother in terms of framerate. I guess I’ll just implement the heuristic and switch to scatter for large datasets.