Субпиксельный рендеринг на самом деле сложнее, чем обычное сглаживание. Если вы используете дисплей с пикселями в формате RGB, то серая фигура, заканчивающаяся на полпути через пиксель, может быть представлена как желтая или как голубая, в зависимости от того, с какой стороны пикселя находится фигура. Это может выглядеть странно, когда полученное изображение не отображается в собственном разрешении или на дисплее с макетом, отличным от ожидаемого, но в остальном это может выглядеть довольно красиво.
Вот пример субпиксельного рендеринга, примененного к тексту; левая панель - цветная, центральная панель - отображаемая версия цвета, а правая панель - воспринимаемая яркость. Обратите внимание, что точность оттенка меняется на точность яркости.
Один из подходов может состоять в том, чтобы визуализировать каждый канал отдельно, слегка смещая пространство рендеринга на соответствующую величину, чтобы объединенное изображение было полноцветным. Каждый из каналов должен иметь то же разрешение, что и результирующее изображение; каждый канал обрабатывается сглаживанием так же, как оригинал, за исключением того, что другие цвета игнорируются. Как только каналы созданы, их можно объединить с помощью простого добавления. Я не знаю такого «чистого» решения, как версии glEnable / glHint, доступные для обычного сглаживания, но оно может существовать или может появиться в будущем.