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

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Рисовка glDrawArrays по ssh.  (Прочитано 11037 раз)
alexman
Новичок

Offline Offline

Сообщений: 8


Просмотр профиля
« : Январь 22, 2020, 16:42 »

Добрый день, Форумчане!

1. Есть узел в локальной сети A. Настроена программа prog, рисовка glDrawArrays работает.
2. Есть узел в локальной сети B. На A запускаем VNC server. На B запускаем VNC client. Коннектимся к A. Запускаем prog через VNC client. Рисовка glDrawArrays работает.
3. Из B лезем по ssh -x в узел A. Запускаем prog. Рисовка glDrawArrays не работает.

Отмечу, что рисовки разной Gl-ой много, и другие вещи без проблем работают.

В чём проблема?
Заранее спасибо.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Январь 23, 2020, 09:16 »

В чём проблема?
В чем угодно. Я бы начал с проверки вертексов используемых glDrawArrays. Напр при первом запуске (перед вызовом glDrawArrays) шлепнуть их в файл и затем сравнить. Как получить данные - см по месту. Напр если они заряжаются через glVertexAttrib то читать с помощью glGetActiveAttrib
Записан
alexman
Новичок

Offline Offline

Сообщений: 8


Просмотр профиля
« Ответ #2 : Январь 31, 2020, 10:42 »

Наконец-то добрался до этой проблемы.
Вывод логов c данными выполнил в обеих случаях. Всё совпадает.

Приложил картинку с общей схемой. См. вложение. https://yadi.sk/i/kgZSCLxsqKtLKA

Вот сама рисовка:
Код:
glEnableClientState( GL_VERTEX_ARRAY );
glEnableClientState(GL_TEXTURE_COORD_ARRAY);

glVertexPointer( 2, GL_DOUBLE, 0, _array.constData() );
glTexCoordPointer(2, GL_DOUBLE, 0, _texCoords.constData());

glDrawArrays( _object, 0, _array.count() / 2);

Буду крайне признателен за подсказку.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Январь 31, 2020, 12:13 »

Приложил картинку с общей схемой. См. вложение. https://yadi.sk/i/kgZSCLxsqKtLKA
Общая схема - ну не знаю что с нее взять. Полагаю что какой-то код меняет установки OpenGL убивая рисование.

Вывод логов c данными выполнил в обеих случаях. Всё совпадает.
Т.е. _array одинаков в обоих случаях. Хорошо, тогда я бы проверил

0) На всякий пожарный glDisableClientState после отрисовки
1) Отключить текстуру и задать цвет glColor
2) Попечатать glGetError (while)
3) Заменить glDrawArrays на glDrawElements быстренько соорудив индексы (здесь это несложно)


Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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