Войти
ПрограммированиеФорумГрафика

Смещение текстуры на 1 пиксель и мерцание

Страницы: 1 2 Следующая »
#0
14:06, 3 мая 2018

Добрый день, возникла проблема при отображении текстуры и изменении её координат на 1 и более пикселей, которая выглядит как мерцание содержимого текстуры, поясню:
при детальном рассмотрении получается, что один и тот же пиксель выводимой текстуры меняет свою яркость (аля smoothing) между пикселями, хочется сделать так что бы пиксель перемещался чётко на 1 и такого эффекта не возникало (координаты и сдвиги проверял, там как нужно сдвиги целые).
Пробовал отключать Multisample - не помогает.
Эффект очень сильно зависит от данных, если есть много переходов между цветами, то смотреть аж противно на такое движение текстуры.


#1
14:12, 3 мая 2018

MipMapping?

#2
14:14, 3 мая 2018

GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.GenerateMipmap, 1);

#3
14:15, 3 мая 2018

а разве этот параметр влияет на смещение текстуры?

#4
14:17, 3 мая 2018

текстуру отображаю 1 в 1 без искажения размеров и в координатную сетку монитора.

#5
14:28, 3 мая 2018

GL_NEAREST?

#6
14:36, 3 мая 2018

Не помогает (он вообще похоже не участвует, т.к. текстура не изменяет своих размеров).

#7
14:54, 3 мая 2018

возможно есть ещё какой то эффект, если перемещать окно с этой текстурой, то тоже мерцает.

#8
15:41, 3 мая 2018
readmsg | Смещение текстуры на 1 пиксель и мерцание

Вот так выглядит одна и таже полоска пикселей при разном положении по оси Y
#9
7:40, 4 мая 2018

Это самый натуральный aliasing. Надо либо уменьшить частоту изображения (отфильтровать текстуру низкочастотным фильтром), либо увеличить разрешение экрана.

#10
9:31, 4 мая 2018

Yanusa3
> хочется сделать так что бы пиксель перемещался чётко на 1 и такого эффекта не
> возникало
поменяй линейную фильтрацию на point.

#11
10:08, 4 мая 2018

Спасибо, при перемещении нашёл ошибку с нецелым значением, из-за чего пиксель текстуры перетекал не так как нужно, но теперь есть эффект "дрожания" при самом движении.
Т.е. если делать снимки в статике все пиксели одинаковые, но при движении возникает дрожь которая тоже не приятна глазу.
Движение текстуры - вот тут на видео виден этот эффект

#12
18:16, 4 мая 2018

а скорость движения текстуры на чём базируется?

#13
18:37, 4 мая 2018

Yanusa3
> Т.е. если делать снимки в статике все пиксели одинаковые, но при движении
> возникает дрожь которая тоже не приятна глазу.
У тебя должно быть две разных переменных.
Одну ты округляешь, к другой ты прибавляешь смещение.
Т.е. нельзя прибавлять значение при движении к той же самой переменной, что потом округляется и используется для отрисовки.

#14
20:29, 4 мая 2018

Eugene
> У тебя должно быть две разных переменных.
Кстати, это тоже называется "принцип одной ответственности". За накопление интеграла отвечают переменные, в которые накапливается интеграл; за черту на экране - переменные, в которых хранятся координаты черты на экране.
_

Я не вижу проблем на видео, так что я несколько в замешательстве. ОП хочет моушн блюр (=сглаживание по времени)? Но при этом без сглаживания между пикселями?
Можно нарисовать/привести пример, как оно должно выглядеть по задумке?

Страницы: 1 2 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.