LINUX.ORG.RU

C++ и Xlib

 , , ,


0

0

Доброго времени суток, уважаемые ЛОРовцы.
Нарисовать точку можно командой:

XDrawPoint(d,w,DefaultGC(d,s),x,y);
Она будет черной. Подскажите, пожалуйста, каким образом можно рисовать точки других цветов и как можно очистить окно от содержимого.

P.S. Подскажите, пожалуйста, какие еще способы/библиотеки существуют для вывода графики?

Заранее благодарю!

какие еще способы/библиотеки существуют для вывода графики?

SDL. А если хочешь рисовать всякие геометрические примитивы - cairo

esandmann ()

P.S. Подскажите, пожалуйста, какие еще способы/библиотеки существуют для вывода графики?

OpenGL, SDL, Cairo.

Если хочешь рисовать быстро, то OpenGL, если не способен осилить OpenGL(он довольно сложный), то юзай cairo.

RisuX3 ()

Подскажите, пожалуйста, каким образом можно рисовать точки других цветов

XSetForeground

как можно очистить окно от содержимого.

XClearWindow

waker ★★★★★ ()
Ответ на: комментарий от esandmann

+1 за каиру. тормозище, но в линуксе ничего более легковесного, работающего прямо поверх xlib, нету.

waker ★★★★★ ()
Ответ на: комментарий от RisuX3

Если хочешь рисовать быстро, то OpenGL

если нет нормальных дров, то это будет ооооооочень медленно. каирой тоже вполне можно несложную 2д графику рисовать с приемлемой скоростью. нужно создать memory surface, получить на нее указатель, и писать туда напрямую (RGBA). а результат копировать в X surface.

waker ★★★★★ ()

Подскажите, пожалуйста, каким образом можно рисовать точки других цветов

Цвета и прочая мишура передаются в параметре gc. XCopyGC и XSetForeground тебе помогут.

i-rinat ★★★★★ ()
Ответ на: комментарий от waker

Все-таки надо смотреть OpenGL, т.к. трехмерность может понадобиться тоже.

qzxcvbnm ()
Ответ на: комментарий от RisuX3

смотря на каких дровах, каких настройках иксов, и смотря что рисовать. бывает что и медленнее (я об этом уже писал на лоре неоднократно, все основано на личном опыте, экспериментах на разном железе и т.п.).

waker ★★★★★ ()
Ответ на: комментарий от i-rinat

Цвета и прочая мишура передаются в параметре gc.
передаются
gc

Подскажите, пожалуйста, каким именно образом это делается?

qzxcvbnm ()
Ответ на: комментарий от qzxcvbnm

Не знаю, там какая-то магия. Вызываешь функции — оно работает. Внутрь я не лез.

i-rinat ★★★★★ ()
Ответ на: комментарий от waker

Расскажите, пожалуйста, подробнее о XSetForeground. Каким образом можно с помощью этой функции устанавливать цвет?

qzxcvbnm ()
Ответ на: комментарий от qzxcvbnm

Если у вас есть конкретный вопрос, то задайте его. А пока вам стоит просто почитать документацию по xlib.
Гугель очень хороший для вас помощник.

andreyu ★★★★★ ()

в этом треде советуют OpenGL для рисования точек </facepalm>

x4DA ★★★★★ ()
Ответ на: комментарий от andreyu

Гугель очень хороший для вас помощник.

Нашел пример. Надо разобраться.

А пока вам стоит просто почитать документацию по xlib.

RTFM, согласен.

qzxcvbnm ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.