Russian Qt Forum
Апрель 29, 2024, 03:02 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 ... 3 4 [5] 6 7 ... 39
61  Qt / Qt-инструментарий / Re: кракозябры в QtCreator : Октябрь 12, 2020, 12:11
И рецепты из ссылок в посте, например, http://codedchaos.blogspot.com/2012/09/qt-creator-windows.html тоже?
62  Qt / Qt-инструментарий / Re: кракозябры в QtCreator : Октябрь 12, 2020, 11:56
Может этот пост поможет http://blog.mgsxx.com/?p=2979 ?
63  Qt / Вопросы новичков / Re: добавление версионности, компании и других атрибутов : Октябрь 05, 2020, 22:23
Могу предложить инструмент, которым пользуюсь сам (https://github.com/ssoft-hub/qmake-features или https://gitlab.com/ssoft-tool/qmake-features).
Среди прочих штук, там автоверсирование компонентов (библиотек и приложений) с контролем версий зависимостей.
Там же классы Qt для формирования GUI окна "О приложении". Можете использовать набор этих фитч, а можете "выдрать" необходимый код, если сможете).
Пример проекта можно посмотреть здесь https://gitlab.com/ssoft-sandbox/prog.org.ru/qmake-tutorial/complex-1
64  Qt / Общие вопросы / Re: Хороший лог-вьювер : Август 07, 2020, 13:23
Что-нибудь из такого подойдет?
https://habr.com/ru/post/496126/
https://habr.com/ru/post/509632/
65  Qt / OpenGL / Re: Picking : Июль 29, 2020, 13:38
- что мешает использовать вариант 1 с отображением вертексов, ребер, граней, объектов своим идентификационным цветом в framebuffer без AA и читать пиксели?
Ну вот меш "плотненький", т.е. один пиксель покрывает 2 и более примитивов. И все - приплыли, решений нет. Можно отрендерить в текстуру побольше, ну это так, заплатка до след раза.
Рендерят обычно в текстуру равную по размеру отображаемой области, тогда не важно насколько плотный меш. Кто сверху, того и выбираем.

Хорошо бы, но как я ее сформирую если могу только рендерить в текстуру (причем пиксель не тот что "я хочу" а только тот "что дали") ?
Я попробую реализовать пример в свободное время). Но это будет не скоро.
66  Qt / OpenGL / Re: Picking : Июль 28, 2020, 17:09
И все же мне не понятны следующие моменты:
- что мешает использовать вариант 1 с отображением вертексов, ребер, граней, объектов своим идентификационным цветом в framebuffer без AA и читать пиксели?
- что мешает использовать вариант 2 с отображением вертексов, ребер, граней, объектов своим идентификационным цветом в framebuffer для формирования последовательности PixelData?

И тот и другой способ требуют максимум OpenGL core 3.0. 
67  Qt / OpenGL / Re: Picking : Июль 22, 2020, 19:15
Другой способ - формировать буфер выбора, подобно старому способу ранних версий OpenGL glSelectBuffer, но самостоятельно! glSelectBuffer ооооччееень медленная штука. Формируйте изображение в квадратик 3х3 под координатами мыши о заполняйте его во фрагментном шейдере. Получите перечень всех объектов с глубиной отображения.
Здесь не понял. Фрагментный шейдер считает цвет, ну я могу считать только в заданном квадрате, и что с того? Не знаю др способов сохранения посчитанного кроме текстуры (в рамках 3.3)

Мы использовали GL_ARB_shader_storage_buffer_object (OpenGL 4.3) и хранили структуру

Код
C++ (Qt)
struct PixelData
{
uint32_t id;
float depth;
};
 

и использовали атомарный счетчик (https://www.khronos.org/opengl/wiki/Atomic_Counter) для определения позиции записи.

Но идея такая. Складывать такую структуру в 1D Texture. Рисовать всего 1 пиксель, чтобы обеспечить неконкурентный доступ к текстуре. Использовать 4 байта под id и следующие 4 под depth.
Искать в 1D текстуре ближайший ноль на четной позиции и записывать туда пару {id,depth}. В результате на выходе 1D текстура с последовательностью пар. Расскажите, если получится).
68  Qt / OpenGL / Re: Picking : Июль 21, 2020, 17:29
Но у меня рендерится с AA (samples), а значит цвета пыкселей смешиваются и "декодирование" загнется. Как мне переключаться между контекстами с AA и без - ума не приложу. И данных рисования прорва, реально ли вообще использовать их в др контексте?

