LINUX.ORG.RU

Внеэкранный OpenGL


0

1

Хочется рисовать сцены OpenGL'ем на GPU, но не хочется создавать никаких окон. В идеале вообще без X, но на это я мало надеюсь, так что пойдет и с иксами - как можно создать GL контекст, не привязанный ни к какому окну?

★★★★★

как можно создать GL контекст, не привязанный ни к какому окну?

ЕМНИП никак. Но можно создать пустое невидимое окно, а рисовать в PBO (Pixel Buffer Object) или FBO (Framebuffer Object).

Deleted
()

SIGSEGV

Хочется рисовать сцены OpenGL'ем на GPU, но не хочется создавать никаких окон.

а где Вы тогда будете «рисовать»??? похоже Вам надо добавить в свой словарик слово рендеринг и его описание

GL контекст

что Вы понимаете под этим словосочетанием?

shty ★★★★★
()

и да, опишите лучше решаемую задачу

shty ★★★★★
()
Ответ на: SIGSEGV от shty

Можт ему нужно только записать видеоролик, или использовать GPU для обработки изображений, или какая-то прилага с архитектурой, где клиенту готовые картинки отдаются.

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

Можт ему нужно только записать видеоролик, или использовать GPU для обработки изображений, или какая-то прилага с архитектурой, где клиенту готовые картинки отдаются.

не, можно ещё погадать, например может он руками рендерит векторные документы перед отправкой на печать, к примеру :) но, простите, трудно что-то конкретное посоветовать при такой постановке задачи

shty ★★★★★
()

Как тут уже предложили - можно взять Mesa. Рендеринг конечно уже будет софтварным и о GPU можно забыть, но для если на выходе нужна статическая картинка, то самое оно.

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

если glx 1.3+, можно использовать pbuffer+fb. профит: аппаратный рендеринг, нет необходимости создавать окно.

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

Спасибо, никакой месы. Если бы меня устраивал софтварный рендеринг, я бы и с opengl не заморачивался.

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

> Примеры или доки какие-нибудь есть?

примеры есть, в MesaDemos. progs/xdemos/pb*. доки — в спецификациях на glx. туториалы нагугливал, но линки не сохранились.

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

Рендерить надо, окно не надо. Это всё, что тебе нужно знать.

тогда читай здесь, это всё что тебе надо знать :)

shty ★★★★★
()

без создания gl context ничего не выйдет, а для него нужно окно, не?

ну или можно root window брать :) не знаю, сработает ли.

waker ★★★★★
()

Вообще иксы кшна не особо хочется держать. Без иксов вообще нет вариантов? Даже GPU-зависимых?

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

> ну или можно root window брать :) не знаю, сработает ли.

сработает

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

> ему нужно только Display и XVisualInfo. без окна (в теории) вполне можно обойтись.

угу, чтобы контекст создать) а вот чтобы рисовать, необходимо сначала этот контекст к drawable (напр., к окну) прибиндить: glXMakeCurrent(display, window, context).

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