Russian Qt Forum
Ноябрь 24, 2024, 01:19
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Передача координат вершин фигуры по сети
Страниц:
1
[
2
]
3
4
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Передача координат вершин фигуры по сети (Прочитано 18865 раз)
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Передача координат вершин фигуры по сети
«
Ответ #15 :
Март 28, 2014, 21:25 »
Цитата: 8Observer8 от Март 28, 2014, 21:22
Спасибо большое! А есть ли туториалы для новичков с ориентацией на Qt?
Зачем?
От Qt требуется создать окно (контекст opengl), все остальное делается средствами opengl.
Записан
8Observer8
Гость
Re: Передача координат вершин фигуры по сети
«
Ответ #16 :
Март 28, 2014, 21:31 »
Пожалуй, Вы правы. Классы-обёртки Qt можно по Qt-примерам и Qt-документации посмотреть.
Я бы себе вот эту книжку купил, если бы умел заказывать на amazon.com и были бы деньги) В сети её не нашёл:
http://www.amazon.com/OpenGL-Tutorials-using-Omid-Sakhi-ebook/dp/B00DHR9S9C
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Передача координат вершин фигуры по сети
«
Ответ #17 :
Март 28, 2014, 21:38 »
В сети есть ответы на любые вопросы.
Не занимайтесь собирательством книг, лучше начинайте делать программу: придумайте идею, проектируйте, пишите код.
Заглядывайте в книги за ответами на конкретные вопросы, а не читайте их от корки до корки.
Вам нужна интересная тема, для вас интересная.
Записан
8Observer8
Гость
Re: Передача координат вершин фигуры по сети
«
Ответ #18 :
Март 28, 2014, 21:54 »
Спасибо огромное! Очень дельные советы! Буду придерживаться
Записан
OKTA
Гость
Re: Передача координат вершин фигуры по сети
«
Ответ #19 :
Март 28, 2014, 22:03 »
Может находил, на мало ли
http://www.gamedev.ru/code/articles/OpenGL_Qt4
http://habrahabr.ru/post/132674/
Записан
8Observer8
Гость
Re: Передача координат вершин фигуры по сети
«
Ответ #20 :
Март 28, 2014, 22:11 »
Большое спасибо! Первую ссылку находил, а вторую нет
Первую находил ещё летом, просто скопировал код, запустил, работало. Читал описание, но почти ничего не понял. Завтра попробую отдалять и приближать пирамиду (с помощью колёсика мыши) и чтобы в другом окне тоже менялось. С вращением нормально работает:
«
Последнее редактирование: Март 28, 2014, 22:13 от 8Observer8
»
Записан
kamre
Частый гость
Offline
Сообщений: 233
Re: Передача координат вершин фигуры по сети
«
Ответ #21 :
Март 28, 2014, 22:15 »
Цитата: 8Observer8 от Март 28, 2014, 21:22
А есть ли туториалы для новичков с ориентацией на Qt?
Про использование OpenGL в Qt можно почитать:
http://qt-project.org/doc/qt-5/qtgui-openglwindow-example.html
http://www.kdab.com/opengl-in-qt-5-1-part-1/
Выше уже написали, что ориентации на Qt особо нет в OpenGL tutorials, т.к. это независимые вещи. В Qt есть некоторые классы для удобства, но их совсем не обязательно использовать.
Записан
8Observer8
Гость
Re: Передача координат вершин фигуры по сети
«
Ответ #22 :
Март 28, 2014, 22:28 »
Спасибо большое!
Я ещё такие примеры нашёл:
- примеры NeHe (на панели справа):
http://nehe.gamedev.net/
- примеры NeHe на русском:
http://pmg.org.ru/nehe/
- примеры NeHe на Qt:
-
http://www.digitalfanatics.org/projects/qt_tutorial/chapter14.html
-
http://qt-project.org/wiki/NeHe_in_Qt
P.S. Пока не знаю насколько эти примеры могут пригодиться
Записан
8Observer8
Гость
Re: Передача координат вершин фигуры по сети
«
Ответ #23 :
Март 29, 2014, 06:53 »
Если пользователь у себя в программе приближает (отдаляет) фигуру, то зачем другому пользователю видеть у себя эти изменения? Не представляю где бы нужна была такая функциональность.
Но зато здесь появляется вопрос: при увеличении фигуры в клиенте мы не можем просто передать серверу только лишь: xRotate и yRotate или матрицу ориентации. Нам нужно передавать положение наблюдателя (камеры). Как в OpenGL узнать координаты наблюдателя относительно начала координат?
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Передача координат вершин фигуры по сети
«
Ответ #24 :
Март 29, 2014, 07:35 »
Цитата: 8Observer8 от Март 29, 2014, 06:53
Но зато здесь появляется вопрос: при увеличении фигуры в клиенте мы не можем просто передать серверу только лишь: xRotate и yRotate или матрицу ориентации.
Нужно будет передать еще дистанцию, которую и устанавливать на сервере в glTranslatef.
Но можно передавать и матрицу трансформации, там уже будут учтены все повороты и перемещения.
Цитата: 8Observer8 от Март 29, 2014, 06:53
Нам нужно передавать положение наблюдателя (камеры). Как в OpenGL узнать координаты наблюдателя относительно начала координат?
Почитать документацию.
По умолчанию камера находится в центре системы координат.
Мы можем двигать фигуру относительно статичной камеры или двигать камеру относительно статичной фигуры или двигать и то и другое. В вашем примере, камера статична, находится в центре системы координат, а двигается фигура.
Записан
8Observer8
Гость
Re: Передача координат вершин фигуры по сети
«
Ответ #25 :
Март 29, 2014, 07:52 »
Что там относительно чего двигается, я пока не понимаю
Про матрицу трансформации попытаюсь найти что-нибудь доходчивое. Спасибо!
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Передача координат вершин фигуры по сети
«
Ответ #26 :
Март 29, 2014, 07:55 »
Попробуйте это:
http://u3d.agava.ru/doc/theory/matrix_ops.shtml
Записан
8Observer8
Гость
Re: Передача координат вершин фигуры по сети
«
Ответ #27 :
Март 29, 2014, 08:00 »
Спасибо огромное! Ох, уж эти матрицы
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Передача координат вершин фигуры по сети
«
Ответ #28 :
Март 29, 2014, 09:54 »
Цитата: 8Observer8 от Март 28, 2014, 22:11
Завтра попробую отдалять и приближать пирамиду (с помощью колёсика мыши) и чтобы в другом окне тоже менялось. С вращением нормально работает:
Не будем притворяться, понимания это не добавляет, дело сводится к запоминанию вызова glXXX который "это делает"
А если действительно хотите понять, то вот задачка
Есть фигура (хоть та же пирамида) матрица которой известна (т.е. она уже как-то смещена/повернута). Написать 2 ф-ции
1) Вращения фигуры вокруг мировой оси Y
2) Вращения фигуры вокруг локальной оси Y
Полагаем что ось вращения проходит через центр фигуры, а угол поворота - аргумент ф-ций
[OFF]Не, не потянет [/OFF]
Записан
8Observer8
Гость
Re: Передача координат вершин фигуры по сети
«
Ответ #29 :
Март 29, 2014, 09:59 »
Спасибо большое за упражнение! Но я пока не знаю, чем отличаются локальная и мировая ось. Точнее, не знаю, что такое локальная ось. Мировая ось связана с началом системы координат.
«
Последнее редактирование: Март 29, 2014, 10:07 от 8Observer8
»
Записан
Страниц:
1
[
2
]
3
4
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...