|
0 / 0 / 0
Регистрация: 29.06.2015
Сообщений: 61
|
|
OpenGl в Qt, glReadPixels29.08.2017, 15:29. Показов 2696. Ответов 23
Значит есть такая проблема с методом glReadPixels, при рисовании через шейдеры он не работает так как написано в темах где я его нашел, а именно он не записывает в указатель значение глубины(GL_DEPTH_COMPONENT), мне нужно получать реальные координаты объекта по клику мышки. В прикрепленном проекте это находится в методе GetRealPos. Может я что не так понял, но везде где я смотрел все пишут одно и тоже, весь метод получения реальных координат мне понятен. Подскажите может что я не так сделал, или же при отрисовке через шейдеры данный метод и не должен работать?
(в проекте в шейдет отдается единичная матрица, а потому координаты треугольника сразу в openGL-евских координатах) А вот данным методом получение цвета работает как надо. Админы перенесите тему в другой раздел если я её не там разместил, спасибо.
0
|
|
| 29.08.2017, 15:29 | |
|
Ответы с готовыми решениями:
23
glReadPixels Когда работает glReadPixels? glReadPixels + glReadBuffer в OpenEGL |
|
184 / 176 / 57
Регистрация: 25.09.2014
Сообщений: 834
|
|||||||||||
| 31.08.2017, 18:19 | |||||||||||
|
Ты уверен, что абсолютно? Убирай из их проекта функционал понемногу, который не нужен и оставь лишь минимум. И поймешь, в чем разница.
Тем более, ты ведь сам открыл в одном креаторе с одной версией куте два разных проекта и получил два разных результата. Значит результат проектозависим. Изучай проект внимательно. Посмотри void Scene::initGL() у них. Я пока медленно изучаю проект, но сам не могу тебе помочь, ибо у меня он даже не запускается. Да и в GL я полный ноль. Я могу лишь интуитивно подсказать, где может быть проблема и где ее точно нет из того, с чем я уже работал. Добавлено через 3 минуты Еще нашел:
Добавлено через 2 минуты Ну и посмотри еще
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 29.06.2015
Сообщений: 61
|
|||
| 31.08.2017, 18:37 [ТС] | |||
|
тут возникло недопонимание,
теперь класс QtBox, там рисование происходит через glBegin/glEnd, мне данным методом рисовать нельзя, а можно так как в проекта cube, к сожалению в qt(да и вообще) не нашел рабочего проекта с достаточным описанием или комментариями, который показывает все прелести шейдеров, в том числе и тесселяционных(самый новый тип шейдеров на сколько мне известно).
0
|
|||
|
184 / 176 / 57
Регистрация: 25.09.2014
Сообщений: 834
|
|
| 31.08.2017, 18:39 | |
|
Почитай про разницу методов рисования. А даже если нельзя использовать - используй временно, протестируй сам факт того, что именно метод рисования позволяет тебе достать то, что тебе нужно. В чем-то же есть разница.
0
|
|
|
0 / 0 / 0
Регистрация: 29.06.2015
Сообщений: 61
|
|
| 31.08.2017, 18:43 [ТС] | |
|
а архитектура моего проекта как раз такая как в примере который я выложил, хотя скорее наоборот, в примере архитектура такая как в моем проекте, в частности содержимое класса PaintGeometry(в примере конечно значительно меньше методов, и немного меньше переменных, за счет того что в примере отсутствующий функционал не используется)
Добавлено через 2 минуты разница в том что шейдеры рисуют через видеокарту, а glBegin/glEnd рисует через процессор(а потому медленнее), и на сколько мне известно имеется ограничения на входной массив данных для отображения
0
|
|
| 31.08.2017, 18:43 | |
|
GlReadPixels всегда берет из буфера глубины 0 Perl + OpenGL Как избавиться от повторного подключения библиотеки OpenGL в модулях
Создаю игру с научным уколоном на C++/opengl. Как подключить openGL и добиться кроссплатформенности Чем отличаются готовые сборки Qt под Win + MSVC с OpenGL и без OpenGL? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|