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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Объясните технологию создания 2d игр...  (Прочитано 21952 раз)
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #15 : Май 24, 2009, 00:00 »

Вообще то в Qt Quaterly есть статья о том как ускорить работу своих виджетов, и суть такова чтон адо брать QGraphicsView стаить емук какой-то QGLPainter и все будет OK. Подробно не читал но предположу что если приложить ум то все будет бытсро работать...
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #16 : Май 25, 2009, 08:01 »

QGLPainter - такого класса вообще не существует в Qt4.

Вот что говорит ассистент:
By default, QGraphicsView provides a regular QWidget for the viewport widget. You can access this widget by calling viewport(), or you can replace it by calling setViewport(). To render using OpenGL, simply call setViewport(new QGLWidget). QGraphicsView takes ownership of the viewport widget.

т.е. все через QGLWidget.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #17 : Май 26, 2009, 06:23 »

Да такого класса может и нет я имел ввиду вот это QPaintEngine::OpenGL (вспоминал по памяти и перепутал) Но если я правильно понял статью (хотя особо не вникал) - то можно не сильно меняя код своего виджета заставить его рисоваться через OpenGL - там использовался QGraphicsView, поэтому повторюсь что можно наверное его заставить работать быстро через OpenGL. А то что это будет еще и через QGLWidget - ничего плохого не вижу. Скорее всего кутешные механизмы сами заменяют стандартные команды отрисовки - на команды OpenGL - моэтому и ненадо сильно менять код

ссылка на статью
http://www.wiki.crossplatform.ru/index.php/Accelerate_your_Widgets_with_OpenGL
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #18 : Май 26, 2009, 11:39 »

Да, это делается довольно быстро, вчера ушло где-то 30 минут на то, чтобы перевести проект на QGraphicsView/QGLWidget. Описанный подход, конечно, похож больше на хак, чем на "правильный" способ. Но работает.

Мне это понадобилось для вывода обычных виджетов поверх вывода OpenGL (меню игры, настройки и т.д.).
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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