Как сделать сглаживание треугольников на всем рендере? Должен ли я поместить его во фрагментный шейдер? Есть ли другое хорошее решение для улучшения такого рода вещей?
Вот мой "вид", с очень хрустящими краями (не очень красиво).
Как сделать сглаживание треугольников на всем рендере? Должен ли я поместить его во фрагментный шейдер? Есть ли другое хорошее решение для улучшения такого рода вещей?
Вот мой "вид", с очень хрустящими краями (не очень красиво).
Проведя некоторые глубокие исследования, я обнаружил, что на самом деле это довольно просто, и чаще всего это делается так, как будто экран в 4 раза больше (или даже больше, чем в 4 раза). После рендеринга на этот гораздо более крупный экран графический процессор возьмет среднее значение этой области и установит цвет пикселя на основе этого.
Это довольно легко включить с помощью этой библиотеки:
https://code.google.com/p/gdc2011-android-opengl/source/browse/trunk/src/com/example/gdc11/MultisampleConfigChooser.java
Тем не менее, вы должны иметь в виду, что на рендеринг всего будет потрачено 4 или более раз времени, что означает больше времени на обработку и, возможно, меньше FPS ...
Кроме того, если вы эмулируете устройство Android с помощью OpenGL, узнайте, поддерживает ли ваш графический процессор такой тип мультисэмплинга. У меня, например, нет (Tegra).
Вот окончательный результат с мультисэмплингом и без него: