RacketGL无法加载任何程序

时间:2017-11-11 05:39:02

标签: windows opengl racket nvidia

我一直在努力让OpenGL与Racket合作,而且我设法让基本的画布工作:

#lang racket/gui

(provide tennis-canvas%)

(require opengl)

(define tennis-canvas%
    (class* canvas% ()

        (inherit with-gl-context swap-gl-buffers)

        (define/public (gl-init)
            (with-gl-context
                (lambda ()
                    (print (glGetString GL_VERSION))
                    (glClearColor 1.0 0.0 1.0 1.0)
                )
            )
        )

        (define/override (on-paint)
            (with-gl-context
                (lambda ()
                    (glClear GL_COLOR_BUFFER_BIT)
                    (swap-gl-buffers)
                )
            )
        )

    (super-instantiate () (style '(gl no-autoclear)))
    )
)

有一点需要注意:如果我使用(require opengl)它不起作用,并提供错误OpenGL procedure not available: glGetString。如果我切换到(require sgl/gl)一切都很好,但据我所知,sgl/gl仍然停留在OpenGL 1.5上,我想使用新的东西。从我在网上找到的,这是某种核心/兼容性上下文问题,但我真的不知道如何解决它。我试图摆弄gl-config%中的遗留选项,但它没有任何帮助。

我有一个Nvidia GTX 750,根据GL_VERSION我在OpenGL 4.5上。

0 个答案:

没有答案