News for hackers. Stuff that matters.
Re:A Pixel Is Not a Little Square (1995) [pdf] by jayd16 on Tuesday April 27, 2021 @12:16AM (#26951951)
No, not at all. They're still point samples. You still deal with aliasing and all the learnings there even talking about rendered color buffers.

No, LCDs are not crisp squares. Pretty much every screen type is still RGB in some kind of array. RGB stripe or Pentile are most common. You can also think about things like VR or a projector where your screen in transformed through a lens.

Everyone has to constantly compensate for this fundamental thing in computer graphics to this day.

Edit: As other things come to mind with how relevant this paper still is...

>antialiasing techniques, and image resampling seems to "mostly" assume that pixels do represent the average color over a square rather than a point sample. Not perfectly, but as a reasonable first-order approximation.

Not in the least. For example in texturing (wrapping images onto meshes), mip maps and bi/triliner filtering are very common. Assuming average color leads to a jagged (if you mean avg over one pixel) or blobby (if you mean average over several) mess. Mip maps are essentially point samples of a texture taken at different sample resolutions that are then resampled at runtime to form the best approximation. Essentially no one uses "average color."

https://en.wikipedia.org/wiki/Trilinear_filtering

Re:A Pixel Is Not a Little Square (1995) [pdf] by NohatCoder on Tuesday April 27, 2021 @04:38AM (#26953495)
Raw trilinear is shit. It only reasonably works because mipmaps sort of do what you rail against, namely taking multiple samples, and averaging them. Actual modern graphics rendering uses anisotropic filtering, using typically 4 to 16 trilinear samples, averaging the lot. The result is both more consistent and much sharper.
Re:A Pixel Is Not a Little Square (1995) [pdf] by jayd16 on Tuesday April 27, 2021 @11:43AM (#26957488)
Sure, but we have to start explaining somewhere. That said, I think most graphics settings will still let you toggle aniso off but I don't think very many let you drop down to bilinear.
Re:A Pixel Is Not a Little Square (1995) [pdf] by ksec on Tuesday April 27, 2021 @02:03AM (#26952549)
Would it still matter when PPI are 400+ if not 800 ppi? I was always under the impression as we increase PPI, antialiasing and other texturing technique would become irrelevant.
Re:A Pixel Is Not a Little Square (1995) [pdf] by gmueckl on Tuesday April 27, 2021 @04:03AM (#26953280)
A higher screen resolution increases sampling density / frequency, so it pushes out the Nyquist frequency a bit. But this can never eliminate aliasing. It will always be there once your signal's frequency spectrum reaches above the Nyquist frequency. The resulting aliasing will introduce spurious low frequency components like Moire patterns. So low pass filtering of the content will always be a requirement (and mipmapping is a low pass filter in this context).
Re:A Pixel Is Not a Little Square (1995) [pdf] by jayd16 on Tuesday April 27, 2021 @02:13AM (#26952605)
I'm not sure but we're not there yet if that is the case.

I really doubt it though. I can't imagine a world where we chose to waste massive amounts of resolution in the normal case just so we don't need to sample as intelligently as we do today.

Even in upsampling things we do better than simple square pixel average so if we're always upsampling we'll probably always need to be smart.

Re:A Pixel Is Not a Little Square (1995) [pdf] by citrin_ru on Tuesday April 27, 2021 @09:26AM (#26955505)
> I can't imagine a world where we chose to waste massive amounts of resolution in the normal case just so we don't need to sample as intelligently as we do today.

It is already happening, see e. g. [1]-[3]. And the more common will be HiDPI displays - the worse would be support for low-res (say 96 DPI) displays. It is not uncommon to encounter an opinion that tricks used for high quality rendering on no-HiDPI displays are legacy and cruft, but more common is just to tread rendering issues which not visible on HiDPI as low priority.

It is the same old mantra - programmer's time is expensive, hardware is cheap, let's not spend time on creating efficient software and focus on making development fast and easy.

[1] https://github.com/harfbuzz/harfbuzz/issues/1892 [2] https://github.com/harfbuzz/harfbuzz/issues/2394 [3] https://gitlab.gnome.org/GNOME/pango/-/issues/463

Re:A Pixel Is Not a Little Square (1995) [pdf] by kragen on Tuesday April 27, 2021 @03:42AM (#26953155)
It depends on what you're doing. In Smith's example of scaling an image down 2×, for example, it's easy to produce heinous aliasing artifacts with naïve scaling algorithms, regardless of what resolution you're doing it at.