Guides such as this one which describe how to anti-alias procedural materials always assume that the calculation of an average pixel colour is trivial (or sufficient). But what do you do when you need to average more than just a base colour? For example, I’m working on a displacement mapping shader that suffers from obvious staircasing on the extruded surfaces, since their edges are determined by texel density rather than pixel density.
- I can’t average neighbouring UVs because that would distort the projection
- I can’t average neighbouring texel colours because they aren’t the issue
- I can’t average neighbouring normals because that would imply a surface slope where there is none
It seems my only option is to perform anti-aliasing on the final material output after speculars etc. are calculated, but is that even possible in the material editor? Or am I going about this all wrong?