Форум программистов, компьютерный форум, киберфорум
SFML
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
3 / 3 / 0
Регистрация: 27.09.2021
Сообщений: 77
1

Артефакты при работе с камерой (view)

02.05.2022, 22:03. Показов 750. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
при работе с камерой, а именно при перемещении появляется артефакт, а именно - белая полоска на краю спрайта. Спрайты - это просто текстурированные vertexarray(Quads, 4). С чем может быть связана данная проблема?

C++
1
2
3
4
5
6
7
8
9
10
    View camera;
    camera = window->getDefaultView();
 
// gameloop
 
    camera.move(deltaTime * 10, 0);
    window->clear();
    window->setView(camera);
    window->draw(...);
    window->display();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2022, 22:03
Ответы с готовыми решениями:

Потоки при работе с камерой
Что будет есть в public void onPictureTaken(byte data, Camera camera) повесить тяжелые расчеты,...

зависает ноут при работе с веб камерой
Здраствуйте.при работе с внешней веб камерой A4Tech PK-836MJ на ноуте aspire 1620 весь ноут...

Нехватка памяти при работе с веб камерой
Добрый день! Имеется небольшая программа, к которой подключена веб камера. Программа прекрасно...

зависает ноут при работе с веб камерой
Здраствуйте.при работе с внешней веб камерой A4Tech PK-836MJ на ноуте aspire 1620 весь ноут...

9
3 / 3 / 0
Регистрация: 27.09.2021
Сообщений: 77
02.05.2022, 22:04  [ТС] 2
Артефакты при работе с камерой (view)


Название: 2.png
Просмотров: 97

Размер: 2.4 Кб
0
Just Do It!
3841 / 2286 / 636
Регистрация: 23.09.2014
Сообщений: 7,073
Записей в блоге: 3
03.05.2022, 00:14 3
Цитата Сообщение от dnn_x1 Посмотреть сообщение
С чем может быть связана данная проблема?
https://www.sfml-dev.org/docum... Vertex.php :
Note: although texture coordinates are supposed to be an integer amount of pixels, their type is float because of some buggy graphics drivers that are not able to process integer coordinates correctly.
Цитата Сообщение от dnn_x1 Посмотреть сообщение
при перемещении появляется артефакт
делайте перемещение только тогда, когда камера сместилась ровно на один пиксель
т.е. положение камеры приводите к целым(без дробей) значениям.

это имхо.
0
3 / 3 / 0
Регистрация: 27.09.2021
Сообщений: 77
03.05.2022, 12:41  [ТС] 4
а разве, если делать смещение только по целым числам(пикселям) - у меня не будет "дергаться" экран? хотелось бы плавное движение
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
03.05.2022, 13:39 5
Цитата Сообщение от dnn_x1 Посмотреть сообщение
а разве, если делать смещение только по целым числам(пикселям) - у меня не будет "дергаться" экран?
А как вы представляете отрисовку половины пиксела?
1
zayats80888
03.05.2022, 13:49
  #6

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
А как вы представляете отрисовку половины пиксела?
msaa

0
Croessmah
03.05.2022, 13:53
  #7

Не по теме:

zayats80888, пиксель-то всё равно будет полностью отрисован. Не будет же матрица двигаться чуть-чуть за рамку монитора, чтобы половину отрисовать.

0
zayats80888
03.05.2022, 13:58
  #8

Не по теме:

Croessmah, да, но там во фреймбуфере на каждый пиксель экрана будет несколько пикселей, которые и будут "рисоваться" в зависимости от покрытия фрагмента, а итоговый цвет пикселя экрана - их "комбинация". Это я просто так сказал. По факту без сглаживания движение матрицы на "целые" числа или "плавающие" никак не отобразится, плавности нет, все равно "дергаться" будет.

0
Croessmah
03.05.2022, 14:22
  #9

Не по теме:

zayats80888, а, в этом смысле, да. :)

0
zayats80888
03.05.2022, 14:37     Артефакты при работе с камерой (view)
  #10

Не по теме:

демку для иллюстрации набросал

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <SFML/Graphics.hpp>
using namespace sf;
int main() {
    RenderWindow window(VideoMode(500, 500), "test", Style::Close);
    window.setFramerateLimit(60);
    RenderTexture tex;
    ContextSettings s;
    // s.antialiasingLevel = 8; // <------- раскомментировать для демо "плавности"
    if (!tex.create(50, 50, s))
      return 1;
    RectangleShape q{ {3.0f, 3.0f} };
    q.setPosition(0.0f, 24.0f);
    RectangleShape r{ {500.0f, 500.0f} };
    r.setTextureRect({ {} , {50, 50} });
    r.setTexture(&tex.getTexture());
    Transform t;
    while (window.isOpen()) {
        Event event;
        while (window.pollEvent(event)) if (event.type == Event::Closed) window.close();
        q.move(1.0f / 120.0f, 0.0f);
        tex.clear();
        tex.draw(q);
        tex.display();
        
        window.draw(r);
        window.display();
    }
    return 0;
}

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2022, 14:37

При работе с веб камерой зависает ноут
Здраствуйте.при работе с внешней веб камерой A4Tech PK-836MJ на ноуте aspire 1620 весь ноут...

ROI(Region of Interest) в OpenCV при работе с камерой
Люди добрые подскажите, как выделить необходимый участок с видео, для дальнейшей работы только с...

Артефакты при работе с изображениями
Здравствуйте, я занимаюсь обработкой изображений, и столкнулся с проблемой появления посторонних...

Артефакты при работе с графикой, вылет программ
Добрый день. Ноутбук Acer Aspire V5 2017 года: процессор Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz,...

Скайп и YouCam закрываются с сообщением "Прекращена работа программы..." при работе с камерой
Здравствуйте, ребят. Подскажите, В чем проблема... при доступе к камере в скайпе или youcam -...

Проскакивают "артефакты" при работе ноутбука
Иногда используя браузер оперу или фотошоп проскакивают артефакты на экране, если проскролить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru