Soru Neden glGetString (GL_VERSION) OpenGL sürümü yerine sıfır / sıfır döndürür?


Linux Nane 13 XFCE'deyim. Benim problemim, terminalde komuta ettiğimde:

glxinfo | grep "OpenGL version"

Aşağıdaki çıktıyı alıyorum:

OpenGL version string: 3.3.0 NVIDIA 295.40

Ama ben koştuğumda glGetString(GL_VERSION) Benim uygulamamda sonuç null. Bu kod neden almıyor? gl_version?

#include <stdio.h>
#include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <GL/glext.h>

int main(int argc, char **argv) {

    glutInit(&argc, argv);
    glewInit();

    printf("OpenGL version supported by this platform (%s): \n",
        glGetString(GL_VERSION));
}

18
2017-08-29 18:43


Menşei


Qt Creator bir IDE ve sorun btw ile çok az şey var. (Şey, gerçekten hiçbir şey) - Bart
Eklemeniz gerekmez gl.h veya glu.h eklerseniz glut.h - Derek
Aynı kök nedeni: stackoverflow.com/questions/6594214/... - Ciro Santilli 新疆改造中心 六四事件 法轮功


Cevaplar:


glutInit() oluşturmuyor GL içeriği. İçin geçerli bir GL bağlamına ihtiyacınız var glewInit() ve glGetString() çalışmak.

Bunu dene:

#include <GL/glew.h>
#include <GL/glut.h>
#include <cstdio>

int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutCreateWindow("GLUT");

    glewInit();
    printf("OpenGL version supported by this platform (%s): \n", glGetString(GL_VERSION));
}

25
2017-08-29 18:48



Bu çalışıyor, teşekkürler. - lyra42
#include <cstdio>;) Snippet için teşekkürler - Christoph
Are glutInitWindowSize ve glutInitDisplayMode ayrıca zorunlu glGetString? - Ciro Santilli 新疆改造中心 六四事件 法轮功
@CiroSantilli 六四 事件 法轮功 包 卓 轩: Hayır, gerekli değil. Düzenlenen. - genpfault