Z antialiasing support/3D antialiasing

Alex W 5 Months+ 496

I've been experimenting with antialiasing support and I'm so far pleased - the AA performance in X/Y layers seems great. However, it appears that there's no support at all for Z layers, in order to reduce layer lines. It would seem that such should be eminently possible - while curing a given layer involves illuminating a voxel bounded on (one to 5) side(s) by the model and on the 6th by the build window, the voxel will preferentially grow on the model, making it possible to grow a partial layer height off the model. See https://www.youtube.com/watch?v=5qTAmPrHLow&feature=youtu.be&t=257

I suspect that the current AA algorithm operates by taking a slice of the model at some arbitrary Z within the layer to be rendered, then antialiases that layer with a traditional 2D technique (which would tend to be suggested by the 2x, 4x, and 8x options for the setting.

I propose instead that the algorithm should, for any given voxel, calculate the total volume of the model inside that voxel, and calculate a proportion of (model inclusion)/(total voxel volume). For instance, imagine the trivial case of a 45* slope in X, Y, and Z. In other words, a plane through 4 of the 6 corners of the voxel, bisecting it. In this case, the inclusion ratio would be 0.5. I then propose setting the pixel intensity for this voxel to 0.5, (or 128,128,128, assuming the panel is operated as a regular 8 bit RGB panel). Of course, this pixel value would need to be corrected by the nonlinearity of luminous intensity vs curing rate, per https://www.youtube.com/watch?v=5qTAmPrHLow&feature=youtu.be&t=101 - this is math I can only assume already exists in the AA implementation anyway, although I can't be sure since it appears that enabling AA results in intermediate voxel volumes that are not spatially linear. 

I wrote up a bit more detail, including some images of test prints, here: https://www.alexwhittemore.com/efficacy-of-antialiasing-on-msla-prints/. Mostly though, it's just a rehash of what's above.

Since antialiasing seems to be variably written as anti-aliasing or anti aliasing, I've written this sentence to make the post more searchable :)

New Post (2)
  • Guest 4 Months+
    Quote 2Floor
    hi this is TheEZhexagon, changing the layer high as it slopping is 1 thing but you got to consider a model that may not slope and has  very high detail in certain non sloping areas, to make it work good it needs to detect sloping and high polygon area's 
  • 5 Days+
    Quote 3Floor
    Yeah that would be something! A true 3D AA done on voxels not only pixels. But that would require some truly heavy computing and some VERY good algorithm. Though this would be The Holy Grail of resin printing!!!