Intereting Posts
Преобразование карты в Bundle в android Оптимизация Java: (Hotspot / Dalvik) Оптимизация конечного метода, возвращающего константу? Parse.com Ошибка аутентификации: невозможно ответить на любую из этих проблем: {oauth = www-authenticate: OAuth realm = "https://api.twitter.com"} Как загрузить системные шрифты в Libgdx? В основном для андроида. И как я могу получить список доступных шрифтов? -bash: android: команда не найдена на Mac OSX Android App A хочет отслеживать реферальные данные Google Play для установки Android App B Пробелы, появляющиеся в электронной почте только в Android Gmail. Как исправить эту проблему? Как отключить предварительную загрузку в viewpager? Я делаю Android IME. Как добавить элемент списка «Настройки» на экране настроек «Язык и клавиатура»? Как отображать данные в табличном формате в android? Централизация ProgressBar программно в Android Как показать мини-контроллер внизу или постоянные средства управления мультимедиа, такие как spotify или Google music в целом приложении OnClick в EditText внутри TextInputLayout, внутри RecyclerView Приложение, вызывающее принудительное закрытие в Application Manager Установите карту SD вручную из оболочки adb в android

Почему моя шейдерная программа openGL для очков имеет артефакты группировки?

Для каждой точки моя программа шейдеров OpenGL берет его, создает красное кольцо, которое плавно переходит между непрозрачными и полностью прозрачными. Моя программа шейдеров работает, но имеет артефакты.

Фрагментный шейдер ниже.

#version 110 precision mediump float; void main() { float dist = distance(gl_PointCoord.xy, vec2(0.5, 0.5)); // Edge value is 0.5, it should be 1. // Inner most value is 0 it should stay 0. float inner_circle = 2.0 * dist; float circle = 1.0 - inner_circle; vec4 pixel = vec4(1.0, 0.0, 0.0, inner_circle * circle ); gl_FragColor = pixel; } 

Вот менее интересный шейдер вершин, который, как я думаю, не является причиной проблемы.

 #version 110 attribute vec2 aPosition; uniform float uSize; uniform vec2 uCamera; void main() { // Square the view and map the top of the screen to 1 and the bottom to -1. gl_Position = vec4(aPosition, 0.0, 1.0); gl_Position.x = gl_Position.x * uCamera.y / uCamera.x; // Set point size gl_PointSize = (uSize + 1.0) * 100.0; } 

Пожалуйста, помогите мне разобраться, почему моя шейдерная программа OpenGL имеет артефакты группировки?

PS Кстати, это для Android Acer Iconia планшета.

Android GLSurfaceView по умолчанию использует поверхность RGB565. Либо включите сглаживание ( glEnable(GL_DITHER) ), либо установите пользовательский EGLConfigChooser чтобы выбрать конфигурацию поверхности RGBA или RGBX с 8 бит на канал.