А зачем в другом контексте? Можно рисовать в этом же, только с другими установками и другим наборов шейдерных программ. Ну а если все-таки хотите в другом контексте, то используйте shared context.
69  Qt / OpenGL / Re: Picking : Июль 21, 2020, 16:35
Интересуют все 3 вида выборки: объектов, вертексов и фейсов.

Разницы нет никакой, что выбирать. Каждый выбираемый элемент нужно пометить своим идентификатором.

Идея там проста и привлекательна - давайте нарисуем каждый объект (или вертекс, фейс) "своим" цветом и отрендерим а текстуру. Потом читаем пыксели - и получим что выбрали. Однако все почему-то оговариваются что, мол, "этот подход/метод не лучший". Оно и понятно, соскочили 3D -> 2D, возможности не те.

Очень эффективный метод - только отключаем текстурирование и любое смешивание во фрагментном шейдере. Формируем кадр при наличии изменений по запросу. Достаточно дешево, так как можно все прорисовать практически за один проход. Можно еще ограничить область отображения квадратиком 3х3 под координатами мыши (тогда рисуем всегда). Но метод имеет существенные ограничения - осуществляется выбор только верхнего элемента.

Другой способ - формировать буфер выбора, подобно старому способу ранних версий OpenGL glSelectBuffer, но самостоятельно! glSelectBuffer ооооччееень медленная штука. Формируйте изображение в квадратик 3х3 под координатами мыши о заполняйте его во фрагментном шейдере. Получите перечень всех объектов с глубиной отображения.

Еще способ - формируйте пространственное дерево. Находите ячейку пространства - получаете список потенциальных элементов, ищите пересечение луча с объектами.
70  Программирование / Общий / Re: Интрузивный список : Июнь 29, 2020, 08:36
Добавьте индексацию этих Curve ::std::unordered_map< int, Curve*> curve_for_id;
Можно непосредственно в Node, ну или снаружи Node (в место управления самими Node).
При вставке и удалении Curve корректируйте индексацию.
71  Qt / Базы данных / Re: PostgreSQL QT5.4 пересылка данных между двумя базами timestamp : Июнь 11, 2020, 14:43
Это имело бы смысл, если бы в системе не все были в одном часовом поясе.
И да, проблема в машине с Виндой, которая почему то упорно считала, что в России сейчас летнее время. Подправили

И все-таки стоит прислушаться к опыту других). Храните все в UTC и будет счастье.
Это никак не нарушает желания заказчика и не доставляет лишних проблем для разработчика.
72  Qt / Базы данных / Re: PostgreSQL QT5.4 пересылка данных между двумя базами timestamp : Июнь 08, 2020, 07:29
Я так и сделал. Храню в время в милисекундах, все нормально заработало, так как и сервера и клиенты настроены на Москву.

А почему бы не использовать UTC? Тогда и с локальным временем и настройкой на Москву проблем не будет.
73  Программирование / С/C++ / Re: runtime std::tuple : Май 24, 2020, 13:00
std::tuple не является контейнером, а является структурой данных с предопределенными на этапе компиляции полями.
Например, tuple<int> и tuple<double> - это два совершенно разных и не связанных между собой типов данных.
Поэтому не понятен сам вопрос - что подразумевается под "динамический std::tuple" и зачем он такой нужен?
Для динамических типов есть std::variant и std::any.
74  Qt / Qt-инструментарий / Re: QtCreator: неправильна интерпретация QMAKE_TARGET, QMAKE_HOST : Май 18, 2020, 16:11
Я использую только значение QMAKE_HOST.arch, сборка с ним всегда происходит верным способом и полностью соответствует инструментарию.
Разборщик QtCreator почему-то использует свое значение QMAKE_HOST.arch, которое зависит от битности самого QtCreator.
Только поэтому приходится устанавливать одновременно 32 и 64 битные версии QtCreator и производить отладку 32 битных приложений в QtCreator 32bit, а 64 битных в QtCreator 64bit.
Другого решения не знаю.
75  Qt / Вопросы новичков / Re: Передача и получение числа одним байтом : Май 14, 2020, 13:28
uint - это 4 байта.
quint8 - 1 байт.
Страниц: 1 ... 3 4 [5] 6 7 ... 39

Страница сгенерирована за 0.097 секунд. Запросов: 23.