Как программировать универсально-рабочую графику в кедах?

Модератор: Модераторы разделов

Аватара пользователя
witus
Сообщения: 120
ОС: Kubuntu 10, винды

Как программировать универсально-рабочую графику в кедах?

Сообщение witus »

У меня Кубунту 10.04.
Собираюсь писать прогу, которая будет всё отрисовывать графически. Писать собираюсь на QT.
Внимание вопрос: Какие графические технологии (библиотеки) мне лучше использовать для KDE?

Например в Винде графику можно писать с использованием ДиректХ, ОпенGL, или встроенными библиотеками.
А вот в линухе что оптимальнее.

ГЛАВНАЯ цель: Прога должна пахать даже, если нет дров на видюху.
Т.е. видел, что кеды без дров на видео плавно пашут, но не знаю в какую сторону копать в плане графики.

Подскажите способ программирования графики.
Люди - смертные Боги!
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение NickLion »

1. Зачем постить одно и то же в разных ветках?
2. Что Вы такое собираетесь рисовать, что стандартных возможностей Qt не хватает?
3. Какова причина завязываться именно на KDE? Лучше оставаться в рамках Qt, если не предполагается тесная интеграция с сервисами KDE.
Спасибо сказали:
Аватара пользователя
witus
Сообщения: 120
ОС: Kubuntu 10, винды

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение witus »

1. Просто не знал где именно надо запостить.
2. Простую графику, но хочу что не моргало при прорисовке через цикл к примеру. Боюсь, что напишу прогу, а она не пойдёт из-за отсутствия дров на видео.
3. КДЕ мне не очень важно, с виджетами вязаться тож не буду, просто думал, что кеды завязываются библиотеками с QT, т.е. под Gnome или Xfce уже не пойдёт...

Кстати, если стандартные средства QT использовать для графики, то можно там рисовать без мерцаний и сложных библиотек? Просто повторю, что в Винде Директ быстрее рисовал, нежели стандартные процедуры отрисовки изображения (имею ввиду среду к примеру Delphi и подобные).

Тема мерцания мне с точки зрения програминга понятна, т.е. чтоб избавиться, надо рисовать в памяти компа, а потом всё выводить на монитор. Просто планирую сделать что-то типо игры, но чтобы не тупило...
Люди - смертные Боги!
Спасибо сказали:
Аватара пользователя
witus
Сообщения: 120
ОС: Kubuntu 10, винды

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение witus »

Вобщем прога полностью будет использовать свои ползунки, кнопочки и прочие элементы интерфейса нарисованные с помощью QT
Люди - смертные Боги!
Спасибо сказали:
RequiroVerus
Сообщения: 64
ОС: Debian

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение RequiroVerus »

2. Простую графику, но хочу что не моргало при прорисовке через цикл к примеру. Боюсь, что напишу прогу, а она не пойдёт из-за отсутствия дров на видео.

Вы в вашем приложение собираетесь использовать OpenGL? Если нет, то тогда чего боятся?

Кстати, если стандартные средства QT использовать для графики, то можно там рисовать без мерцаний и сложных библиотек? Просто повторю, что в Винде Директ быстрее рисовал, нежели стандартные процедуры отрисовки изображения (имею ввиду среду к примеру Delphi и подобные)

Мне не понятно. Что Вы хотите от QT?
Veni, Vidi, Vici
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение RasenHerz »

Для 2D думаю вполне подойдут штатные средсва Qt - QGraphicsScene, QGraphicsView и иже с ними (если не ошибаюсь, в KDE для отрисовки плазмоидов используются именно они). Для 3D в Qt есть поддержка OpenGL.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение eddy »

Кстати, у меня подобная проблема: пока вывожу графику через "чистый" openGL. Но здесь неудобство в том, что нет никаких "менюшек", да и в случае, когда требуется отобразить обычную двухмерную картинку, кажется мне, что использовать openGL - как забивать гвозди микроскопом.
Естественно, никаких Qt - либо gtk, либо что-нибудь подобное (т.к. пишу на С).
В чем можно просто и удобно вывести 2D графику, да еще и всякие менюшки нарисовать?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
RequiroVerus
Сообщения: 64
ОС: Debian

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение RequiroVerus »

Естественно, никаких Qt - либо gtk, либо что-нибудь подобное (т.к. пишу на С).

А чем GTK не угодил? Если не секрет, конечно.
Veni, Vidi, Vici
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение eddy »

RequiroVerus писал(а):
11.12.2010 19:03
А чем GTK не угодил? Если не секрет, конечно.

gdk-pixbuf? Сложноватый, с таким же успехом можно и openGL воткнуть.
А есть ли что-нибудь совсем простое для вывода растровой графики?
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение frp »

witus писал(а):
11.12.2010 16:04
2. Простую графику, но хочу что не моргало при прорисовке через цикл к примеру. Боюсь, что напишу прогу, а она не пойдёт из-за отсутствия дров на видео.

При двойной буферизации никакие моргания невозможны. В Qt она применяется по умолчанию.

В вашем случае (если нет 3D) можно использовать QGraphicsView. Он поддерживает все, что только может понадобится. Ничего не тормозит.

Можно еще в особо простых случаях рисовать Painter-ом на любом виджете (правда, для этого виджета надо будет переопределить paintEvent, и рисовать только в нем). Но это вам вряд ли понадобится.

witus писал(а):
11.12.2010 16:04
если стандартные средства QT использовать для графики, то можно там рисовать без мерцаний и сложных библиотек?

Без мерцаний - я уже сказал, двойная буферизация применяется. Аппаратное ускорение - по возможности (хотя и без него (даже на дровах vesa) работает очень даже хорошо).
witus писал(а):
11.12.2010 16:04
Просто повторю, что в Винде Директ быстрее рисовал, нежели стандартные процедуры отрисовки изображения (имею ввиду среду к примеру Delphi и подобные).

Просто у вашего Delphi графика вообще очень тормозная. Даже у MS в его дотнете, и то не такая тормозная.

PS. Насчет быстродействия: зачем кого-то спрашивать? Напишите сами чего-то на Qt, что рендерит что-то, что надо часто перерисовывать, запустите, посмотрите. Потом поменяйте драйвер в xorg.conf на vesa, перезапустите Иксы, запустите, убедитесь, что работает без нормальных драйверов.

eddy писал(а):
11.12.2010 19:01
Но здесь неудобство в том, что нет никаких "менюшек", да и в случае, когда требуется отобразить обычную двухмерную картинку, кажется мне, что использовать openGL - как забивать гвозди микроскопом.

Если Gtk, можно попробовать cairo.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение eddy »

frp писал(а):
11.12.2010 20:12
Если Gtk, можно попробовать cairo.

Вроде простенькая штука. Пощупаю...
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Ism
Сообщения: 1261
Статус: Никто, по сути быдло

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение Ism »

Lazarus - Delphi подобная среда

Толстый исполняемый файл, но быстрое и легкое написание графического интерфейса. Может использовать как gtk2 , так и qt библиотеки, собрать программу даже для Win32
Спасибо сказали:
Аватара пользователя
witus
Сообщения: 120
ОС: Kubuntu 10, винды

Re: Как программировать универсально-рабочую графику в кедах?

Сообщение witus »

Спасибо всем, поюзаю QGraphicsView...
Люди - смертные Боги!
Спасибо сказали: