LINUX.ORG.RU

Понятия не имею конечно. Вопрос лишь в том ты используешь Qt только для вывода того что ты нарендерил сам или ты рендеришь с помощью Qt его средствами. В первом случае по барабану, какую версию тебе надо ту и используешь, во втором уже не твоё дело =)

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

У OpenGL/Mesa одна библиотека для всех его версий, какую именно колелкцию API использовать задаётся на уровне инициализации контекста OpenGL. Если в системе 4.х то это не мешает мне использовать 2.1 к примеру. Но это в SDL, уверен что в Qt тоже можно указать параметры контекста, хотя вот если использовать механизмы рисования от самого Qt то уже наверняка будет использована ровно та версия которая необходима Qt для рендеринга и не ниже. На begin/end Qt не рисует конечно =)))))))))))

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

QOpenGLWidget allows using different OpenGL versions and profiles when the platform supports it. Just set the requested format via setFormat(). Keep in mind however that having multiple QOpenGLWidget instances in the same window requires that they all use the same format, or at least formats that do not make the contexts non-sharable. To overcome this issue, prefer using QSurfaceFormat::setDefaultFormat() instead of setFormat().

QOpenGLWidget

Dr64h ★★
()
Последнее исправление: Dr64h (всего исправлений: 1)
Ответ на: комментарий от static_lab

Да в общем разобрался через такой подход:

        QOpenGLContext*ctx = new QOpenGLContext();
	QOpenGLExtraFunctions*f = QOpenGLContext::currentContext()->extraFunctions();
        GLuint vertexShader = f->glCreateShader(GL_VERTEX_SHADER);
	
	f->glShaderSource(vertexShader, 1, &vertexShaderSource, NULL);
и т.д. через f->... как бы версию особо не узнал, но зато теперь понятно как работать с более свежими версиями

bad_master
() автор топика
Последнее исправление: bad_master (всего исправлений: 2)
Ответ на: комментарий от bad_master

Обычно это делается так:

#include <QDebug>
#include <QOpenGLContext>

...

QOpenGLContext *ctx = new QOpenGLContext;

qDebug() << "OGL version: " << ctx->format().version();

...
qDebug выводит всю инфу из Qt'шных переменных в отформатированном виде.

Dr64h ★★
()