You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WebGL's MSAA has a significant performance impact on large scatter plots like those in SegmentModel Spy. However, the actual scatter plot doesn't even need antialiasing, as it's using SDF-based shapes! With antialiasing, the full example data set when zoomed out is quite choppy with an M1 Mac but without antialiasing it's smooth.
Antialiasing is mostly needed for heatmaps that should have no gaps between the rectangles. An example of such a heatmap is the metadata in GenomeSpy App or the ideogram track. Without antialiasing, it looks ... badly aliased, particularly when animated. SDF-based edge-antialiasing kind of works, but the default blending mode causes visual artifacts and moiré effects.
On the other hand, MSAA is not perfect either, as it uses a limited number of samples. The following uses non-SDF rectangles, relying solely on MSAA. The banding is an artifact:
TODO:
Test if additive blending (GL_FUNC_ADD) would do the trick
If it does, add a blendMode mark property with an intelligent default value
Also fix the endpoints of "rule" mark, which doesn't properly do SDF at the endpoints
Set antialias: false for the WebGL context
If the above doesn't work, just make antialiasing optional, i.e., the embed method could have an options object with an antialias property.
The text was updated successfully, but these errors were encountered:
WebGL's MSAA has a significant performance impact on large scatter plots like those in SegmentModel Spy. However, the actual scatter plot doesn't even need antialiasing, as it's using SDF-based shapes! With antialiasing, the full example data set when zoomed out is quite choppy with an M1 Mac but without antialiasing it's smooth.
Antialiasing is mostly needed for heatmaps that should have no gaps between the rectangles. An example of such a heatmap is the metadata in GenomeSpy App or the ideogram track. Without antialiasing, it looks ... badly aliased, particularly when animated. SDF-based edge-antialiasing kind of works, but the default blending mode causes visual artifacts and moiré effects.
On the other hand, MSAA is not perfect either, as it uses a limited number of samples. The following uses non-SDF rectangles, relying solely on MSAA. The banding is an artifact:
TODO:
GL_FUNC_ADD
) would do the trickblendMode
mark property with an intelligent default value"rule"
mark, which doesn't properly do SDF at the endpointsantialias: false
for the WebGL contextIf the above doesn't work, just make antialiasing optional, i.e., the
embed
method could have an options object with anantialias
property.The text was updated successfully, but these errors were encountered: