Я разрабатываю приложение с OpenGL
+ GLFW
и Linux в качестве целевой платформы.
Растеризация по умолчанию имеет ОЧЕНЬ сильный псевдоним.Я реализовал FXAA
поверх моего конвейера, и у меня все еще есть довольно сильный псевдоним.Особенно, когда есть какая-то анимация или движение, края сеток мерцают.Это буквально делает весь проект бесполезным.
Итак, я подумал, что я бы добавил суперсэмплинг, и я пытался реализовать его уже две недели и до сих пор не могу заставить его работать.Я начинаю думать, что это невозможно с комбинацией PyOpenGL
+ GLFW
+ Ubuntu18.04
.
Итак, вопрос в том, могу ли я сделать суперсэмплинг вручную (без расширений OpenGL)?В конце моего (отложенного) конвейера рендеринга я сохраняю все данные с разных проходов на жесткий диск, поэтому я подумал, что сделаю что-то вроде этого:
- Визуализация изображения с помощью
2x
/3x
разрешение текстуры. - Сохранение текстурного буфера в массив.
- Получите среднее значение пикселя из каждого
2x2
/ 3x3
/ 4x4
блока этого массива. - Сохраните его на жесткий диск.
Очевидно, что это будет медленнее, чем мультисэмплинг с расширением OpenGL, и потребует больше памяти, но мне не нужны высокие fps, и у меня естьдовольно маленькое разрешение (например, 480x640
или подобное), чтобы оно могло сработать.
У вас, ребята, есть какие-нибудь мысли по этому поводу?Буду рад любому совету.